SlideShare una empresa de Scribd logo
1 de 34
Descargar para leer sin conexión
ぼくがかんがえた
さいきょうの
MVC
id:karupanerura
13年9月20日金曜日
だれ?
かるぱねるら(karupanerura)
Perl, JS, Java, elisp, zsh
ソーシャルゲーム開発者
Mobile Factory, Inc.
Chiba.pm
13年9月20日金曜日
Author (PAUSE: KARUPA)
Plack::Middleware::HTMLLint
Filesys::Notify::KQueue
AnyEvent::ForkManager
Contribute
Teng
CPAN
13年9月20日金曜日
MVCおさらい!
13年9月20日金曜日
MODEL
ビジネスロジック
アプリケーション機能
(データベース操作)
データの変更の通知
ex) Backbone.Model
WebAppは例外
13年9月20日金曜日
VIEW
UI出力
データの整形
データの変換
ex) Template
13年9月20日金曜日
CONTROLLER
UI入力
入力をModel/Viewに受け渡す
Modelの結果をViewに通知する
WebAppなど
13年9月20日金曜日
本題
13年9月20日金曜日
MVC意外と
むずかしくないですか?
13年9月20日金曜日
個人的MVCあるある
ふぇぇ…超巨大Modelができちゃったよぉ……。
SQLが色々な所に書いてあってカオス。
気付いたらControllerでもModelでも同じデータをfetchし
てたけどどっちにまとめるべきだろう…。
ViewがJSONとHTML両方あるんだけど…。
というか急にJSONが増えたんだけど…。
13年9月20日金曜日
こういうの
なくしたいですよね
13年9月20日金曜日
今日はなすこと
MVCはそのまま使わない
MVCのカスタマイズ
チーム内規約をつくろう
まとめ
13年9月20日金曜日
MVCは
そのまま使わない
13年9月20日金曜日
MVCの定義は抽象的
対して、アプリケーションの種類は多い
Client Application
Web Application
API Server Application
そのままMVCを適用するとカオスになりがち
定義が曖昧な部分がブレる
13年9月20日金曜日
MVCのカスタマイズ
13年9月20日金曜日
なぜやるか
MVCの定義が曖昧な部分を明確にする
アプリケーションにMVCを最適化する
WebAppならWebAppのMVC
SocialAppならSocialAppのMVC
規則がはっきりしたコードが書きやすくなる
MVCの本来の目的の達成
13年9月20日金曜日
具体例
Web Applicationの場合
13年9月20日金曜日
WebAppの特徴(1)
入力がいろいろある
HTTP Header / Request Parameter / Cool URI /
etc...
うまい具合に吸収して統一しないと扱いにくい
出力もいろいろある
HTML / JSON / MessagePack / XML / etc...
13年9月20日金曜日
WebAppの特徴(2)
リクエスト毎にしか状態が無い
DBと組み合わせる必要がある
大量のリクエストを捌きたいケースも多い
キャッシュも考慮した仕組みが必要
アプリケーションの機能が膨大になるケースも
DB操作が多く煩雑になりがちなので分離して抽象化
13年9月20日金曜日
OVERVIEW
View
ControllerContext
Model DB
user
web service
request
response
13年9月20日金曜日
CONTEXT
リクエスト単位を管理するクラス
リクエスト毎にインスタンスを生成
ex) Amon2::Web
リクエスト単位での状態遷移とリソースを管理する
基本的にはここにアプリケーションロジックは書かない
13年9月20日金曜日
CONTROLLER
リクエストで渡されたデータを整理してModelに引き渡す
ビジネスロジックへの入力を抽象化する
入力の存在/型チェックの簡易Validationをする
Modelの結果をContext経由でViewに引き渡す
Modelの例外をcatchしてエラー処理を行う
Controllerを見ればリクエストのフローが全て見える
13年9月20日金曜日
MODEL
ビジネスロジックを抽象化する
目的に対して必要な処理を手続きとして実装
ビジネスロジックに依存するトランザクションも管理
カッチリしたValidationはここで行う
問題があればExceptionでControllerに通知
Modelを見ればアプリケーションの機能が分かる
13年9月20日金曜日
DB
データベース操作を抽象化する
SQLもこの名前空間で整理する
目的に対して必要なDB操作を手続きとして実装する
ex) DBIx::Sunny::Schema
DBを見ればデータベースをどのように操作するかが分かる
schemaのチューニングやDBキャッシュが容易になる
13年9月20日金曜日
VIEW
渡されたデータを素に出力を整形する
JSONならJSON向けにdeflateする役割もここが担う
HTMLならTemplateなど
複数のViewで統一したインターフェースを提供する
Viewクラスを差し替える事を容易に
Viewをみればデータをどのように整形するか分かる
13年9月20日金曜日
CACHE POINT
View
ControllerContext
Model DB
user
web service
request
response
13年9月20日金曜日
小まとめ
アプリケーションの要件毎に性質を分析しMVCを最適化
今回はWebAppという大きな括りでやったが実際は更に
細かく要件を絞る
MVCの曖昧な部分をアプリケーションに合わせて具体化
13年9月20日金曜日
いいかんじっぽい!
13年9月20日金曜日
まあでも
13年9月20日金曜日
実現できなきゃ
意味無い!!
13年9月20日金曜日
チーム内規約をつくる
各名前空間の役割を規約化する
明文化していることでブレにくくなる
「やってはいけない事」も書く
具体例としてダメな例を併記しておくとベター
コードレビューで規約に沿っているか確認する
可能なら自動テストで簡易チェックも
13年9月20日金曜日
まとめ
MVCはそのまま使わない
用途に合わせて構成とフローを整理して再構築する
チーム内規約を作り、守る
コードレビューを定期的に実施して意識づくり
可能ならば自動テストで簡易チェックも
13年9月20日金曜日
あなたがかんがえた
さいきょうの
MVC
13年9月20日金曜日
おわり
Mobile FactoryではMVCが好きな人材を募集しております
13年9月20日金曜日

