SlideShare a Scribd company logo
1 of 41
Download to read offline
Smalltalkと継続的インテグレーション
Continuous Integration for Pharo Smalltalk
Sho Yoshida / @newapplesho

SORABITO Inc.

30 October 2015
本日のテーマ
継続的インテグレーション
ビルド、テストなどの定期的で反復可能な作業を自動化し
繰り返し実施することで省力化を図ること
継続的インテグレーションのメリット
継続的デリバリーの実現
継続的にデリバリーすることで顧客への価値の提供回数を増やす
Smalltalkerのみなさんへのアンケート
• ソースコードどうやって管理していますか
• imageビルドどうやっていますか
• 秘伝のイメージ作りをしていませんか
チーム開発について考えよう
Smalltalkのソースコード管理について
• 「分からないことはSmalltalkに聞け」というSmalltalk
• だからコメントやドキュメントをあまり残さないSmalltalker
• ドキュメントを見つけても古い
• 一体どうなっているんだ
ソースコード管理
• Smalltalkの処理系はたくさんあり管理方法もバラバラ
• Pharo Smalltalkについて説明します(下記は適当です。すみません)
20152010頃 2012頃 20142002?
Metacelloによる平定
FileTreeの登場
Pharo3.0 Released
FileTree標準装備
Pharo4.0 Released
Monticello(MCZ)の出現
Squeak Released
パッケージの導入??
2008
MCZの普及とリポジトリの乱立
GitHubの到来
1996?
Pharo Released
MCZ混沌時代の到来
2013?
SmalltalkHub登場?
Git出現
2005?
FileTree+GitHubでのパッケージ公開が増えてくるはず
Git管理願望時代?
GitHub Enterprise提供開始
Smalltalkと出会う
Pharoの前身のSqueakでは
• パッケージ(ソースコード群)フォーマットとしてSAR形式があった
• SqueakMapというウェブベースのパッケージ管理でも使われている
• でも作るのは手作業で大変
詳しく知りたい方は「Squeak自由自在 http://swikis.ddo.jp/squeak/13」を参考にするとよいでしょう
http://map.squeak.org
Monticelloの出現
• MCZ形式のパッケージファイル管理ツール
• バージョン管理可能、差分確認が可能
• ローカルディレクトリおよびFTP, HTTP経由で外部にも保管可能
手動作成のSAR形式より楽で便利。
Squeak自由自在を読むと当時の期待感がわかる
MCZの普及とリポジトリの乱立
• MCZは普及しSqueak, Pharoではデフォルトのパッケージ管理となった
• MCZ形式のファイルを一般公開するためのリポジトリサーバーが登場
• SqueakSource,SqueakSource3や野良SqueakSourceが乱立した
どこに何がおいてあるのか不明。
Smalltalk入門者は主要なリポジトリを知らないと
欲しいパッケージが見つけられない可能性がある。
現在もこの問題は解決されていない
Smalltalkだめ自慢 http://www.slideshare.net/umejava/smalltalk-38297600
MCZ混沌時代の到来
• MCZ形式は便利ではあったが欠点も多かった
• パッケージ間の依存関係解決が難しい(自分のパッケージに入れる荒技が
あったりヒドかった)
• 処理系、処理系のバージョンを指定できない(「動けばOK!」ってノリ。
いいのか?)
• 最新化は職人技(「これだ!」ってな感じでMCZファイルを手動ロード)
私は学生の頃Smalltalkイメージ作り職人になっていた
mario https://www.flickr.com/photos/64738468@N00/31049645/
Metacelloによる平定
• Monticelloの問題であったパッケージ依存や処理系ごとの制御を可能にする
システム
• Metacelloの登場によりパッケージ依存でエラーになることが少なくなった
• そしてイメージ作り職人は職を失ったはず(これが出た当初はSmalltalkとは無縁な仕事をしていたけどw)
よく見かけるConfigurationOfXX がMetacelloを記述するクラス
Metacelloの使い方は第23回Smalltalk勉強会の資料を参考
http://www.smalltalk-users.jp/Home/gao-zhi/dai23kaismalltalkbenkyoukai
Always Shooting https://www.flickr.com/photos/alwaysshooting/15315019007/
GitHubの到来
• Metacelloが登場したころにはGitHubが広まりつつあった
• しかしながらSmalltalkerは独自ソースコード管理方法を続けた
• Metacello登場以降もプライベートなプロジェクト管理および多人数開発で
は問題を抱えていた
• あの猫がこわかったのかもしれない
MCZでの運用の問題
• MCZ形式はソースコードをzip形式でアーカイブしたもの
• MCZファイルそのままをGitで管理しても嬉しくない
• プライベートなプロジェクトの場合SqueakSourceが必要になる
• ブランチ管理ができない
• Pull Requestが使えない
• ソースコードを見るためのSmalltalkがいつもあるとは限らない
Git使いたい
Gitに憧れ三千里
Git管理を憧れ続けたSmalltalker
flowcomm https://www.flickr.com/photos/flowcomm/4372513286/
FileTreeの登場
参考資料: http://www.slideshare.net/esug/of-metacello-git-scripting-and-things
FileTreeとは
Monticello repository for directory-based Monticello packages enabling the use of git, svn, etc.
for managing Smalltalk source code.
https://github.com/dalehenrich/filetree より
ソースコードをgit等で管理するための
ディレクトリベースのソースコード管理ツール
発見したときPharo2.0に即座にインストールした
MCZだと・・・
Smalltalkがないと見えないよ
package class
method
properties
method
source
FileTreeだと
見えるぞ、私にも見えるぞ
FileTreeとGit管理
見えるぞ、私にも見えるぞ
FileTreeのメリット
• ファイルベース管理なのでGit等の他言語のコード管理方法が利用可能
• プライベートSqueakSourceの導入が不要になり管理コスト減
• ブランチが使える
• Pull Requestが使える
• Pharo 3.0から標準装備
FileTreeの使い方(保存編)
• Monticello Browserを開き、保存したいパッケージを選択
• [+Repository]をクリック、[filetree://]を選択して保存するディレクトリを選択
• Monticelloと違いバージョン毎にソースコードが出力されないので注意
(saveしたらgit,mercurial等でバージョン管理をする)
簡単ですね
FileTreeの使い方(読み込み編)
• 読み込む際にはBaselineをつかって読み込む
• BaselineはFileTreeで保存したパッケージ間依存を記述
• Metacelloの知識があれば簡単に記述可能
• Metacelloのbaseline:だけを取り出しものを考えるとわかりやすい
BaselineOfXX がBaselineを記述するクラス
Baselineの例
Baselineを使った読み込み
| pathToPackageDirectory |
"edit to match the path to your chosen package directory"
pathToPackageDirectory := '/YOUR-GIT-DIRECTORY-PATH/sendgrid-smalltalk/pharo-repository/'.
Metacello new
baseline: 'SendGrid';
repository: 'filetree://', pathToPackageDirectory;
load.
SendGrid Smalltalkの場合
https://github.com/newapplesho/sendgrid-smalltalk
FileTree + Baseline + Git
• BaselineのコードもFileTreeで保存すればカレントブランチのソースコードが
読み込める
• バージョン管理はGitに任せればOK
• ビジネスなどのプライベートプロジェクトの管理にはとても便利
FileTreeはGitHubもサポート
• FileTreeにはGitHubに公開されたソースコードをcloneする機能ある
• 取得するソースコードはcommitの識別番号で指定可能
• ConfigurationOfのversionメソッドにgithubのパスを指定する
• 利用するにはBaselineにGit管理のパッケージの依存関係に記述してコミットする
必要がある
• GitHubからcloneするConfigurationOfをSmalltalkHubなどに公開すれば乱立時代
も乗り切れる
SendGrid Smalltalkの例
github://<user>/<project>[:SHA][/<path>] というルールになっている
SendGrid Smalltalkの例
github://newapplesho/sendgrid-smalltalk:ce676f2225374264108042c4c734fe116b3c5080/pharo-repository
GitHubから取得するConfigurationOfを利用
github://newapplesho/sendgrid-smalltalk:ce676f2225374264108042c4c734fe116b3c5080/pharo-repository
ローカルにGitHubのソースコードを取得する
SendGrid Smalltalkの例
ConfigurationOfのみSmalltalkHubに公開
FileTreeでの運用問題
• コードが細かく分割されているためコードレビューしずらい
• 常にproperties.jsonなどの生成されるためファイルのコンフリクトが発生し
やすい
FileTreeつらい。助けてSuper Smalltalker
Stree
• 梅澤さん(@umejava)作 FileTreeの拡張機能
• http://smalltalkhub.com/#!/~MasashiUmezawa/STree
• Cypressとは異なりクラス単位でファイルが分割されている
• クラス単位のファイル出力でも出力順序が統一されているためコードレビュー
がしやすい
Streeのinstall方法
Gofer it
url: 'http://smalltalkhub.com/mc/MasashiUmezawa/STree/main';
package: 'STree';
load.
FileTreeとStreeの比較
FileTreeとStreeの比較
builder
• Pharo imageをJenkinsを用いて自動ビルドする環境
• Lukas Rengglis作
• https://github.com/renggli/builder
• scripts内のコードを実行することでimageを自動ビルド可能
builderの問題
でも動かない
慌てない。いつものこと
builder (newapplesho版)
• https://github.com/newapplesho/builder
• builder動かせるようにするように変更
• scriptsファイルは厳選したものだけをcommit
• 現状はCentOS 6用、今後はUbuntu等にも対応予定
• セットアップを簡単にできるシェルも準備中
Smalltalkのリポジトリ問題の解決を目指します
builder (newapplesho版)のディレクトリ構成
• oneclick CentOS 6.5用Pharo VMを格納
• images 自動ビルド
• scripts 自動ビルドで実行するコードを格納
builderの使い方
• gitコマンドでbuilderをクローン
• builderのimage内に最新のPharo imageを格納する
• シェル
git clone git://github.com/newapplesho/builder.git
build.sh -i [イメージ名] -s [script名] -o [出力イメージ名]
builderデモ
• builderでビルドしてみる
• builderの新規ビルドを作る
• builderで自動テストをしてみる
準備は整った
さあSmalltalkを書こう
paul bica https://www.flickr.com/photos/dexxus/5820866907/

More Related Content

What's hot

ソースコードレビューのススメ
ソースコードレビューのススメソースコードレビューのススメ
ソースコードレビューのススメKLab Inc. / Tech
 
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発takuma mori
 
Swiftで説明する「モナド」:Swiftにおける関数型プログラミングの使い方
Swiftで説明する「モナド」:Swiftにおける関数型プログラミングの使い方Swiftで説明する「モナド」:Swiftにおける関数型プログラミングの使い方
Swiftで説明する「モナド」:Swiftにおける関数型プログラミングの使い方Roy Kim
 
生粋のRubyistがJavaを好きになった理由
生粋のRubyistがJavaを好きになった理由生粋のRubyistがJavaを好きになった理由
生粋のRubyistがJavaを好きになった理由Akira Kitauchi
 
Swift事情2014夏 ~ Swift入門 beta6対応
Swift事情2014夏 ~ Swift入門 beta6対応Swift事情2014夏 ~ Swift入門 beta6対応
Swift事情2014夏 ~ Swift入門 beta6対応Tomoki Hasegawa
 
あらためて考える、これからの仮想化インフラのためのデータセンター
あらためて考える、これからの仮想化インフラのためのデータセンターあらためて考える、これからの仮想化インフラのためのデータセンター
あらためて考える、これからの仮想化インフラのためのデータセンターVirtualTech Japan Inc.
 
Web Speech API で2時間で作れる?ブラウザロボット
Web Speech API で2時間で作れる?ブラウザロボットWeb Speech API で2時間で作れる?ブラウザロボット
Web Speech API で2時間で作れる?ブラウザロボットHirokazu Egashira
 
【ヒカ☆ラボ】初心者向けSwiftアプリのリファクタリング
【ヒカ☆ラボ】初心者向けSwiftアプリのリファクタリング【ヒカ☆ラボ】初心者向けSwiftアプリのリファクタリング
【ヒカ☆ラボ】初心者向けSwiftアプリのリファクタリングleverages_event
 
楽天トラベルとSpring(Spring Day 2016)
楽天トラベルとSpring(Spring Day 2016)楽天トラベルとSpring(Spring Day 2016)
楽天トラベルとSpring(Spring Day 2016)Rakuten Group, Inc.
 
Chatopsのおかけでエンジニアがルーティンワークから解放された話
Chatopsのおかけでエンジニアがルーティンワークから解放された話Chatopsのおかけでエンジニアがルーティンワークから解放された話
Chatopsのおかけでエンジニアがルーティンワークから解放された話葛 飛
 
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)Masahiro Nishimi
 
チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾Ryutaro YOSHIBA
 

What's hot (12)

ソースコードレビューのススメ
ソースコードレビューのススメソースコードレビューのススメ
ソースコードレビューのススメ
 
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
 
Swiftで説明する「モナド」:Swiftにおける関数型プログラミングの使い方
Swiftで説明する「モナド」:Swiftにおける関数型プログラミングの使い方Swiftで説明する「モナド」:Swiftにおける関数型プログラミングの使い方
Swiftで説明する「モナド」:Swiftにおける関数型プログラミングの使い方
 
生粋のRubyistがJavaを好きになった理由
生粋のRubyistがJavaを好きになった理由生粋のRubyistがJavaを好きになった理由
生粋のRubyistがJavaを好きになった理由
 
Swift事情2014夏 ~ Swift入門 beta6対応
Swift事情2014夏 ~ Swift入門 beta6対応Swift事情2014夏 ~ Swift入門 beta6対応
Swift事情2014夏 ~ Swift入門 beta6対応
 
あらためて考える、これからの仮想化インフラのためのデータセンター
あらためて考える、これからの仮想化インフラのためのデータセンターあらためて考える、これからの仮想化インフラのためのデータセンター
あらためて考える、これからの仮想化インフラのためのデータセンター
 
Web Speech API で2時間で作れる?ブラウザロボット
Web Speech API で2時間で作れる?ブラウザロボットWeb Speech API で2時間で作れる?ブラウザロボット
Web Speech API で2時間で作れる?ブラウザロボット
 
