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
PHPエンジニアが転職してGoを書き始めたら楽しくなってきた話.pdf
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
シュプレ
January 28, 2019
Technology
1.3k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
PHPエンジニアが転職してGoを書き始めたら楽しくなってきた話.pdf
シュプレ
January 28, 2019
More Decks by シュプレ
See All by シュプレ
エンジニア(?)にオススメの本
spre55
0
170
GCP使ってテスト自動化したい.pdf
spre55
0
260
はじめてのCode4兄弟
spre55
0
350
2016HACKDAYS_52_HelloAgain
spre55
0
92
LANケーブル圧着入門
spre55
0
120
できるSEO! ver 2.1
spre55
0
71
Web班番外編 jQuery
spre55
0
150
pre講義 jQuery
spre55
0
120
Other Decks in Technology
See All in Technology
営業オントロジーの作り方と、エージェントからの辿り方 ── ナレッジワークの現場から
kworkdev
PRO
1
190
AWS FinOps Agent 結局何が得意なの?
siromi
0
220
手を動かして実感する、Kiro が変える開発体験
inariku
0
420
Azure Serverless 2026:Production-ready な AI エージェント基盤 / Azure Serverless 2026: Production-Ready AI Agent Platform
miyake
2
660
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
16
120k
雪かき部 #7 もう怖くない!SELECT文!
foursue
0
170
The kernel report
ennael
PRO
1
130
メルカリにおけるAI時代の高速プロトタイピング基盤「Arca」
ryotarai
18
13k
エージェントはローカル、検証はMicroVM — Lambda MicroVMsでつくるServerless CI
fujioka6789
4
870
Kiro Meetup #8 Kiro アップデート (2026/3/21〜2026/9/24)
katzueno
1
300
セルフサービスのオブザーバビリティ基盤をOpenTelemetryで作る / Building a Self-Service Observability Platform with OpenTelemetry
ymotongpoo
3
460
Oracle Cloud Infrastructure(OCI):Onboarding Session(はじめてのOCI/Oracle Supportご利⽤ガイド)
oracle4engineer
PRO
3
21k
Featured
See All Featured
Marketing to machines
jonoalderson
1
5.8k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Everyday Curiosity
cassininazir
0
330
A Soul's Torment
seathinner
8
3.7k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
270
How to Ace a Technical Interview
jacobian
280
24k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
850
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
310
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
5k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
290
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