Movatterモバイル変換


[0]ホーム

URL:


Yuta Ohashi, profile picture
Uploaded byYuta Ohashi
920 views

Laravelから学びレガシーと闘いはじめた

Laravel Meetup Tokyo Vol.9

Embed presentation

Laravelから学びレガシーと闘いはじめたLaravel Meetup Tokyo Vol.92017.07.12Yuta Ohashi
2blue_goheimochiblue-goheimochiLaravel歴 4年
3目次• Laravelで学んだこと• レガシーと闘いはじめた話• まとめ
レガシーと闘ってますか?https://www.flickr.com/photos/fredc81/15061179493/
5• PHPのバージョン• 本番環境• 開発環境• コード• ツール
6PHPのバージョンPHP7.1.x ?
7PHPのバージョンPHP7 ?
8PHPのバージョンPHP5.6 ?
9PHPのバージョンPHP5.5 ?
10PHPのバージョンPHP5.4 ?
11PHPのバージョンPHP5.3.2 ?
12PHPのバージョンComposer ?
13PHPのバージョンPHP5.1 ?
14PHPのバージョンPHP4 ?
15本番環境CentOS 5 ?
16開発環境XAMPP?
17コードテスト?
18コードSVN?
19コードバージョン管理?
20コードコーディングルール?
21ツールチャット?
22ツールビルドツール?
23ツールデプロイ?
https://www.flickr.com/photos/donnieray/9436653177/レガシーちゅらい
25選択肢は3つ
26選択肢は3つやめるorあきらめるorたたかう
27選択肢は3つやめるorあきらめるorたたかう
28Laravelで学んだこと
29Laravelで学んだこと• Composer• Homestead• Vagrant• オートロード(PSR4)• DBマイグレーション• サービスコンテナ• Dependency Injection• テスト• セキュリティ対策• Bootstrap• Elixir(Gulp)• PSR-2• Vuejs• Laravel Mix• Laravel Dusk• CI• DDD• Go• OPPAI• デプロイ• etc…etc….etc…..etc……
30Laravelで学んだこと• Composer• Homestead• Vagrant• オートロード(PSR4)• DBマイグレーション• サービスコンテナ• Dependency Injection• テスト• セキュリティ対策• Bootstrap• Elixir(Gulp)• PSR-2• Vuejs• Laravel Mix• Laravel Dusk• CI• DDD• Go• OPPAI• デプロイ• etc…etc….etc…..etc……Laravel リファレンス
31Laravelで学んだこと• Composer• Homestead• Vagrant• オートロード(PSR4)• DBマイグレーション• サービスコンテナ• Dependency Injection• テスト• セキュリティ対策• Bootstrap• Elixir(Gulp)• PSR-2• Vuejs• Laravel Mix• Laravel Dusk• CI• DDD• Go• OPPAI• デプロイ• etc…etc….etc…..etc……5.25.1 5.4 5.4PSR-2バージョンアップを追う
32Laravelで学んだこと• Composer• Homestead• Vagrant• オートロード(PSR4)• DBマイグレーション• サービスコンテナ• Dependency Injection• テスト• セキュリティ対策• Bootstrap• Elixir(Gulp)• PSR-2• Vuejs• Laravel Mix• Laravel Dusk• CI• DDD• Go• OPPAI• デプロイ• etc…etc….etc…..etc……Laravel界隈をウォッチする「Laravel」で検索 & フォロー勉強会・もくもく会・関連するすごい人たち
33学びが多い(情報過多・・・分からないこと大杉内・・・)
34どうやって学ぶ?惑わされず何かやりきってみる
35Laravelの学び方• Laravelリファレンスをやりきる• チュートリアルをやりきる• ToDoリスト作成をやりきる
36Laravelの学び方• Laravelリファレンスをやりきる• チュートリアルをやりきる• ToDoリスト作成をやりきる自分のやりたいようにまずやってみて、そのあと他と比べてみる。ToDoリストじゃなくて、自分の作りたいものでもOK。まずやりきる
37自分なりにやりきってみたhttps://pilebookmark.herokuapp.com/
38やりきること動く=すごい
39まだまだ学ぶことはたくさん・・・学びながら育てる
40レガシーと闘いはじめる
41レガシーと闘いはじめる武器はいくつか得た
42
43テスト書くぞ!
書けない・・・https://www.flickr.com/photos/peterhess/2976755407/
45https://saien.connpass.com/event/27540/
46https://www.slideshare.net/t_wada/test-strategy-and-tactics/12
47いきなり本丸(コード)を切り崩すのは難しい・・
外堀から攻めるhttps://www.flickr.com/photos/kmf164/953214920/
49(なるべく)コードを触らない
50Laravelを学んで得た武器• Composer• Homestead• Vagrant• オートロード(PSR4)• DBマイグレーション• サービスコンテナ• Dependency Injection• テスト• セキュリティ対策• Bootstrap• Elixir(Gulp)• PSR-2• Vuejs• Laravel Mix• Laravel Dusk• CI• DDD• Go• OPPAI• デプロイ• etc…etc….etc…..etc……
51その中でも・・・• Laravel Homestead(開発環境)• Laravel Dusk(E2Eテスト)• PSR-2(コーディングルール)• Laravel Mix(タスクランナー)
52LaravelHomestead
53Laravel Homestead• Laravel公式の仮想環境• Vagrant + VirtualBox,VMWare• 環境構築が楽ちん
54抱えていた問題• 本番・検証では起きないエラー• 人によって環境がまちまち• 開発環境多すぎ問題• 再構築大変問題
55バージョン違い
56
57+
58+
59VirtualBox + Docker• 仮想環境1つで大丈夫• ローカルだけのエラーほぼなし• Ansibleでみんなで管理できる• コードいじらなくて大丈夫• 1人ではじめられる
60現在、抱えている問題• コンテナ多すぎ問題• コンテナ(OS)が古い問題• メンテナンスする人問題
61Laravel Dusk
62Laravel Dusk• E2Eのテストツール• デフォルトでChromeDriver使用• Seleniumに変更も可能
63抱えていた問題• テストコードがない• デグレが発生する• デザイン崩れに気づかない
64抱えていた問題約70項目のデグレに関する検証テスト化
65どんな感じ?WebサーバーローカルPC1. JenkinsでPHPUnitを実行2. PHPがSeleniumを実行3. Seleniumがブラウザを起動4. Chromeがテストを実行
66どんな感じ?Webサーバー検証用機CIサーバーぽい機
67スクリーンショットも取れますiPhoneなど
68差分を取得して変更を検知Before After
69PHPerでも怖くない!composer.json"require_dev": {"facebook/webdriver": "^1.1","phpunit/phpunit": "^4.8"}PHPUnitでSeleniumのテストかけます!
70E2Eテスト• デグレがたまに拾える• デザイン崩れがたまに拾える• コードいじらなくて大丈夫• 1人ではじめられる
71現在、抱えている問題• Seleniumたまに不安定問題• デザイン更新エラーになる問題• ブラウザ実機問題• メンテナンスする人問題
72PSR-2
73PSR-2• Laravel 5.1から採用• PHP-FIGが策定• コーディングに関するルール
74抱えていた問題• タブがばらばら• 改行コードがばらばら• 好みが分かれる問題• レビューでそこ指摘する?問題
75ものすごく参考になるスライドやさしいコーディング規約の導入https://speakerdeck.com/fortkle/yasasiikodeingugui-yue-falsedao-ru
76抱えていた問題composer.json不在
77抱えていた問題• リポジトリにコミット必要• 何でいれるの?• 何でやるの?
許可を求めるな謝罪せよhttps://www.flickr.com/photos/diegosilvagalan/4179111284/
79積極的に許可を求めに行くスタイル
80やったこと• 上長に許可をもらう• 少人数(仲間を見つけて)で開始• 実施のためのWiki作成• メンバーに許可をもらう• 開発フローに組み込んでもらう
81導入してもらうためのフォロー
82PSR-2• 数人ではじめられて• 開発フローに組み込めた• Jenkinsでエラー検知&周知• コードはほとんど触らなくてOK
83現在、抱えている問題• 後回しにされちゃう問題• まだ全体に浸透してない問題• どこまでやるか問題• フォローする人問題
84Laravel Mix
85Laravel Mix• Laravel 5.4から採用• Laravel Elixer から Laravel MixにGulp から npm script に• ビルドツール• アセットパイプライン
86抱えていた問題• CSS・JSの圧縮• バージョニング• ES2016書きたい問題• Sass書きたい問題
87抱えていた問題package.json不在
88抱えていた問題• リポジトリにコミット必要• 何でいれるの?• 何でやるの?
89積極的に許可を求めに行くスタイル
90やったこと• 上長に許可をもらう• package.json追加• 空のgulpfile.jsを追加
91やったこと• 上長に許可をもらう• package.json追加• 空のgulpfile.jsを追加めちゃくちゃ小さな1歩だけど、1歩目を踏み出すの大事
92感じたポイント• 外堀から攻める• 小さくはじめる• 初動の仲間づくり• 目標(なんのためにやるか?)• チームに浸透させるためのフォロー
チームで大きな敵と闘うhttps://www.flickr.com/photos/navcent/24387378922/
94まとめ
95まとめ• Laravelから学び、やりきってみる• レガシーは外堀から攻めてみる• 闘う (やばかったらとっとと逃げる)