【ヒカ☆ラボ】初心者向けSwiftアプリのリファクタリング
【ヒカ☆ラボ】初心者向けSwiftアプリのリファクタリング【ヒカ☆ラボ】初心者向けSwiftアプリのリファクタリング
【ヒカ☆ラボ】初心者向けSwiftアプリのリファクタリング
 
楽天トラベルとSpring(Spring Day 2016)
楽天トラベルとSpring(Spring Day 2016)楽天トラベルとSpring(Spring Day 2016)
楽天トラベルとSpring(Spring Day 2016)
 
Chatopsのおかけでエンジニアがルーティンワークから解放された話
Chatopsのおかけでエンジニアがルーティンワークから解放された話Chatopsのおかけでエンジニアがルーティンワークから解放された話
Chatopsのおかけでエンジニアがルーティンワークから解放された話
 
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
 
チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾
 

Similar to Continuous Integration for Pharo Smalltalk - Smalltalkと継続的インテグレーション

ビジネスロジック実装進化論 - An Evolution of Business Logic Implementation
ビジネスロジック実装進化論 - An Evolution of Business Logic Implementationビジネスロジック実装進化論 - An Evolution of Business Logic Implementation
ビジネスロジック実装進化論 - An Evolution of Business Logic ImplementationTadayoshi Sato
 
