SlideShare a Scribd company logo
「やんちゃ、足りてる?」
〜ヤンマガ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」の導入
• 倍プッシュチャレンジゲーム企画
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
...
イベント期間終了後
最大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

More Related Content

PDF
モバイルゲーム。移管と運営のエンジニア
PDF
機械学習ベースの自動プレイエージェントを用いたバランス設計効率化の追求
PPTX
翻訳QAでのテスト自動化の取り組み
PDF
NativeGameの障害削減に向けた取り組み
PDF
WFSエンジニア組織のデザイン〜コンテンツ開発に集中するために〜
PPTX
Google Apps Script 活用ミートアップ#4 発表資料
PPTX
海外展開と負荷試験
PPTX
組み込み開発のテストとゲーム開発のテストの違い
モバイルゲーム。移管と運営のエンジニア
機械学習ベースの自動プレイエージェントを用いたバランス設計効率化の追求
翻訳QAでのテスト自動化の取り組み
NativeGameの障害削減に向けた取り組み
WFSエンジニア組織のデザイン〜コンテンツ開発に集中するために〜
Google Apps Script 活用ミートアップ#4 発表資料
海外展開と負荷試験
組み込み開発のテストとゲーム開発のテストの違い

What's hot (20)

PDF
NuxtJS + SSRで作ったGREE Tech Conference 2020
PPTX
ハイブリッドクラウドで変わるインフラストラクチャ設計
PDF
もうやりきったと思ってませんか?まだまだやれるEFO-マルチデバイス時代のウェブフォーム顧客体験最適化
PDF
クックパッドのグロースハックについて 20140218 ver1.1(更新版)
PPTX
[VP of Engineering Meetup] エンジニアのパフォーマンスを最大化させる組織活性化施策とは
PDF
ネイティブゲーム開発におけるこれからの品質保証
PDF
今どきのスマホゲーム開発 アジャイルテスト添え
PDF
ノーコードとアジャイル
PDF
UiPath on Windows 11
PDF
機械学習をScrumで組織的に学習する (RSGT2022)
PDF
【SFO2020】業務SEを7か月でWebエンジニアに変える方法 ~アジャイルマインドを得るために~
PDF
データドリブン経営のメトリクス分析 AARRR!モデルの紹介
PPTX
XP祭り2017『忖度と心理的安全』(スライド公開用)#xpjug
PDF
マネージャーになってからの技術を磨く戦略と戦術
PDF
Zenlab 20190213
PDF
副業が私にもたらした2つのシフト
PDF
新卒入社のみなさまへ30代が贈る20代のキャリア戦略入門
PDF
技術広報チームを立ち上げて1年
PDF
意味を持たないチームの考える習慣
PPTX
読者から主人公になる方法〜僕の3ヶ月ジャーニー
NuxtJS + SSRで作ったGREE Tech Conference 2020
ハイブリッドクラウドで変わるインフラストラクチャ設計
もうやりきったと思ってませんか?まだまだやれるEFO-マルチデバイス時代のウェブフォーム顧客体験最適化
クックパッドのグロースハックについて 20140218 ver1.1(更新版)
[VP of Engineering Meetup] エンジニアのパフォーマンスを最大化させる組織活性化施策とは
ネイティブゲーム開発におけるこれからの品質保証
今どきのスマホゲーム開発 アジャイルテスト添え
ノーコードとアジャイル
UiPath on Windows 11
機械学習をScrumで組織的に学習する (RSGT2022)
【SFO2020】業務SEを7か月でWebエンジニアに変える方法 ~アジャイルマインドを得るために~
データドリブン経営のメトリクス分析 AARRR!モデルの紹介
XP祭り2017『忖度と心理的安全』(スライド公開用)#xpjug
マネージャーになってからの技術を磨く戦略と戦術
Zenlab 20190213
副業が私にもたらした2つのシフト
新卒入社のみなさまへ30代が贈る20代のキャリア戦略入門
技術広報チームを立ち上げて1年
意味を持たないチームの考える習慣
読者から主人公になる方法〜僕の3ヶ月ジャーニー
Ad

Similar to 「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜 (9)

PDF
Oss coding style
PDF
Devsumi2010 Ecmascript5 (ISO/IEC JTC1/SC22)
PDF
Code Anything
PDF
Rubyプログラミング教育に対する取り組みと事例紹介
PDF
大規模ソフトウェア開発とテストの経験について
PDF
安全なプログラムの作り方
PDF
入れ子構造を分解する
PDF
ラボユース 最終成果報告会
KEY
サイボウズ・ラボユース 最終成果報告会プレゼンテーション
Oss coding style
Devsumi2010 Ecmascript5 (ISO/IEC JTC1/SC22)
Code Anything
Rubyプログラミング教育に対する取り組みと事例紹介
大規模ソフトウェア開発とテストの経験について
安全なプログラムの作り方
入れ子構造を分解する
ラボユース 最終成果報告会
サイボウズ・ラボユース 最終成果報告会プレゼンテーション
Ad

More from gree_tech (20)

PPTX
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
PDF
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
PPTX
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
PPTX
アプリ起動時間高速化 ~推測するな、計測せよ~
PPTX
長寿なゲーム事業におけるアプリビルドの効率化
PPTX
Cloud Spanner をより便利にする運用支援ツールの紹介
PPTX
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
PPTX
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
PPTX
サーバーフレームワークに潜んでる脆弱性検知ツール紹介
PPTX
データエンジニアとアナリストチーム兼務になった件について
PPTX
シェアドサービスとしてのデータテクノロジー
PPTX
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
PPTX
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
PPTX
比較サイトの検索改善(SPA から SSR に変換)
PPTX
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
PPTX
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
PPTX
基調講演 -グリーが目指すエンジニアのあり方、チームのあり方-
PPTX
REALITY iOSアプリを支える開発効率化
PDF
Lua文化の伝承!? WFSにおけるイベントスクリプト活用術〜すべてはより良いコンテンツ制作のために〜
PDF
バーチャルライブ配信アプリREALITYの3Dアバターシステムの全容について
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
アプリ起動時間高速化 ~推測するな、計測せよ~
長寿なゲーム事業におけるアプリビルドの効率化
Cloud Spanner をより便利にする運用支援ツールの紹介
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
サーバーフレームワークに潜んでる脆弱性検知ツール紹介
データエンジニアとアナリストチーム兼務になった件について
シェアドサービスとしてのデータテクノロジー
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
比較サイトの検索改善(SPA から SSR に変換)
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
基調講演 -グリーが目指すエンジニアのあり方、チームのあり方-
REALITY iOSアプリを支える開発効率化
Lua文化の伝承!? WFSにおけるイベントスクリプト活用術〜すべてはより良いコンテンツ制作のために〜
バーチャルライブ配信アプリREALITYの3Dアバターシステムの全容について

「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