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
Spreading world by encouragement of cgo
Search
linyows
October 17, 2017
Technology
0
220
Spreading world by encouragement of cgo
Oct 17, 2017 @fukuoka.go#9 でお話しした資料です
linyows
October 17, 2017
Tweet
Share
More Decks by linyows
See All by linyows
Protocol Buffersの型を超えて拡張性を得る / Beyond Protocol Buffers Types Achieving Extensibility
linyows
0
120
研究開発と実装OSSと プロダクトの好循環 / A virtuous cycle of research and development implementation OSS and products
linyows
1
560
コードジェネレーターで 効率的な開発をする / Efficient development with code generators
linyows
0
350
研究を支える拡張性の高い ワークフローツールの提案 / Proposal of highly expandable workflow tools to support research
linyows
0
480
非コンテナ環境において宣言的Deploymentを手軽に実現する / Declarative deployment in non-container environments
linyows
0
280
メール送信サーバの集約における透過型SMTP プロキシの定量評価 / Quantitative Evaluation of Transparent SMTP Proxy in Email Sending Server Aggregation
linyows
0
1k
透過型SMTPプロキシによる送信メールの可観測性向上: Update Edition / Improved observability of outgoing emails with transparent smtp proxy: Update edition
linyows
2
510
研究の再現性を高める 仕組みをGoでつくる / Creating a system to improve the reproducibility of research using go
linyows
1
270
奥が深いメールのシステム / The depth of Email system
linyows
4
640
Other Decks in Technology
See All in Technology
「Verify with Wallet API」を アプリに導入するために
hinakko
1
230
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
2
5.4k
ACA でMAGI システムを社内で展開しようとした話
mappie_kochi
0
240
生成AIで「お客様の声」を ストーリーに変える 新潮流「Generative ETL」
ishikawa_satoru
1
300
PLaMo2シリーズのvLLM実装 / PFN LLM セミナー
pfn
PRO
2
970
Geospatialの世界最前線を探る [2025年版]
dayjournal
3
490
Optuna DashboardにおけるPLaMo2連携機能の紹介 / PFN LLM セミナー
pfn
PRO
1
870
コンテキストエンジニアリングとは? 考え方と応用方法
findy_eventslides
4
890
ZOZOのAI活用実践〜社内基盤からサービス応用まで〜
zozotech
PRO
0
170
KAGのLT会 #8 - 東京リージョンでGAしたAmazon Q in QuickSightを使って、報告用の資料を作ってみた
0air
0
200
SOC2取得の全体像
shonansurvivors
1
370
「技術負債にならない・間違えない」 権限管理の設計と実装
naro143
36
11k
Featured
See All Featured
Gamification - CAS2011
davidbonilla
81
5.5k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
Side Projects
sachag
455
43k
Docker and Python
trallard
46
3.6k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
Build your cross-platform service in a week with App Engine
jlugia
232
18k
It's Worth the Effort
3n
187
28k
For a Future-Friendly Web
brad_frost
180
9.9k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Faster Mobile Websites
deanohume
310
31k
Transcript
5PNPIJTB0EB(.01FQBCP *OD 0DU ͻΖ͕Δ(P $(0ͷ͢͢Ί GVLVPLBHP
GVLVPLBHP (.0ϖύϘϓϦϯγύϧΤϯδχΞ খాԝ!MJOZPXT ٕज़෦ٕज़ج൫νʔϜ IUUQUPNPIJTBPEBDPN
GVLVPLBHP ࠷͍ۙͬͯΔ͜ͱ ▸ /VYUKTͱ&YQSFTTͰ443αʔϏε ▸ 5ZQF4DSJQUͰOPEFNPEVMFOQNJOTUBMMHNPQH ▸ /44NPEVMFΞϓϦ0$501"44
GVLVPLBHP MJOVYϢʔβͷ໊લղܾΛHJUIVCͷνʔϜίϥϘϨʔλͰߦ͏
GVLVPLBHP 82 1MFBTFVTFBOEHJWFTUBS IUUQTHJUIVCDPNMJOZPXTPDUPQBTT
GVLVPLBHP લճͷ͓͞Β͍ʢGVLVPLBHP ▸ (PWͰQMVHJOQBDLBHF͕Ճ͞Εͨ ▸ CVJMENPEFQMVHJOʹΑͬͯTPϑΝΠϧΛ࡞ ▸ ຊମ͔Β%ZOBNJDBMMZ-PBEFE ▸ ͜Ε·ͰͷPWFS31$ͷ6/*9EPNBJOTPDLFUͰΔΑΓγϯϓ
ϧͰखܰ
$(0ͬͯ·͔͢ʁ GVLVPLBHP
GVLVPLBHP $(0ͬͯ͜͏͍͏ͷ ▸ (PWҎલ͔Β͋Δ ▸ $ͷίʔυΛΠϯϙʔτͨ͠Γ(PͷίʔυΛ$ʹΤΫεϙʔτͰ͖Δ ▸ CVJMENPEFDTIBSFEͰCVJME͢ΔͱIͱTPΛग़ྗ ▸ ֤ݴޠͷ''*ϥΠϒϥϦ͔Β(Pͷίʔυ͕͑Δ
GVLVPLBHP package main /* #cgo pkg-config: onigmo #include <stdlib.h> #include
<string.h> #include <onigmo.h> */ import "C" import "fmt" fun main() { fmt.Println(Version()) // Output: 6.1.3 } func Version() string { return C.GoString(C.onig_version()) } package main // typedef int (*intFunc) (); // // int bridge_int_func(intFunc f) { // return f(); // } // // int fortytwo() { // return 42; // } import "C" import "fmt" func main() { f := C.intFunc(C.fortytwo) fmt.Println(int(C.bridge_int_func(f))) // Output: 42 }
GVLVPLBHP Կ͕خ͍͔͠ ▸ ߴ͍ύϑΥʔϚϯεΛཁ͢Δ෦ΛҠৡͰ͖Δ ▸ ͷߴ͍NJEEMFXBSFΛΈࠐΊΔ ▸ $ͷख़࿅͕ͯ͘ൺֱత҆શͳΞϓϦέʔγϣϯ͕࡞ΕΔ ▸ ྫ͑PQFOTTM
GGNQFH QIQ NSVCZ
GVLVPLBHP ؾΛ͚ͭΔͱ͜Ζ ▸ (PϙΠϯλϝϞϦͷڞ༗ʹϧʔϧ͕͋Δ ▸ ϙΠϯλͷϧʔϧҧΛಈతʹνΣοΫ͍ͯͯ͠Ϋϥογϡ͢Δ ▸ (0%(DHPDIFDL $VJOUQUS ▸
ͪΖΜ$ଆ($͞Εͳ͍͠$GSFF͠ͳ͍ͱϝϞϦϦʔΫ͢Δ ▸ εϨουηʔϑͰͳ͍ͷ͔ͬ͠ΓTZODNVUFY͢Δ ▸ $(0ʹॻ͍ͨ$ผϑΝΠϧ͔Βࢀরग़དྷͳ͍
$ͷϥούʔΛ࡞Δͱ٢ GVLVPLBHP
҆શΛࣺͯڈΕ $ଆͰͳΜͰग़དྷΔ GVLVPLBHP
GVLVPLBHP ͦ͏͍͑ʜ7VF͕ϦϦʔε ▸ NBUUOHPW TPOZWFWBM MB[ZUJHFSHPWʜ ▸ WVFTFSWFSSFOEFSFS͕"MU+BWB4DSJQU3VOUJNFΛαϙʔτ ▸ (Pͷ8FCαʔόͰWόΠϯσ
ΟϯάΛ͑WVFͰ443 Ͱ͖ͦ͏ͩ &$."4DSJQUͷQVSFHP࣮͋Γ·͕͢
GVLVPLBHP ·ͱΊ ▸ ָͯ͠ʁʁ৴པੑߴ͍طଘࢿ࢈ιϑτΣΞ͕͑Δ ▸ $ͷεΩϧ͕ෆཁͰͳ͍ͷͰຊԻΛݴ͏ͱ(PͰ͍݁ͤͨ͞ ▸ ͱ͍͑ɺࣗ༝ͷେ͖͍બ͕Ͱ͖Δͱ͍͏ͷϝϦοτ
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ GVLVPLBHP