Pivotal Trackerでアジャイルなプロジェクト管理
Pivotal Trackerでアジャイルなプロジェクト管理Pivotal Trackerでアジャイルなプロジェクト管理
Pivotal Trackerでアジャイルなプロジェクト管理You&I
 
100円プロトタイプ(The $1 Prototype)
100円プロトタイプ(The $1 Prototype)100円プロトタイプ(The $1 Prototype)
100円プロトタイプ(The $1 Prototype)Tarumoto Tetsuya
 
アジャイルにモデリングは必要か
アジャイルにモデリングは必要かアジャイルにモデリングは必要か
アジャイルにモデリングは必要かHiromasa Oka
 
リーン原則とソフトウェア開発
リーン原則とソフトウェア開発リーン原則とソフトウェア開発
リーン原則とソフトウェア開発You&I
 
【講演資料】テスト自動化から始める、Io t時代の組込アジャイル開発
【講演資料】テスト自動化から始める、Io t時代の組込アジャイル開発【講演資料】テスト自動化から始める、Io t時代の組込アジャイル開発
【講演資料】テスト自動化から始める、Io t時代の組込アジャイル開発Hiroaki Matsunaga
 
20151118パートナーソリューションセミナー2015プレゼンテーション public
20151118パートナーソリューションセミナー2015プレゼンテーション   public20151118パートナーソリューションセミナー2015プレゼンテーション   public
20151118パートナーソリューションセミナー2015プレゼンテーション publicKazunori Tatsuki
 
