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
Fukuoka Ruby Award 10th
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
take_cheeze
March 20, 2018
290
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Fukuoka Ruby Award 10th
take_cheeze
March 20, 2018
More Decks by take_cheeze
See All by take_cheeze
goluaをさわってみる
takecheeze
0
410
html5everをスクリプト言語から呼ぶ
takecheeze
0
280
mgemのCIを支える諸々
takecheeze
2
580
Go_2のドラフトを読む__エラー編_.pdf
takecheeze
0
1.8k
fukuoka.rb 祝 #100!
takecheeze
0
700
dep ensure浅掘り
takecheeze
0
470
LuaJIT as a Ruby backend
takecheeze
1
3.8k
コンパイル時計算への招待.pdf
takecheeze
1
1.5k
mrubyにとるRubyのシングルバイナリ運用
takecheeze
0
1.4k
Featured
See All Featured
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
370
Accessibility Awareness
sabderemane
1
210
HDC tutorial
michielstock
2
860
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
290
[SF Ruby Conf 2025] Rails X
palkan
2
1.4k
エンジニアに許された特別な時間の終わり
watany
108
250k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
370
Discover your Explorer Soul
emna__ayadi
2
1.3k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
330
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
840
4 Signs Your Business is Dying
shpigford
187
23k
Transcript
mrbgem CI 2018/03/13 福岡Ruby大賞 本審査 株式会社 Fusic 渡辺 丈
自己紹介 • GitHub ID: @take-cheeze • mruby contributers 4位くらいの人 •
去年7月から福岡に越してきた
やったこと • mgem-listにあるmrbgemが正しくビルドできてテストが通る かチェックするだけのサーバーをIIJ GIO上に作った • https://103.128.221.202.static.iijgio.jp/jenkins/ • 詳しくは: https://qiita.com/take_cheeze/items/912b62637afab1b6c06
d
動機 • mgem-listにあっても基本メンテがそれほど期待できない • sanitizerでチェックしただけでバグがいっぱい見つかる • 軽微なのはメモリリーク系のバグ • メモリアクセス違反 •
APIを正しく利用していないケース • 仕事の息抜きに簡単な修正をしたかったので • GitHubの芝に
mruby/Rubyを使った部分 • Jenkinsのジョブ生成にRubyスクリプトを利用 • JenkinsでRubyスクリプトの実行がサポートされていたので • https://github.com/mrbgems/jenkins • そもそもテスト対象がmruby •
Docker+Jenkinsの比重が高いので実際にRubyを利用した部分 は少ない • Rubyはやはり書き捨てるようなスクリプトに最適
修正したmrbgem一覧 • mruby-thread • mruby-uv • mruby-r3 • matsumotory/mruby-geoip 5
commits • bggd/mruby-channel 5 commits • matsumotory/mruby-fast-remote-check 2 commits • Asmod4n/mruby-getpass 2 commits • baldowl/mruby-bcrypt 2 commits • takumakume/mruby-file-access 2 commits • take-cheeze/mruby-leveldb2 commits • haconiwa/mruby-exec 1 commit • jbreeden/mruby-zlib1 commit • udzura/mruby-posix_ipc 1 commit • iij/mruby-simple-random1 commit • dearblue/mruby-aux 1 commit • UniTN-Mechatronics/mruby-fsm 1 commit • matsumotory/mruby-eventfd 1 commit • h2so5/mruby-sha2 1 commit • mattn/mruby-sha11 commit • dearblue/mruby-lz41 commit • dearblue/mruby-zstd1 commit
今後 • 3月中にIIJ GIOの期限が切れるそうなのでひとまずそれまで運 用予定 • どこかに移せないこともないが、趣味でやる枠を外れつつある • ビルドサーバー自体にそれなりのスペックを要求 •
自宅に置くと管理が難しい • mingw+wineとかdarlingでWindowsとmacOSのテスト • できればスポンサーがいれば… • mruby本体へのフィードバック
mrubyのビルドシステムの課題 • mrbgemなどのバージョン固定をできるロックファイル • mruby/cの同梱 • システム自体のメンテナンス性向上 • CRubyなしでの利用 •
並列ビルド • CRuby gemを変更無しでmrubyに取り込めるように • Rustのサポート(C言語で書くことの限界) • Cのコードの静的チェックをlibclangで行えるように
LLVM/clangの活用 • 最高クラスの品質を持つC系言語処理系 • パーサーの利用しやすさによるツールの充実 • clang-format • clang-tidy •
clangd • 他の言語ではlibclangを用いたグルーコードの自動生成 • rust-bindgen • Cray言語のbindgen • clangのLibToolingによるCのソースコード書き換え
mrubyの時期メジャーリリースに期待 • うわさを聞いたので • より静的コンパイルを行えるように • 互換性を崩しても性能をより出せる変更を • よりメモリフットプリントの小さいランタイム •
型チェック • よりよいドキュメント
以上ありがとうございました