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
PHPエンジニアが転職してGoを書き始めたら楽しくなってきた話.pdf
Search
シュプレ
January 28, 2019
Technology
1.3k
2
Share
PHPエンジニアが転職してGoを書き始めたら楽しくなってきた話.pdf
シュプレ
January 28, 2019
More Decks by シュプレ
See All by シュプレ
エンジニア(?)にオススメの本
spre55
0
170
GCP使ってテスト自動化したい.pdf
spre55
0
250
はじめてのCode4兄弟
spre55
0
320
2016HACKDAYS_52_HelloAgain
spre55
0
83
LANケーブル圧着入門
spre55
0
110
できるSEO! ver 2.1
spre55
0
65
Web班番外編 jQuery
spre55
0
140
pre講義 jQuery
spre55
0
110
Other Decks in Technology
See All in Technology
Tour of Agent Protocols: MCP, A2A, AG-UI, A2UI with ADK
meteatamel
0
190
Databricks Appsで実現する社内向けAIアプリ開発の効率化
r_miura
0
230
開発チームとQAエンジニアの新しい協業モデル -年末調整開発チームで実践する【QAリード施策】-
kaomi_wombat
0
290
Cortex Codeでデータの仕事を全部Agenticにやりきろう!
gappy50
0
170
AIエージェント時代に必要な オペレーションマネージャーのロールとは
kentarofujii
0
280
Blue/Green Deployment を用いた PostgreSQL のメジャーバージョンアップ
kkato1
1
220
互換性のある(らしい)DBへの移行など考えるにあたってたいへんざっくり
sejima
PRO
0
520
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
10
77k
JAWS DAYS 2026でAIの「もやっと」感が解消された話
smt7174
1
120
パワポ作るマンをMCP Apps化してみた
iwamot
PRO
0
290
Databricks Lakehouse Federationで 運用負荷ゼロのデータ連携
nek0128
0
110
「できない」のアウトプット 同人誌『精神を壊してからの』シリーズ出版を 通して得られたこと
comi190327
3
520
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
150
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
64
54k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
130
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.2k
Ethics towards AI in product and experience design
skipperchong
2
250
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
290
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.4k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Git: the NoSQL Database
bkeepers
PRO
432
67k
GraphQLとの向き合い方2022年版
quramy
50
14k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
140
Transcript
PHPエンジニアが 転職してGoを書き始めたら 楽しくなってきた話 シュプレ(@spre55) 1
1.転職してもうすぐ半年経ちます 2
ソーシャルゲームの会社で2年くらい勤めたタイミングで、 転職をしようと思っていたら、友人から声をかけられ そのままGCPのパートナーの会社へJOIN 転職しました 3
転職前までやってきたこと ブラウザで動作するソーシャルゲームを作っていた。 主に、 ◆PHP ◇SASS をかいていた。 PHPに関しては自社製MVCフレームワークをつかっていた。 4
転職してから GCP、中でもGAEを使った開発。 最近はGAEとGoとFirebase Auth周りをいじいじしてる。 5
2.今どんなことをやっているか 6
GAE: Google App Engine 特徴 ◆チュートリアルやって10分でHelloWorldを全世界に公開できるスピード感 ◇基本的にGoogleにお任せなので楽 (スケーリング/負荷分散/ヘルスチェックなど) 7
Python 2.7 / 3.7 Java 7 / 8 Node.js 8
/ 10 PHP 5.5 / 7.2 Go 1.9 / 1.11 8 GAEのサポート言語
GAE/Go ◆Go 1.11に対応しました。 ー app.yamlに依存していた部分の緩和 ー 使ったことない人は使ってみよう! 9
Firebase Authentication 特徴 ◆アプリ/サービスの認証を簡単に実装できるようにしてくれるサービス ◇サインアップ/ログイン機能やソーシャル連携を手軽に実装できる 10
パスワード/電話番号 フェデレーションIDプロバイダ カスタムプロバイダ 各プロバイダ認証をサポート 11
12
3.Goをいじってみて感じたこと 13
Goの最初の印象(いじる前の印象) if err != nil { return nil, err }
14 // コードが長くなるイメージ // めんどくさそう
1.GOPATH ? GOROOT ? / goenv ? dep ? ◆
エディタの設定 ◇ バージョン関係管理ツール ◆ 依存関係管理ツール 15
2.シンタックスエラーをひたすら吐かれ・・・ ◆未使用パッケージのインポートでエラー ◇未使用変数の定義でエラー ◆「:=」で定義するところを「=」にしてた ◇型の不一致でエラー 16
3.配列の操作が慣れず・・・ ◆ソート ◇存在チェック ◆マージ ◇特定の値のチェック などなど 17
3.配列の操作が慣れず・・・ ◆PHPにおける配列 適当でよかった(全部array) ◇Goにおける配列 固定長(array)と可変長(slice)を意識する必要がある 18
4.DDDがわからん わからん 19
思ったより動的型付け言語 にあたまをやられていた 20
実際にPRについたコメントを載せる 21 ライブラリをコメントアウトしていたときのコメント ▼
実際にPRについたコメントを載せる 22 一文字変数の洗礼を受けたときのコメント ▼
実際にPRについたコメントを載せる 23 エラーを握りつぶしたときのコメント ▼
そして引き起こされるドメインモデル貧血症 24 ユースケース層が肥大化したときのコメント ▼
じゃあ、Goは不便なの? 25 ー そんなことはない
26
やり方はいろいろある 27 郷に入っては郷に従おう そうすると見えてくるものがある
社内で輪読会開いてみたり・・・ 28
挫折して、DDD Quicklyに走り・・・ 29
なんとか(ほぼ)一巡しました 30 https://www.infoq.com/jp/minibooks/domain-driven-design-quickly
まとめ いままで自分は,PHP の寛容さに頼って、 連想配列に適当にバンバンぶちこみ、 脳死でライブラリ使っていた・・・ それに気づかせてくれたGo そんなGoには感謝しかない 31
ありがとう 32
ありがとう 33 シュプレ@spre55
クラウドエースは絶賛エンジニア募集中 ◆ 一緒にGCPを盛り上げてくれるエンジニア募集 ◇ いっしょにタダ飯いこう! 興味のある方はシュプレ(@spre55)まで 34