Más contenido relacionado

Destacado

Objective-C/Swift コードの共用
Objective-C/Swift コードの共用Objective-C/Swift コードの共用
Objective-C/Swift コードの共用Yoichiro Sakurai
 
第7回 カジュアル Swift 勉強会 @ 青葉台 オープニング #cswift
第7回 カジュアル Swift 勉強会 @ 青葉台 オープニング #cswift第7回 カジュアル Swift 勉強会 @ 青葉台 オープニング #cswift
第7回 カジュアル Swift 勉強会 @ 青葉台 オープニング #cswiftTomohiro Kumagai
 
2014年からSwiftを振り返る! #cswift
2014年からSwiftを振り返る! #cswift2014年からSwiftを振り返る! #cswift
2014年からSwiftを振り返る! #cswiftTomohiro Kumagai
 
Technology for reduce of mistakes - うっかりをなくす技術
Technology for reduce of mistakes - うっかりをなくす技術Technology for reduce of mistakes - うっかりをなくす技術
Technology for reduce of mistakes - うっかりをなくす技術karupanerura
 
iOSアプリ開発のためのSwiftビギナーズ勉強会 第6回 @Co-Edo
iOSアプリ開発のためのSwiftビギナーズ勉強会 第6回    @Co-EdoiOSアプリ開発のためのSwiftビギナーズ勉強会 第6回    @Co-Edo
iOSアプリ開発のためのSwiftビギナーズ勉強会 第6回 @Co-EdoMegumi Otani(Czenhe)
 
オプショナル型。〜なんとなく付ける ! ? 撲滅〜 改訂版
オプショナル型。〜なんとなく付ける ! ? 撲滅〜 改訂版オプショナル型。〜なんとなく付ける ! ? 撲滅〜 改訂版
オプショナル型。〜なんとなく付ける ! ? 撲滅〜 改訂版Tomoki Hasegawa
 
はじめてのiOSアプリ開発 ①
はじめてのiOSアプリ開発 ①はじめてのiOSアプリ開発 ①
はじめてのiOSアプリ開発 ①Nagamine Hiromasa
 
デザイナーとエンジニアが話す、iOSアプリケーション開発
デザイナーとエンジニアが話す、iOSアプリケーション開発デザイナーとエンジニアが話す、iOSアプリケーション開発
デザイナーとエンジニアが話す、iOSアプリケーション開発Kenta Ohsugi
 
㉚Xcodeを覚えよう!簡単なアプリを作ってみよう!
㉚Xcodeを覚えよう!簡単なアプリを作ってみよう!㉚Xcodeを覚えよう!簡単なアプリを作ってみよう!
㉚Xcodeを覚えよう!簡単なアプリを作ってみよう!Nishida Kansuke
 
