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
PHPerがGoに入門してみた/PHPer introduction to Go.
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Futoshi Endo
February 22, 2023
Programming
0
5.8k
PHPerがGoに入門してみた/PHPer introduction to Go.
Futoshi Endo
February 22, 2023
Tweet
Share
More Decks by Futoshi Endo
See All by Futoshi Endo
AI時代におけるドメイン駆動設計 入門 / Introduction to Domain-Driven Design in the AI Era
fendo181
0
1k
【PHPカンファレンス小田原2025】New RelicのAPMを活用したECサービスにおけるメール遅延解消の舞台裏
fendo181
1
3.9k
PHP8の機能を使って堅牢にコードを書く
fendo181
7
7.9k
Introduction to Typing Practice
fendo181
0
1.2k
PsySHを使った効率的なデバッグ方法について / How debug efficiently using PsySH
fendo181
1
2.5k
PHP8によるデザインパターン入門 / Introduction to Design Patterns with PHP8
fendo181
2
4.7k
Laravel.shibuyaで改善してきた IRT勉強会の運営方法について / IRT Study Session Improved Through Laravel Shibuya
fendo181
0
2.5k
EC事業部の各サービスを支えるCREチームの新体制 /New Structure Of EC CRE Team
fendo181
0
2.1k
GTB2020 Web アプリフレームワーク入門/REST API 入門 スライド/ GTB2020 Web App Framework and REST API Introduction
fendo181
1
7.3k
Other Decks in Programming
See All in Programming
RubyとGoでゼロから作る証券システム: 高信頼性が求められるシステムのコードの外側にある設計と運用のリアル
free_world21
0
210
SourceGeneratorのマーカー属性問題について
htkym
0
140
atmaCup #23でAIコーディングを活用した話
ml_bear
4
740
どんと来い、データベース信頼性エンジニアリング / Introduction to DBRE
nnaka2992
1
140
クライアントワークでSREをするということ。あるいは事業会社におけるSREと同じこと・違うこと
nnaka2992
1
310
CDIの誤解しがちな仕様とその対処TIPS
futokiyo
0
170
encoding/json/v2のUnmarshalはこう変わった:内部実装で見る設計改善
kurakura0916
0
310
new(1.26) ← これすき / kamakura.go #8
utgwkk
0
1.6k
nuget-server - あなたが必要だったNuGetサーバー
kekyo
PRO
0
170
Event Storming
hschwentner
3
1.3k
Ruby x Terminal
a_matsuda
7
580
Go1.26 go fixをプロダクトに適用して困ったこと
kurakura0916
0
330
Featured
See All Featured
How GitHub (no longer) Works
holman
316
140k
How Software Deployment tools have changed in the past 20 years
geshan
0
32k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.3k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.8k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
240
Odyssey Design
rkendrick25
PRO
2
530
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Building an army of robots
kneath
306
46k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
140
Transcript
© 2012-2023 BASE, Inc. 2023/02/22 ハードル激低LT大会ッ! PHPerがGoに入門してみた
© 2012-2023 BASE, Inc. 2 氏名:Futoshi Endo 所属:BASE株式会社 入社:2023/01/04 ~
業務:バックエンド エンジニア 趣味:料理、音楽鑑賞、ゲーム PHP歴は5年、Go歴は1ヶ月程度です。 昔からブログを書いたり、Scrapboxで日記を 書いています。 • Endo Tech Blog • https://scrapbox.io/fendo181/ Fendo181 自己紹介
© 2012-2023 BASE, Inc. 3 自己紹介 (BASEに入社してから初リリースするまでに経験した事を紹介します)
© 2012-2023 BASE, Inc. 今日の本題 4 PHPerがGoに入門してみた
© 2012-2023 BASE, Inc. Goに入門しようと思ったきっかけ 5
© 2012-2023 BASE, Inc. Goに入門しようと思ったきっかけ 6 Goで書かれているライブラリを理解したい!
© 2012-2023 BASE, Inc. Goに入門しようと思ったきっかけ 7 • tbls is a
CI-Friendly tool for document a database, written in Go • コマンド1つでDatabaseのスキーマをドキュ メント化してくれる • 社内の「BASE BANK」チームでは導入事例が あり、自分が所属しているチームでも将来的 に導入を考えている ◦ tblsとGitHub Actionsを使ってDBマイグレー ションを含むPRには自動更新したER図を追加 する https://github.com/k1LoW/tbls
© 2012-2023 BASE, Inc. 8 https://github.com/k1LoW/tbls • Goで書かれている。 • 今の自分にとっては、処理がわからずブラッ
クボックスになってしまっている • ちゃんと、コードリーディングをして中身の 処理を把握したい Goに入門しようと思ったきっかけ
© 2012-2023 BASE, Inc. 9 https://github.com/k1LoW/tbls • Goで書かれている。 • 今の自分にとっては、処理がわからずブラッ
クボックスになってしまっている • ちゃんと、コードリーディングをして中身の 処理を把握したい • そうだ、Goを学ぼう Goに入門しようと思ったきっかけ
© 2012-2023 BASE, Inc. 今日お話する内容 1 2 Goの学習方法について まとめ 10
© 2012-2023 BASE, Inc. Goの学習方法について 11
© 2012-2023 BASE, Inc. Goの学習方法について 12 https://go-tour-jp.appspot.com/welcome/1
© 2012-2023 BASE, Inc. 13 Goの学習方法について • ブラウザだけで動作確認できる • 特にエディターを立ち上げる必要はない
• 基本的な文法から学べる • ちゃんと時間かけてやれば1週間程で全ての 項目が理解できる。(...と思っています)
© 2012-2023 BASE, Inc. 14 Goの学習方法について 書籍「テスト駆動開発」の付録Cに書いて あった写経方法を参考にGitHubにコミットを 積んでいる 1.ローカル環境で使えるバージョン管理システム(Git)を用意
2.書見台などで対処の本を固定 3.ひたすらサンプルコードを写して実行 4.実行する度にコミット(コミットログにページ番号を含める) 5.疑問があったらコミットログや本に書き込む。 6.章ごとにタグを打つ。 # git tag -a chap2 -m '第2章まで' # git push --tags origin
© 2012-2023 BASE, Inc. 15 Goの学習方法について https://github.com/Fendo181/go_practice/tree/master/A_Tour_of_Go/control
© 2012-2023 BASE, Inc. まとめ 16
© 2012-2023 BASE, Inc. 17 まとめ • Goを学ぶ方法について紹介しました • Goは機能が少ない分シンプルに書ける
• main関数に実行する処理がまとまっているので 上から順々に追っていけば良い(可読性が高い) • Goのライブラリを見る心理的ハードルが下がった! • 新しいプログラミング言語を学ぶのは楽しい!