SlideShare a Scribd company logo
1 of 47
Download to read offline
1
「PHPエンジニアが
Nodeエンジニアになったときの
7つの効能」
2014/6/23
#php勉強会
@goodoo
2
お前、誰よ
• 株式会社 CyberX
• CTO
• 白井 英
• エンジニア
• Twitter
@goodoo
• Blog
http://ameblo.jp/goodoo
• DQ10
すぐちむ (FB392-435) プクリポ(旅芸人)
3
なぜPHPエンジニアがNode?
4
一年前・・・
5
_人人人人人人人人人人人人人_
> 突然の全社的取り組みの話 <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄
6
Node.jsでやらないか?
7
いいこといっぱいあるよ!
8
一年前の開発環境
9
10
全社取り組みの開発環境
11
新しい技術要素
12
一年前の開発環境
13
テストコードなんてなかった・・・
14
Jenkinsさんって役に立つの?
15
Migration管理、いや無理っしょ
16
Node.jsに切り替えた
結果は?
17
桃源郷なんて
なかった
18
得られたものは
何か
19
20
一年前
21
この先生きのこるには
22
どうすればいいか?
23
phpコミュニティで
学んだ事を生かす
24
2012/11/3
phpmatsuri
25
このスライドの内容を実践
http://www.ryuzee.com/contents/blog/6102
26
・ユニットテストを書く
・結合テストを自動化
・継続的インテグレーションサーバを
 つかう
・デプロイを自動化
・環境構築を自動化
27
2012/9/15
PHPカンファレンス
28
このスライドの内容を取り入れる
http://sotarok.hatenablog.com/entry/20120919/presented_git_and_pull_request_work_flow_at_phpcon2012
29
アレンジ
30
・1チケット1ブランチ
・ブランチ名は、チケット番号
・ローカルのVirtualBoxで開発
・ローカルのテストが通ったら
 featureへPUSH
31
node
port:1234
/var/www/feature/1234
チケット番号とURLを結びつけ
node
port:1235
/var/www/feature/1235
node
port:1236
/var/www/feature/1236
node
port:1237
/var/www/feature/1237
nginx
1234.example.com
1235.example.com
1236.example.com
1237.example.com
server {
listen 80;
server_name ~^(?<port>d+).example.com;
location / {
set $url example.com;
proxy_pass http://$url:${port};
}
}
32
現在の開発環境
33
34
自分たちのプロダクト
35
Yakushimanode.jsのゲームエンジンフレームワーク
36
ShiretokoBackbone.jsのラッパー
37
IguazuDeploy & Migration Tool
38
得られたもの
39
・TDD
・テストの自動化
・デプロイの自動化
・Migration管理
・マージリクエストによる
 コードレビュー
40
技術的負債を少なく保つ
41
品質を作り込む
42
継続的デリバリー
43
祈る開発ではなく
自信をもった開発へ
44
自分たちのプロセスは
自分たちで進化させる
ことができた!
45
PHPコミュニティの
多様性、懐の深さの
おかげ
46
PHPコミュニティ
っていいよね
47
ご清聴ありがとうございました

More Related Content

What's hot

What's hot (20)

Wantedly - 世界一"いいね!"される 求人サイトの作り方
Wantedly - 世界一"いいね!"される 求人サイトの作り方Wantedly - 世界一"いいね!"される 求人サイトの作り方
Wantedly - 世界一"いいね!"される 求人サイトの作り方
 
VS Code Day 2021 Recap
VS Code Day 2021 RecapVS Code Day 2021 Recap
VS Code Day 2021 Recap
 
Java event impression
Java event impressionJava event impression
Java event impression
 
ちょっとGoogle Analyticsの話しようぜ
ちょっとGoogle Analyticsの話しようぜちょっとGoogle Analyticsの話しようぜ
ちょっとGoogle Analyticsの話しようぜ
 
GitBucketで社内OSSしませんか?
GitBucketで社内OSSしませんか?GitBucketで社内OSSしませんか?
GitBucketで社内OSSしませんか?
 
Developers Summit 2014 【13-D-7】 コミュニティLT - Story 5. 「新人技術者にどうプログラミングを教えたか」
Developers Summit 2014 【13-D-7】 コミュニティLT - Story 5. 「新人技術者にどうプログラミングを教えたか」Developers Summit 2014 【13-D-7】 コミュニティLT - Story 5. 「新人技術者にどうプログラミングを教えたか」
Developers Summit 2014 【13-D-7】 コミュニティLT - Story 5. 「新人技術者にどうプログラミングを教えたか」
 