Recommended

PDF
Laravel5.1 Release
PDF
Laravel_オープンソースカンファレンスhokkaido_JP_2014
PDF
Laravel / Lumen 次の一歩
PDF
Laravelのパッケージのテストに便利なパッケージ
PDF
Laravel5.5から6.4にアップグレードしたときに必要だった7つのこと
PDF
LaravelとMVCの先へ
PDF
php開発で使うタスクランナー gulp
PDF
Laravel 5.1 LTSでサービスを作る
PPTX
Laravelを使ってみた
PDF
Laravel5.1をつかったWebアプリケーション開発
PDF
flyingV Laravel & AWS 經驗分享
PPTX
Phpフレームワーク 「laravel」でブログを作ろう
PPTX
今日から始めるLaravel
PPTX
活動報告9 laravel5入門-
PDF
DLR言語によるSilverlightプログラミング
PDF
laravel websocket(use redis pubsub) [Laravel meetup tokyo]
PDF
Javaでやってみる The Twelve Factor App JJUG-CCC 2014 Fall 講演資料
PDF
クラウド時代だからSpring-Retryフレームワーク
PDF
Nishimoto osh2014: Test driven development and accessibility
PDF
Scalaでのプログラム開発
PDF
Laravel meetup5(Laravel meet NewSQL/VoltDB )
PDF
渋谷java−あなたのプロジェクトで気軽にjavaをバージョンアップするために必要なこと
PDF
Laravel5にアップグレードする際に詰まった点
 
