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
html5everをスクリプト言語から呼ぶ
Search
take_cheeze
January 22, 2019
Programming
0
210
html5everをスクリプト言語から呼ぶ
take_cheeze
January 22, 2019
Tweet
Share
More Decks by take_cheeze
See All by take_cheeze
goluaをさわってみる
takecheeze
0
310
mgemのCIを支える諸々
takecheeze
2
530
Go_2のドラフトを読む__エラー編_.pdf
takecheeze
0
1.5k
fukuoka.rb 祝 #100!
takecheeze
0
590
dep ensure浅掘り
takecheeze
0
390
LuaJIT as a Ruby backend
takecheeze
1
3.4k
Fukuoka Ruby Award 10th
takecheeze
1
250
コンパイル時計算への招待.pdf
takecheeze
1
1.3k
mrubyにとるRubyのシングルバイナリ運用
takecheeze
0
1.2k
Other Decks in Programming
See All in Programming
NestJSのコードからOpenAPIを自動生成する際の最適解を探す
astatsuya
0
170
WordPress Playground for Developers
iambherulal
0
120
ニックトレイン登壇資料
ryotakurokawa
0
130
JavaOne 2025: Advancing Java Profiling
jbachorik
1
310
SLI/SLOの設定を進めるその前に アラート品質の改善に取り組んだ話
tanden
2
670
Preact、HooksとSignalsの両立 / Preact: Harmonizing Hooks and Signals
ssssota
1
480
snacks.nvim内のセットアップ不要なプラグインを紹介 / introduce_snacks_nvim
uhooi
0
320
家族・子育て重視/沖縄在住を維持しながらエンジニアとしてのキャリアをどのように育てていくか?
ug
0
220
Compose Navigation実装の見通しを良くする
hiroaki404
0
170
AI Agentを利用したAndroid開発について
yuchan2215
0
200
CTFのWebにおける⾼難易度問題について
hamayanhamayan
1
930
The Evolution of Enterprise Java with Jakarta EE 11 and Beyond
ivargrimstad
0
690
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
29
8.5k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Docker and Python
trallard
44
3.3k
Agile that works and the tools we love
rasmusluckow
328
21k
Building an army of robots
kneath
304
45k
Become a Pro
speakerdeck
PRO
27
5.2k
Fireside Chat
paigeccino
37
3.3k
Building Your Own Lightsaber
phodgson
104
6.3k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
The Invisible Side of Design
smashingmag
299
50k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
12k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
30
1.1k
Transcript
html5everを スクリプト言語から呼ぶ @take[-_]cheeze
自己紹介 - 仕事ではRailsとGolang書いとります - RustはC++の代替として覚えようと - 最近は、Address SanitizerのせいでC++でもいいんじゃね? と思いつつある。。。おのれGoogle! -
とはいえ、Better-CがほしいならRustがいいかな
作ったもの - mrustyというmrubyからRustを呼べるようにするライブラリの改 造 - ↑を使ったhtml5everバインディング - nokogiriを置き換えたかった気がする(覚えてない
使ってるもの解説 - html5ever - HTML5パーサー - Firefox Quantumから使われているHTMLレンダリングエ ンジンServoの内部で使われている -
mrusty - anima-engineというゲームエンジンの一部 - Rustで実装されたゲームエンジンのため? - 正直、マクロでの記法はhelixに劣る
仕組み - mruby本体に手を入れずにビルドスクリプトでがんばる - mrbgem.rakeというmrubyのgemの設定ファイルが長い - 150行越え - なんていうか大変だった... -
もうmrubyに手を入れたい - Cargo.tomlをmrbgem.rakeの設定から生成 - ライブラリの生成
Cargoと戯れる - Cargoの内部について - Cargoのソースを読んでみようがおすすめ - ビルドツールが提供されるのは嬉しい - でも、挙動の把握が大変 -
必要な依存ライブラリのビルドに使う - Cargoの特殊な使い方をいっぱい知った - 複数のRustを使ったmrbgemだとまだ未対応
html5everの機能 - とりあえずHTML5のテキストのパース - セレクターなどの機能は手付かず - 小要素を辿ってくとか、要素のタイプを取得できる - 詳しくはテスト見て
セレクターをどうするのか? - kuchikiがあるのでそれを使う? - ぐぐると「済まぬ」さんしか出てこないの要工夫 - XPath使えない... - nokogiriがXPath使えたので、現在ここで頓挫
XML対応 - xml5everというhtml5ever下のプロジェクト - html5ever下になったら、開発が進むかなと...? - それほど活発に開発されていない - SXD -
SXD-XPath: XPath対応 - SXD-Document: XMLドキュメントに対応
おしまい - ありがとうございました - helixの話もしたかった