SlideShare a Scribd company logo
1 of 17
やんばるエキスパートPHP
7期最終発表会
鈴村 慎吾
R3.7.7
次第
➢ 担当箇所
➢ 苦労したこと
➢ 学ぶことができた知識
➢ 共同開発を通して得た経験
担当箇所
記事一覧
(未ログイン)
ユーザー登録画面
ログイン画面 マイページ画面
記事一覧
(ログイン後)
ユーザー情報
編集画面
記事詳細画面 記事編集画面
記事投稿画面
ヘッダー
(ログイン後)
記事編集・削除
記事詳細表示
記事投稿
記事投稿画面
記事詳細画面
記事編集画面・削除処理
編集と削除ボタンを担当
記事詳細画面・削除処理
直前に入力された値を保持
編集前の値を保持
タイトルを編集
エラーを起こすように編集
苦労した箇所
➢ Policyを用いた認可機能
➢ 編集後のバリデーションエラー時の値の保持
➢ ラジオボタンの実装
➢ ラジオボタンのバリデーションエラー時の値の保持
学んだ知識
➢ EloquentORMとクエリビルダの違い
➢ 三項演算子、Null結合演算子
➢ 認証と認可の違い
➢ Laravelにおいての認証と認可の使い方
➢ Git操作全般
開発中に心がけたこと
➢ 毎日学習する(平日3時間、休日6時間以上)
➢ メンバーでコミュニケーションをとりあい、編集している部分を可視化。
➢ Slackで作業の進捗を報告し合い、メンバー同士で刺激し合う
➢ GitHubに草を生やすことを意識
➢ 質問の仕方を意識
➢ Twitterに学習を毎日発信(仕事の都合でできなかった日を除く)
➢ Qiitaへのアウトプット(全6記事投稿)
アウトプットの数々
得た経験
➢ コミュニケーションの重大性
➢ 継続の重要性
➢ エラー発生時のデバック方法、仮説立てして原因を絞り込む
➢ 言語の理解だけではなくweb技術への理解の重要性
➢ アウトプットの重要性
➢ コード規約を守ること
反省点
➢ 未完全の状態でレビュー依頼を上げていた
➢ コード規約を遵守できていない箇所が散見
➢ エラーに対する仮説立てがあまりできなかった
➢ タスクの振り分けでメンバーを混乱させてしまった
→PRを出す前にしっかりと差分を確認する癖をつける
→コード規約への理解の不足。もっと意識する
→デバック、現状のエラーから消去法で絞り込んでいく
→自分の暴走。メンバーとしっかり話し合うべきだった
講座全体を通した感想
➢ 自分の圧倒的な成長を実感
➢ 圧倒的な成長は素晴らしい同期とメンターさんのおかげです
➢ 反面知識不足を再認識
➢ より一層プログラミングが楽しくなった!
➢ 毎日何かしら勉強しないと落ち着かなくなった
➢ 技術だけじゃない大切なものを得ることができた
今後のプラン
➢ まずは年末までにエンジニア転職
➢ いち早く実務に入り未経験の看板を取っ払う
➢ 教育にとても興味があるため将来的に教育をする立場になりたい
➢ 業務だけではなく副業などにチャレンジして技術を伸ばしていきたい
ご清聴ありがとうございました!!

More Related Content

Similar to やんばるエキスパートPhp 7期最終発表会

ニコニコ動画iOSアプリの UX・マネタイズ・技術の話
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話ニコニコ動画iOSアプリの UX・マネタイズ・技術の話
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話
Kentaro Matsumae
 

Similar to やんばるエキスパートPhp 7期最終発表会 (20)

Ignite ui 2012 最新情報 jQuery UI 編
Ignite ui 2012 最新情報 jQuery UI 編Ignite ui 2012 最新情報 jQuery UI 編
Ignite ui 2012 最新情報 jQuery UI 編
 
DjangoでさくっとWeb アプリケーション開発をする話
DjangoでさくっとWeb アプリケーション開発をする話DjangoでさくっとWeb アプリケーション開発をする話
DjangoでさくっとWeb アプリケーション開発をする話
 
RPA tool
RPA toolRPA tool
RPA tool
 
Office365最新動向と運用管理tips
Office365最新動向と運用管理tipsOffice365最新動向と運用管理tips
Office365最新動向と運用管理tips
 