iOSアプリ開発 脱初心者に向けて
iOSアプリ開発 脱初心者に向けてiOSアプリ開発 脱初心者に向けて
iOSアプリ開発 脱初心者に向けてKosuke Ogawa
 
Xcodeとstoryboardのすごさを思い知る、ソースコードを書かないプログラミング
Xcodeとstoryboardのすごさを思い知る、ソースコードを書かないプログラミングXcodeとstoryboardのすごさを思い知る、ソースコードを書かないプログラミング
Xcodeとstoryboardのすごさを思い知る、ソースコードを書かないプログラミングKazuki Sato
 
watchOS 2 新機能の細かい話
watchOS 2 新機能の細かい話watchOS 2 新機能の細かい話
watchOS 2 新機能の細かい話Shuichi Tsutsumi
 
バグのことは嫌いになってもXcodeのことは嫌いにならないでください。
バグのことは嫌いになってもXcodeのことは嫌いにならないでください。バグのことは嫌いになってもXcodeのことは嫌いにならないでください。
バグのことは嫌いになってもXcodeのことは嫌いにならないでください。Daisuke Yamashita
 
㉙iPhoneアプリ開発の基礎知識を覚えよう
㉙iPhoneアプリ開発の基礎知識を覚えよう㉙iPhoneアプリ開発の基礎知識を覚えよう
㉙iPhoneアプリ開発の基礎知識を覚えようNishida Kansuke
 
本当のオブジェクト指向は可読性を上げる
本当のオブジェクト指向は可読性を上げる本当のオブジェクト指向は可読性を上げる
本当のオブジェクト指向は可読性を上げるWataru Terada
 
iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」
iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」
iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」Toshio Ehara
 
デザイナーがXcodeを使って 開発効率をUPさせた 5つのエピソード + 現場エンジニアのコメント付き
デザイナーがXcodeを使って 開発効率をUPさせた 5つのエピソード  +  現場エンジニアのコメント付きデザイナーがXcodeを使って 開発効率をUPさせた 5つのエピソード  +  現場エンジニアのコメント付き
デザイナーがXcodeを使って 開発効率をUPさせた 5つのエピソード + 現場エンジニアのコメント付きMayumi Narisawa
 
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2Masashi Shinbara
 
10分で分かるiOSアプリのつくりかた[ATGS主催イベント発表資料]
10分で分かるiOSアプリのつくりかた[ATGS主催イベント発表資料]10分で分かるiOSアプリのつくりかた[ATGS主催イベント発表資料]
10分で分かるiOSアプリのつくりかた[ATGS主催イベント発表資料]AT GS
 

Destacado (20)

de:code エスキュービズム勉強会0620
de:code エスキュービズム勉強会0620de:code エスキュービズム勉強会0620
de:code エスキュービズム勉強会0620
 
Objective-C/Swift コードの共用
Objective-C/Swift コードの共用Objective-C/Swift コードの共用
Objective-C/Swift コードの共用
 
第7回 カジュアル Swift 勉強会 @ 青葉台 オープニング #cswift
第7回 カジュアル Swift 勉強会 @ 青葉台 オープニング #cswift第7回 カジュアル Swift 勉強会 @ 青葉台 オープニング #cswift
第7回 カジュアル Swift 勉強会 @ 青葉台 オープニング #cswift
 
2014年からSwiftを振り返る! #cswift
2014年からSwiftを振り返る! #cswift2014年からSwiftを振り返る! #cswift
2014年からSwiftを振り返る! #cswift
 
Technology for reduce of mistakes - うっかりをなくす技術
Technology for reduce of mistakes - うっかりをなくす技術Technology for reduce of mistakes - うっかりをなくす技術
Technology for reduce of mistakes - うっかりをなくす技術
 
iOSアプリ開発のためのSwiftビギナーズ勉強会 第6回 @Co-Edo
iOSアプリ開発のためのSwiftビギナーズ勉強会 第6回    @Co-EdoiOSアプリ開発のためのSwiftビギナーズ勉強会 第6回    @Co-Edo
iOSアプリ開発のためのSwiftビギナーズ勉強会 第6回 @Co-Edo
 
