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
480
LuaJIT as a Ruby backend
takecheeze
1
3.8k
コンパイル時計算への招待.pdf
takecheeze
1
1.5k
mrubyにとるRubyのシングルバイナリ運用
takecheeze
0
1.4k
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
570
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
620
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
610
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
290
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
270
Ruling the World: When Life Gets Gamed
codingconduct
0
380
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
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の時期メジャーリリースに期待 • うわさを聞いたので • より静的コンパイルを行えるように • 互換性を崩しても性能をより出せる変更を • よりメモリフットプリントの小さいランタイム •
型チェック • よりよいドキュメント
以上ありがとうございました