食べログのフロントエンドエンジニアってめっちゃ大変やねん・・・
食べログのフロントエンドエンジニアってめっちゃ大変やねん・・・食べログのフロントエンドエンジニアってめっちゃ大変やねん・・・
食べログのフロントエンドエンジニアってめっちゃ大変やねん・・・
 
Ignite UI 2012 最新情報 jQuery Mobile 編
Ignite UI 2012 最新情報 jQuery Mobile 編Ignite UI 2012 最新情報 jQuery Mobile 編
Ignite UI 2012 最新情報 jQuery Mobile 編
 
市場で勝ち続けるための品質とテストの技術①
市場で勝ち続けるための品質とテストの技術①市場で勝ち続けるための品質とテストの技術①
市場で勝ち続けるための品質とテストの技術①
 
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/11/25
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/11/25Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/11/25
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/11/25
 
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/11/11
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/11/11Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/11/11
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/11/11
 
kintoneの新機能を開発するお仕事
kintoneの新機能を開発するお仕事kintoneの新機能を開発するお仕事
kintoneの新機能を開発するお仕事
 
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話ニコニコ動画iOSアプリの UX・マネタイズ・技術の話
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話
 
20120118 titanium
20120118 titanium20120118 titanium
20120118 titanium
 
こだわりのkintone
こだわりのkintoneこだわりのkintone
こだわりのkintone
 
Spring Security 5.0 解剖速報
Spring Security 5.0 解剖速報Spring Security 5.0 解剖速報
Spring Security 5.0 解剖速報
 
React Native performance optimization
React Native performance optimizationReact Native performance optimization
React Native performance optimization
 
Redmineを使ってみよう
Redmineを使ってみようRedmineを使ってみよう
Redmineを使ってみよう
 
Netadvantage 2012 volume2 最新情報 Reporting 編
Netadvantage 2012 volume2 最新情報 Reporting 編Netadvantage 2012 volume2 最新情報 Reporting 編
Netadvantage 2012 volume2 最新情報 Reporting 編
 
UE4における大規模レベル実装ワークフローとブループリント活用事例
UE4における大規模レベル実装ワークフローとブループリント活用事例UE4における大規模レベル実装ワークフローとブループリント活用事例
UE4における大規模レベル実装ワークフローとブループリント活用事例
 
Unity5.3をさわってみた
Unity5.3をさわってみたUnity5.3をさわってみた
Unity5.3をさわってみた
 
Lekumo キャンペーンビルダー ProNet勉強会用資料
Lekumo キャンペーンビルダー ProNet勉強会用資料Lekumo キャンペーンビルダー ProNet勉強会用資料
Lekumo キャンペーンビルダー ProNet勉強会用資料
 

やんばるエキスパートPhp 7期最終発表会