オプショナル型。〜なんとなく付ける ! ? 撲滅〜 改訂版
オプショナル型。〜なんとなく付ける ! ? 撲滅〜 改訂版オプショナル型。〜なんとなく付ける ! ? 撲滅〜 改訂版
オプショナル型。〜なんとなく付ける ! ? 撲滅〜 改訂版
 
はじめてのiOSアプリ開発 ①
はじめてのiOSアプリ開発 ①はじめてのiOSアプリ開発 ①
はじめてのiOSアプリ開発 ①
 
デザイナーとエンジニアが話す、iOSアプリケーション開発
デザイナーとエンジニアが話す、iOSアプリケーション開発デザイナーとエンジニアが話す、iOSアプリケーション開発
デザイナーとエンジニアが話す、iOSアプリケーション開発
 
㉚Xcodeを覚えよう!簡単なアプリを作ってみよう!
㉚Xcodeを覚えよう!簡単なアプリを作ってみよう!㉚Xcodeを覚えよう!簡単なアプリを作ってみよう!
㉚Xcodeを覚えよう!簡単なアプリを作ってみよう!
 
iOSアプリ開発 脱初心者に向けて
iOSアプリ開発 脱初心者に向けてiOSアプリ開発 脱初心者に向けて
iOSアプリ開発 脱初心者に向けて
 
Xcodeとstoryboardのすごさを思い知る、ソースコードを書かないプログラミング
Xcodeとstoryboardのすごさを思い知る、ソースコードを書かないプログラミングXcodeとstoryboardのすごさを思い知る、ソースコードを書かないプログラミング
Xcodeとstoryboardのすごさを思い知る、ソースコードを書かないプログラミング
 
watchOS 2 新機能の細かい話
watchOS 2 新機能の細かい話watchOS 2 新機能の細かい話
watchOS 2 新機能の細かい話
 
バグのことは嫌いになってもXcodeのことは嫌いにならないでください。
バグのことは嫌いになってもXcodeのことは嫌いにならないでください。バグのことは嫌いになってもXcodeのことは嫌いにならないでください。
バグのことは嫌いになってもXcodeのことは嫌いにならないでください。
 
㉙iPhoneアプリ開発の基礎知識を覚えよう
㉙iPhoneアプリ開発の基礎知識を覚えよう㉙iPhoneアプリ開発の基礎知識を覚えよう
㉙iPhoneアプリ開発の基礎知識を覚えよう
 
本当のオブジェクト指向は可読性を上げる
本当のオブジェクト指向は可読性を上げる本当のオブジェクト指向は可読性を上げる
本当のオブジェクト指向は可読性を上げる
 
iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」
iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」
iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」
 
デザイナーがXcodeを使って 開発効率をUPさせた 5つのエピソード + 現場エンジニアのコメント付き
デザイナーがXcodeを使って 開発効率をUPさせた 5つのエピソード  +  現場エンジニアのコメント付きデザイナーがXcodeを使って 開発効率をUPさせた 5つのエピソード  +  現場エンジニアのコメント付き
デザイナーがXcodeを使って 開発効率をUPさせた 5つのエピソード + 現場エンジニアのコメント付き
 
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2
 
10分で分かるiOSアプリのつくりかた[ATGS主催イベント発表資料]
10分で分かるiOSアプリのつくりかた[ATGS主催イベント発表資料]10分で分かるiOSアプリのつくりかた[ATGS主催イベント発表資料]
10分で分かるiOSアプリのつくりかた[ATGS主催イベント発表資料]
 

Similar a ぼくがかんがえたさいきょうのMvc

Backbonejs @BuildInsiderOffline #1
Backbonejs @BuildInsiderOffline #1Backbonejs @BuildInsiderOffline #1
Backbonejs @BuildInsiderOffline #1daisuke shimizu
 
アメブロ2016 アメブロフロント刷新にみる ひかりとつらみ
アメブロ2016 アメブロフロント刷新にみる ひかりとつらみアメブロ2016 アメブロフロント刷新にみる ひかりとつらみ
アメブロ2016 アメブロフロント刷新にみる ひかりとつらみKazunari Hara
 
Head toward Java 15 and Java 16
Head toward Java 15 and Java 16Head toward Java 15 and Java 16
Head toward Java 15 and Java 16Yuji Kubota
 