リーンスタートアップ、アジャイル開発導入事例
リーンスタートアップ、アジャイル開発導入事例リーンスタートアップ、アジャイル開発導入事例
リーンスタートアップ、アジャイル開発導入事例Arata Fujimura
 
情シス戦線異状アリ!? 自作のパケットレコーダーで海外拠点のLANを自動監視してみた
情シス戦線異状アリ!? 自作のパケットレコーダーで海外拠点のLANを自動監視してみた情シス戦線異状アリ!? 自作のパケットレコーダーで海外拠点のLANを自動監視してみた
情シス戦線異状アリ!? 自作のパケットレコーダーで海外拠点のLANを自動監視してみたcloretsblack
 
組込みだからこそアジャイルやろうよ! (JASA中部セミナー20131004)
組込みだからこそアジャイルやろうよ! (JASA中部セミナー20131004)組込みだからこそアジャイルやろうよ! (JASA中部セミナー20131004)
組込みだからこそアジャイルやろうよ! (JASA中部セミナー20131004)Naoya Maekawa
 
第74回名古屋アジャイル勉強会「後悔しない要件定義のまとめ方」
第74回名古屋アジャイル勉強会「後悔しない要件定義のまとめ方」第74回名古屋アジャイル勉強会「後悔しない要件定義のまとめ方」
第74回名古屋アジャイル勉強会「後悔しない要件定義のまとめ方」hiroyuki Yamamoto
 
RUNNING Smalltalk - 実践Smalltalk
RUNNING Smalltalk - 実践SmalltalkRUNNING Smalltalk - 実践Smalltalk
RUNNING Smalltalk - 実践SmalltalkSho Yoshida
 
Building Software Reliability through Distributed Tracing.pdf
Building Software Reliability through Distributed Tracing.pdfBuilding Software Reliability through Distributed Tracing.pdf
Building Software Reliability through Distributed Tracing.pdfShotaro Suzuki
 
スクラムプロジェクト準備(公開用) No.31
スクラムプロジェクト準備(公開用) No.31スクラムプロジェクト準備(公開用) No.31
スクラムプロジェクト準備(公開用) No.31Sukusuku Scrum
 
格言にみるリーダーシップ
格言にみるリーダーシップ格言にみるリーダーシップ
格言にみるリーダーシップJun Inose
 
20190517 twilio business seminar in osaka #3
20190517 twilio business seminar in osaka #320190517 twilio business seminar in osaka #3
20190517 twilio business seminar in osaka #3Ukyo Satake
 
ポストJenkins時代のCI戦略
ポストJenkins時代のCI戦略ポストJenkins時代のCI戦略
ポストJenkins時代のCI戦略Hiroshi Maekawa
 