Editor's Notes

  1. 削除については記事一覧、記事詳細、マイページからできる
  2. 苦労した箇所について4箇所ありました。 ひとつはラジオボタンの実装です。これまでラジオボタンを実装したことがなくまずどのようにコードを書くのかから始まり、 次はどのようにして値をDBに保存するのか理解するのにとても時間がかかりました。 2つ目はPolicyを使った認可機能ですindexとshowメソッドにnullを許容(未ログインユーザ)していなかったので未ログイン状態で表示できないという問題がありました。 残りの2つは今回バリデーションエラーが起き、ブラウザバックした際の値の保持にとても苦労しました。 編集時の場合、編集後にブラウザバックしたときは編集後の値、そうでないときはもとの値を保持するということを無理やり三項演算子にあてはめてしまったのでかなりイケてないコードだったので反省しています。 特にこの2つはとても悩まされましたが、解決する手段はかなりシンプルだったので驚きました。 編集時のはnull合体演算子、ラジオボタンは三項演算子 どちらも共通するのはPHPの書き方であり、まだまだPHPへの理解が足りないなと感じる場面でもありました。
  3. 次に本講座を通して学んだ知識です。 まずGitについてです。 自分で学習しているときに自分でブランチを切ってPRマージ、ローカルにプルといったことはやっていたが、rebaseやstash、コンフリクトの解消などは 共同開発をやってみないことには得られない経験だったので実務に入る前に経験することができてよかったが、もう一度Udemyで復習しておきたいと思う。 それまでは認証と認可なにがどう違うのか全くわかりませんでしたが、担当タスクで認可機能を実装する機会があったのでそれを期に学んで、Qiitaにアウトプットできた。 次の三項演算子とNull合体演算子はバリデーションエラーの際に用いました。一行で条件分岐をすることができる 最後のEloquentとクエリビルダですが、そもそもORMとはなにかから始まりました。 そしてgetやallで複数取り出したとき、単一で取り出したときの違いを知れたのがとても大きかったです。
  4. 質問の仕方はしっかりと仮説立てて絞り込み、自分で立てた仮説をもとに試してみる。それで解決できなかったであれば質問する。 わからない・できないから質問するはしないよう意識した。 次に学習の継続です。仕事の都合と体調不良のときを除きかならず毎日学習をするよう習慣化しました。 そしてこの継続性を可視化するためにGitHubに草を生やす、Twitterで毎日学習内容を発信しました。 加えて学習の途中で悩んだこと・新たに学んだことについてはQiitaにまとめて投稿し、今期間中で全6記事を書きました。 最後に一番大きなところでチームメンバーとのコミュニケーションを心がけました。 当初はコミュニケーションがうまく取れていなかったため、お互いの作業の進捗がわからずモヤモヤする場面があったので 途中から作業の進捗を報告したり、実装している箇所に疑問が生じたらメンバー間で相談をするようにしました。 その結果、メンバーの作業が見えるので自分の担当タスクのスピードをあげたり、コンフリクトの防止、さらにはメンバー間で 刺激し合うことができたのでモチベーションアップにつながりました。
  5. まずは継続の重要性です。最初はなかなか理解ができなくても継続して繰り返していくことで少しずつ理解が進んでいくということを実感しました。 次のコミュニケーションの重要性は先の件と重複しますが、今後の実務においても今回感じたことは起こると考えます。 そのためそれを避けるためにも自分の現状などを周りにしっかりと報告することが重要なのだと感じました。 コード規約についてはそもそもこの講座を受講しなければコード規約の存在を知ることがなかったと思いますし、共同開発初期にジーコさんの実体験の話を聞き、実務においてコード規約の誤りは自分の評価を大きく損ねてしまう原因にもなりかねないと 感じたので今後のPFでも規約をしっかり意識して制作していきたいと思います。 開発を進めていくにつれてweb技術への理解が足りていないと感じる面が多々ありました。そのため言語だけではなくその前提としてweb技術についての理解を深める必要があると感じました。(Qiita記事の内容) 講座期間中に全6記事をQiitaに投稿し、LTにも登壇しました。この経験をアウトプットすることが一番身についていると感じたためアウトプットの重要性に気付かされましたのでこれからも積極的にアウトプットしていこうと思います。 最後に、エラーが起きたときに仮説立てて絞り込むことによってエラー解決の効率を上げることができます。そのためのデバック方法や仮説立てしていく思考を得ることができました。
  6. 今まではわからないことがわからないという状態で何となく勉強をしているという状態でしたが、この講座を通して言語面、知識面で様々なことがわかってきて自分で解決する力がついてきて 大きく成長したと感じました。この成長はメンターさん・技術サポーターの皆さんそして何よりもこの7期の同期のおかげだと思います。 その反面まだまだ自分の知識が足りないと感じる場面もあったので当然のことですが今後も継続して学習していきます。 学習を一日のルーティンのひとつにすることで学習をしないと落ち着かなくなってしまいました笑 なによりもプログラミングの勉強をすることがとても楽しく感じるようになったのも継続できたひとつの要因であると思います。 そして一番この講座を受講してよかったと感じたことが、技術だけではなく思考力、行動力など今後働いていくうえで必要になってくる力を 身に付けることができたと感じたことです。
  7. 最後に今後の私のプランについてです。 現在11月中に内定をいただけるように活動中です。 そして実務に入り経験を積み未経験の看板を取り払いたいです。そのためにもしっかりと開発経験が積める企業に入れるよう努力していきます。 さらに副業案件などにチャレンジしてさらに技術を伸ばしていきたいと思います。 まだ現在の仕事をしているときにずっと将来は教官を努めてみたいという夢がありました。 そのため教育にとても興味があるので教育する立場になりたいと思います。 なのでやんばるエキスパートの技術サポーターにとても興味があります。自分を育ててくれたやんばるエキスパートに少しでも恩返しができたらよいなと思います。 ぜひよろしくおねがいします。