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
研究開発と実装OSSと プロダクトの好循環 / A virtuous cycle of research and development implementation OSS and products
linyows
1
360
コードジェネレーターで 効率的な開発をする / Efficient development with code generators
linyows
0
310
研究を支える拡張性の高い ワークフローツールの提案 / Proposal of highly expandable workflow tools to support research
linyows
0
440
非コンテナ環境において宣言的Deploymentを手軽に実現する / Declarative deployment in non-container environments
linyows
0
220
メール送信サーバの集約における透過型SMTP プロキシの定量評価 / Quantitative Evaluation of Transparent SMTP Proxy in Email Sending Server Aggregation
linyows
0
970
透過型SMTPプロキシによる送信メールの可観測性向上: Update Edition / Improved observability of outgoing emails with transparent smtp proxy: Update edition
linyows
2
470
研究の再現性を高める 仕組みをGoでつくる / Creating a system to improve the reproducibility of research using go
linyows
1
240
奥が深いメールのシステム / The depth of Email system
linyows
4
610
IaCにおけるテスト考察 / Tests in IaC
linyows
2
730
Other Decks in Technology
See All in Technology
Railsの限界を超えろ!「家族アルバム みてね」の画像・動画の大規模アップロードを支えるアーキテクチャの変遷
ojima_h
4
510
[TechNight #91] Oracle Database 最新パフォーマンス分析手法
oracle4engineer
PRO
2
110
私とAWSとの関わりの歩み~意志あるところに道は開けるかも?~
nagisa53
1
130
「育てる」サーバーレス 〜チーム開発研修で学んだ、小さく始めて大きく拡張するAWS設計〜
yu_kod
1
110
Shadow DOM & Security - Exploring the boundary between light and shadow
masatokinugawa
0
740
自分がLinc’wellで提供しているプロダクトを理解するためにやったこと
murabayashi
1
160
隙間時間で爆速開発! Claude Code × Vibe Coding で作るマニュアル自動生成サービス
akitomonam
2
160
AI人生苦節10年で会得したAIがやること_人間がやること.pdf
shibuiwilliam
1
190
クマ×共生 HACKATHON - 熊対策を『特別な行動」から「生活の一部」に -
pharaohkj
0
170
Ktor + Google Cloud Tasks/PubSub におけるOTel Messaging計装の実践
sansantech
PRO
1
320
M365アカウント侵害時の初動対応
lhazy
7
5k
Wasmで社内ツールを作って配布しよう
askua
0
150
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
246
12k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
Scaling GitHub
holman
461
140k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Site-Speed That Sticks
csswizardry
10
720
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
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