SlideShare a Scribd company logo
InputMethodKit超⼊門
                 Cocoa勉強会�#39�/�2010.02.11�(祝)�/�⽊村渡




Powered by Rabbit 0.6.4 and COZMIXNG
Input�Method
✓ 効率の良い⼊⼒
✓ さまざまなアプリケーションとコ
  ミュニケート
InputMethodKitは、
後者を⽀援するフレームワーク
InputMethodKit
✓ かな漢字変換などの⼊⼒プログラム
  をつくるためのフレームワーク
✓ アプリとして⼊⼒プログラムを作成
✓ Cocoa
✓ Leopardで導⼊された
さまざまな⽇本語⼊⼒プログラム
✓ ことえり
✓ かわせみ
✓ AquaSKK
✓ Google⽇本語⼊⼒
        などなど
InputMethodKitの構成
 +----------+    +------------------------+
 |=user app=|    | =input method app=     |
 | Client <------->(Server)<-> Controller |
 +----------+    +------------------------+
IMK�Classes
IMKServer
   ユーザ操作と⼊⼒操作を仲介
IMKInputController
   ⼊⼒プログラムの処理本体
IMKCandidates
   選択候補のユーザインターフェイスを制御
IMK�Protocols
IMKServerInput
   ⼊⼒プログラムのインターフェイス
IMKTextInput
   ⼊⼒プログラムとやりとりするアプリのイ
   ンターフェイス
IMKStateSetting
IMKMouseHandling
3つの実装手段
IMKServerInputプロトコル
✓ キーバインディング
✓ ⼊⼒⽂字+修飾キーを解釈
✓ TSMのイベントを利用
キーバインディング
inputText:client:
    ⼊⼒された⽂字を受け取る
didCommandBySelector:client:
    キーバインディングで定義されたコマンド
    を受け取る
"apple"が⼊⼒された
"moveForward:"コマンドが指⽰され
た
キーバインディング
キー(の組み合わせ)をObjective-C
メッセージに割り当て
StandardKeyBinding.dictを参照

 <key>^f</key>
 <string>moveForward:</string>
⼊⼒⽂字+修飾キーを解釈
inputText:key:modifiers:client:
   ⼊⼒された⽂字と修飾キーを受け取る
"apple"が⼊⼒された
"f"とCtrlキーが⼊⼒された
TSMのイベントを利用
handleEvent:client:
よくわからん。
たぶん従来のコンポーネントからの移
⾏しやすいんじゃないかな。
3つの実装手段
IMKServerInputプロトコル
✓ キーバインディング
✓ ⼊⼒⽂字+修飾キーを解釈
✓ TSMのイベントを利用
上のふたつのどちらか
つくってみよう
偉大なるお手本
AppleのサンプルNumberInput
NumberInput作成の手順
1.�⼊⼒メニューに表⽰
2.�ユーザ操作から⼊⼒⽂字を決定
3.�複数の変換モード
4.�変換候補の表⽰
5.�環境設定のUI
今回のサンプル
単純のため次のように
✓ 英数字のみ扱う
✓ 英単語を候補から選択できる
✓ (できれば)⼊⼒中のテキストから候
  補を抽出する
実装手順
1.�最⼩限。⼊⼒プログラムとして選
   択できる
