SlideShare a Scribd company logo
1 of 47
CITRINE85th Smalltalk Study Meeting
CITRINE
PROGRAMMIN
G LANGUAGE第 85 回 Smalltalk 勉強会
2016-02-15
TAKANO Mitsuhiro a.k.a. @takano32
SORABITO Inc. / jus / CONBU
今日のアジェンダ
➤ 自己紹介
➤ Citrine の概要
➤ Citrine の特徴
➤ Citrine の内部
➤ Citrine と Smalltalk の比較
SELF-
INTRODU
CTION自己紹介
お前、誰よ
➤ 高野 光弘
➤ TAKANO Mitsuhiro
➤ @takano32
➤ おしえて!ギャル子ちゃん
➤ 所属
➤ SORABITO株式会社
➤ 日本UNIXユーザ会
➤ CONBU
お前、誰よ
➤ Smalltalk Developer
➤ 会社で使っている主言語
➤ 最近インフラ整備にかまけてしまっている感もあるが…
➤ Ruby committer
➤ IA-64 メンテナをしていた
➤ Citrine committer
➤ 経緯は後ほど紹介← NEW
好きな分野とか
➤ 電子工作
➤ 仮想化機構
➤ 組み込み向け Smalltalk VM
➤ Web サービス
➤ 電子商取引サイト
➤ インフラストラクチャ
➤ サービスプラットフォーム
➤ ネットワーク
➤ 言語処理系
今日は言語処理系
CITRINEProgramming Language
ABOUT
CITRINECitrine とは
CITRINE とは
➤ 英辞郎 on the Web より
公式サイトより
➤ Citrine is an easy-to-learn general purpose programming language
for UNIX®-like operating systems. The Citrine Programming
Language focuses on simplicity and emphasizes maintainability
through readability. Simplicity is achieved by syntactical and
conceptual minimalism.
➤ Citrine は習得が簡単な UNIX 系 OS 向けに作られた汎用プロ
グラミング言語です。 Citrine は簡潔さや可読性を重視したこ
とによる保守性を主軸とした言語です。必要最小限にとどめ
た文法やコンセプトによって簡潔さを実現しています。
習うより慣れる
FEATUR
ES OF
CITRINECitrine の特徴
CITRINE の特徴
➤ すべてがオブジェクト
➤ Smalltalk っぽいメッセージ引数
➤ プロトタイプのオブジェクト指向
➤ DSL や API に便利なマジックメソッド
➤ AST にコンパイルすることができる
➤ ガベージコレクションを搭載
すべてがオブジェクト
➤ リテラルのオブジェクト
➤ Nil
➤ Boolean
➤ Number
➤ String
➤ Block
➤ その他のオブジェクト
➤ 組み込みの Object インスタンスをコピーして作成
➤ Object オブジェクトに new というメッセージを送信
すべてがオブジェクト
➤ Nil
➤ Pen は World という特殊なオブジェクトのプロパティ
➤ 組み込みのオブジェクト
➤ 標準出力などへの出力機能
(Nil = Nil) ifTrue: { Pen write: 'Nil is Nil!'.}.
Nil is Nil!
(Nil isNil) ifTrue: { Pen write: 'Nil isNil is True!'.}.
Nil isNil is True!
すべてがオブジェクト
➤ Boolean
➤ True と False
➤ 組み込みのオブジェクト
➤ とても Smalltalky な字面
➤ `ifTrue:` メッセージにブロック引数
➤ ブロックについては後述
True ifTrue: { Pen write: 'True is True'.}.
True is True
すべてがオブジェクト
➤ Number
➤ 数字に関係するメッセージが定義されている
➤ 反復などの記述に便利なメッセージ
➤ 文字列のオブジェクトを返却するメッセージ
➤ など
5 times: { Pen write: 'ho'. }.
hohohohoho
すべてがオブジェクト
➤ String
➤ 文字列を表現するオブジェクト
➤ `trim`, `ltrim`, `rtrim` などのメッセージをもつ
Pen write: ('title' asciiUpperCase1st).
Title
すべてがオブジェクト
➤ Block
➤ `{` や `{` ではじまり `}` で閉じた箇所
➤ すでに使ってました
➤ `{` や `{` の使い分け
➤ `{` は引数なしのブロック
➤ `{` は引数ありのブロック
➤ 例 fizzbuzz.ctr
SMALLTALK っぽいメッセージ引数
True ifTrue: { Pen write: 'True is True'.}.
5 times: { Pen write: 'ho'. }.
プロトタイプのオブジェクト指向
Animal := Object new.
Animal on: 'eat' do: {
Pen write: 'munch! munch!'.
}.
dog := Animal new.
dog eat.
fruits := Array <- 'apples' ; 'oranges' ; 'bananas'.
fruits at: 0.
fruits at: 1.
fruits put: ‘lemmons' at: 1.
マジックメソッド
➤ PHP に触発されて命名されたと思われる
➤ 製作者の圧倒的 PHP 力
➤ see also PHP: マジックメソッド - Manual
➤ 要するにリフレクションの仕組み
マジックメソッド
➤ 現在は `respondTo:` という系列のメソッドのみ
➤ PHP では `__invoke()` に相当
➤ Smalltalk では `#doesNotUnderstand:` の再定義相当
マジックメソッドの利用例
➤ いまいち有り難みが分からない利用例
➤ 他の言語での DSL や API の実装を参考にするとよいです
echo := Object new.
echo on: 'respondTo:' do: {
sound |
2 times: { Pen write: sound. }.
}.
echo ho!. #prints ho!ho!
マジックメソッド
➤ 公式サイトより
➤ You can make objects respond to arbitrary messages, in some
languages this is known as 'magic methods’.
➤ いくつかの言語ではマジックメソッドと呼ばれている???
PHP-ER にしか通じ
ない
AST にコンパイルすることができる
➤ AST とは
➤ Abstract Syntax Tree
➤ Wikipedia から引用
➤ 抽象構文木( abstract syntax tree 、 AST )とは、通常の
構文木(具象構文木、あるいは parse tree とも言う)か
ら、言語の意味に関係ない情報を取り除き、意味に関係
ある情報のみを取り出した(抽象した)木構造のデータ
構造である。
結局は何なの?
AST の利便性
➤ 意味的な木構造を作成
➤ (よくある言語の)括弧などの字句解析器の支援に使われているようなもの
は排除する
➤ よくある使われどころ
➤ マクロの実現
➤ 部分木を別の箇所に接ぎ木したり、部分的な置換をすることでダイナミッ
クに
➤ 最適化の役に立つ
➤ 新たに字句解析器や構文解析器を使わなくて良い
➤ AST の構造を変えることで処理を早くする仕組みは幅広く使われている
➤ 文献が多くてやりやすい
PARSER.C を読みま
しょう
PARSER.C …を読み解くのはツラいです
➤ 参考図書
➤ コンパイラ
➤ 入門
➤ コンパイラの構成と最適化
➤ 入門 + よく使う技法
➤ コンパイラ―原理・技法・ツール
➤ よく使わない技法もふくめて載っているバイブル
➤ 「ドラゴンブック」
ガベージコレクション
➤ system.c で頑張っています
➤ あまり意味をなしていない気がしています
➤ 理由は後述
INSIDE
THE
CITRINECitrine の内部
CITRINE の内部
➤ 実はコントリビュータになっています
➤ コミッタよりも権限が強い
➤ Git の使い方を補助しています
➤ 作成者が GitHub をよく理解していない
➤ コントリビュータになった経緯
➤ 経緯となった問題の解決
CITRINE の闇
➤ else if が大好きすぎる
➤ マジックナンバーが突然でてくる
➤ ctr_build_number_from_string
➤ メモリの管理が雑すぎてガベージコレクションいらない
➤ $ git grep malloc | wc -l # => 162
➤ $ git grep free | wc -l # => 119
➤ 圧倒的 malloc 力
デモ:安全な
MALLOC と FREE
の定番を書く
SMALLT
ALK
AND
CITRINESmalltalk と Citrine の比
較
すみません
この章不要でした
この章不要でした
それだけではあまりにアレなので
➤ Boolean
➤ `ifTrue:` `ifFalse:` のみ
➤ `ifTrue:ifFalse:` や `ifFalse:ifTrue:` を実装してみた
➤ boolean.ctr
➤ どんどん Smalltalk っぽくしていくことができます
CONCL
USION結論
CITRINE とは何なのか
➤ たしかに Smalltalk に似ている言語
➤ まだまだ成長過程
➤ PHP と Perl に嫌気がさした PHP-er が作者
➤ C言語に慣れていないのに書いてる
➤ バグがあってもくじけない
➤ 気長にみていこうと思います
➤ 笑えるコミットとかあります
➤ https://github.com/gabordemooij/citrine/commit/7741df969f080ae8897b7bbafbeb
➤ https://github.com/gabordemooij/citrine/pull/31
THANK
YOU
FOR
LISTENI
NGちょっとしたお知らせ
イベント告知
➤ すしルート
➤ SORABITO 株式会社 高野 光弘 様
➤ Ruby コミッタ。日本 UNIX ユーザ会理事。 CONBU コアメンバー。
➤ 大学修了後、大手電機メーカーにてブレードサーバ開発、特に仮想化機構の開発に携わる。その後、 Web 系の企業に転職する。社
外向けには国内最大規模のインフラストラクチャの管理、社内向けには開発環境や版管理基盤 GitHub:Enterprise メンテナンス、大
規模通知システムの開発に従事。現在は大学時代にソフトウェアハウスでアルバイトしてい
たときに出会った師匠に誘われ SORABITO 株式会社に転職。建機売買のシステ
ム ALLSTOCKER.com の構築に携わっている。日本円にして 2 億円の出品など
も存在しており、驚きである。このようにして、貧民系組み込み開発から富豪系
Web サービス開発までのさまざまな経験を経て寿司も好むようになった。
➤ 最近はどうやら Smalltalk で寿司を食べている。
➤ 2 億円で食べられる寿司の量は想像できない…
まだ発表内容が決まってません
➤ 一瞬で思いついたネタ
➤ 5 インチベイのドライブの中に寿司いれといて「へい、お
まち!」を音声認識したらおもむろに eject するっていう
ネタ
➤ ドライブついてるマシンを渋谷まで搬入するのが地獄
➤ 光学ドライブつき MacBook ならのある
➤ 搬入できそう
➤ だが、ペラペラの寿司が必要…
➤ まだまだ検討の余地がある…
ご清聴ありがとうございました

