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
シュプレ
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
180
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
Snowflake Horizon Catalog と Apache Iceberg で作る オープンなデータ基盤
kitagawaz
0
380
人にやさしく、AIにやさしく、書き手を選ばないIaCのガードレール再考 / Rethinking IaC Guardrails for Humans and AI Alike
kohbis
5
2k
KanaAI
shreyas1009
0
140
AI臭い文章とは何なのか
nasuvitz
38
77k
AI感のないAWS構成図をAIエージェントに描かせたい!
sagochiko
2
490
Amazon Bedrock Agents ClassicからAmazon Bedrock AgentCoreへ移行した際、ガードレール設定が2箇所に割れた話
matsunobu
0
170
spanner-autoscalerに学ぶ CRD設計パターン 〜自動化と緊急時対応を両立する Kubernetesコントローラーの作り方〜
tkuchiki
0
220
2026-09-26 Platform Engineering Kaigi 2026 インフラとアプリの境界線と委譲の設計 / Drawing the Infra and App Line
masasuzu
0
570
VS Code × GitHub Copilot での Fabric 開発
ryomaru0825
1
210
AWS FinOps Agent 結局何が得意なの?
siromi
0
230
いちAWSエンジニアのAI活用を振り返る #devio2026 / devio osaka 2026 kawahara
masahirokawahara
2
310
顧客の成果創出とプロダクトの成長を 両立するためのFDE
sansantech
PRO
0
610
Featured
See All Featured
A Tale of Four Properties
chriscoyier
163
24k
Optimizing for Happiness
mojombo
378
71k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
76k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
600
Paper Plane
katiecoart
PRO
4
53k
Typedesign – Prime Four
hannesfritz
42
3.2k
It's Worth the Effort
3n
188
29k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
850
New Earth Scene 8
popppiees
4
2.6k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
Site-Speed That Sticks
csswizardry
13
1.5k
We Are The Robots
honzajavorek
0
380
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