SlideShare a Scribd company logo
1 of 38
Download to read offline
Portacle :
Common Lispのオールインワン開発環境
Satoshi Imai
Twitter: @masatoi0
Github: masatoi
Blog: masatoi.github.io
このスライドの流れ
●
Portacleの説明
– 構成、インストール法
●
Portacleの使い方
– 画面の説明、基本的なコマンド
– REPL、補完、インスペクタ、デバッガの使い方
– ライブラリのインストール方法
●
まとめ
Common Lispの開発環境
●
Lisp系言語はエディタのサポートが必須
– 括弧の対応、自動インデント、REPLとの連携、補完、etc...
●
OSSでの選択肢は多くない
– Emacs + SLIME
– Vim + slimv
– Atom + atom-slime
– lem
Lisp入門者に何を薦めたらいいのか
●
大事だと思われること
– インストールが簡単
– マルチプラットフォームで動作する(Windows対応)
– 追加の設定を必要とせず、最初からすぐに使える状態になってい
る
– マウスで操作できる
– 入門用だけでなく実用的なプログラムも開発できないといけない
Portacle
●
Common Lisp開発に必要なソフト一式をまとめ
てアーカイブしたもの
– Emacs (エディタ)
– SBCL (Lisp処理系)
– Quicklisp (パッケージ管理システム)
– Git (バージョン管理システム)
Portacleの構成要素(1)
●
Emacs (エディタ)
– 古くからあるソースコードエディタ
– 拡張言語がLispの一方言であり(Emacs Lisp)、他のLisp系言語で
もよく使われる
– Common Lisp処理系との連携を取るためのSLIMEというパッケー
ジが非常に優秀
– Portacleに入っているEmacsにはCommon Lispで開発するための
便利なパッケージ群が既にインストールされている
Portacleの構成要素(2)
●
SBCL (Common Lisp処理系)
– Steel Bank Common Lispの略。CMUCLから派生した。カーネギー
メロン大の創立者が鉄鋼業と銀行業の人だったことから名前がつい
た
– Common Lispとは言語仕様のことであり、処理系は色々ある
– SBCLは最も人気があるオープンソースの処理系の一つ
– ネイティブコードまでコンパイルするので速い。適切な最適化をほ
どこせばC言語並に速くなる
Portacleの構成要素(3)
●
Quicklisp (パッケージ管理システム)
– ネットワークからライブラリをダウンロードした後、
コンパイル、ロードして利用可能な状態にする
– 依存ライブラリもインストールされる
– ライブラリの探索、一括アップデートなどもREPLか
らできる
Portacleの構成要素(4)
●
Git (バージョン管理システム)
– 独立したGitのバイナリが同梱してある
– magit: EmacsのGitフロントエンドのパッケージ
●
gitコマンドを直接操作しなくてもほとんどの操作をEmacs
からできる
Portacleのインストール
●
Windows版、Mac版、Linux版が用意されている
– https://portacle.github.io/
●
インストールはアーカイブをダウンロードして展開す
るだけ。管理者権限はいらない
– 単なるフォルダなのでレジストリなどはいじらない
– そのフォルダ内で完結しているので、USBメモリなどに入れ
れば開発環境ごと持ち運べる
アーカイブを展開した状態
ダブルクリックして起動する
起動した状態
起動した状態
*scratch*バッファ:
Common Lispの小さなコードの実験に使う
REPLバッファ:
対話的に式を評価できる
バッファとウインドウ:
バッファは仮想的な作業領域のこと、メニューバーのBuffersから選択できる
ウインドウは画面上の表示領域のこと。今は上下に2分割されている
Emacsの基本操作(1)
●
カーソル移動は矢印キーかキーバインドで
– C-n、C-p、C-f、C-b (↓↑→←)
●
表記の読み方
– CはControl、MはMetaキー(大抵Altキー)
– 複数のキーバインドを続けて打つキーストロークもある
●
C-x C-s (ファイル保存)
– Controlを押しっぱなしでxとfを続けて打つ
●
C-x s (全てのバッファのファイルを保存する)
– Controlとxを同時押しした後、Controlを離してsを打つ
Emacsの基本操作(2)
●
ファイル関係
– C-x C-f (ファイルを開く。またはファイルマネージャからマウスで
ファイルをドラッグ&ドロップする)
– C-x k (バッファを保存せず閉じる)
– C-x C-w (ファイルを別名保存)
●
編集関係
– C-w (カット)、M-w (コピー)、C-y (ペースト)
– マウスで領域選択した後に中ボタンクリックで領域を貼り付けられる
Emacsの基本操作(3)
●
画面関係
– C-x 1 (現在のウインドウを画面全体に広げる)
– C-x 2 (現在のウインドウを縦に2分割する)
– C-x 3 (現在のウインドウを横に2分割する)
– C-x o (次のウインドウに移動する。単にマウスでクリックしてもよい)
– File→New Frameでフレーム(普通の意味でのウインドウ)を作れる
●
バッファの切り替え
– C-x b の後にバッファの名前の一部を入力してエンター
– またはメニューバーのBuffersの中から選ぶ
Emacsの基本操作(4)
●
C-g (操作をキャンセルするコマンド(重要!))
– 操作の途中で分からなくなったらとにかくC-gを打つべし
●
Emacsが出してくるポップアップ画面は大体qキーで消せる
●
その他はEmacsの日本語チュートリアル参照
– メニューバーで Help→Emacs tutorial (choose language)
●
ポップアップ画面が出るのでJapaneseをクリックする
Emacsの日本語チュートリアルを開いたところ
現在いるモードでのキーバインドを調べる
●
C-h b またはメニューバーでHelp→Describe→List
Key Bindings
– リンクになっているところをクリックすると説明文が出る
– qキーで抜ける
●
メニューバーの項目の横に書いてあるキーバインド
も参考に
REPLでのキーバインドを表示したところ
Lispモード(1)
●
.lisp拡張子のファイルを開くと自動的にLispモードになる
●
自動インデント
– Enterを押すと改行と同時に自動的にインデントされる
– インデントが崩れたときはTabを押す
●
ParEdit: 括弧の対応を自動で取ったりするEmacsの拡張(多少クセ
がある)
– 参考:ParEditチュートリアル
●
キーワード補完、引数補完
Lispモード(2)
●
.lispファイルを編集中に式を評価できる
– 評価したい式の閉じ括弧をハイライトさせた状態で C-x C-e
●
評価結果が画面一番下のモードラインに表示される
– または領域を選択した状態で C-c C-r
●
領域内の式をまとめて評価できる
●
REPLでは M-p または C-↑ で過去の入力を再び出せる
Lispモード、REPLでの補完
●
キーワード補完
– キーワードの途中まで入力して一瞬待つと候補ウインドウ
が出る
– 候補が一つだと薄く表示されるので Tab で確定する
●
引数補完
– 括弧の先頭に関数を書くと、その関数が取るべき引数のリ
ストが表示される
printまで打ち込むと
補完ウインドウが出る
print関数が取るべき引数のリスト
カーソルを合わせて少し待つとここに説明文が出る
(describeの結果)
ParEdit: Lispモードでの編集補助
●
開き括弧を入力すると自動で閉じ括弧も入力される。常
に括弧の数がバランスされるようになっている
●
括弧の前で C-k : 括弧単位でのカット。 C-y でペースト
●
C-→ 、C-← : 飲み込みと吐き出し
●
M-s 、 M-↑ : 外のレベルの括弧を削除、自分を除く外の
レベルの内容も削除
デバッガからの抜け方
●
ゼロ除算を評価してみてわざとエラーを出す
●
エラーの内容、リスタート方法の選択、バックト
レースの情報が出る
●
デバッガを抜けるにはqキー
ゼロ除算を起こしてエラーを起こすと、
上の画面が出てくる
エラーメッセージ
リスタート方法の選択
バックトレース:
moreをクリックすると
より以前まで遡れる
インスペクタの使い方
●
REPLでの返り値の上で右クリック→inspectを選
ぶとインスペクタが起動する
●
マウスで要素をクリックして要素の詳細を見るこ
とができる
●
lキーで前の要素に戻り、nキーで次の要素に移動
●
qキーでインスペクタを閉じる
文字列”Hello, world!”を評価した結果を右クリックして
inspectを選ぶ
オブジェクトの情報が出る
文字列は文字の配列でしかないことが分かる
配列の要素が列挙されている
これもクリックできる
ドキュメントの探し方
●
REPLなどで パッケージ名: と入力するとそのパッケージの公開API
が補完で列挙される
– REPLで cl: と入力するとCommon Lispの標準関数が出てくる
●
REPLからdescribe関数でドキュメンテーション文字列を見る
●
Common Lisp Hyperspec を見る
– ANSI Common Lispのリファレンス (LispWorks提供)
– キーワードにカーソルを合わせて、メニューバーから
SLIME→Documentation→Hyperspec を選ぶと外部ブラウザが起動
Quicklispからライブラリをインストール
●
cl-projectというプロジェクトのひな形を作るライブラリ
をインストールするときは、
– (ql:quickload :cl-project)
●
これによりライブラリのダウンロード、コンパイル、
ロードが行なわれる
●
Portacleのディレクトリ以下にライブラリが保存される
– portacle/all/quicklisp/dists/quicklisp/software
regexという名前を含むライブラリを検索
ライブラリcl-projectをインストール
ライブラリの探し方
●
Quicklispで利用可能なライブラリを調べる
– (ql:system-apropos ”keyword”)
●
CLiki(https://www.cliki.net/)
– Common Lispに関するWiki、登録すれば誰でも編集できる
●
Quickdocs(http://quickdocs.org/)
– Quicklispに登録されているライブラリのドキュメントが自動
生成されまとめられている
プロジェクトを作る
●
実際の開発では複数のファイルから成るプロジェクトを作
ることになる
●
依存ライブラリやファイルの依存関係を書いておく必要が
ある
●
プロジェクトのひな形を作ってくれるライブラリを利用す
ると便利(先にインストールしたcl-projectなど)
●
ローカルのプロジェクトは portacle/projects に置く
cl-projectでプロジェクトを作る
●
例)my-projectという名前でプロジェクトのひな形をつくる
– (cl-project:make-project #P"~/portacle/projects/my-project")
●
my-project以下の構成
– my-project.asd (システム定義ファイル)
– src/ (ソースファイルのディレクトリ)
– t/ (テスト用のディレクトリ)
●
以降は次のようにしてプロジェクトをロードできる
– (ql:quickload :my-project)
システム定義ファイル
(defsystem my-project
:version "0.1"
:author ""
:license ""
:depends-on (:alexandria :cl-ppcre)
:components ((:module "src"
:components
((:file "utils")
(:file "my-project" :depends-on ("utils")))))
…
)
依存ライブラリをここに書く
srcディレクトリのファイル構成や依存関係を書く
まとめ
●
Portacle: Common Lispの開発に必要なツールがまとまっ
ている統合開発環境
– インストールが圧縮ファイルの展開だけで済む
●
Quicklispを通じてインストールしたライブラリもPortacle
のディレクトリ以下に置かれるなど環境が閉じている
– 管理者権限が必要なく、どこへでも持っていける
●
補完やドキュメントへのアクセスが簡単

More Related Content

What's hot

磯野ー!関数型言語やろうぜー!
磯野ー!関数型言語やろうぜー!磯野ー!関数型言語やろうぜー!
磯野ー!関数型言語やろうぜー!Ra Zon
 
Redisの特徴と活用方法について
Redisの特徴と活用方法についてRedisの特徴と活用方法について
Redisの特徴と活用方法についてYuji Otani
 
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するかSQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するかShogo Wakayama
 
目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説murachue
 
暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学MITSUNARI Shigeo
 
ASTERIA WARPをもっと便利に使いこなすためのtips紹介
ASTERIA WARPをもっと便利に使いこなすためのtips紹介ASTERIA WARPをもっと便利に使いこなすためのtips紹介
ASTERIA WARPをもっと便利に使いこなすためのtips紹介ASTERIA User Group
 
ASTERIA WARP開発前に知っておくべき10の鉄則(AUG関西支部編)
ASTERIA WARP開発前に知っておくべき10の鉄則(AUG関西支部編)ASTERIA WARP開発前に知っておくべき10の鉄則(AUG関西支部編)
ASTERIA WARP開発前に知っておくべき10の鉄則(AUG関西支部編)ASTERIA User Group
 
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装MITSUNARI Shigeo
 
CRDT in 15 minutes
CRDT in 15 minutesCRDT in 15 minutes
CRDT in 15 minutesShingo Omura
 
MySQLアーキテクチャ図解講座
MySQLアーキテクチャ図解講座MySQLアーキテクチャ図解講座
MySQLアーキテクチャ図解講座Mikiya Okuno
 
10分でわかる Cilium と XDP / BPF
10分でわかる Cilium と XDP / BPF10分でわかる Cilium と XDP / BPF
10分でわかる Cilium と XDP / BPFShuji Yamada
 
平面グラフと交通ネットワークのアルゴリズム
平面グラフと交通ネットワークのアルゴリズム平面グラフと交通ネットワークのアルゴリズム
平面グラフと交通ネットワークのアルゴリズムTakuya Akiba
 
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門Norishige Fukushima
 
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)Hiroki Nakahara
 
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組みSAT/SMTソルバの仕組み
SAT/SMTソルバの仕組みMasahiro Sakai
 
たのしい高階関数
たのしい高階関数たのしい高階関数
たのしい高階関数Shinichi Kozake
 
ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発Takafumi ONAKA
 

What's hot (20)

磯野ー!関数型言語やろうぜー!
磯野ー!関数型言語やろうぜー!磯野ー!関数型言語やろうぜー!
磯野ー!関数型言語やろうぜー!
 
From IA-32 to avx-512
From IA-32 to avx-512From IA-32 to avx-512
From IA-32 to avx-512
 
Redisの特徴と活用方法について
Redisの特徴と活用方法についてRedisの特徴と活用方法について
Redisの特徴と活用方法について
 
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するかSQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するか
 
目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説
 
暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学
 
ASTERIA WARPをもっと便利に使いこなすためのtips紹介
ASTERIA WARPをもっと便利に使いこなすためのtips紹介ASTERIA WARPをもっと便利に使いこなすためのtips紹介
ASTERIA WARPをもっと便利に使いこなすためのtips紹介
 
ASTERIA WARP開発前に知っておくべき10の鉄則(AUG関西支部編)
ASTERIA WARP開発前に知っておくべき10の鉄則(AUG関西支部編)ASTERIA WARP開発前に知っておくべき10の鉄則(AUG関西支部編)
ASTERIA WARP開発前に知っておくべき10の鉄則(AUG関西支部編)
 
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装
 
CRDT in 15 minutes
CRDT in 15 minutesCRDT in 15 minutes
CRDT in 15 minutes
 
MySQLアーキテクチャ図解講座
MySQLアーキテクチャ図解講座MySQLアーキテクチャ図解講座
MySQLアーキテクチャ図解講座
 
10分でわかる Cilium と XDP / BPF
10分でわかる Cilium と XDP / BPF10分でわかる Cilium と XDP / BPF
10分でわかる Cilium と XDP / BPF
 
平面グラフと交通ネットワークのアルゴリズム
平面グラフと交通ネットワークのアルゴリズム平面グラフと交通ネットワークのアルゴリズム
平面グラフと交通ネットワークのアルゴリズム
 
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門
 
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
 
入門 シェル実装
入門 シェル実装入門 シェル実装
入門 シェル実装
 
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組みSAT/SMTソルバの仕組み
SAT/SMTソルバの仕組み
 
たのしい高階関数
たのしい高階関数たのしい高階関数
たのしい高階関数
 
ヤフー発のメッセージキュー「Pulsar」のご紹介
ヤフー発のメッセージキュー「Pulsar」のご紹介ヤフー発のメッセージキュー「Pulsar」のご紹介
ヤフー発のメッセージキュー「Pulsar」のご紹介
 
ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発
 

Similar to Portacle : Common Lispのオールインワン開発環境

Linuxデスクトップを便利にする秘訣、お教えします!
Linuxデスクトップを便利にする秘訣、お教えします!Linuxデスクトップを便利にする秘訣、お教えします!
Linuxデスクトップを便利にする秘訣、お教えします!Akira Taniguchi
 
Linuxデスクトップを便利にする秘訣、お教えします! - 2018年京都版
Linuxデスクトップを便利にする秘訣、お教えします! - 2018年京都版Linuxデスクトップを便利にする秘訣、お教えします! - 2018年京都版
Linuxデスクトップを便利にする秘訣、お教えします! - 2018年京都版Akira Taniguchi
 
Making Editor written in Ruby version 20160611
Making Editor written in Ruby version 20160611Making Editor written in Ruby version 20160611
Making Editor written in Ruby version 20160611Langur
 
libpgenでパケット操作
libpgenでパケット操作libpgenでパケット操作
libpgenでパケット操作slankdev
 
Common Lispっぽいものをつくっています
Common LispっぽいものをつくっていますCommon Lispっぽいものをつくっています
Common Lispっぽいものをつくっていますt-sin
 
ロボットシステム学2015年第9回
ロボットシステム学2015年第9回ロボットシステム学2015年第9回
ロボットシステム学2015年第9回Ryuichi Ueda
 
2009年のPHPフレームワーク
2009年のPHPフレームワーク2009年のPHPフレームワーク
2009年のPHPフレームワークTakuya Sato
 
最強のPHP統合開発環境 PHPStorm
最強のPHP統合開発環境 PHPStorm最強のPHP統合開発環境 PHPStorm
最強のPHP統合開発環境 PHPStorm晃 遠山
 
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~infinite_loop
 
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?Developers Summit
 
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜Hideki Takase
 
Sprocketsを捨てたい
Sprocketsを捨てたいSprocketsを捨てたい
Sprocketsを捨てたいMasato Noguchi
 
ロボットシステム学2015年第12回
ロボットシステム学2015年第12回ロボットシステム学2015年第12回
ロボットシステム学2015年第12回Ryuichi Ueda
 
Raspberry Pi勉強会(前編)-京大機械研究会
Raspberry Pi勉強会(前編)-京大機械研究会Raspberry Pi勉強会(前編)-京大機械研究会
Raspberry Pi勉強会(前編)-京大機械研究会Naoki Matsumoto
 
Tizen 2.0 alpha でサポートされなかった native api
Tizen 2.0 alpha でサポートされなかった native apiTizen 2.0 alpha でサポートされなかった native api
Tizen 2.0 alpha でサポートされなかった native apiNaruto TAKAHASHI
 
CodingTips+ 基礎編
CodingTips+ 基礎編CodingTips+ 基礎編
CodingTips+ 基礎編Yusuke Ito
 
Linux学習ロードマップ
Linux学習ロードマップLinux学習ロードマップ
Linux学習ロードマップakihito_s
 

Similar to Portacle : Common Lispのオールインワン開発環境 (20)

Linuxデスクトップを便利にする秘訣、お教えします!
Linuxデスクトップを便利にする秘訣、お教えします!Linuxデスクトップを便利にする秘訣、お教えします!
Linuxデスクトップを便利にする秘訣、お教えします!
 
Linuxデスクトップを便利にする秘訣、お教えします! - 2018年京都版
Linuxデスクトップを便利にする秘訣、お教えします! - 2018年京都版Linuxデスクトップを便利にする秘訣、お教えします! - 2018年京都版
Linuxデスクトップを便利にする秘訣、お教えします! - 2018年京都版
 
Making Editor written in Ruby version 20160611
Making Editor written in Ruby version 20160611Making Editor written in Ruby version 20160611
Making Editor written in Ruby version 20160611
 
clominal
clominalclominal
clominal
 
libpgenでパケット操作
libpgenでパケット操作libpgenでパケット操作
libpgenでパケット操作
 
Common Lispっぽいものをつくっています
Common LispっぽいものをつくっていますCommon Lispっぽいものをつくっています
Common Lispっぽいものをつくっています
 
ロボットシステム学2015年第9回
ロボットシステム学2015年第9回ロボットシステム学2015年第9回
ロボットシステム学2015年第9回
 
Emacs softLayer
Emacs softLayerEmacs softLayer
Emacs softLayer
 
2009年のPHPフレームワーク
2009年のPHPフレームワーク2009年のPHPフレームワーク
2009年のPHPフレームワーク
 
最強のPHP統合開発環境 PHPStorm
最強のPHP統合開発環境 PHPStorm最強のPHP統合開発環境 PHPStorm
最強のPHP統合開発環境 PHPStorm
 
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
 
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
 
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
 
Sprocketsを捨てたい
Sprocketsを捨てたいSprocketsを捨てたい
Sprocketsを捨てたい
 
ロボットシステム学2015年第12回
ロボットシステム学2015年第12回ロボットシステム学2015年第12回
ロボットシステム学2015年第12回
 
Rdkitの紹介
Rdkitの紹介Rdkitの紹介
Rdkitの紹介
 
Raspberry Pi勉強会(前編)-京大機械研究会
Raspberry Pi勉強会(前編)-京大機械研究会Raspberry Pi勉強会(前編)-京大機械研究会
Raspberry Pi勉強会(前編)-京大機械研究会
 
Tizen 2.0 alpha でサポートされなかった native api
Tizen 2.0 alpha でサポートされなかった native apiTizen 2.0 alpha でサポートされなかった native api
Tizen 2.0 alpha でサポートされなかった native api
 
CodingTips+ 基礎編
CodingTips+ 基礎編CodingTips+ 基礎編
CodingTips+ 基礎編
 
Linux学習ロードマップ
Linux学習ロードマップLinux学習ロードマップ
Linux学習ロードマップ
 

More from Satoshi imai

lispmeetup #73 Common Lispで関係データ学習-スパース非負値テンソル分解の実装
lispmeetup #73 Common Lispで関係データ学習-スパース非負値テンソル分解の実装lispmeetup #73 Common Lispで関係データ学習-スパース非負値テンソル分解の実装
lispmeetup #73 Common Lispで関係データ学習-スパース非負値テンソル分解の実装Satoshi imai
 
Lispmeetup #56 Common lispによるwebスクレイピング技法
Lispmeetup #56 Common lispによるwebスクレイピング技法Lispmeetup #56 Common lispによるwebスクレイピング技法
Lispmeetup #56 Common lispによるwebスクレイピング技法Satoshi imai
 
Lispmeetup #53 PythonベースのLisp方言、 Hyのすすめ
Lispmeetup #53 PythonベースのLisp方言、 HyのすすめLispmeetup #53 PythonベースのLisp方言、 Hyのすすめ
Lispmeetup #53 PythonベースのLisp方言、 HyのすすめSatoshi imai
 
Lispmeetup #50 cl-random-forest: Common Lispによるランダムフォレストの実装
Lispmeetup #50 cl-random-forest: Common Lispによるランダムフォレストの実装Lispmeetup #50 cl-random-forest: Common Lispによるランダムフォレストの実装
Lispmeetup #50 cl-random-forest: Common Lispによるランダムフォレストの実装Satoshi imai
 
Lispmeetup48 cl-online-learningによる文書分類
Lispmeetup48 cl-online-learningによる文書分類Lispmeetup48 cl-online-learningによる文書分類
Lispmeetup48 cl-online-learningによる文書分類Satoshi imai
 
Lispmeetup #45 Common Lispで音声合成
Lispmeetup #45 Common Lispで音声合成Lispmeetup #45 Common Lispで音声合成
Lispmeetup #45 Common Lispで音声合成Satoshi imai
 
Lispmeetup #39 MGLの紹介: Common Lispによるディープラーニング
Lispmeetup #39 MGLの紹介: Common LispによるディープラーニングLispmeetup #39 MGLの紹介: Common Lispによるディープラーニング
Lispmeetup #39 MGLの紹介: Common LispによるディープラーニングSatoshi imai
 
Lisp meetup #29 cl-online-learningの紹介
Lisp meetup #29 cl-online-learningの紹介Lisp meetup #29 cl-online-learningの紹介
Lisp meetup #29 cl-online-learningの紹介Satoshi imai
 

More from Satoshi imai (8)

lispmeetup #73 Common Lispで関係データ学習-スパース非負値テンソル分解の実装
lispmeetup #73 Common Lispで関係データ学習-スパース非負値テンソル分解の実装lispmeetup #73 Common Lispで関係データ学習-スパース非負値テンソル分解の実装
lispmeetup #73 Common Lispで関係データ学習-スパース非負値テンソル分解の実装
 
Lispmeetup #56 Common lispによるwebスクレイピング技法
Lispmeetup #56 Common lispによるwebスクレイピング技法Lispmeetup #56 Common lispによるwebスクレイピング技法
Lispmeetup #56 Common lispによるwebスクレイピング技法
 
Lispmeetup #53 PythonベースのLisp方言、 Hyのすすめ
Lispmeetup #53 PythonベースのLisp方言、 HyのすすめLispmeetup #53 PythonベースのLisp方言、 Hyのすすめ
Lispmeetup #53 PythonベースのLisp方言、 Hyのすすめ
 
Lispmeetup #50 cl-random-forest: Common Lispによるランダムフォレストの実装
Lispmeetup #50 cl-random-forest: Common Lispによるランダムフォレストの実装Lispmeetup #50 cl-random-forest: Common Lispによるランダムフォレストの実装
Lispmeetup #50 cl-random-forest: Common Lispによるランダムフォレストの実装
 
Lispmeetup48 cl-online-learningによる文書分類
Lispmeetup48 cl-online-learningによる文書分類Lispmeetup48 cl-online-learningによる文書分類
Lispmeetup48 cl-online-learningによる文書分類
 
Lispmeetup #45 Common Lispで音声合成
Lispmeetup #45 Common Lispで音声合成Lispmeetup #45 Common Lispで音声合成
Lispmeetup #45 Common Lispで音声合成
 
Lispmeetup #39 MGLの紹介: Common Lispによるディープラーニング
Lispmeetup #39 MGLの紹介: Common LispによるディープラーニングLispmeetup #39 MGLの紹介: Common Lispによるディープラーニング
Lispmeetup #39 MGLの紹介: Common Lispによるディープラーニング
 
Lisp meetup #29 cl-online-learningの紹介
Lisp meetup #29 cl-online-learningの紹介Lisp meetup #29 cl-online-learningの紹介
Lisp meetup #29 cl-online-learningの紹介
 

Portacle : Common Lispのオールインワン開発環境