More Related Content

What's hot

Groovyで学ぶプロセス代数 #jjug
Groovyで学ぶプロセス代数 #jjugGroovyで学ぶプロセス代数 #jjug
Groovyで学ぶプロセス代数 #jjugkyon mm
 
PHPの関数実行とその計測
PHPの関数実行とその計測PHPの関数実行とその計測
PHPの関数実行とその計測shinjiigarashi
 
「やっぱり怖かったPerl」In Kichijoji.pm #2
「やっぱり怖かったPerl」In Kichijoji.pm #2「やっぱり怖かったPerl」In Kichijoji.pm #2
「やっぱり怖かったPerl」In Kichijoji.pm #2民人 青山
 
PECL を数えてみた
PECL を数えてみたPECL を数えてみた
PECL を数えてみたy-uti
 
PECL operator で演算子オーバーロード
PECL operator で演算子オーバーロードPECL operator で演算子オーバーロード
PECL operator で演算子オーバーロードy-uti
 
Windows で拡張モジュールをビルドしてみた
Windows で拡張モジュールをビルドしてみたWindows で拡張モジュールをビルドしてみた
Windows で拡張モジュールをビルドしてみたy-uti
 
Php勉強会資料20090629
Php勉強会資料20090629Php勉強会資料20090629
Php勉強会資料20090629Takako Miyagawa
 
