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
「Small is Going big」mercari.go#10
Search
taqboz
August 20, 2019
Technology
0
1.5k
「Small is Going big」mercari.go#10
taqboz
August 20, 2019
Tweet
Share
Other Decks in Technology
See All in Technology
オブザーバビリティプラットフォーム開発におけるオブザーバビリティとの向き合い / Hatena Engineer Seminar #34 オブザーバビリティの実現と運用編
arthur1
0
380
Bet "Bet AI" - Accelerating Our AI Journey #BetAIDay
layerx
PRO
4
1.7k
LLM 機能を支える Langfuse / ClickHouse のサーバレス化
yuu26
9
1.5k
LLMをツールからプラットフォームへ〜Ai Workforceの戦略〜 #BetAIDay
layerx
PRO
1
950
Segment Anything Modelの最新動向:SAM2とその発展系
tenten0727
0
700
Amazon Q と『音楽』-ゲーム音楽もAmazonQで作成してみた感想-
senseofunity129
0
130
Tableau API連携の罠!?脱スプシを夢見たはずが、逆に依存を深めた話
cuebic9bic
3
220
JAWS AI/ML #30 AI コーディング IDE "Kiro" を触ってみよう
inariku
3
350
Findy Freelance 利用シーン別AI活用例
ness
0
430
生成AIによるソフトウェア開発の収束地点 - Hack Fes 2025
vaaaaanquish
5
1.3k
「Roblox」の開発環境とその効率化 ~DAU9700万人超の巨大プラットフォームの開発 事始め~
keitatanji
0
120
20250807_Kiroと私の反省会
riz3f7
0
200
Featured
See All Featured
Bash Introduction
62gerente
614
210k
Become a Pro
speakerdeck
PRO
29
5.5k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
The Straight Up "How To Draw Better" Workshop
denniskardys
235
140k
4 Signs Your Business is Dying
shpigford
184
22k
BBQ
matthewcrist
89
9.8k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
22
1.4k
The Language of Interfaces
destraynor
158
25k
For a Future-Friendly Web
brad_frost
179
9.9k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
1k
Facilitating Awesome Meetings
lara
54
6.5k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Transcript
8/20 2019 Mercari.go #10 Small is going big GopherCon2019
TQBOZ 吉⽥ 拓海 @taqboz ⼤学4年⽣ 経営学部 Go歴:6ヶ⽉
実際に参加してみて
もちろん、楽しみにしていましたが、 懸念点が、、、 • Go歴が短く、ついていけるか不安 • 英語を聞き取り続けていけるか不安 • コミニケーションが中⼼なのでは → 英語が不安
⾏く前
話の難易度はセッションによるので、 事前にアジェンダを⾒て⾒るものを 決めておけば⼤丈夫 GopherのコミニティSlackで 情報が流れてくるので、 ある程度は聞き逃しても情報を追える ⾏ったあと
やっぱり英語ができないと難しい けど、 • セッションのときには字幕がある • 割とフランクに接してもらえる • 結構⾃由に過ごせる ただやっぱり⾃分のしたい話をする、聞きたい話を聞くのに不便 様々な機会を取り逃すので英語は⼤事
⾏ったあと
TinyGo
source code Go TinyGo Go SSA LLVM LLVM IR binary
TinyGoについて • LLVMを使ったGoコンパイラ • バイナリファイルのサイズを抑えてビルド • LLVMがWebAssembly対応 → 副産物としてTinyGoも対応 • 現時点でのバージョン:0.7.1
WebAssemblyで試してみる ファイルサイズが約1/20になった WebAssembly goals 「Be fast, efficient, and portable」<- ファイルサイズが⼩さくなるのでロードを⾼速化できる
main.go (Hello, World) Go標準コンパイラ(1.12.7)とTinyGoの⽐較
デメリット / 制限 1. Gotoutineのサポートが完全ではない 2. GCはARMマイクロコントローラー (Cortex-M)のみ対応 3. 使えない標準パッケージが多い(net/http等)
参照:https://tinygo.org/lang-support/stdlib/ 4. mapのキーは⽂字列、整数、ポインタ、 構造体(前記の型で構成されたもののみ)のみ対応
TinyGoについて 主にIoTデバイス、 マイクロコントローラーでの活⽤ 制限があるなかでどこまでできるか 親⼦でデモで実践 by Ron Evans(@deadprogram) Small is
going big: Go on microcontrollers
セッション内でのデモ • Digispark上でLEDの点滅 (8bitプロセッサー & 8KB RAM) • Gopherbot ボタンの押し込み
でLEDの点灯 package main Import ( "machine” "time” ) func main() { led := machine.LED led.Configure(machine.PinConfig{Mode: machine.PinOutput}) for { led.Low() time.Sleep(time.Millisecond * 500) led.High() time.Sleep(time.Millisecond * 500) } }
セッション内でのデモ フライトコントローラー • Arduino Nano 33 IoT • アナログスティック •
ボタン • OLEDディスプレイ net系パッケージは動作しないものの Arduinoチップに組み込まれたWi-Fi チップで動作するインターフェイス をコントリビューターの⽅が実装し たとのこと。
Droneデモ Tello Ryze Drone IP: 192.168.10.1 PORT : 11111 Video
PORT : 8889 Commands & Response Arduino Nano33 IoT UDP I2C JoyStick Button A/O GPIO OLED IP: 192.168.10.2 PC
TinyGo PlayGround https://play.tinygo.org/ マイクロコントローラー持ってない⽅でも 試せるのでこちらで試してみては?
ご清聴ありがとう ございました