Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Igarashi Toru
53 views
2019-01_正月三が日でGolangを触ってみた
正月三が日でGolangを触ってみた
Technology
◦
Read more
0
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 59
2
/ 59
3
/ 59
4
/ 59
5
/ 59
6
/ 59
7
/ 59
8
/ 59
9
/ 59
10
/ 59
11
/ 59
12
/ 59
13
/ 59
14
/ 59
15
/ 59
16
/ 59
17
/ 59
18
/ 59
19
/ 59
20
/ 59
21
/ 59
22
/ 59
23
/ 59
24
/ 59
25
/ 59
26
/ 59
27
/ 59
28
/ 59
29
/ 59
30
/ 59
31
/ 59
32
/ 59
33
/ 59
34
/ 59
35
/ 59
36
/ 59
37
/ 59
38
/ 59
39
/ 59
40
/ 59
41
/ 59
42
/ 59
43
/ 59
44
/ 59
45
/ 59
46
/ 59
47
/ 59
48
/ 59
49
/ 59
50
/ 59
51
/ 59
52
/ 59
53
/ 59
54
/ 59
55
/ 59
56
/ 59
57
/ 59
58
/ 59
59
/ 59
More Related Content
PDF
Golang入門
by
Yukihiro Kitazawa
PDF
Goets go言語のelastic transcoderライブラリを作ろうとした @ qiita aws tools hackathon
by
Takuya Ueda
PDF
Rust v1.0 release celebration party
by
Akira Hayakawa
PDF
Golangによるubicの試作
by
kn1kn1
PDF
私なりのGo言語のご紹介
by
Ryuji Iwata
PDF
Androidアプリ開発で活躍必至!? ビルドツールGradle
by
amayaw9
PDF
すごいCoq入門
by
真一 北原
PDF
gRPC入門
by
ssuser0f153f
Golang入門
by
Yukihiro Kitazawa
Goets go言語のelastic transcoderライブラリを作ろうとした @ qiita aws tools hackathon
by
Takuya Ueda
Rust v1.0 release celebration party
by
Akira Hayakawa
Golangによるubicの試作
by
kn1kn1
私なりのGo言語のご紹介
by
Ryuji Iwata
Androidアプリ開発で活躍必至!? ビルドツールGradle
by
amayaw9
すごいCoq入門
by
真一 北原
gRPC入門
by
ssuser0f153f
What's hot
PPTX
書くネタがCoqしかない
by
Masaki Hara
PDF
Perl (OSC2011 Tokyo/Spring, Doc-ja)
by
Masaharu IWAI
PDF
Language toolを使ってみる
by
Takatsugu Nokubi
PPTX
勉強会 - 1
by
KenjiYamasaki5
PDF
ちょっとだけさわってみる Go言語
by
Satoshi Noda
PDF
Riverpodでテストを書こう
by
Shinnosuke Tokuda
PDF
今日から始めるGopher - スタートGo #0 @GDG名古屋
by
Takuya Ueda
PDF
Shizuoka go lang csp
by
Makoto Kishimoto
書くネタがCoqしかない
by
Masaki Hara
Perl (OSC2011 Tokyo/Spring, Doc-ja)
by
Masaharu IWAI
Language toolを使ってみる
by
Takatsugu Nokubi
勉強会 - 1
by
KenjiYamasaki5
ちょっとだけさわってみる Go言語
by
Satoshi Noda
Riverpodでテストを書こう
by
Shinnosuke Tokuda
今日から始めるGopher - スタートGo #0 @GDG名古屋
by
Takuya Ueda
Shizuoka go lang csp
by
Makoto Kishimoto
Similar to 2019-01_正月三が日でGolangを触ってみた
PDF
TechDo Goハンズオン#3
by
privatemy
PDF
初心者向けGo言語勉強会
by
leverages_event
PDF
組み込みLinuxでのGolangのススメ
by
Tetsuyuki Kobayashi
PDF
Go入門
by
Takuya Ueda
PDF
Golang handson
by
Ryuto Yasugi
PDF
組み込みLinuxでのGolangのススメ(Go con版)
by
Tetsuyuki Kobayashi
PPTX
Go言語ってどんな言語? 導入実績や気になるトレンド
by
Atsushi Yasuda
PPTX
【初心者向け】Go言語勉強会資料
by
Yuji Otani
PDF
認証Gwのプロトタイプでgolang使ってみた20171024
by
Kohji Osamura
PDF
20130824 Lightweight Language "Go" @LL matsuri
by
Yoshifumi Yamaguchi
PDF
Goでかんたんソースコードの静的解析
by
Takuya Ueda
PDF
Goをえらんだ理由
by
Tatsumi Naganuma
PDF
JavaScript経験者のためのGo言語入門
by
Shohei Arai
PDF
エキスパートGo
by
Takuya Ueda
PDF
GoでMinecraftっぽいの作る
by
京大 マイコンクラブ
PPTX
Go guide for Java programmer
by
Masaaki Yonebayashi
PDF
今日から始める Go言語 と appengine
by
a know
PPTX
1年目でgolangとscalaを触った話
by
y oe
PDF
Go mobileでモバイルアプリを作ろう
by
Takuya Ueda
TechDo Goハンズオン#3
by
privatemy
初心者向けGo言語勉強会
by
leverages_event
組み込みLinuxでのGolangのススメ
by
Tetsuyuki Kobayashi
Go入門
by
Takuya Ueda
Golang handson
by
Ryuto Yasugi
組み込みLinuxでのGolangのススメ(Go con版)
by
Tetsuyuki Kobayashi
Go言語ってどんな言語? 導入実績や気になるトレンド
by
Atsushi Yasuda
【初心者向け】Go言語勉強会資料
by
Yuji Otani
認証Gwのプロトタイプでgolang使ってみた20171024
by
Kohji Osamura
20130824 Lightweight Language "Go" @LL matsuri
by
Yoshifumi Yamaguchi
Goでかんたんソースコードの静的解析
by
Takuya Ueda
Goをえらんだ理由
by
Tatsumi Naganuma
JavaScript経験者のためのGo言語入門
by
Shohei Arai
エキスパートGo
by
Takuya Ueda
GoでMinecraftっぽいの作る
by
京大 マイコンクラブ
Go guide for Java programmer
by
Masaaki Yonebayashi
今日から始める Go言語 と appengine
by
a know
1年目でgolangとscalaを触った話
by
y oe
Go mobileでモバイルアプリを作ろう
by
Takuya Ueda
More from Igarashi Toru
PPTX
システム開発初期時の NoOps について考える
by
Igarashi Toru
PPTX
GKE で始めるPrivate Cluster
by
Igarashi Toru
PPTX
Private Azure Kubernetes Service cluster を触ってみよう♪
by
Igarashi Toru
PDF
今日から始める限定公開クラスタ
by
Igarashi Toru
PDF
GCP でも Serverless!!
by
Igarashi Toru
PPTX
NoOps Japanサイトの紹介
by
Igarashi Toru
PDF
初めての Spanner 移行
by
Igarashi Toru
PDF
[2019 01-19] AzureDevOps LT
by
Igarashi Toru
PDF
2018-12-28_献血のすゝめ 2018
by
Igarashi Toru
システム開発初期時の NoOps について考える
by
Igarashi Toru
GKE で始めるPrivate Cluster
by
Igarashi Toru
Private Azure Kubernetes Service cluster を触ってみよう♪
by
Igarashi Toru
今日から始める限定公開クラスタ
by
Igarashi Toru
GCP でも Serverless!!
by
Igarashi Toru
NoOps Japanサイトの紹介
by
Igarashi Toru
初めての Spanner 移行
by
Igarashi Toru
[2019 01-19] AzureDevOps LT
by
Igarashi Toru
2018-12-28_献血のすゝめ 2018
by
Igarashi Toru
Recently uploaded
PDF
第21回 Gen AI 勉強会「NotebookLMで60ページ超の スライドを作成してみた」
by
嶋 是一 (Yoshikazu SHIMA)
PDF
Reiwa 7 IT Strategist Afternoon I Question-1 Ansoff's Growth Vector
by
akipii ogaoga
PDF
Drupal Recipes 解説 .
by
iPride Co., Ltd.
PDF
Reiwa 7 IT Strategist Afternoon I Question-1 3C Analysis
by
akipii ogaoga
PDF
2025→2026宙畑ゆく年くる年レポート_100社を超える企業アンケート総まとめ!!_企業まとめ_1229_3版
by
sorabatake
PDF
Starlink Direct-to-Cell (D2C) 技術の概要と将来の展望
by
CRI Japan, Inc.
PDF
100年後の知財業界-生成AIスライドアドリブプレゼン イーパテントYouTube配信
by
e-Patent Co., Ltd.
PDF
さくらインターネットの今 法林リージョン:さくらのAIとか GPUとかイベントとか 〜2026年もバク進します!〜
by
法林浩之
PPTX
ddevについて .
by
iPride Co., Ltd.
第21回 Gen AI 勉強会「NotebookLMで60ページ超の スライドを作成してみた」
by
嶋 是一 (Yoshikazu SHIMA)
Reiwa 7 IT Strategist Afternoon I Question-1 Ansoff's Growth Vector
by
akipii ogaoga
Drupal Recipes 解説 .
by
iPride Co., Ltd.
Reiwa 7 IT Strategist Afternoon I Question-1 3C Analysis
by
akipii ogaoga
2025→2026宙畑ゆく年くる年レポート_100社を超える企業アンケート総まとめ!!_企業まとめ_1229_3版
by
sorabatake
Starlink Direct-to-Cell (D2C) 技術の概要と将来の展望
by
CRI Japan, Inc.
100年後の知財業界-生成AIスライドアドリブプレゼン イーパテントYouTube配信
by
e-Patent Co., Ltd.
さくらインターネットの今 法林リージョン:さくらのAIとか GPUとかイベントとか 〜2026年もバク進します!〜
by
法林浩之
ddevについて .
by
iPride Co., Ltd.
2019-01_正月三が日でGolangを触ってみた
1.
正月三が日でGolangを触ってみた 1
2.
Golangとは ● プログラミング言語の 1つ ●
以下の特徴がある ○ 静的型付け ○ C言語の伝統に則ったコンパイル言語 ○ メモリ安全性 ○ ガベージコレクション ○ 構造的型付け ○ CSPスタイルの並行性 ● Goのコンパイラ、ツール、およびソースコードは、すべてフリーかつオープンソースである ● 以下の特徴もある ○ 軽量スレッディングのための機能 ○ Pythonのような動的型付け言語のようなプログラミングの容易性 ● Go処理系としてはコンパイラのみが開発されている 2 出展: https://ja.wikipedia.org/wiki/Golang
3.
Golangとは ● プログラミング言語の 1つ ●
以下の特徴がある ○ 静的型付け ○ C言語の伝統に則ったコンパイル言語 ○ メモリ安全性 ○ ガベージコレクション ○ 構造的型付け ○ CSPスタイルの並行性 ● Goのコンパイラ、ツール、およびソースコードは、すべてフリーかつオープンソースである ● 以下の特徴もある ○ 軽量スレッディングのための機能 ○ Pythonのような動的型付け言語のようなプログラミングの容易性 ● Go処理系としてはコンパイラのみが開発されている 3 出展: https://ja.wikipedia.org/wiki/Golang
4.
わたしとGolang ● Hello Worldくらいしか出来ない ○
しかも調べながら ● クロスコンパイルって響きがかっこいい(※ 意味分かってません ) ● GopherかわいいよGopher 4
5.
きっかけ ● tmuxのステータス画面で、`現在のメモリ・swapの残量を表示(1s更新)` ○ Ubuntu上で作成 5
6.
きっかけ ● tmuxのステータス画面で、`現在のメモリ・swapの残量を表示(1s更新)` ○ Ubuntu上で作成 6 #!/bin/bash _mem=$(free
-h | awk 'NR==2 {print $4}') _swap=$(free -h | awk 'NR==3 {print $4}') echo "${_mem}/${_swap}"
7.
きっかけ ● tmuxのステータス画面で、`現在のメモリ・swapの使用量を表示(1s更新)` ○ 同じスクリプトをmacOS上にコピー ○
tmux上で動かすと何も表示されない… 7
8.
きっかけ ● tmuxのステータス画面で、`現在のメモリ・swapの使用量を表示(1s更新)` ○ 同じスクリプトをmacOS上にコピー ○
tmux上で動かすと何も表示されない… 8
9.
きっかけ ● tmuxのステータス画面で、`現在のメモリ・swapの使用量を表示(1s更新)` ○ 同じスクリプトをmacOS上にコピー ○
tmux上で動かすと何も表示されない… 9 macOSにfreeコマンドはありません \(^o^)/
10.
10
11.
基礎知識 ● Ubuntu ○ Debian
GNU/Linuxをベースとした、LinuxディストリビューションのOS ● MacOS ○ BSD系UNIXをベースに開発されているOS 11
12.
基礎知識 ● Ubuntu ○ Debian
GNU/Linuxをベースとした、LinuxディストリビューションのOS ● MacOS ○ BSD系UNIXをベースに開発されているOS 12 無くて当たり前...
13.
解決策の模索 ● 他のコマンドで代用してみる ○ vmstat ○
top ○ 出力形式は(やっぱり)違ったし、OSの違いを自分で扱うのはつらい※ ■ それが目的では無いので 13
14.
解決策の模索 ● 他のコマンドで代用してみる ○ vmstat ○
top ○ 出力形式は(やっぱり)違ったし、OSの違いを自分で扱うのはつらい※ ■ それが目的では無いので ● Pythonで書く ○ Versionとかライブラリとか面倒くさい … 14
15.
解決策の模索 ● 他のコマンドで代用してみる ○ vmstat ○
top ○ 出力形式は(やっぱり)違ったし、OSの違いを自分で扱うのはつらい※ ■ それが目的では無いので ● Pythonで書く ○ Versionとかライブラリとか面倒くさい … ● Golangを使ってみる ○ Golangはクロスコンパイルだ! (※ 意味分かってません ) ○ やりたいことは明確である ■ そこまで重たい処理・複雑なロジックでは無いはず ○ 興味もかなりある ○ 正月三が日は駅伝見るくらいしかやりたいことが無い※ ■ やりたいことが無い != やらなくてはいけないことが無い 15
16.
まずは使ってみる ● 使えそうなライブラリ(パッケージ?)をググって探す ○ gopsutilなるものを見つける ○
https://github.com/shirou/gopsutil ○ http://tdoc.info/blog/2015/12/16/gopsutil.html 16
17.
まずは使ってみる 17
18.
まずは使ってみる 18
19.
まずは使ってみる 19
20.
まずは使ってみる 20
21.
まずは使ってみる ● Alpine LinuxベースのDockerコンテナでソースコードを作る ○
go runで動作確認 ◎ ○ go build して出来たバイナリで動作確認 ◎ ○ ここまでは順調 21
22.
まずは使ってみる ● Alpine LinuxベースのDockerコンテナでソースコードを作る ○
go runで動作確認 ◎ ○ go build して出来たバイナリで動作確認 ◎ ○ ここまでは順調 ● ホストマシンのUbuntu 18.04で、バイナリを実行してみる ○ 動かない !!!! 22
23.
まずは使ってみる 23 ここで作ったものが…
24.
まずは使ってみる 24 ここで動かない !!
25.
この時の問題(?)点 ● エラーを見ているとライブラリが bash
前提っぽい…?? ○ Dockerコンテナ(Alpine Linux)はshellで実行している ○ でも、コンテナ内では動作確認出来た ● たぶん、環境変数的な何か…か?? ○ go get -u golang.org/x/sys/unix 25
26.
この時の問題(?)点の解決策の模索 ● 環境変数を変えていろいろやってみる ○ だめだった 26
27.
この時の問題(?)点の解決策の模索 ● 環境変数を変えていろいろやってみる ○ だめだった ●
Dockerコンテナに Bash をインストールする ○ コンテナが肥大化するので却下 27
28.
この時の問題(?)点の解決策の模索 ● 環境変数を変えていろいろやってみる ○ だめだった ●
Dockerコンテナに Bash をインストールする ○ コンテナが肥大化するので却下 ● おとなしく、 Bash が入っているDockerコンテナを使う ○ Debianベースのものを使う(golang:1.11.4-stretch) ○ この環境で go build をし、動作確認もした ○ ホストサーバのUbuntu18.04上でも動いた!!! 28
29.
この時の問題(?)点の解決策の模索 29 ここで作ったものが…
30.
この時の問題(?)点の解決策の模索 30 ここでも動いた !!!
31.
本命のmacOSで動かしてみる ● MacOS上に再度コピーをして実行してみる 31
32.
本命のmacOSで動かしてみる ● MacOS上に再度コピーをして実行してみる ○ 結果、動かなかった… 32
33.
本命のmacOSで動かしてみる ● MacOS上に再度コピーをして実行してみる ○ 結果、動かなかった… ○
クロスコンパイルとは… 33
34.
本命のmacOSで動かしてみる ● めげずにググってみる 34
35.
本命のmacOSで動かしてみる ● めげずにググってみる ● まずはクロスコンパイルの環境を作る必要があるらしい 35
36.
本命のmacOSで動かしてみる ● めげずにググってみる ● まずはクロスコンパイルの環境を作る必要があるらしい ○
all.bash とか make.bash とか 36
37.
本命のmacOSで動かしてみる ● めげずにググってみる ● まずはクロスコンパイルの環境を作る必要があるらしい ○
all.bash とか make.bash とか 37
38.
本命のmacOSで動かしてみる ● Dockerfile 38 この部分、追加
39.
本命のmacOSで動かしてみる ● ソースコード 39
40.
本命のmacOSで動かしてみる 40
41.
本命のmacOSで動かしてみる 41
42.
本命のmacOSで動かしてみる ● 無事、macOSでも動作確認が出来ました !! 42
43.
43 ここまでが、正月三が日のお話
44.
44 その後
45.
しばらく使って、気になってきたこと ● 出来ることが少なすぎる ○ 現状はメモリとSwapの残量しか取れない 45
46.
しばらく使って、気になってきたこと ● 出来ることが少なすぎる ○ 現状はメモリとSwapの残量しか取れない 46
47.
しばらく使って、気になってきたこと ● クロスコンパイルの準備に謎が多い ○ make.bash
の中で go1.4 を使うとか嘘でしょ… 47
48.
しばらく使って、気になってきたこと ● クロスコンパイルの準備に謎が多い ○ make.bash
の中で go1.4 を使うとか嘘でしょ… 48 この中に go1.4 が ハードコーディングされている
49.
しばらく使って、気になってきたこと ● そもそもOSが違うと挙動(単位)が違う ○ 深刻な問題 49
50.
しばらく使って、気になってきたこと ● そもそもOSが違うと挙動(単位)が違う ○ 深刻な問題 50
51.
今、やっていること ● 引数を用いて、もう少し便利に使う ○ 出来ることを増やす(増やし過ぎない) ●
DockerHubを使って環境用意 ○ クロスコンパイルの環境を作っておく ● CircleCI辺りを使って、配布用意をする(ex. GitHub) ○ せっかく作ったので、配布までのCI/CDをしたい ● gopsutilにPRをする準備 ○ まずはソースコードを読む 51
52.
52 つまり
53.
53 正月三が日でGolangを触ってみた
54.
54 ではなく
55.
55 正月三が日からGolangを頑張ってる になりました
56.
56 正月三が日からGolangを頑張ってる になりました
57.
まとめ ● ちゃんとドキュメントを読みましょう ● そもそもちゃんとGolangを学びましょう ●
でも、突貫で作ってみるのも楽しいです 57
58.
まとめ ● ちゃんとドキュメントを読みましょう ● そもそもちゃんとGolangを学びましょう ●
でも、突貫で作ってみるのも楽しいです ● とは言え、まずはPythonをしっかり修めてから… 58
59.
59 おわり
Download