第1回SE勉強会(080302)
第1回SE勉強会(080302)第1回SE勉強会(080302)
第1回SE勉強会(080302)柴田 篤志
 
Python3 プログラミング勉強会
Python3 プログラミング勉強会Python3 プログラミング勉強会
Python3 プログラミング勉強会Tetsuya Morimoto
 
言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyoShuyo Nakatani
 
tse - Pythonによるテキスト整形ユーティリティ
tse - Pythonによるテキスト整形ユーティリティtse - Pythonによるテキスト整形ユーティリティ
tse - Pythonによるテキスト整形ユーティリティAtsuo Ishimoto
 
2015/08/08 第8回G-Study発表資料-部屋と自宅サーバと私
2015/08/08 第8回G-Study発表資料-部屋と自宅サーバと私2015/08/08 第8回G-Study発表資料-部屋と自宅サーバと私
2015/08/08 第8回G-Study発表資料-部屋と自宅サーバと私Yuta Hayakawa
 

What's hot (12)

Groovyで学ぶプロセス代数 #jjug
Groovyで学ぶプロセス代数 #jjugGroovyで学ぶプロセス代数 #jjug
Groovyで学ぶプロセス代数 #jjug
 
PHPの関数実行とその計測
PHPの関数実行とその計測PHPの関数実行とその計測
PHPの関数実行とその計測
 