20130924 Picomon CRH勉強会
20130924 Picomon CRH勉強会20130924 Picomon CRH勉強会
20130924 Picomon CRH勉強会Yukihiro Kitazawa
 
Data APIを活かす JavaScript検索と管理画面のカスタマイズ
Data APIを活かす JavaScript検索と管理画面のカスタマイズData APIを活かす JavaScript検索と管理画面のカスタマイズ
Data APIを活かす JavaScript検索と管理画面のカスタマイズbitpart
 
Head toward Java 16 (Night Seminar Edition)
Head toward Java 16 (Night Seminar Edition)Head toward Java 16 (Night Seminar Edition)
Head toward Java 16 (Night Seminar Edition)Yuji Kubota
 
本気で使うStack storm
本気で使うStack storm本気で使うStack storm
本気で使うStack stormtyamane
 
Knockout を用いた Firefox OS アプリケーションの開発
Knockout を用いた Firefox OS アプリケーションの開発Knockout を用いた Firefox OS アプリケーションの開発
Knockout を用いた Firefox OS アプリケーションの開発Kentaro Iizuka
 
Pythonと DataDogを 使って簡単な システムモニターリング (Pycon apac 2013)
Pythonと DataDogを 使って簡単な システムモニターリング (Pycon apac 2013)Pythonと DataDogを 使って簡単な システムモニターリング (Pycon apac 2013)
Pythonと DataDogを 使って簡単な システムモニターリング (Pycon apac 2013)Naotaka Jay HOTTA
 
SappoRo.R #3 LT: Shiny by RStudio
SappoRo.R #3 LT: Shiny by RStudioSappoRo.R #3 LT: Shiny by RStudio
SappoRo.R #3 LT: Shiny by RStudioMizumoto Atsushi
 
memcached proxy server development and operation
memcached proxy server development and operationmemcached proxy server development and operation
memcached proxy server development and operationTatsuhiko Kubo
 
Jawsug chiba API Gateway
Jawsug chiba API GatewayJawsug chiba API Gateway
Jawsug chiba API GatewayTakuro Sasaki
 
インフラエンジニアなら『さくらのクラウド』をAPIでいじろう【入門編】
インフラエンジニアなら『さくらのクラウド』をAPIでいじろう【入門編】インフラエンジニアなら『さくらのクラウド』をAPIでいじろう【入門編】
インフラエンジニアなら『さくらのクラウド』をAPIでいじろう【入門編】Eisaku Terao
 
Using Ext Direct with SenchaTouch2
Using Ext Direct with SenchaTouch2Using Ext Direct with SenchaTouch2
Using Ext Direct with SenchaTouch2久司 中村
 
スターターライセンスではじめるAtlassian開発
スターターライセンスではじめるAtlassian開発スターターライセンスではじめるAtlassian開発
スターターライセンスではじめるAtlassian開発Masakuni Kato
 
AZ障害を想定したブログのマイグレーション
AZ障害を想定したブログのマイグレーションAZ障害を想定したブログのマイグレーション
AZ障害を想定したブログのマイグレーションMitsuhiro Yamashita
 
iTamabi 13  第6回:ARTSAT API 実践 1 Web APIから情報を取得する
iTamabi 13  第6回:ARTSAT API 実践 1 Web APIから情報を取得するiTamabi 13  第6回:ARTSAT API 実践 1 Web APIから情報を取得する
iTamabi 13  第6回:ARTSAT API 実践 1 Web APIから情報を取得するAtsushi Tadokoro
 
StackStormを活用した運用自動化の実践
StackStormを活用した運用自動化の実践StackStormを活用した運用自動化の実践
StackStormを活用した運用自動化の実践Shu Sugimoto
 
Azure のポータル画面で、AI フレーバな BOT の作成ハンズオン
Azure のポータル画面で、AI フレーバな BOT の作成ハンズオンAzure のポータル画面で、AI フレーバな BOT の作成ハンズオン
Azure のポータル画面で、AI フレーバな BOT の作成ハンズオンYasuaki Matsuda
 

Similar a ぼくがかんがえたさいきょうのMvc (20)

Backbonejs @BuildInsiderOffline #1
Backbonejs @BuildInsiderOffline #1Backbonejs @BuildInsiderOffline #1
Backbonejs @BuildInsiderOffline #1
 
