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
Futoshi Endo
February 22, 2023
Programming
0
5.5k
PHPerがGoに入門してみた/PHPer introduction to Go.
Futoshi Endo
February 22, 2023
Tweet
Share
More Decks by Futoshi Endo
See All by Futoshi Endo
【PHPカンファレンス小田原2025】New RelicのAPMを活用したECサービスにおけるメール遅延解消の舞台裏
fendo181
1
2.4k
PHP8の機能を使って堅牢にコードを書く
fendo181
7
6.2k
Introduction to Typing Practice
fendo181
0
1k
PsySHを使った効率的なデバッグ方法について / How debug efficiently using PsySH
fendo181
1
2.3k
PHP8によるデザインパターン入門 / Introduction to Design Patterns with PHP8
fendo181
2
3.4k
Laravel.shibuyaで改善してきた IRT勉強会の運営方法について / IRT Study Session Improved Through Laravel Shibuya
fendo181
0
2.1k
EC事業部の各サービスを支えるCREチームの新体制 /New Structure Of EC CRE Team
fendo181
0
1.9k
GTB2020 Web アプリフレームワーク入門/REST API 入門 スライド/ GTB2020 Web App Framework and REST API Introduction
fendo181
1
6.8k
Laravel Pipe Dreamを使って 素早くプロジェクトを始める/Laravel Pipe Dream Start A Project Quickly
fendo181
0
980
Other Decks in Programming
See All in Programming
LINEヤフー データグループ紹介
lycorp_recruit_jp
0
890
XSLTで作るBrainfuck処理系
makki_d
0
210
Gleamという選択肢
comamoca
6
760
なぜ適用するか、移行して理解するClean Architecture 〜構造を超えて設計を継承する〜 / Why Apply, Migrate and Understand Clean Architecture - Inherit Design Beyond Structure
seike460
PRO
1
690
[初登壇@jAZUG]アプリ開発者が気になるGoogleCloud/Azure+wasm/wasi
asaringo
0
130
「ElixirでIoT!!」のこれまでとこれから
takasehideki
0
370
なんとなくわかった気になるブロックテーマ入門/contents.nagoya 2025 6.28
chiilog
1
220
Azure AI Foundryではじめてのマルチエージェントワークフロー
seosoft
0
130
Composerが「依存解決」のためにどんな工夫をしているか #phpcon
o0h
PRO
1
230
PHP 8.4の新機能「プロパティフック」から学ぶオブジェクト指向設計とリスコフの置換原則
kentaroutakeda
2
560
プロダクト志向ってなんなんだろうね
righttouch
PRO
0
160
Team topologies and the microservice architecture: a synergistic relationship
cer
PRO
0
1.1k
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
93
6.1k
Being A Developer After 40
akosma
90
590k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
Code Review Best Practice
trishagee
68
18k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Designing for humans not robots
tammielis
253
25k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
How to Think Like a Performance Engineer
csswizardry
24
1.7k
GraphQLとの向き合い方2022年版
quramy
48
14k
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のライブラリを見る心理的ハードルが下がった! • 新しいプログラミング言語を学ぶのは楽しい!