2.�試験的な変換⼊⼒
3.�目的の変換処理、変換候補の選択
最⼩限の実装
✓ Info.plistに記述
✓ main()でIMKServerを⽣成
✓ IMKServerControllerのサブクラス
Info.plist
LSBackgroundOnly
InputMethodConnectionName
InputMethodServerControllerClas
s
tsInputMethodIconFileKey
tsInputMethodCharacterRepertoir
eKey
Info.plist
LSBackgroundOnly
1に。アプリケーションをバックグラ
ウンドにします。
Info.plist
InputMethodConnectionName
アプリケーションと⼊⼒プログラムの
通信に利用する名前を指定します。こ
の名前はほかの⼊⼒プログラムと重複
しないように注意してください。
Info.plist
InputMethodServerControllerClas
s
⼊⼒サービスを提供するクラスを指定
このクラスはIMKServerControllerの
サブクラス
Info.plist
tsInputMethodIconFileKey
⼊⼒メニューに表⽰するアイコン(こ
とえりなら[あ])の画像ファイルを指
定
Info.plist
tsInputMethodCharacterRepertoir
eKey
⼊⼒するキャラクタセットをISO1592
で指定(複数可)
プログラム
✓ main.m
✓ IMKServerControllerのサブクラス
main.m
ここでIMKServerのインスタンスを⽣
成し、コネクションの名前などを指定
します。
IMKInputController
inputText:client:
この⼊⼒プログラムで⼊⼒テキストを
処理するならYESを、そうでなければ
NOを返します。
とりあえず常にNOにしておきます。
動作確認�0
⼊⼒メニューに表⽰できる
✓ /Library/Input Methodsに
✓ ログオフ〜再ログオン
開発時はユーザースイッチを利用する
のがよいかも
試験的な変換⼊⼒を実装
 -(BOOL)inputText:(NSString*)string
            client:(id)sender
 {
   if ([string hasPrefix:@"o"]) {
       [sender insertText:@"Objective-C"
         replacementRange:NSMakeRange(0, 0)];
       return YES;
   } else {
       return NO;
動作確認�1
"o"を⼊⼒すると"Objective-C"が
他の⽂字はそのまま

 abc..lmnObjective-Cpq..xyz
変換候補の表示
cancdidates:
   候補の配列を返す
candidateSelected:
   候補が選択された
candidateSelectionChanged:
   選択候補が変更された
動作確認�2
✓ ⼊⼒中にスペースキーで変換候補を
  表⽰
✓ ⼊⼒中の⽂字が表⽰されない...
インライン⼊⼒
これは宿題っ
setMarkedText:selectionRange:re
placementRange:
終
質問などあれば
               どうぞ

Powered by Rabbit 0.6.4 and COZMIXNG

More Related Content

What's hot

私にとってのテスト
私にとってのテスト私にとってのテスト
私にとってのテスト
Takuto Wada
 
O/Rマッパーによるトラブルを未然に防ぐ
O/Rマッパーによるトラブルを未然に防ぐO/Rマッパーによるトラブルを未然に防ぐ
O/Rマッパーによるトラブルを未然に防ぐ
kwatch
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA
 
3Dプリント×Python ~コードからアプローチする3Dプリンティング~
3Dプリント×Python ~コードからアプローチする3Dプリンティング~3Dプリント×Python ~コードからアプローチする3Dプリンティング~
3Dプリント×Python ~コードからアプローチする3Dプリンティング~
Takuro Wada
 
pg_bigm(ピージーバイグラム)を用いた全文検索のしくみ
pg_bigm(ピージーバイグラム)を用いた全文検索のしくみpg_bigm(ピージーバイグラム)を用いた全文検索のしくみ
pg_bigm(ピージーバイグラム)を用いた全文検索のしくみ
Masahiko Sawada
 
書くネタがCoqしかない
書くネタがCoqしかない書くネタがCoqしかない
書くネタがCoqしかない
Masaki Hara
 
最近のストリーム処理事情振り返り
最近のストリーム処理事情振り返り最近のストリーム処理事情振り返り
最近のストリーム処理事情振り返り
Sotaro Kimura
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
Hiroshi Tokumaru
 
イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化
Gosuke Miyashita
 
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
Fujio Kojima
 
これから Haskell を書くにあたって
これから Haskell を書くにあたってこれから Haskell を書くにあたって
これから Haskell を書くにあたって
Tsuyoshi Matsudate
 
IT技術者が説明上手になるための七つの法則
IT技術者が説明上手になるための七つの法則IT技術者が説明上手になるための七つの法則
IT技術者が説明上手になるための七つの法則
Mizuhiro Kaimai
 
C++でNVMeと(*´Д`)ハァハァ 戯れていたら一年経ってた。
C++でNVMeと(*´Д`)ハァハァ 戯れていたら一年経ってた。C++でNVMeと(*´Д`)ハァハァ 戯れていたら一年経ってた。
C++でNVMeと(*´Д`)ハァハァ 戯れていたら一年経ってた。
hiyohiyo
 
DSIRNLP #3 LZ4 の速さの秘密に迫ってみる
DSIRNLP #3 LZ4 の速さの秘密に迫ってみるDSIRNLP #3 LZ4 の速さの秘密に迫ってみる
DSIRNLP #3 LZ4 の速さの秘密に迫ってみる
Atsushi KOMIYA
 
Coherenceを利用するときに気をつけること #OracleCoherence
Coherenceを利用するときに気をつけること #OracleCoherenceCoherenceを利用するときに気をつけること #OracleCoherence
Coherenceを利用するときに気をつけること #OracleCoherenceToshiaki Maki
 
日本語テストメソッドについて
日本語テストメソッドについて日本語テストメソッドについて
日本語テストメソッドについてkumake
 
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
Miki Shimogai
 
ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開
Yahoo!デベロッパーネットワーク
 
NTT DATA と PostgreSQL が挑んだ総力戦
NTT DATA と PostgreSQL が挑んだ総力戦NTT DATA と PostgreSQL が挑んだ総力戦
NTT DATA と PostgreSQL が挑んだ総力戦
NTT DATA OSS Professional Services
 
Domain Modeling Made Functional (DevTernity 2022)
Domain Modeling Made Functional (DevTernity 2022)Domain Modeling Made Functional (DevTernity 2022)
Domain Modeling Made Functional (DevTernity 2022)
Scott Wlaschin
 

What's hot (20)

私にとってのテスト
私にとってのテスト私にとってのテスト
私にとってのテスト
 
O/Rマッパーによるトラブルを未然に防ぐ
O/Rマッパーによるトラブルを未然に防ぐO/Rマッパーによるトラブルを未然に防ぐ
O/Rマッパーによるトラブルを未然に防ぐ
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
 
3Dプリント×Python ~コードからアプローチする3Dプリンティング~
3Dプリント×Python ~コードからアプローチする3Dプリンティング~3Dプリント×Python ~コードからアプローチする3Dプリンティング~
3Dプリント×Python ~コードからアプローチする3Dプリンティング~
 
pg_bigm(ピージーバイグラム)を用いた全文検索のしくみ
pg_bigm(ピージーバイグラム)を用いた全文検索のしくみpg_bigm(ピージーバイグラム)を用いた全文検索のしくみ
pg_bigm(ピージーバイグラム)を用いた全文検索のしくみ
 
書くネタがCoqしかない
書くネタがCoqしかない書くネタがCoqしかない
書くネタがCoqしかない
 
最近のストリーム処理事情振り返り
最近のストリーム処理事情振り返り最近のストリーム処理事情振り返り
最近のストリーム処理事情振り返り
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
 
イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化
 
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
 
これから Haskell を書くにあたって
これから Haskell を書くにあたってこれから Haskell を書くにあたって
これから Haskell を書くにあたって
 
IT技術者が説明上手になるための七つの法則
IT技術者が説明上手になるための七つの法則IT技術者が説明上手になるための七つの法則
IT技術者が説明上手になるための七つの法則
 
C++でNVMeと(*´Д`)ハァハァ 戯れていたら一年経ってた。
C++でNVMeと(*´Д`)ハァハァ 戯れていたら一年経ってた。C++でNVMeと(*´Д`)ハァハァ 戯れていたら一年経ってた。
C++でNVMeと(*´Д`)ハァハァ 戯れていたら一年経ってた。
 
DSIRNLP #3 LZ4 の速さの秘密に迫ってみる
DSIRNLP #3 LZ4 の速さの秘密に迫ってみるDSIRNLP #3 LZ4 の速さの秘密に迫ってみる
DSIRNLP #3 LZ4 の速さの秘密に迫ってみる
 
Coherenceを利用するときに気をつけること #OracleCoherence
Coherenceを利用するときに気をつけること #OracleCoherenceCoherenceを利用するときに気をつけること #OracleCoherence
Coherenceを利用するときに気をつけること #OracleCoherence
 
日本語テストメソッドについて
日本語テストメソッドについて日本語テストメソッドについて
日本語テストメソッドについて
 
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
 
ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開
 
NTT DATA と PostgreSQL が挑んだ総力戦
NTT DATA と PostgreSQL が挑んだ総力戦NTT DATA と PostgreSQL が挑んだ総力戦
NTT DATA と PostgreSQL が挑んだ総力戦
 
Domain Modeling Made Functional (DevTernity 2022)
Domain Modeling Made Functional (DevTernity 2022)Domain Modeling Made Functional (DevTernity 2022)
Domain Modeling Made Functional (DevTernity 2022)
 

Viewers also liked

InputMethodKitで入力プログラムをつくろう
InputMethodKitで入力プログラムをつくろうInputMethodKitで入力プログラムをつくろう
InputMethodKitで入力プログラムをつくろう
Wataru Kimura
 
値変換
値変換値変換
値変換
Wataru Kimura
 
らくらくアップデートSparkle
らくらくアップデートSparkleらくらくアップデートSparkle
らくらくアップデートSparkle
Wataru Kimura
 
Precipitateに見る、外部リソースのSpotlight化
Precipitateに見る、外部リソースのSpotlight化Precipitateに見る、外部リソースのSpotlight化
Precipitateに見る、外部リソースのSpotlight化
Wataru Kimura
 
Hotkeyslib3 Cocoaでホットキー
Hotkeyslib3 CocoaでホットキーHotkeyslib3 Cocoaでホットキー
Hotkeyslib3 Cocoaでホットキー
Wataru Kimura
 
Three20のTTURLRequest
Three20のTTURLRequestThree20のTTURLRequest
Three20のTTURLRequest
Wataru Kimura
 
ClangでObjective-Cを静的解析
ClangでObjective-Cを静的解析ClangでObjective-Cを静的解析
ClangでObjective-Cを静的解析
Wataru Kimura
 
PSMTabBarControl
PSMTabBarControlPSMTabBarControl
PSMTabBarControl
Wataru Kimura
 
SIMBLでCocoaアプリをパワーアップ
SIMBLでCocoaアプリをパワーアップSIMBLでCocoaアプリをパワーアップ
SIMBLでCocoaアプリをパワーアップ
Wataru Kimura
 
Xcode4 project template (slide)
Xcode4 project template (slide)Xcode4 project template (slide)
Xcode4 project template (slide)
Wataru Kimura
 
リマインダーの繰り返しを自由に設定する (EventKit)
リマインダーの繰り返しを自由に設定する (EventKit)リマインダーの繰り返しを自由に設定する (EventKit)
リマインダーの繰り返しを自由に設定する (EventKit)
Wataru Kimura
 
Quickcursorに見る、アプリケーション間通信
Quickcursorに見る、アプリケーション間通信Quickcursorに見る、アプリケーション間通信
Quickcursorに見る、アプリケーション間通信
Wataru Kimura
 
Clang Modules
Clang ModulesClang Modules
Clang Modules
Wataru Kimura
 
OS X DYLD_* environments
OS X DYLD_* environmentsOS X DYLD_* environments
OS X DYLD_* environments
Wataru Kimura
 

Viewers also liked (14)

InputMethodKitで入力プログラムをつくろう
InputMethodKitで入力プログラムをつくろうInputMethodKitで入力プログラムをつくろう
InputMethodKitで入力プログラムをつくろう
 
値変換
値変換値変換
値変換
 
らくらくアップデートSparkle
らくらくアップデートSparkleらくらくアップデートSparkle
らくらくアップデートSparkle
 
Precipitateに見る、外部リソースのSpotlight化
Precipitateに見る、外部リソースのSpotlight化Precipitateに見る、外部リソースのSpotlight化
Precipitateに見る、外部リソースのSpotlight化
 
Hotkeyslib3 Cocoaでホットキー
Hotkeyslib3 CocoaでホットキーHotkeyslib3 Cocoaでホットキー
Hotkeyslib3 Cocoaでホットキー
 
Three20のTTURLRequest
Three20のTTURLRequestThree20のTTURLRequest
Three20のTTURLRequest
 
ClangでObjective-Cを静的解析
ClangでObjective-Cを静的解析ClangでObjective-Cを静的解析
ClangでObjective-Cを静的解析
 
PSMTabBarControl
PSMTabBarControlPSMTabBarControl
PSMTabBarControl
 
SIMBLでCocoaアプリをパワーアップ
SIMBLでCocoaアプリをパワーアップSIMBLでCocoaアプリをパワーアップ
SIMBLでCocoaアプリをパワーアップ
 
Xcode4 project template (slide)
Xcode4 project template (slide)Xcode4 project template (slide)
Xcode4 project template (slide)
 
リマインダーの繰り返しを自由に設定する (EventKit)
リマインダーの繰り返しを自由に設定する (EventKit)リマインダーの繰り返しを自由に設定する (EventKit)
リマインダーの繰り返しを自由に設定する (EventKit)
 
Quickcursorに見る、アプリケーション間通信
Quickcursorに見る、アプリケーション間通信Quickcursorに見る、アプリケーション間通信
Quickcursorに見る、アプリケーション間通信
 
Clang Modules
Clang ModulesClang Modules
Clang Modules
 
OS X DYLD_* environments
OS X DYLD_* environmentsOS X DYLD_* environments
OS X DYLD_* environments
 

Similar to InputMethodKit超入門

SICE 2020 Rtm tutorial 2_online_en
SICE 2020 Rtm tutorial 2_online_enSICE 2020 Rtm tutorial 2_online_en
SICE 2020 Rtm tutorial 2_online_en
openrtm
 
OpenRTM-aist入門
OpenRTM-aist入門OpenRTM-aist入門
OpenRTM-aist入門
Yuki Suga
 
沖縄オープンラボラトリ OpenStackハンズオンセミナー午後1
沖縄オープンラボラトリ OpenStackハンズオンセミナー午後1沖縄オープンラボラトリ OpenStackハンズオンセミナー午後1
沖縄オープンラボラトリ OpenStackハンズオンセミナー午後1Hideki Saito
 
Locondo 20190215@ec tech_group
Locondo 20190215@ec tech_groupLocondo 20190215@ec tech_group
Locondo 20190215@ec tech_group
Shinya Sugiyama
 
MariaDB Columnstore 使いこなそう
MariaDB Columnstore 使いこなそうMariaDB Columnstore 使いこなそう
MariaDB Columnstore 使いこなそう
KAWANO KAZUYUKI
 
「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)
「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)
「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)
さくらインターネット株式会社
 
