Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
「Small is Going big」mercari.go#10
Search
taqboz
August 20, 2019
Technology
1.5k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
「Small is Going big」mercari.go#10
taqboz
August 20, 2019
Other Decks in Technology
See All in Technology
全PRの83%が AIレビューだけでマージできるようになった開発組織は その後どうなったか @2026/10
athug
0
130
宣言型部分更新は何を解決しどこへ向かうのか
shuta13
0
260
分析の民主化を支えるメタデータ整備の実践
kakehashi
PRO
4
1.2k
無理せず続ける、子育てエンジニアの学び
codmoninc
PRO
0
570
AI時代のPRレビューにどう向き合うか?
kairim0
1
140
ai_cording_with_k8s_knowledge.pdf
mochizuki875
1
330
オブザーバビリティを高める AI エージェント体験を考える / Designing AI Agent Experiences That Enhance Observability
aoto
PRO
2
320
契約書画像からの情報抽出に特化した視覚接地モデルを育てる話
sansantech
PRO
1
160
Cognition AI Japan - ウェビナー2_テストQA_運用監視
cogakira
0
120
組み立てて楽しむ AWS Blocks 入門
kmiya84377
0
220
MCPゲートウェイを作って運用してわかったこと — Agent時代の権限管理の現在地
mtpooh
10
3.3k
並行性の問題を防げ!実践トランザクション入門
occhi
0
280
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
Design in an AI World
tapps
1
350
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
1k
エンジニアに許された特別な時間の終わり
watany
109
250k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
590
WCS-LA-2024
lcolladotor
0
860
GitHub's CSS Performance
jonrohan
1033
470k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.7k
The Cult of Friendly URLs
andyhume
79
7k
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/ マイクロコントローラー持ってない⽅でも 試せるのでこちらで試してみては?
ご清聴ありがとう ございました