ポストJenkins時代のCI戦略
ポストJenkins時代のCI戦略ポストJenkins時代のCI戦略
ポストJenkins時代のCI戦略GuildWorks
 
Techcrunch hackathon 2013
Techcrunch hackathon 2013Techcrunch hackathon 2013
Techcrunch hackathon 2013Nao Tokui
 

Similar to Continuous Integration for Pharo Smalltalk - Smalltalkと継続的インテグレーション (20)

ビジネスロジック実装進化論 - An Evolution of Business Logic Implementation
ビジネスロジック実装進化論 - An Evolution of Business Logic Implementationビジネスロジック実装進化論 - An Evolution of Business Logic Implementation
ビジネスロジック実装進化論 - An Evolution of Business Logic Implementation
 
Pivotal Trackerでアジャイルなプロジェクト管理
Pivotal Trackerでアジャイルなプロジェクト管理Pivotal Trackerでアジャイルなプロジェクト管理
Pivotal Trackerでアジャイルなプロジェクト管理
 
100円プロトタイプ(The $1 Prototype)
100円プロトタイプ(The $1 Prototype)100円プロトタイプ(The $1 Prototype)
100円プロトタイプ(The $1 Prototype)
 
アジャイルにモデリングは必要か
アジャイルにモデリングは必要かアジャイルにモデリングは必要か
アジャイルにモデリングは必要か
 
リーン原則とソフトウェア開発
リーン原則とソフトウェア開発リーン原則とソフトウェア開発
リーン原則とソフトウェア開発
 
【講演資料】テスト自動化から始める、Io t時代の組込アジャイル開発
【講演資料】テスト自動化から始める、Io t時代の組込アジャイル開発【講演資料】テスト自動化から始める、Io t時代の組込アジャイル開発
【講演資料】テスト自動化から始める、Io t時代の組込アジャイル開発
 
20151118パートナーソリューションセミナー2015プレゼンテーション public
20151118パートナーソリューションセミナー2015プレゼンテーション   public20151118パートナーソリューションセミナー2015プレゼンテーション   public
20151118パートナーソリューションセミナー2015プレゼンテーション public
 
リーンスタートアップ、アジャイル開発導入事例
リーンスタートアップ、アジャイル開発導入事例リーンスタートアップ、アジャイル開発導入事例
リーンスタートアップ、アジャイル開発導入事例
 
情シス戦線異状アリ!? 自作のパケットレコーダーで海外拠点のLANを自動監視してみた
情シス戦線異状アリ!? 自作のパケットレコーダーで海外拠点のLANを自動監視してみた情シス戦線異状アリ!? 自作のパケットレコーダーで海外拠点のLANを自動監視してみた
情シス戦線異状アリ!? 自作のパケットレコーダーで海外拠点のLANを自動監視してみた
 
組込みだからこそアジャイルやろうよ! (JASA中部セミナー20131004)
組込みだからこそアジャイルやろうよ! (JASA中部セミナー20131004)組込みだからこそアジャイルやろうよ! (JASA中部セミナー20131004)
組込みだからこそアジャイルやろうよ! (JASA中部セミナー20131004)
 
2018 07-23
2018 07-232018 07-23
2018 07-23
 
第74回名古屋アジャイル勉強会「後悔しない要件定義のまとめ方」
第74回名古屋アジャイル勉強会「後悔しない要件定義のまとめ方」第74回名古屋アジャイル勉強会「後悔しない要件定義のまとめ方」
第74回名古屋アジャイル勉強会「後悔しない要件定義のまとめ方」
 
RUNNING Smalltalk - 実践Smalltalk
RUNNING Smalltalk - 実践SmalltalkRUNNING Smalltalk - 実践Smalltalk
RUNNING Smalltalk - 実践Smalltalk
 
Building Software Reliability through Distributed Tracing.pdf
Building Software Reliability through Distributed Tracing.pdfBuilding Software Reliability through Distributed Tracing.pdf
Building Software Reliability through Distributed Tracing.pdf
 