RTミドルウエア講習会2015
RTミドルウエア講習会2015RTミドルウエア講習会2015
RTミドルウエア講習会2015
Yuki Suga
 
VagrantとChefで開発スピードを上げる話
VagrantとChefで開発スピードを上げる話VagrantとChefで開発スピードを上げる話
VagrantとChefで開発スピードを上げる話
Koji Nakamura
 
「Entity Framework Coreを使ってみる」 公開用
「Entity Framework Coreを使ってみる」 公開用「Entity Framework Coreを使ってみる」 公開用
「Entity Framework Coreを使ってみる」 公開用
ESM SEC
 
[Azure Antenna] クラウドで HPC ~ HPC 環境の構築から、アプリケーションの実行まで ~
[Azure Antenna] クラウドで HPC ~ HPC 環境の構築から、アプリケーションの実行まで ~ [Azure Antenna] クラウドで HPC ~ HPC 環境の構築から、アプリケーションの実行まで ~
[Azure Antenna] クラウドで HPC ~ HPC 環境の構築から、アプリケーションの実行まで ~
Shuichi Gojuki
 
Oracleの実行計画を読んでみよう! #dbts2017
Oracleの実行計画を読んでみよう!  #dbts2017Oracleの実行計画を読んでみよう!  #dbts2017
Oracleの実行計画を読んでみよう! #dbts2017
Ryota Watabe
 