アメブロ2016 アメブロフロント刷新にみる ひかりとつらみ
アメブロ2016 アメブロフロント刷新にみる ひかりとつらみアメブロ2016 アメブロフロント刷新にみる ひかりとつらみ
アメブロ2016 アメブロフロント刷新にみる ひかりとつらみ
 
Head toward Java 15 and Java 16
Head toward Java 15 and Java 16Head toward Java 15 and Java 16
Head toward Java 15 and Java 16
 
20130924 Picomon CRH勉強会
20130924 Picomon CRH勉強会20130924 Picomon CRH勉強会
20130924 Picomon CRH勉強会
 
Data APIを活かす JavaScript検索と管理画面のカスタマイズ
Data APIを活かす JavaScript検索と管理画面のカスタマイズData APIを活かす JavaScript検索と管理画面のカスタマイズ
Data APIを活かす JavaScript検索と管理画面のカスタマイズ
 
Head toward Java 16 (Night Seminar Edition)
Head toward Java 16 (Night Seminar Edition)Head toward Java 16 (Night Seminar Edition)
Head toward Java 16 (Night Seminar Edition)
 
本気で使うStack storm
本気で使うStack storm本気で使うStack storm
本気で使うStack storm
 
Knockout を用いた Firefox OS アプリケーションの開発
Knockout を用いた Firefox OS アプリケーションの開発Knockout を用いた Firefox OS アプリケーションの開発
Knockout を用いた Firefox OS アプリケーションの開発
 
Pythonと DataDogを 使って簡単な システムモニターリング (Pycon apac 2013)
Pythonと DataDogを 使って簡単な システムモニターリング (Pycon apac 2013)Pythonと DataDogを 使って簡単な システムモニターリング (Pycon apac 2013)
Pythonと DataDogを 使って簡単な システムモニターリング (Pycon apac 2013)
 
SappoRo.R #3 LT: Shiny by RStudio
SappoRo.R #3 LT: Shiny by RStudioSappoRo.R #3 LT: Shiny by RStudio
SappoRo.R #3 LT: Shiny by RStudio
 
memcached proxy server development and operation
memcached proxy server development and operationmemcached proxy server development and operation
memcached proxy server development and operation
 
Jawsug chiba API Gateway
Jawsug chiba API GatewayJawsug chiba API Gateway
Jawsug chiba API Gateway
 
インフラエンジニアなら『さくらのクラウド』をAPIでいじろう【入門編】
インフラエンジニアなら『さくらのクラウド』をAPIでいじろう【入門編】インフラエンジニアなら『さくらのクラウド』をAPIでいじろう【入門編】
インフラエンジニアなら『さくらのクラウド』をAPIでいじろう【入門編】
 
Using Ext Direct with SenchaTouch2
Using Ext Direct with SenchaTouch2Using Ext Direct with SenchaTouch2
Using Ext Direct with SenchaTouch2
 
スターターライセンスではじめるAtlassian開発
スターターライセンスではじめるAtlassian開発スターターライセンスではじめるAtlassian開発
スターターライセンスではじめるAtlassian開発
 
AZ障害を想定したブログのマイグレーション
AZ障害を想定したブログのマイグレーションAZ障害を想定したブログのマイグレーション
AZ障害を想定したブログのマイグレーション
 
iTamabi 13  第6回:ARTSAT API 実践 1 Web APIから情報を取得する
iTamabi 13  第6回:ARTSAT API 実践 1 Web APIから情報を取得するiTamabi 13  第6回:ARTSAT API 実践 1 Web APIから情報を取得する
iTamabi 13  第6回:ARTSAT API 実践 1 Web APIから情報を取得する
 
StackStormを活用した運用自動化の実践
StackStormを活用した運用自動化の実践StackStormを活用した運用自動化の実践
StackStormを活用した運用自動化の実践
 
Azure のポータル画面で、AI フレーバな BOT の作成ハンズオン
Azure のポータル画面で、AI フレーバな BOT の作成ハンズオンAzure のポータル画面で、AI フレーバな BOT の作成ハンズオン
Azure のポータル画面で、AI フレーバな BOT の作成ハンズオン
 
RoboVM
RoboVMRoboVM
RoboVM
 

Más de karupanerura

コンテキストと仲良く
コンテキストと仲良くコンテキストと仲良く
コンテキストと仲良くkarupanerura
 