「やっぱり怖かったPerl」In Kichijoji.pm #2
「やっぱり怖かったPerl」In Kichijoji.pm #2「やっぱり怖かったPerl」In Kichijoji.pm #2
「やっぱり怖かったPerl」In Kichijoji.pm #2
 
PECL を数えてみた
PECL を数えてみたPECL を数えてみた
PECL を数えてみた
 
PECL operator で演算子オーバーロード
PECL operator で演算子オーバーロードPECL operator で演算子オーバーロード
PECL operator で演算子オーバーロード
 
Windows で拡張モジュールをビルドしてみた
Windows で拡張モジュールをビルドしてみたWindows で拡張モジュールをビルドしてみた
Windows で拡張モジュールをビルドしてみた
 
Php勉強会資料20090629
Php勉強会資料20090629Php勉強会資料20090629
Php勉強会資料20090629
 
第1回SE勉強会(080302)
第1回SE勉強会(080302)第1回SE勉強会(080302)
第1回SE勉強会(080302)
 
Python3 プログラミング勉強会
Python3 プログラミング勉強会Python3 プログラミング勉強会
Python3 プログラミング勉強会
 
言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo
 
tse - Pythonによるテキスト整形ユーティリティ
tse - Pythonによるテキスト整形ユーティリティtse - Pythonによるテキスト整形ユーティリティ
tse - Pythonによるテキスト整形ユーティリティ
 
2015/08/08 第8回G-Study発表資料-部屋と自宅サーバと私
2015/08/08 第8回G-Study発表資料-部屋と自宅サーバと私2015/08/08 第8回G-Study発表資料-部屋と自宅サーバと私
2015/08/08 第8回G-Study発表資料-部屋と自宅サーバと私
 

Similar to Smalltalk との比較で深まる Citrine の理解

PHP7をDockerで動かしたという話
PHP7をDockerで動かしたという話PHP7をDockerで動かしたという話
PHP7をDockerで動かしたという話侑弥 濱田
 
Cli mini Hack!#1 ~Terminalとの親睦を深めよう~
Cli mini Hack!#1 ~Terminalとの親睦を深めよう~Cli mini Hack!#1 ~Terminalとの親睦を深めよう~
Cli mini Hack!#1 ~Terminalとの親睦を深めよう~Kei IWASAKI
 