Server side Swift & Photo Booth
Server side Swift & Photo Booth Server side Swift & Photo Booth
Server side Swift & Photo Booth
LINE Corporation
 
DB tech showcase_tokyo2018_LOCONDO
DB tech showcase_tokyo2018_LOCONDODB tech showcase_tokyo2018_LOCONDO
DB tech showcase_tokyo2018_LOCONDO
Shinya Sugiyama
 
アトリエ秋葉原 Choregraphe WS#4
アトリエ秋葉原 Choregraphe WS#4アトリエ秋葉原 Choregraphe WS#4
アトリエ秋葉原 Choregraphe WS#4
Atelier Akihabara
 
Prometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdfPrometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdf
勇 黒沢
 
Hol012 windowsコンテナー始動
Hol012 windowsコンテナー始動Hol012 windowsコンテナー始動
Hol012 windowsコンテナー始動
Tech Summit 2016
 
さくらのIoT Platform α technical_details
さくらのIoT Platform α technical_detailsさくらのIoT Platform α technical_details
さくらのIoT Platform α technical_details
さくらインターネット株式会社
 
WebRTC on Native App
WebRTC on Native AppWebRTC on Native App
WebRTC on Native App
WebRTCConferenceJapan
 
Amalgam8 application switch for cloud native services
Amalgam8   application switch for cloud native servicesAmalgam8   application switch for cloud native services
Amalgam8 application switch for cloud native services
Takehiko Amano
 