PDF
フレームワークを使うべき 3 つの理由
PDF
phpspecで始めるBDD
PPTX
dotnetconfJP2017_netcore2
PDF
Laravel の学び方と得られる学び
PPTX
Net fringejp2016
PDF
「Laravelから学びレガシーと闘いはじめた」のその後
PDF
Creators meetup5

More Related Content

PDF
Laravel5.1 Release
PDF
Laravel_オープンソースカンファレンスhokkaido_JP_2014
PDF
Laravel / Lumen 次の一歩
PDF
Laravelのパッケージのテストに便利なパッケージ
PDF
Laravel5.5から6.4にアップグレードしたときに必要だった7つのこと
PDF
LaravelとMVCの先へ
PDF
php開発で使うタスクランナー gulp
PDF
Laravel 5.1 LTSでサービスを作る
Laravel5.1 Release
Laravel_オープンソースカンファレンスhokkaido_JP_2014
Laravel / Lumen 次の一歩
Laravelのパッケージのテストに便利なパッケージ
Laravel5.5から6.4にアップグレードしたときに必要だった7つのこと
LaravelとMVCの先へ
php開発で使うタスクランナー gulp
Laravel 5.1 LTSでサービスを作る

What's hot

PPTX
Laravelを使ってみた
PDF
Laravel5.1をつかったWebアプリケーション開発
PDF
flyingV Laravel & AWS 經驗分享
PPTX
Phpフレームワーク 「laravel」でブログを作ろう
PPTX
今日から始めるLaravel
PPTX
活動報告9 laravel5入門-
PDF
DLR言語によるSilverlightプログラミング
PDF
laravel websocket(use redis pubsub) [Laravel meetup tokyo]
PDF
Javaでやってみる The Twelve Factor App JJUG-CCC 2014 Fall 講演資料
PDF
クラウド時代だからSpring-Retryフレームワーク
PDF
Nishimoto osh2014: Test driven development and accessibility
PDF
Scalaでのプログラム開発
PDF
Laravel meetup5(Laravel meet NewSQL/VoltDB )
PDF
渋谷java−あなたのプロジェクトで気軽にjavaをバージョンアップするために必要なこと
PDF
Laravel5にアップグレードする際に詰まった点
 
PDF
フレームワークを使うべき 3 つの理由
PDF
phpspecで始めるBDD
PPTX
dotnetconfJP2017_netcore2
PDF
Laravel の学び方と得られる学び
PPTX
Net fringejp2016
Laravelを使ってみた
Laravel5.1をつかったWebアプリケーション開発
flyingV Laravel & AWS 經驗分享
Phpフレームワーク 「laravel」でブログを作ろう
今日から始めるLaravel
活動報告9 laravel5入門-
DLR言語によるSilverlightプログラミング
laravel websocket(use redis pubsub) [Laravel meetup tokyo]
Javaでやってみる The Twelve Factor App JJUG-CCC 2014 Fall 講演資料
クラウド時代だからSpring-Retryフレームワーク
Nishimoto osh2014: Test driven development and accessibility
Scalaでのプログラム開発
Laravel meetup5(Laravel meet NewSQL/VoltDB )
渋谷java−あなたのプロジェクトで気軽にjavaをバージョンアップするために必要なこと
Laravel5にアップグレードする際に詰まった点
 