JIT for PHP を試した
JIT for PHP を試したJIT for PHP を試した
JIT for PHP を試したy-uti
 
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hackyut148atgmaildotcom
 
2015/09/12 第9回G-Study発表資料-XdebugでPHP ScriptのProfileしてみる
2015/09/12 第9回G-Study発表資料-XdebugでPHP ScriptのProfileしてみる2015/09/12 第9回G-Study発表資料-XdebugでPHP ScriptのProfileしてみる
2015/09/12 第9回G-Study発表資料-XdebugでPHP ScriptのProfileしてみるYuta Hayakawa
 
「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of PythonTakanori Suzuki
 
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い sasezaki
 
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12Takanori Suzuki
 
Pyconjp2014_implementations
Pyconjp2014_implementationsPyconjp2014_implementations
Pyconjp2014_implementationsmasahitojp
 
Infrastructure as CodeでReNom環境構築入門
Infrastructure as CodeでReNom環境構築入門Infrastructure as CodeでReNom環境構築入門
Infrastructure as CodeでReNom環境構築入門ReNom User Group
 
20091031 Cake Php Way
20091031 Cake Php Way20091031 Cake Php Way
20091031 Cake Php WayYusuke Ando
 
PHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考えるPHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考えるTakuya Sato
 
20091107 Phpstudy
20091107 Phpstudy20091107 Phpstudy
20091107 PhpstudyYusuke Ando
 
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansaiHisateru Tanaka
 
UnityでのLINQ活用例
UnityでのLINQ活用例UnityでのLINQ活用例
UnityでのLINQ活用例Ryota Murohoshi
 
Programming camp Codereading
Programming camp CodereadingProgramming camp Codereading
Programming camp CodereadingHiro Yoshioka
 
とある Perl Monger の働き方
とある Perl Monger の働き方とある Perl Monger の働き方
とある Perl Monger の働き方Yusuke Wada
 

Similar to Smalltalk との比較で深まる Citrine の理解 (20)

PHP7をDockerで動かしたという話
PHP7をDockerで動かしたという話PHP7をDockerで動かしたという話
PHP7をDockerで動かしたという話
 
Cli mini Hack!#1 ~Terminalとの親睦を深めよう~
Cli mini Hack!#1 ~Terminalとの親睦を深めよう~Cli mini Hack!#1 ~Terminalとの親睦を深めよう~
Cli mini Hack!#1 ~Terminalとの親睦を深めよう~
 
JIT for PHP を試した
JIT for PHP を試したJIT for PHP を試した
JIT for PHP を試した
 
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
 
2015/09/12 第9回G-Study発表資料-XdebugでPHP ScriptのProfileしてみる
2015/09/12 第9回G-Study発表資料-XdebugでPHP ScriptのProfileしてみる2015/09/12 第9回G-Study発表資料-XdebugでPHP ScriptのProfileしてみる
2015/09/12 第9回G-Study発表資料-XdebugでPHP ScriptのProfileしてみる
 
「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python
 
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
 
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
 
Pyconjp2014_implementations
Pyconjp2014_implementationsPyconjp2014_implementations
Pyconjp2014_implementations
 
Infrastructure as CodeでReNom環境構築入門
Infrastructure as CodeでReNom環境構築入門Infrastructure as CodeでReNom環境構築入門
Infrastructure as CodeでReNom環境構築入門
 
20091031 Cake Php Way
20091031 Cake Php Way20091031 Cake Php Way
20091031 Cake Php Way
 
PHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考えるPHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考える
 
Introduction Pycon2010
Introduction Pycon2010Introduction Pycon2010
Introduction Pycon2010
 
ゆるかわPhp
ゆるかわPhpゆるかわPhp
ゆるかわPhp
 