Laravelの認証について
Laravelの認証についてLaravelの認証について
Laravelの認証について
Takeo Noda
 

Similar to InputMethodKit超入門 (20)

SICE 2020 Rtm tutorial 2_online_en
SICE 2020 Rtm tutorial 2_online_enSICE 2020 Rtm tutorial 2_online_en
SICE 2020 Rtm tutorial 2_online_en
 
OpenRTM-aist入門
OpenRTM-aist入門OpenRTM-aist入門
OpenRTM-aist入門
 
沖縄オープンラボラトリ OpenStackハンズオンセミナー午後1
沖縄オープンラボラトリ OpenStackハンズオンセミナー午後1沖縄オープンラボラトリ OpenStackハンズオンセミナー午後1
沖縄オープンラボラトリ OpenStackハンズオンセミナー午後1
 
Locondo 20190215@ec tech_group
Locondo 20190215@ec tech_groupLocondo 20190215@ec tech_group
Locondo 20190215@ec tech_group
 
MariaDB Columnstore 使いこなそう
MariaDB Columnstore 使いこなそうMariaDB Columnstore 使いこなそう
MariaDB Columnstore 使いこなそう
 
「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)
「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)
「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)
 
RTミドルウエア講習会2015
RTミドルウエア講習会2015RTミドルウエア講習会2015
RTミドルウエア講習会2015
 
