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
初学者歓迎!Go言語でWebサーバー構築ハンズオン!
Search
Keitaro Miyano
April 16, 2024
0
26
初学者歓迎!Go言語でWebサーバー構築ハンズオン!
2024年4月16日に開催された「初学者歓迎!Go言語でWebサーバー構築ハンズオン!」の資料です!
Keitaro Miyano
April 16, 2024
Tweet
Share
More Decks by Keitaro Miyano
See All by Keitaro Miyano
全部お見せします!現役エンジニアが開発現場で実際に使っているツールと便利設定集
miyakei1225
0
60
【初学者向け】Honoを使ったREST APIを構築してみよう!
miyakei1225
0
190
React勉強会
miyakei1225
0
210
お手軽環境構築!はじめてのDocker講座
miyakei1225
0
290
Expo SDK 50について&早速アップデートしてみた
miyakei1225
0
90
Webエンジニアが スマホアプリを個人開発した話📱
miyakei1225
0
50
connect-webの恩恵
miyakei1225
0
90
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
Documentation Writing (for coders)
carmenintech
65
4.4k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Ruby is Unlike a Banana
tanoku
97
11k
Become a Pro
speakerdeck
PRO
25
5k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
Happy Clients
brianwarren
98
6.7k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Docker and Python
trallard
40
3.1k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Transcript
初心者歓迎! Go言語でWebサーバー構築 ハンズオン! 技育CAMPメンター 宮野 奎太朗
はじめに 2 学生の皆さま、 今回ご参加いただきありがとうございます!
はじめに 3 【名前】宮野 奎太朗(ミヤケイ) 【出身】青森県青森市🍎 【会社】株式会社サイバー・バズ (インターン募集中!) 【作っているもの】SNSデータ可視化ツール 【趣味】ランニング、自転車、個人開発 (React Native)
【X】@38ke1 本日はよろしくお願いします!
4 こちらから!
5 勉強会の詳細
はじめに 6 ・サーバーサイド言語に挑戦してみたい ・Go言語に興味がある方 ・プログラミングに挑戦してみたい方
はじめに 7 前半のインプットタイムで Go言語の概要などについて話します!
はじめに 8 後半はアウトプットタイムとして 実際にコードを一緒に書いてみましょう!
今回のゴール 9 ・Go言語の特徴を知る ・簡単なWebサーバー&APIを構築してみる
今回のアジェンダ 10 1. Go言語とは? 2. Goの構成について(go.mod、go.sum) 3. パッケージについて 4. Postmanについて
【インプットタイム🌞】
今回のアジェンダ 11 5. リポジトリのクローン 6. 環境構築をしてみよう! 7. サンプルファイルを見てみよう! 8. httpパッケージでHello
World 9. PostmanでAPI実行 【アウトプットタイム🌝】
今回のゴール 12 ・Go言語の構成、特徴を知る ・簡単なAPIサーバーを動かしてみる
1. Go言語とは? 13 Go言語とは?
1. Go言語とは? 14 Go言語とは? →Googleが開発した サーバーサイド言語
1. Go言語とは? 15 簡単に書ける言語とよく言われている? →シンプルな文法、命名規則により 書き方のブレが少ない(個人的観測)
1. Go言語とは? 16 「Goに入ってはGoに従え」
1. Go言語とは? 17 例外処理が無い
1. Go言語とは? 18 例外処理が無い どういうこと? →try-catch-finallyの 例外処理機構が無い
1. Go言語とは? 19
1. Go言語とは? 20
1. Go言語とは? 21 軽量な並行処理が扱える
1. Go言語とは? 22
1. Go言語とは? 23
1. Go言語とは? 24 引用
2. Goの構成について 25 今回はこの2つを覚えて帰ってください! 1. go.mod 2. go.sum
2. go.modについて 26 go.modは「道具箱」のイメージ
2. go.modについて 27 go.modは「道具箱」のイメージ →モジュールの依存関係を 管理するファイル
2. go.modについて 28 ライブラリを使うためには 「go install」を実行する →従来はgo getだったが 1.16から機能が分かれた
2. go.modについて 29 引用記事
2. go.modについて 30 go mod tidyコマンド →ソースコードを参照して 整合性を見てくれる
2. go.sumについて 31 go.sumは「整合性」を保つ役割を担う →モジュールの依存関係をハッシュ化して保存
2. go.sumについて 32 「一貫性」と「信頼性」を 担保しているんだな〜の認識でok!
3. packageについて 33 packageは 「コードの再利用」と「整理」を担う
3. packageについて 34 Goのコードファイルは必ず 特定のパッケージに所属する
4. Postmanについて 35 APIを叩ける便利なツール! こちらからダウンロード
36 お疲れ様でした! いよいよアウトプットタイムに移ります!
37 5. リポジトリのクローン GitHubのリポジトリをクローンしましょう! URL
38 6. 環境構築をしてみよう! Goのインストールをまだ 済ませていない方はこちらから! URL
39 6. 環境構築をしてみよう! Goのバージョンをチェックしてみましょう! → go version
40 6. 環境構築をしてみよう! VS Codeで拡張機能を入れてみよう!
41 7. サンプルファイルを見てみよう! 予め作ったプロジェクトを 一緒に見て動かしてみましょう!
42 7. サンプルファイルを見てみよう! go run main.go
43 7. サンプルファイルを見てみよう! nilとnullの違いについて URL
44 7. サンプルファイルを見てみよう! スライスについて
45 7. サンプルファイルを見てみよう! スライスについて →配列の要素を可変にすることが 出来るデータ構造
46 8. httpパッケージでHello World! 【お題】 1.Go言語でHello World! 一緒にサーバーを立ち上げてみましょう!
47 8. httpパッケージでHello World! 【お題】 1.Go言語でHello World! Postman入れられなかった方はこちらで🙆 curl localhost:8080
48 8. httpパッケージでHello World! もし動かなくなったらコメントください (OSでの環境差分もある)
49 8. httpパッケージでHello World! まずはプロジェクト作成から! go mod init sample-project
50 8. httpパッケージでHello World! 一緒にファイルを作っていきましょう!
51 完成! みなさん動かすことは出来ましたか?
まとめ 52 今回はGo言語の概要に触れて 簡単なWebサーバーを構築 してもらいました
まとめ 53 Zoomのチャット欄に コメントを書いていただけると嬉しいです!
まとめ 54 粘った経験が必ずエンジニアとしての 糧になります!
まとめ 55 最後に僕の好きなキャッチコピーを紹介します👀
まとめ 56 ハッカソンについて
まとめ 57 最後に僕の好きなキャッチコピーを紹介します👀
まとめ 58 皆さま本日はお疲れ様でした!👋