フレームワークを使うべき 3 つの理由
phpspecで始めるBDD
dotnetconfJP2017_netcore2
Laravel の学び方と得られる学び
Net fringejp2016

Similar to Laravelから学びレガシーと闘いはじめた

PDF
「Laravelから学びレガシーと闘いはじめた」のその後
PDF
Creators meetup5
PPTX
Laravel本とコミュニティの話
PDF
Laravelとテストについて
PDF
Laravel5を使って開発してみた
PDF
第104回 php勉強会@東京 Laravel
PPTX
Docker friendly PHP / Laravel
PDF
omoon.org の裏側 〜FuelPHP の task 活用例〜
PDF
魔法少女 Laravel 2014
PDF
Laravel4で運用するサービス,そしてlaravel5へ
PDF
第80回 PHP勉強会 / laravel.jp & Laravel Meetup Tokyo Vol.5
PPT
今、最もイケてるPHPフレームワークLaravel4
PDF
Laravel shibuya 3 Laravel Beginner IRT
PDF
レガシーと向き合い技術スタックを代謝する(ElasticBeanstalk / Vue.js)
PDF
"Continuous Publication" with Python: Another Approach
PDF
あなたの安心を高速に守る Container-based CI
PDF
【PHPカンファレンス福岡】PHP 5.3 + CakePHP 1.3 → PHP 7 + CakePHP 3 移行を決めた話
PDF
Laravel5.1&homesteadで楽々ローカル環境構築
KEY
Behat+Symfony2ではじめるBDD超入門
PDF
GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話
byR S
 
「Laravelから学びレガシーと闘いはじめた」のその後
Creators meetup5
Laravel本とコミュニティの話
Laravelとテストについて
Laravel5を使って開発してみた
第104回 php勉強会@東京 Laravel
Docker friendly PHP / Laravel
omoon.org の裏側 〜FuelPHP の task 活用例〜
魔法少女 Laravel 2014
Laravel4で運用するサービス,そしてlaravel5へ
第80回 PHP勉強会 / laravel.jp & Laravel Meetup Tokyo Vol.5
今、最もイケてるPHPフレームワークLaravel4
Laravel shibuya 3 Laravel Beginner IRT
レガシーと向き合い技術スタックを代謝する(ElasticBeanstalk / Vue.js)
"Continuous Publication" with Python: Another Approach
あなたの安心を高速に守る Container-based CI
【PHPカンファレンス福岡】PHP 5.3 + CakePHP 1.3 → PHP 7 + CakePHP 3 移行を決めた話
Laravel5.1&homesteadで楽々ローカル環境構築
Behat+Symfony2ではじめるBDD超入門
GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話
byR S
 

More from Yuta Ohashi

PDF
三項演算子を見ると「ウッ」てなる人のはなし
PDF
レガシーなWebアプリケーションと向き合う
PDF
Vue.jsでFormをAtomic Designしてみた時のコンポーネント間のデータのやりとり
PPTX
Laravelで式年遷宮中の現場で うまくいってること・ うまくいっていないこと
PDF
GoでシュッとWebスクレイピングする
PDF
初心者がGoでCLIツール作ってみて学んだこと
PDF
今日からGoをはじめる人に伝えたい$GOPATHではまった話
PDF
無知の表明でチームをビルドする
PDF
許可を求めるな謝罪せよ?
PPTX
2016年恥ずかしいふりかえり
PDF
My開発環境の話
PDF
テストを書くのに挫折したあとやったこと
PPTX
LaravelアプリケーションをSeleniumでテストしてみた
PDF
Dockerをすこーしさわってみる
PDF
5分でなんとなーくわかるDocker
PDF
WindowsでもVagrantとChefでLaravelのローカル環境を(自分で)つくりたい!
三項演算子を見ると「ウッ」てなる人のはなし
レガシーなWebアプリケーションと向き合う
Vue.jsでFormをAtomic Designしてみた時のコンポーネント間のデータのやりとり
Laravelで式年遷宮中の現場で うまくいってること・ うまくいっていないこと
GoでシュッとWebスクレイピングする
初心者がGoでCLIツール作ってみて学んだこと
今日からGoをはじめる人に伝えたい$GOPATHではまった話
無知の表明でチームをビルドする
許可を求めるな謝罪せよ?
2016年恥ずかしいふりかえり
My開発環境の話
テストを書くのに挫折したあとやったこと
LaravelアプリケーションをSeleniumでテストしてみた
Dockerをすこーしさわってみる
5分でなんとなーくわかるDocker
WindowsでもVagrantとChefでLaravelのローカル環境を(自分で)つくりたい!

Laravelから学びレガシーと闘いはじめた


[8]ページ先頭

©2009-2025 Movatter.jp