Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
gree_tech
PRO
November 11, 2021
Technology
920
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
GREE Tech Conference 2021 で発表された資料です。
https://techcon.gree.jp/2021/session/Session-1
gree_tech
PRO
November 11, 2021
More Decks by gree_tech
See All by gree_tech
変わるもの、変わらないもの :OSSアーキテクチャで実現する持続可能なシステム
gree_tech
PRO
0
5k
マネジメントに役立つ Google Cloud
gree_tech
PRO
0
72
今この時代に技術とどう向き合うべきか
gree_tech
PRO
3
2.8k
生成AIを開発組織にインストールするために: REALITYにおけるガバナンス・技術・文化へのアプローチ
gree_tech
PRO
0
470
安く・手軽に・現場発 既存資産を生かすSlack×AI検索Botの作り方
gree_tech
PRO
0
470
生成AIを安心して活用するために──「情報セキュリティガイドライン」策定とポイント
gree_tech
PRO
1
2.4k
あうもんと学ぶGenAIOps
gree_tech
PRO
0
580
MVP開発における生成AIの活用と導入事例
gree_tech
PRO
0
610
機械学習・生成AIが拓く事業価値創出の最前線
gree_tech
PRO
0
500
Other Decks in Technology
See All in Technology
複数プロダクト組織のAIネイティブ化における戦略 / AICon2026_kude
rakus_dev
0
330
Git 研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
1
460
エンタープライズデータへ安全につなぐ Production-ready なエージェント設計 ― AI × MCP リファレンスアーキテクチャ ― #AIDevDay
cdataj
1
110
AI研修(Day2)【MIXI 26新卒技術研修】
mixi_engineers
PRO
1
770
AIで楽になるはずが、なぜ疲れる?
kinopeee
0
100
データエンジニアリングとドメイン駆動設計
masuda220
PRO
15
2.7k
AI時代におけるテストの基礎の再定義 / Rethinking the Fundamentals of Testing in the AI Era
mineo_matsuya
15
5.7k
人とエージェントが高め合う協業設計
kintotechdev
0
960
PHPで作って学ぶリアルタイム音声対話AIとWebSocket入門 by ムナカタ
munakata
0
160
データ活用研修 データマネジメント【MIXI 26新卒技術研修】
mixi_engineers
PRO
4
460
iOS/Androidの二刀流エンジニアがFlutter & TypeScriptへ越境後の現在地 - Flutterがメインになって見えた景色と現在の醍醐味 / Dual-Platform Mobile Engineer Shifts to Flutter & TypeScript - The View and Real Thrill of Going Flutter-First
bitkey
PRO
0
100
それでも、技術なブログを書く理由 #kichijojipm / Why I Still Write Tech Blogs Even Now
shinkufencer
0
970
Featured
See All Featured
Everyday Curiosity
cassininazir
0
260
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
520
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
420
It's Worth the Effort
3n
188
29k
Writing Fast Ruby
sferik
630
63k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
280
Art, The Web, and Tiny UX
lynnandtonic
304
22k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
We Have a Design System, Now What?
morganepeng
55
8.2k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2.1k
Typedesign – Prime Four
hannesfritz
42
3.1k
Transcript
「やんちゃ、足りてる?」 〜ヤンマガWebで挑戦を続ける新入りエンジニア〜 Glossom株式会社 ソフトウェアエンジニア 小松秀生
「やんちゃ」足りてますか? 2
3 https://40th.yanmaga.jp/
4 https://dictionary.goo.ne.jp/word/やんちゃ/
5 「やんちゃ」 だねぇ…
6 新人でも責任ある仕事を任せられ 成長できる環境が、ここにある
• 2020年新卒入社 (2年目) • 学生時代の研究 • 作曲教育Webサービス • 論理学 •
AI音楽自動生成 • Glossom株式会社へ出向 7 小松 秀生 https://melon-530f5.firebaseapp.com/
• マーケティング・広告事業 • 事業会社支援 8 インフルエンサー・マーケティング支援 動画広告ネットワーク メディアの広告収益最適化
9 https://yanmaga.jp by
• バックエンドの テストカバレッジ(分岐網羅)は 常に100%! • 互いの業務・操作方法を教えあい 可能な限り属人化を排除! • 新しいメンバーでも コードレビューに参加!
10 開発チームの取り組み
初めてコードレビューを行ったのは、IT エンジニアとして会社に勤め始めてから どれくらい経ってからでしたか? ⓘ Start presenting to display the poll
results on this slide.
やりがいがあったタスク • 統合認証基盤「GIGYA」の導入 • 倍プッシュチャレンジゲーム企画
やりがいがあったタスク • 統合認証基盤「GIGYA」の導入 • 倍プッシュチャレンジゲーム企画
14 • メルマガ購読管理 • 顧客データ分析 • ソーシャルログイン • GDPR(個人情報保護法)対応 https://www.sap.com/japan/acquired-brands/what-is-gigya.html
https://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 〜 〜 ログイン用Controller GIGYAでのログイン時、Rails・deviseへ渡されるもの • UID: GIGYAのユーザを一意に特定するID • UID署名:
UIDの検証に使う文字列 • タイムスタンプ: ログインした時刻 warden.authenticate! strategy.valid? strategy.run! ログイン成功! GigyaAuthenticatable Strategy deviseのAuthenticatable Strategyを継承した独自Strategy with_authentication_hash → 認証情報としてemail, passwordの代わりにUIDを使う authenticate! → UID署名とタイムスタンプでUIDを検証 〜 〜
Warden GigyaAuthenticatable Strategy 普通に ログイン 自動で 新規登録して ログイン 漏洩 他サイトで
不正利用の 可能性 DB UID UID 漏洩 他サイトで 不正利用は 困難(※) DB 暗号化 (※) 暗号鍵まで漏洩しなかった場合
統合認証基盤「GIGYA」の導入を ふり返って • 今までにない貴重な経験を積めた • サードパーティ製SaaSの統合 • オープンソースのコードの 読み込み •
暗号化の知識 • 自動テスト • 外部組織とのやり取り
統合認証基盤「GIGYA」の導入を ふり返って • 認証周りでの失敗は高リスク • サービス停止・課金不可 • なりすまし • ログイン・新規登録が
できないときのユーザ離脱 • 周囲の手厚いサポートのおかげで 現在も問題なく稼働中
やりがいがあったタスク • 統合認証基盤「GIGYA」の導入 • 倍プッシュチャレンジゲーム企画
None
... イベント期間終了後 最大30,000ペリカ 獲得!! 当たれば2倍! ハズレると半分...
ゲーム データ ページ埋め込み API DB 非同期通信 • ステータス確認 • 抽選処理
書き出し 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