The plan of Aniki 2.0
The plan of Aniki 2.0The plan of Aniki 2.0
The plan of Aniki 2.0karupanerura
 
The Crystal language *recently* update
The Crystal language *recently* updateThe Crystal language *recently* update
The Crystal language *recently* updatekarupanerura
 
TIme::Moment+Time::Strptime=
TIme::Moment+Time::Strptime=TIme::Moment+Time::Strptime=
TIme::Moment+Time::Strptime=karupanerura
 
Optimize perl5 code for perfomance freaks
Optimize perl5 code for perfomance freaksOptimize perl5 code for perfomance freaks
Optimize perl5 code for perfomance freakskarupanerura
 
Why we use mruby with Perl5?
Why we use mruby with Perl5?Why we use mruby with Perl5?
Why we use mruby with Perl5?karupanerura
 
Perlにおけるclass実装パターン
Perlにおけるclass実装パターンPerlにおけるclass実装パターン
Perlにおけるclass実装パターンkarupanerura
 
モジュール開発におけるぼくの試行錯誤
モジュール開発におけるぼくの試行錯誤モジュール開発におけるぼくの試行錯誤
モジュール開発におけるぼくの試行錯誤karupanerura
 
Aniki - The ORM as our great brother.
Aniki - The ORM as our great brother.Aniki - The ORM as our great brother.
Aniki - The ORM as our great brother.karupanerura
 
Perl5 meta programming
Perl5 meta programmingPerl5 meta programming
Perl5 meta programmingkarupanerura
 
mysqlcasual6-next-key-lock
mysqlcasual6-next-key-lockmysqlcasual6-next-key-lock
mysqlcasual6-next-key-lockkarupanerura
 

Más de karupanerura (20)

Perl5 VS JSON
Perl5 VS JSONPerl5 VS JSON
Perl5 VS JSON
 
コンテキストと仲良く
コンテキストと仲良くコンテキストと仲良く
コンテキストと仲良く
 
The plan of Aniki 2.0
The plan of Aniki 2.0The plan of Aniki 2.0
The plan of Aniki 2.0
 
Aniki::Internal
Aniki::InternalAniki::Internal
Aniki::Internal
 
The Crystal language *recently* update
The Crystal language *recently* updateThe Crystal language *recently* update
The Crystal language *recently* update
 
KOWAZA for mackerel
KOWAZA for mackerelKOWAZA for mackerel
KOWAZA for mackerel
 
TIme::Moment+Time::Strptime=
TIme::Moment+Time::Strptime=TIme::Moment+Time::Strptime=
TIme::Moment+Time::Strptime=
 
DateTimeX::Moment
DateTimeX::MomentDateTimeX::Moment
DateTimeX::Moment
 
Aniki has come
Aniki has comeAniki has come
Aniki has come
 
Optimize perl5 code for perfomance freaks
Optimize perl5 code for perfomance freaksOptimize perl5 code for perfomance freaks
Optimize perl5 code for perfomance freaks
 
router-simple.cr
router-simple.crrouter-simple.cr
router-simple.cr
 
Why we use mruby with Perl5?
Why we use mruby with Perl5?Why we use mruby with Perl5?
Why we use mruby with Perl5?
 
はかたの塩
はかたの塩はかたの塩
はかたの塩
 
Gotanda.pmの紹介
Gotanda.pmの紹介Gotanda.pmの紹介
Gotanda.pmの紹介
 
すいすいSwift
すいすいSwiftすいすいSwift
すいすいSwift
 
Perlにおけるclass実装パターン
Perlにおけるclass実装パターンPerlにおけるclass実装パターン
Perlにおけるclass実装パターン
 
モジュール開発におけるぼくの試行錯誤
モジュール開発におけるぼくの試行錯誤モジュール開発におけるぼくの試行錯誤
モジュール開発におけるぼくの試行錯誤
 
Aniki - The ORM as our great brother.
Aniki - The ORM as our great brother.Aniki - The ORM as our great brother.
Aniki - The ORM as our great brother.
 
Perl5 meta programming
Perl5 meta programmingPerl5 meta programming
Perl5 meta programming
 
mysqlcasual6-next-key-lock
mysqlcasual6-next-key-lockmysqlcasual6-next-key-lock
mysqlcasual6-next-key-lock
 

ぼくがかんがえたさいきょうのMvc