スクラムプロジェクト準備(公開用) No.31
スクラムプロジェクト準備(公開用) No.31スクラムプロジェクト準備(公開用) No.31
スクラムプロジェクト準備(公開用) No.31
 
格言にみるリーダーシップ
格言にみるリーダーシップ格言にみるリーダーシップ
格言にみるリーダーシップ
 
20190517 twilio business seminar in osaka #3
20190517 twilio business seminar in osaka #320190517 twilio business seminar in osaka #3
20190517 twilio business seminar in osaka #3
 
ポストJenkins時代のCI戦略
ポストJenkins時代のCI戦略ポストJenkins時代のCI戦略
ポストJenkins時代のCI戦略
 
ポストJenkins時代のCI戦略
ポストJenkins時代のCI戦略ポストJenkins時代のCI戦略
ポストJenkins時代のCI戦略
 
Techcrunch hackathon 2013
Techcrunch hackathon 2013Techcrunch hackathon 2013
Techcrunch hackathon 2013
 

More from Sho Yoshida

OpenRestyを用いてイケイケなサービスを作る方法
OpenRestyを用いてイケイケなサービスを作る方法OpenRestyを用いてイケイケなサービスを作る方法
OpenRestyを用いてイケイケなサービスを作る方法Sho Yoshida
 
Continuous Integration for Pharo Smalltalk Part 2 (Smalltalk and Travis CI)
Continuous Integration for Pharo Smalltalk Part 2 (Smalltalk and Travis CI)Continuous Integration for Pharo Smalltalk Part 2 (Smalltalk and Travis CI)
Continuous Integration for Pharo Smalltalk Part 2 (Smalltalk and Travis CI)Sho Yoshida
 
今時なウェブ開発をSmalltalkでやってみる?
今時なウェブ開発をSmalltalkでやってみる?今時なウェブ開発をSmalltalkでやってみる?
今時なウェブ開発をSmalltalkでやってみる?Sho Yoshida
 
Elasticsearch for Pharo Smalltalk
Elasticsearch for Pharo Smalltalk Elasticsearch for Pharo Smalltalk
Elasticsearch for Pharo Smalltalk Sho Yoshida
 
Source Code Management with Pharo Smalltalk - Pharo Smalltalkソースコード管理方法
Source Code Management with Pharo Smalltalk - Pharo Smalltalkソースコード管理方法Source Code Management with Pharo Smalltalk - Pharo Smalltalkソースコード管理方法
Source Code Management with Pharo Smalltalk - Pharo Smalltalkソースコード管理方法Sho Yoshida
 
AWS SDK for Smalltalk
AWS SDK for SmalltalkAWS SDK for Smalltalk
AWS SDK for SmalltalkSho Yoshida
 
How Smalltalker Works
How Smalltalker WorksHow Smalltalker Works
How Smalltalker WorksSho Yoshida
 
Smaltalk驚異の開発(私が使い続ける2012年の話)
Smaltalk驚異の開発(私が使い続ける2012年の話)Smaltalk驚異の開発(私が使い続ける2012年の話)
Smaltalk驚異の開発(私が使い続ける2012年の話)Sho Yoshida
 
愛せよ、さもなくば捨てよ。
愛せよ、さもなくば捨てよ。愛せよ、さもなくば捨てよ。
愛せよ、さもなくば捨てよ。Sho Yoshida
 
情熱Smalltalker SmalltalkとAWSでクラウドサービスを実現するための挑戦
情熱Smalltalker SmalltalkとAWSでクラウドサービスを実現するための挑戦情熱Smalltalker SmalltalkとAWSでクラウドサービスを実現するための挑戦
情熱Smalltalker SmalltalkとAWSでクラウドサービスを実現するための挑戦Sho Yoshida
 
