Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
(いたみん)プロジェクトでの運用改善について
Search
akatsukinewgrad
August 02, 2021
Programming
1.6k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
(いたみん)プロジェクトでの運用改善について
akatsukinewgrad
August 02, 2021
More Decks by akatsukinewgrad
See All by akatsukinewgrad
2023/1/25_QAテスター meet up!
akatsukinewgrad
0
180
成果発表資料.pdf
akatsukinewgrad
0
2.3k
広大なフィールドを気持ちよく駆け抜けるための技術.pdf
akatsukinewgrad
0
700
正規表現とReDoS.pdf
akatsukinewgrad
0
680
Unityで大量のオブジェクト_を吹き飛ばしたい.pdf
akatsukinewgrad
0
730
新卒2年目が思う1年目の学び.pdf
akatsukinewgrad
0
660
障害訓練の取り組みについて.pdf
akatsukinewgrad
0
840
7分でわかるアカツキゲームス
akatsukinewgrad
0
680
Bitcoinだけでスマートコントラクト.pdf
akatsukinewgrad
1
1.2k
Other Decks in Programming
See All in Programming
Workers Cache を知る
syumai
0
360
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
360
JAWS-UG 東京支部が始める、JAWS-UG支部コラボ / JAWS-UG lunchtime LT Collaboration
y0hgi
0
260
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
1k
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
7
13k
Are APIs Still Relevant in the AI Era?
soyuka
0
460
AI主導のプログラミング学習アプリを作ってみた
econanringo
0
170
複雑なUIコンポーネントとの ⻑い付き合い⽅:波及するバグからテスト戦略を経て、安全な再設計へ
mixplace
0
390
ActionController meets Protocol Buffers
sorah
0
270
ハーネス設計入門 〜 基礎知識の整理から実務へのステップアップ 〜
kinopeee
22
22k
Verilogで学ぶCPU自作入門
uyuki234
8
4.1k
dotNET_vulnclicker_intro.pdf
deka_morita
0
140
Featured
See All Featured
Ethics towards AI in product and experience design
skipperchong
2
430
Are puppies a ranking factor?
jonoalderson
2
4k
Side Projects
sachag
456
43k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
300
WENDY [Excerpt]
tessaabrams
14
40k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
4
4.4k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
800
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
620
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
Fireside Chat
paigeccino
43
4.1k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
980
Transcript
プロジェクトの 運用改善について Akatsuki Geek Live Vol.1
名前:伊丹琢人(いたみ たくと) あだ名:いたみん • 役職 ◦ 19卒クライアントエンジニア ◦ 八月のシンデレラナイン
urakataチーム所属 • 趣味 ◦ fpsやアクションのゲームをする ◦ Vtuberの放送を見たり 最近便利家電を揃えててなるべく楽をしようとしてます 自己紹介
urakataチームとは 新機能などユーザーに価値を提供するチームではなく 運用メンバーに対して価値を提供するチームになります。 現在:クライアント1人、サーバー2人の体制 ハチナイの運用メンバーは主に以下の職種の方がいます • プランナー • 検証
• デザイナー
なぜ運用メンバーに価値を提供するのか?
なぜ運用メンバーに価値を提供するのか? • 手作業による工数の増大 • ヒューマンエラーによる不具合 ユーザーへの還元、最終的にプロジェクトの利益に繋がる 解決
どうやって問題を見つけるか? • まずはヒアリングしてみる → そもそも解決できる問題として認識していないこともあるため 色々と引き出す必要がある。 • 運用改善のslackチャンネルを作成・要望シートに記載を促す →
改善の文化形成、ふとした要望も受け入れるようにして 問題の浮上をしやすく。
• 改善仕様のヒアリングを行う。 → その仕様よりも良いことはないか? 実装工数と工数や不具合の削減量でやるやらないを決定していく • ものによって、コンフルを整備したり → 改善したのに使われないままになったり、引き継ぎができないのを防止
問題解決へ
運用改善 1例の紹介 マスターデータの移行を自動化
ハチナイではマスターデータはスプレで管理されていて 各環境毎にシートがあり、環境によってシートを結合して使います マスターデータの移行作業: 概要 develop sandnext sandbox feature
develop sandbox develop feature sandbox feature sandnext sandbox sandnext sandbox sandbox ※これは一部です
今回はここでの改善 マスターデータの移行作業: 概要 develop sandnext sandbox feature develop
sandbox develop feature sandbox feature sandnext sandbox sandnext sandbox sandbox
sandnext: 本番で使うが、まだ出さないデータで出す日付もバラバラ sandbox : 本番で使うデータでここにあるデータを本番やstagingといった環境に反映 します マスターデータの移行作業: 概要 sandnext sandbox
sandnext sandbox sandnext sandbox sandbox
マスターデータの移行作業: 概要 本番で出すにはsandnextからsandboxへ移動させる必要があり 今まで手作業で移動をさせていた。 また全部ではなく基本次回で出るデータのみ sandnext sandbox 手作業
マスターデータの移行作業: 現状の問題把握 • データ不備の発生 • シートが大量にあるため複数人が最大1時間かかる。しかも増えていく • 当時手作業が当たり前という意識の状態だった
不具合発生・必要工数ともに大きい問題 解決しないとマズイ!
マスターデータの移行作業: 解決への実装と仕様 • 言語はプロジェクトに合わせてrubyを選択 • 実行はjenkins上。パラメータに移動対象の日付を指定してポチるだけ! • 実行結果はslack上に通知
マスターデータの移行作業: 移動の判定 • マスターデータの一番右の列に”デプロイ”を追加して日付を指定 • デプロイ列までを移動対象に • 入れ込むデータは元々判断できるようでデプロイ列はそこに含めない 実際にデータ化されるシート
操作するシート 参照
マスターデータの移行作業: 実装の注意 • 100秒あたり100リクエストの制限 → 制限が来たら待機・リトライ処理を追加 • シートごとにリクエストすると重いのでまとめて処理をする → batch_update_valuesやbatch_get_spreadsheet_valuesを使用
運用していくとシートが増えて制限に引っかかるのも sheets apiの制限についてこちらから https://developers.google.com/sheets/api/reference/limits
マスターデータの移行作業: 作業と結果 • デプロイ日を入れて実行 • 実行結果をslackへ 各マスターで移動ができたら成功アイコン表示
マスターデータの移行作業: 改善効果 • 工数 → 2~4人 x 30 ~ 60分
x 2 ~ 3回デプロイ/1ヶ月 = 最大12時間くらい削減 → + 作業は非同期なので本来の作業に集中可能 通知も平均6分ほどで来る • 不具合 → 処理がデータによっては不具合が発生することがある。 行を手動で追加しないといけなかったりとか・・・ とはいえ手作業でほぼ毎回発生していた不具合は削減
• プロジェクトにspineを導入し、anima2dからspineへの移行 • photoshopスクリプトで必要なspineアトラスを出力するもの • iosのテクスチャ圧縮の更新 PVTRC -> ASTC •
実機内デバッグ機能で検証コストの低減 • github actionでチェッカーを入れたり 他運用改善で行ったものの例
• 運用を続けるプロジェクトは運用を改善していくことも重要 運用し続け肥大化したプロジェクトはどこか負担になっている箇所があり 本来注力すべき業務の時間が減って結果として利益に影響が発生します。 機能実装の攻めと改善の守りで攻守兼ね備えたプロジェクトへ • 改善できるのか?を言いやすい環境へ 負担になって辛いけどしょうがない・・から改善できるかも?に繋げるため チームでコミュニケーションを取ってよりよいチームビルディングへ
まとめ
• iosのPVTRC -> ASTCへの移行 元々PVTRCは縦横ともにサイズが2の累乗だけ対応なので いくつか圧縮されていなかった。-> アセットバンドルの サイズ増大
ASTCに関してはそこが緩和されており置き換えてサイズ削減へ ただしiphone6以降が対応 • anima2dからspineへの移行はアニメーション周りの方からの要望 業界的にspineのほうが扱える方が多くやりやすいというのと、anima2dはもうサポート的にどうなの? という感じだったので移行をしています。 spineはcanvas用とmesh renderer用の2パターンあるので相性が良かった appendix
• 実機内デバッグではSRDebugger経由でアクセスするものが多いです 例えばローディング演出の確認デバッグとか 試合開始のVSが出てるところの確認デバッグとかのキャラ表示チェックとか • photoshopスクリプトはspineのスケルトンデータ1つに対して
キャラのテクスチャを切り替えて表示する形を取っているので 同じ配置になるようphotoshopから自動で配置して出力する機能を作成 appendix