Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PHPerがGoに入門してみた/PHPer introduction to Go.

Futoshi Endo
February 22, 2023

PHPerがGoに入門してみた/PHPer introduction to Go.

Futoshi Endo

February 22, 2023
Tweet

More Decks by Futoshi Endo

Other Decks in Programming

Transcript

  1. © 2012-2023 BASE, Inc.
    2023/02/22 ハードル激低LT大会ッ!
    PHPerがGoに入門してみた

    View full-size slide

  2. © 2012-2023 BASE, Inc. 2
    氏名:Futoshi Endo
    所属:BASE株式会社
    入社:2023/01/04 ~
    業務:バックエンド エンジニア
    趣味:料理、音楽鑑賞、ゲーム
    PHP歴は5年、Go歴は1ヶ月程度です。
    昔からブログを書いたり、Scrapboxで日記を
    書いています。
    ● Endo Tech Blog
    ● https://scrapbox.io/fendo181/
    Fendo181
    自己紹介

    View full-size slide

  3. © 2012-2023 BASE, Inc. 3
    自己紹介
    (BASEに入社してから初リリースするまでに経験した事を紹介します)

    View full-size slide

  4. © 2012-2023 BASE, Inc.
    今日の本題
    4
    PHPerがGoに入門してみた

    View full-size slide

  5. © 2012-2023 BASE, Inc.
    Goに入門しようと思ったきっかけ
    5

    View full-size slide

  6. © 2012-2023 BASE, Inc.
    Goに入門しようと思ったきっかけ
    6
    Goで書かれているライブラリを理解したい!

    View full-size slide

  7. © 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

    View full-size slide

  8. © 2012-2023 BASE, Inc. 8
    https://github.com/k1LoW/tbls
    ● Goで書かれている。
    ● 今の自分にとっては、処理がわからずブラッ
    クボックスになってしまっている
    ● ちゃんと、コードリーディングをして中身の
    処理を把握したい
    Goに入門しようと思ったきっかけ

    View full-size slide

  9. © 2012-2023 BASE, Inc. 9
    https://github.com/k1LoW/tbls
    ● Goで書かれている。
    ● 今の自分にとっては、処理がわからずブラッ
    クボックスになってしまっている
    ● ちゃんと、コードリーディングをして中身の
    処理を把握したい
    ● そうだ、Goを学ぼう
    Goに入門しようと思ったきっかけ

    View full-size slide

  10. © 2012-2023 BASE, Inc.
    今日お話する内容


    Goの学習方法について
    まとめ
    10

    View full-size slide

  11. © 2012-2023 BASE, Inc.
    Goの学習方法について
    11

    View full-size slide

  12. © 2012-2023 BASE, Inc.
    Goの学習方法について
    12
    https://go-tour-jp.appspot.com/welcome/1

    View full-size slide

  13. © 2012-2023 BASE, Inc. 13
    Goの学習方法について
    ● ブラウザだけで動作確認できる
    ● 特にエディターを立ち上げる必要はない
    ● 基本的な文法から学べる
    ● ちゃんと時間かけてやれば1週間程で全ての
    項目が理解できる。(...と思っています)

    View full-size slide

  14. © 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

    View full-size slide

  15. © 2012-2023 BASE, Inc. 15
    Goの学習方法について
    https://github.com/Fendo181/go_practice/tree/master/A_Tour_of_Go/control

    View full-size slide

  16. © 2012-2023 BASE, Inc.
    まとめ
    16

    View full-size slide

  17. © 2012-2023 BASE, Inc. 17
    まとめ
    ● Goを学ぶ方法について紹介しました
    ● Goは機能が少ない分シンプルに書ける
    ● main関数に実行する処理がまとまっているので
    上から順々に追っていけば良い(可読性が高い)
    ● Goのライブラリを見る心理的ハードルが下がった!
    ● 新しいプログラミング言語を学ぶのは楽しい!

    View full-size slide