VagrantとChefで開発スピードを上げる話
VagrantとChefで開発スピードを上げる話VagrantとChefで開発スピードを上げる話
VagrantとChefで開発スピードを上げる話
 
「Entity Framework Coreを使ってみる」 公開用
「Entity Framework Coreを使ってみる」 公開用「Entity Framework Coreを使ってみる」 公開用
「Entity Framework Coreを使ってみる」 公開用
 
[Azure Antenna] クラウドで HPC ~ HPC 環境の構築から、アプリケーションの実行まで ~
[Azure Antenna] クラウドで HPC ~ HPC 環境の構築から、アプリケーションの実行まで ~ [Azure Antenna] クラウドで HPC ~ HPC 環境の構築から、アプリケーションの実行まで ~
[Azure Antenna] クラウドで HPC ~ HPC 環境の構築から、アプリケーションの実行まで ~
 
Oracleの実行計画を読んでみよう! #dbts2017
Oracleの実行計画を読んでみよう!  #dbts2017Oracleの実行計画を読んでみよう!  #dbts2017
Oracleの実行計画を読んでみよう! #dbts2017
 
Server side Swift & Photo Booth
Server side Swift & Photo Booth Server side Swift & Photo Booth
Server side Swift & Photo Booth
 
DB tech showcase_tokyo2018_LOCONDO
DB tech showcase_tokyo2018_LOCONDODB tech showcase_tokyo2018_LOCONDO
DB tech showcase_tokyo2018_LOCONDO
 
アトリエ秋葉原 Choregraphe WS#4
アトリエ秋葉原 Choregraphe WS#4アトリエ秋葉原 Choregraphe WS#4
アトリエ秋葉原 Choregraphe WS#4
 
Prometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdfPrometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdf
 
Hol012 windowsコンテナー始動
Hol012 windowsコンテナー始動Hol012 windowsコンテナー始動
Hol012 windowsコンテナー始動
 
さくらのIoT Platform α technical_details
さくらのIoT Platform α technical_detailsさくらのIoT Platform α technical_details
さくらのIoT Platform α technical_details
 
WebRTC on Native App
WebRTC on Native AppWebRTC on Native App
WebRTC on Native App
 
Amalgam8 application switch for cloud native services
Amalgam8   application switch for cloud native servicesAmalgam8   application switch for cloud native services
Amalgam8 application switch for cloud native services
 
Laravelの認証について
Laravelの認証についてLaravelの認証について
Laravelの認証について
 

InputMethodKit超入門