もしイチゴ農家の園主がSmalltalkの「Seaside」(で作られたシステム)を使ってみたら
もしイチゴ農家の園主がSmalltalkの「Seaside」(で作られたシステム)を使ってみたらもしイチゴ農家の園主がSmalltalkの「Seaside」(で作られたシステム)を使ってみたら
もしイチゴ農家の園主がSmalltalkの「Seaside」(で作られたシステム)を使ってみたらSho Yoshida
 
今日から使おうSmalltalk
今日から使おうSmalltalk今日から使おうSmalltalk
今日から使おうSmalltalkSho Yoshida
 
Iliad or Seaside
Iliad or SeasideIliad or Seaside
Iliad or SeasideSho Yoshida
 

More from Sho Yoshida (14)

OpenRestyを用いてイケイケなサービスを作る方法
OpenRestyを用いてイケイケなサービスを作る方法OpenRestyを用いてイケイケなサービスを作る方法
OpenRestyを用いてイケイケなサービスを作る方法
 
Continuous Integration for Pharo Smalltalk Part 2 (Smalltalk and Travis CI)
Continuous Integration for Pharo Smalltalk Part 2 (Smalltalk and Travis CI)Continuous Integration for Pharo Smalltalk Part 2 (Smalltalk and Travis CI)
Continuous Integration for Pharo Smalltalk Part 2 (Smalltalk and Travis CI)
 
今時なウェブ開発をSmalltalkでやってみる?
今時なウェブ開発をSmalltalkでやってみる?今時なウェブ開発をSmalltalkでやってみる?
今時なウェブ開発をSmalltalkでやってみる?
 
Elasticsearch for Pharo Smalltalk
Elasticsearch for Pharo Smalltalk Elasticsearch for Pharo Smalltalk
Elasticsearch for Pharo Smalltalk
 
Source Code Management with Pharo Smalltalk - Pharo Smalltalkソースコード管理方法
Source Code Management with Pharo Smalltalk - Pharo Smalltalkソースコード管理方法Source Code Management with Pharo Smalltalk - Pharo Smalltalkソースコード管理方法
Source Code Management with Pharo Smalltalk - Pharo Smalltalkソースコード管理方法
 
AWS SDK for Smalltalk
AWS SDK for SmalltalkAWS SDK for Smalltalk
AWS SDK for Smalltalk
 
How Smalltalker Works
How Smalltalker WorksHow Smalltalker Works
How Smalltalker Works
 
Smaltalk驚異の開発(私が使い続ける2012年の話)
Smaltalk驚異の開発(私が使い続ける2012年の話)Smaltalk驚異の開発(私が使い続ける2012年の話)
Smaltalk驚異の開発(私が使い続ける2012年の話)
 
愛せよ、さもなくば捨てよ。
愛せよ、さもなくば捨てよ。愛せよ、さもなくば捨てよ。
愛せよ、さもなくば捨てよ。
 
情熱Smalltalker SmalltalkとAWSでクラウドサービスを実現するための挑戦
情熱Smalltalker SmalltalkとAWSでクラウドサービスを実現するための挑戦情熱Smalltalker SmalltalkとAWSでクラウドサービスを実現するための挑戦
情熱Smalltalker SmalltalkとAWSでクラウドサービスを実現するための挑戦
 
もしイチゴ農家の園主がSmalltalkの「Seaside」(で作られたシステム)を使ってみたら
もしイチゴ農家の園主がSmalltalkの「Seaside」(で作られたシステム)を使ってみたらもしイチゴ農家の園主がSmalltalkの「Seaside」(で作られたシステム)を使ってみたら
もしイチゴ農家の園主がSmalltalkの「Seaside」(で作られたシステム)を使ってみたら
 
エコSmalltalk
エコSmalltalkエコSmalltalk
エコSmalltalk
 
今日から使おうSmalltalk
今日から使おうSmalltalk今日から使おうSmalltalk
今日から使おうSmalltalk
 
Iliad or Seaside
Iliad or SeasideIliad or Seaside
Iliad or Seaside
 

Recently uploaded

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 

Recently uploaded (8)

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 

Continuous Integration for Pharo Smalltalk - Smalltalkと継続的インテグレーション