Pythonにおけるデバッガツールpdbについて
PythonにおけるデバッガツールpdbについてPythonにおけるデバッガツールpdbについて
Pythonにおけるデバッガツールpdbについて
 
俺とInstant team building
俺とInstant team building俺とInstant team building
俺とInstant team building
 
フォクすけロボ開発進捗報告
フォクすけロボ開発進捗報告フォクすけロボ開発進捗報告
フォクすけロボ開発進捗報告
 
Gitで安定マスターブランチを手に入れる
Gitで安定マスターブランチを手に入れるGitで安定マスターブランチを手に入れる
Gitで安定マスターブランチを手に入れる
 
【社内勉強会】弊社でGit!実案件での運用
【社内勉強会】弊社でGit!実案件での運用【社内勉強会】弊社でGit!実案件での運用
【社内勉強会】弊社でGit!実案件での運用
 
プロト〜サービスアウトまでの開発支援ツールの作り方〜CrystalFantasia〜
プロト〜サービスアウトまでの開発支援ツールの作り方〜CrystalFantasia〜プロト〜サービスアウトまでの開発支援ツールの作り方〜CrystalFantasia〜
プロト〜サービスアウトまでの開発支援ツールの作り方〜CrystalFantasia〜
 
20151029 ヒカラボ講演資料
20151029 ヒカラボ講演資料20151029 ヒカラボ講演資料
20151029 ヒカラボ講演資料
 
会社に Github導入した話
会社に Github導入した話会社に Github導入した話
会社に Github導入した話
 
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術
 
コーディング入門以前
コーディング入門以前コーディング入門以前
コーディング入門以前
 
私が見てきたあるセカイの物語 Part I & II
私が見てきたあるセカイの物語 Part I & II私が見てきたあるセカイの物語 Part I & II
私が見てきたあるセカイの物語 Part I & II
 
クラウドワークスを使ったバーチャル開発術(セミナー資料)
クラウドワークスを使ったバーチャル開発術(セミナー資料)クラウドワークスを使ったバーチャル開発術(セミナー資料)
クラウドワークスを使ったバーチャル開発術(セミナー資料)
 
クラウドワークスを使ったバーチャル開発術
クラウドワークスを使ったバーチャル開発術クラウドワークスを使ったバーチャル開発術
クラウドワークスを使ったバーチャル開発術
 
Eureka go 2015_12_12
Eureka go 2015_12_12Eureka go 2015_12_12
Eureka go 2015_12_12
 

Viewers also liked (8)

Ballet
BalletBallet
Ballet
 
Demand Driven Marketing. By Greg Banks. Available On Linked In. February 2011.
Demand  Driven Marketing. By Greg Banks. Available On Linked In. February 2011.Demand  Driven Marketing. By Greg Banks. Available On Linked In. February 2011.
Demand Driven Marketing. By Greg Banks. Available On Linked In. February 2011.
 
Oficina De Escrita Criativa
Oficina De Escrita CriativaOficina De Escrita Criativa
Oficina De Escrita Criativa
 
AWSを使いこなすポイント(仮)
AWSを使いこなすポイント(仮)AWSを使いこなすポイント(仮)
AWSを使いこなすポイント(仮)
 
Intervento Dott.ssa Pigrucci — Incontro L’università senza carta A Uniurb i p...
Intervento Dott.ssa Pigrucci — Incontro L’università senza carta A Uniurb i p...Intervento Dott.ssa Pigrucci — Incontro L’università senza carta A Uniurb i p...
Intervento Dott.ssa Pigrucci — Incontro L’università senza carta A Uniurb i p...
 
Ballet
BalletBallet
Ballet
 
リファクタリング読書会20120220
リファクタリング読書会20120220リファクタリング読書会20120220
リファクタリング読書会20120220
 
レガシーコード読書会 20120618
レガシーコード読書会 20120618レガシーコード読書会 20120618
レガシーコード読書会 20120618
 

Similar to phpstudy_php_to_node

LT: 今日帰ってすぐに始められるPython #nds45
LT: 今日帰ってすぐに始められるPython #nds45LT: 今日帰ってすぐに始められるPython #nds45
LT: 今日帰ってすぐに始められるPython #nds45
civic Sasaki
 
HTML5時代のwebクリエイターに必要なこと
HTML5時代のwebクリエイターに必要なことHTML5時代のwebクリエイターに必要なこと
HTML5時代のwebクリエイターに必要なこと
Masakazu Muraoka
 
DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃
Teruo Adachi
 
Atnd地域検索作ったよー
Atnd地域検索作ったよーAtnd地域検索作ったよー
Atnd地域検索作ったよー
Ohishi Mikage
 
Nervesが開拓する「ElixirでIoT」の新世界
Nervesが開拓する「ElixirでIoT」の新世界Nervesが開拓する「ElixirでIoT」の新世界
Nervesが開拓する「ElixirでIoT」の新世界
Hideki Takase
 

Similar to phpstudy_php_to_node (20)

LT: 今日帰ってすぐに始められるPython #nds45
LT: 今日帰ってすぐに始められるPython #nds45LT: 今日帰ってすぐに始められるPython #nds45
LT: 今日帰ってすぐに始められるPython #nds45
 
from_beginner_to_engineer
from_beginner_to_engineerfrom_beginner_to_engineer
from_beginner_to_engineer
 
DevOps Conference #1
DevOps Conference #1DevOps Conference #1
DevOps Conference #1
 
20120927 findjob4 dev_ops
20120927 findjob4 dev_ops20120927 findjob4 dev_ops
20120927 findjob4 dev_ops
 
Python & PyConJP 2014 Report
Python & PyConJP 2014 ReportPython & PyConJP 2014 Report
Python & PyConJP 2014 Report
 
YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド
YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイドYAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド
YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド
 
ISUCON5 予選をPHPで戦った話
ISUCON5 予選をPHPで戦った話ISUCON5 予選をPHPで戦った話
ISUCON5 予選をPHPで戦った話
 
Googleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOpsGoogleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOps
 
Chrome拡張で改善 表紙
Chrome拡張で改善 表紙Chrome拡張で改善 表紙
Chrome拡張で改善 表紙
 
ペアプロはリモートでもできる!
ペアプロはリモートでもできる!ペアプロはリモートでもできる!
ペアプロはリモートでもできる!
 
アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱
 
20200622 webエンジニアのお仕事 ~開発手法と開発フロー~
20200622 webエンジニアのお仕事 ~開発手法と開発フロー~20200622 webエンジニアのお仕事 ~開発手法と開発フロー~
20200622 webエンジニアのお仕事 ~開発手法と開発フロー~
 
デブサミ2014【13-D-2】川田寛氏 HTML5がSIに与えた衝撃、エンジニアは何を学ぶべきか?
デブサミ2014【13-D-2】川田寛氏 HTML5がSIに与えた衝撃、エンジニアは何を学ぶべきか?デブサミ2014【13-D-2】川田寛氏 HTML5がSIに与えた衝撃、エンジニアは何を学ぶべきか?
デブサミ2014【13-D-2】川田寛氏 HTML5がSIに与えた衝撃、エンジニアは何を学ぶべきか?
 
HTML5時代のwebクリエイターに必要なこと
HTML5時代のwebクリエイターに必要なことHTML5時代のwebクリエイターに必要なこと
HTML5時代のwebクリエイターに必要なこと
 
DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃
 
Atnd地域検索作ったよー
Atnd地域検索作ったよーAtnd地域検索作ったよー
Atnd地域検索作ったよー
 
Pythonによるwebアプリケーション入門 - Django編-
Pythonによるwebアプリケーション入門 - Django編- Pythonによるwebアプリケーション入門 - Django編-
Pythonによるwebアプリケーション入門 - Django編-
 
Nervesが開拓する「ElixirでIoT」の新世界
Nervesが開拓する「ElixirでIoT」の新世界Nervesが開拓する「ElixirでIoT」の新世界
Nervesが開拓する「ElixirでIoT」の新世界
 
これができたらエンジニア|YAPC::Asia 2015 LT rejected
これができたらエンジニア|YAPC::Asia 2015 LT rejectedこれができたらエンジニア|YAPC::Asia 2015 LT rejected
これができたらエンジニア|YAPC::Asia 2015 LT rejected
 
エンジニア×デザイナー GitHubで変わるコミュニケーション(PHPカンファレンス2014 P4Dセッション)
エンジニア×デザイナー GitHubで変わるコミュニケーション(PHPカンファレンス2014 P4Dセッション)エンジニア×デザイナー GitHubで変わるコミュニケーション(PHPカンファレンス2014 P4Dセッション)
エンジニア×デザイナー GitHubで変わるコミュニケーション(PHPカンファレンス2014 P4Dセッション)
 

phpstudy_php_to_node