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
今日話すこと / debut-sushi_haneda
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Cybozu
PRO
September 16, 2021
Technology
360
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
今日話すこと / debut-sushi_haneda
Cybozu
PRO
September 16, 2021
More Decks by Cybozu
See All by Cybozu
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
12
90k
新卒1年目QAが リリース基準の"なぜ"をたどってみた
cybozuinsideout
PRO
1
840
kintone リサーチ副部/UXリサーチャー 業務紹介
cybozuinsideout
PRO
0
170
私たちが『JaSST協賛』から『外部コネクト』チームになった理由
cybozuinsideout
PRO
0
590
LLMでもいつものテスト技術〜意外と半分はこれまでのテストでした〜
cybozuinsideout
PRO
1
1.1k
kintone開発のプラットフォームエンジニアの紹介
cybozuinsideout
PRO
1
1.7k
LLMアプリの品質保証
cybozuinsideout
PRO
1
820
技術広報チームに丸投げしない!「一緒につくる」スポンサー活動
cybozuinsideout
PRO
0
300
テクニカルライター (グループウェア) について
cybozuinsideout
PRO
0
290
Other Decks in Technology
See All in Technology
すぐできる衛星通信対応 あとは山奥に行くだけ
tatetate55
0
140
負債のメタファと2026年 / Debt Metaphor in Agentic Engineering Age 202609 Edition
twada
PRO
10
5k
Minecraft JavaのMODをSwiftで作る
1mash0
0
200
ScotSecure West 2026 - Glasgow
raybugg
0
150
AIで社員の自主発信に広報目線を組み込む
_mossann_t
0
140
時うどん〜Socket.getifaddrsで学ぶネットワーク編 / Tokiudon: The Socket.getifaddrs Edition
coe401_
4
210
AIエージェントの自己改善をどう設計するか / How to Design Self-Improvement for AI Agents
22mi
25
17k
SREは、MCPとAutopilotをこう使え!
kazumax55
3
940
AI coding 整合正規方法
philipz
0
480
10Xに技術的負債をもたらした「2つの境界の歪み」その構造と解消への営み
10xinc
0
2.3k
Why Agent Cost Needs Observability
nttcom
0
120
サーバーレスをどこまで使う? WebRTC対戦ゲームで選んだVPSとの共存設計
kaidouji85
0
310
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
46
8.3k
We Have a Design System, Now What?
morganepeng
55
8.3k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
710
A Soul's Torment
seathinner
8
3.6k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
470
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
2k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
280
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
3
4.3k
Transcript
今日話すこと 21新卒 Garoon開発の羽田です。 Garoon配属後にやったことと、そこで感じたことについて話します。
名前 羽田 智史 (はねだ ともふみ) 出身大学 会津大学 大学時代 SI企業で4年間アルバイト Java/SpringでWEB業務システムを開発
趣味 筋トレ サイクリング ゲーム カメラ 最近ハマっていたこと 自作キーボード mint60 つくりました、ついでに無線化しました
配属 7月からGaroon Odangoチームに所属 改善や技術のタスクのハンドリングをするチーム 配属を希望した理由 新規開発はアルバイトで経験してきたので、経験したことのない改善系や大きめの タスクをやってみたいと思った
配属後にやったこと Garoonチュートリアル (7月上旬~中旬) 簡単な画面を作る オンプレ版のインストール, アップデート Garoonの機能を触る はじめてのおつかい (7月中旬~8月末) 同期メンバーとモブでタスクを行い、一通りの開発プロセスを学ぶ
バグ修正3つ, +α UnitTestの副作用修正(後述)
はじめてのおつかいの所感
バグ改修
レガシーなコードが残っているために、問題のコードを探すのが大変な場合がある 1メソッド, 1ファイルがとにかく長い 変数に何の値が入っているか分からない 変数の生成先がめっちゃ深い メソッドを呼んでいる -> 200行くらいのメソッド -> さらに入れ子でメソ
ッドを呼んでいる -> 以下ループ コードは読まずに、デバッグして実際の値, 動作を見た方が早い 既存のコードがテスタブルではないため、UnitTestが書きづらい global変数, static変数, コードが長い など 小さなバグを一つ直すのでさえ、Garoonだと数日かかる場合がある
UnitTestの副作用修正
CI上では問題ないが、ローカルでは失敗するUnitTestが存在した ローカルでUnitTestを全体実行した時、同じプロセスで実行するため、あるテストの副 作用が別のテストに影響を与えてた 副作用が起きるケース: あるテストでグローバル変数がモックに置き換えられていた。 継続して実行される次のテストではモックではないグローバル変数であること を前提としている。 だが、前のテストでモックに変わっているために後続のテストが失敗した。
CIでテストを全体実行しているが、独立したプロセスで実行されるため問題は起きてい ない 独立したプロセスで一つ一つ実行するため時間がかかる もし副作用による問題を修正できれば、CIでも同一プロセスで実行できるため、実 行時間が大幅に減る 副作用を起こすようなコードはよくない クラス, インスタンスが状態を保持する, グローバル変数を使う 副作用が起きてしまう場合は、後処理をする
テスト用に値を変更したのであれば、元に戻すことが大事
結果どうだったか 数日かけて副作用を治して、ローカルでUnitTestが動くようになった CI上ですべてのテストを同一プロセスで動くように設定を変えたところ、テストが 動かなかったため、実行時間の短縮はできなかった 期限も来ていたので諦めた Garoonは甘くない
まとめ Garoonで開発をするのは大変 その分やりがいがある 大変だからこそ、Garoonをもっと良くしていくためには?ということを常に考えるよう になった 良いコードの書き方, レガシーコードの改善について探求していきたい プロダクト全体で改善に対する意識が高く、先輩たちのテクニックや考え方が勉強 になる
これからもGaroonで頑張っていきます!!! 終わり