GREE Tech Conference 2021 で発表された資料です。 https://techcon.gree.jp/2021/session/Session-1
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜Glossom株式会社 ソフトウェアエンジニア 小松秀生
View Slide
「やんちゃ」足りてますか?2
3https://40th.yanmaga.jp/
4https://dictionary.goo.ne.jp/word/やんちゃ/
5「やんちゃ」だねぇ…
6新人でも責任ある仕事を任せられ成長できる環境が、ここにある
• 2020年新卒入社 (2年目)• 学生時代の研究• 作曲教育Webサービス• 論理学• AI音楽自動生成• Glossom株式会社へ出向7小松 秀生https://melon-530f5.firebaseapp.com/
• マーケティング・広告事業• 事業会社支援8インフルエンサー・マーケティング支援動画広告ネットワーク メディアの広告収益最適化
9https://yanmaga.jpby
• バックエンドのテストカバレッジ(分岐網羅)は常に100%!• 互いの業務・操作方法を教えあい可能な限り属人化を排除!• 新しいメンバーでもコードレビューに参加!10開発チームの取り組み
初めてコードレビューを行ったのは、ITエンジニアとして会社に勤め始めてからどれくらい経ってからでしたか?ⓘ Start presenting to display the poll results on this slide.
やりがいがあったタスク• 統合認証基盤「GIGYA」の導入• 倍プッシュチャレンジゲーム企画
14• メルマガ購読管理• 顧客データ分析• ソーシャルログイン• GDPR(個人情報保護法)対応https://www.sap.com/japan/acquired-brands/what-is-gigya.htmlhttps://withonline.jp/https://web.gekisaka.jp/store/統合認証基盤
「GIGYA」を利用しているWebサイトはどれでしょうか?ⓘ Start presenting to display the poll results on this slide.
https://id.tokyo2020.org/oidc/login.html
Rails用認証ライブラリ参考になる情報が少ないためdeviseのソースコード理解が必要
Warden〜〜ログイン用ControllerGIGYAでのログイン時、Rails・deviseへ渡されるもの● UID: GIGYAのユーザを一意に特定するID● UID署名: UIDの検証に使う文字列● タイムスタンプ: ログインした時刻warden.authenticate!strategy.valid?strategy.run!ログイン成功!GigyaAuthenticatable StrategydeviseのAuthenticatable Strategyを継承した独自Strategywith_authentication_hash→ 認証情報としてemail, passwordの代わりにUIDを使うauthenticate!→ UID署名とタイムスタンプでUIDを検証〜〜
WardenGigyaAuthenticatable Strategy普通にログイン自動で新規登録してログイン漏洩他サイトで不正利用の可能性DBUID UID漏洩他サイトで不正利用は困難(※)DB暗号化(※) 暗号鍵まで漏洩しなかった場合
統合認証基盤「GIGYA」の導入をふり返って• 今までにない貴重な経験を積めた• サードパーティ製SaaSの統合• オープンソースのコードの読み込み• 暗号化の知識• 自動テスト• 外部組織とのやり取り
統合認証基盤「GIGYA」の導入をふり返って• 認証周りでの失敗は高リスク• サービス停止・課金不可• なりすまし• ログイン・新規登録ができないときのユーザ離脱• 周囲の手厚いサポートのおかげで現在も問題なく稼働中
...イベント期間終了後最大30,000ペリカ獲得!!当たれば2倍!ハズレると半分...
ゲームデータページ埋め込みAPIDB非同期通信● ステータス確認● 抽選処理書き出し1ヶ月で作れるか?前例見つからず、要調査
ゲームデータ/publics表示アセット取得✕アセット取得スクリプトからの相対パスであるため✕
ゲームデータ/publics表示アセット取得アセット取得スクリプトを改造HTMLタグでアセットパスのルートを渡す○+root/to/asset
MySQL 5.7において、正しい結果はどれでしょう?ⓘ Start presenting to display the poll results on this slide.
①② ③このとき、正しい結果は①〜③のどれでしょう?(MySQL 5.7)結果なし (0件)正解!
①② ③このとき、正しい結果は①〜③のどれでしょう?(MySQL 5.7)結果なし (0件)正解!倍プッシュチャレンジゲームでは代わりに精度を固定したdecimal型データを使用
倍プッシュチャレンジゲーム企画をふり返って• 良かったこと• 2週間で約4000人が参加• BtoCらしい企画で楽しかった• 怖かったこと• 確率を扱うゲームのリスク• ペリカ配布失敗時のリスク• 成長できたこと• 様々な組織とのすり合わせ• 本セクションで話したような細かい技術的要素
• ヤンマガWebで得たノウハウをGlossomの新しいビジネスへ• 技術の幅を広げ、状況に応じて最適な技術を選択できるよう引き出しを増やしていく• エンジニアだけでなく様々な立場の人の考えを吸収していく32入社してからのふり返り これから• メモは大事• レビューするのが成長に繋がる• グリーグループの文化が自分の成長に繋がった• 周囲からの手厚いサポート• 大企業ならではの責任あるタスク• ベンチャー企業の新人でも活躍させてもらえる環境
33