20091107 Phpstudy
20091107 Phpstudy20091107 Phpstudy
20091107 Phpstudy
 
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
 
UnityでのLINQ活用例
UnityでのLINQ活用例UnityでのLINQ活用例
UnityでのLINQ活用例
 
Programming camp Codereading
Programming camp CodereadingProgramming camp Codereading
Programming camp Codereading
 
とある Perl Monger の働き方
とある Perl Monger の働き方とある Perl Monger の働き方
とある Perl Monger の働き方
 
PHPにおけるI/O多重化とyield
PHPにおけるI/O多重化とyieldPHPにおけるI/O多重化とyield
PHPにおけるI/O多重化とyield
 

More from TAKANO Mitsuhiro

平成生まれのための MINIX 講座
平成生まれのための MINIX 講座平成生まれのための MINIX 講座
平成生まれのための MINIX 講座TAKANO Mitsuhiro
 
Learn Languages 2017 従来言語で理解する次世代言語の概念 #ll2017jp
Learn Languages 2017 従来言語で理解する次世代言語の概念 #ll2017jpLearn Languages 2017 従来言語で理解する次世代言語の概念 #ll2017jp
Learn Languages 2017 従来言語で理解する次世代言語の概念 #ll2017jpTAKANO Mitsuhiro
 
Pharo 6 最新情報 | 第101回Smalltalk勉強会
Pharo 6 最新情報 | 第101回Smalltalk勉強会Pharo 6 最新情報 | 第101回Smalltalk勉強会
Pharo 6 最新情報 | 第101回Smalltalk勉強会TAKANO Mitsuhiro
 
型、ついてますか? - 型の本質を振り返る -
型、ついてますか? - 型の本質を振り返る -型、ついてますか? - 型の本質を振り返る -
型、ついてますか? - 型の本質を振り返る -TAKANO Mitsuhiro
 
インターネットにおける悪評 - 高野光弘編
インターネットにおける悪評 - 高野光弘編インターネットにおける悪評 - 高野光弘編
インターネットにおける悪評 - 高野光弘編TAKANO Mitsuhiro
 
魁!!インターネット塾
魁!!インターネット塾魁!!インターネット塾
魁!!インターネット塾TAKANO Mitsuhiro
 

More from TAKANO Mitsuhiro (8)

平成生まれのための MINIX 講座
平成生まれのための MINIX 講座平成生まれのための MINIX 講座
平成生まれのための MINIX 講座
 
Learn Languages 2017 従来言語で理解する次世代言語の概念 #ll2017jp
Learn Languages 2017 従来言語で理解する次世代言語の概念 #ll2017jpLearn Languages 2017 従来言語で理解する次世代言語の概念 #ll2017jp
Learn Languages 2017 従来言語で理解する次世代言語の概念 #ll2017jp
 
Pharo 6 最新情報 | 第101回Smalltalk勉強会
Pharo 6 最新情報 | 第101回Smalltalk勉強会Pharo 6 最新情報 | 第101回Smalltalk勉強会
Pharo 6 最新情報 | 第101回Smalltalk勉強会
 
型、ついてますか? - 型の本質を振り返る -
型、ついてますか? - 型の本質を振り返る -型、ついてますか? - 型の本質を振り返る -
型、ついてますか? - 型の本質を振り返る -
 
CONBU API の開発
CONBU API の開発CONBU API の開発
CONBU API の開発
 
インターネットにおける悪評 - 高野光弘編
インターネットにおける悪評 - 高野光弘編インターネットにおける悪評 - 高野光弘編
インターネットにおける悪評 - 高野光弘編
 
魁!!インターネット塾
魁!!インターネット塾魁!!インターネット塾
魁!!インターネット塾
 
Brainfush
BrainfushBrainfush
Brainfush
 

Recently uploaded

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 

Recently uploaded (12)

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 

Smalltalk との比較で深まる Citrine の理解