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
280
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
html5everをスクリプト言語から呼ぶ
take_cheeze
January 22, 2019
More Decks by take_cheeze
See All by take_cheeze
goluaをさわってみる
takecheeze
0
410
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
Fukuoka Ruby Award 10th
takecheeze
1
290
コンパイル時計算への招待.pdf
takecheeze
1
1.5k
mrubyにとるRubyのシングルバイナリ運用
takecheeze
0
1.4k
Other Decks in Programming
See All in Programming
XP祭りでしか伝わらないフリップネタ #xpjug
murabayashi
0
110
片田舎のおっさん、 Swift Buildのダイアモンド問題解決の不具合修正PRを出すが、解決方法がキャッシュをしないようにすることであり、ビルド時間が伸びると言われてマージされないので高速化もする/swiftbuild
yimajo
0
350
Hono + Inertia + React で LP を構築した話
oukayuka
2
210
AI に Inclusive UI を書かせよう — Design Rules Skill で Compose UI を作り直す
theoriatec2024
1
440
Hello, Hiroshima Geospatial Data! — Exploring DoboX with Python
ra0kley
0
170
高専、大学編入、そして未踏へ〜プロダクト開発とキャリアの歩み - Technical College, University Transfer, and On to “Mitou” / My Journey in Product Development and Career
pkmiya
0
130
FDEとは、何者なのか?
masapyon1212
0
140
PyConJP2026_wat_Python × Signal Processing: How to Draw Pictures with Sound Using Spectrogram Art
wat
0
660
FastAPI の並行処理モデルを完全に理解する
hoto17296
9
3.7k
AI駆動開発にグラフDBを重ねてみた
satoshi256kbyte
2
730
ソフトウェアラスタライザ
fadis
1
780
不幸な GC
chencmd
0
880
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
710
30 Presentation Tips
portentint
PRO
1
390
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
Code Reviewing Like a Champion
maltzj
528
40k
How GitHub (no longer) Works
holman
316
150k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
490
GitHub's CSS Performance
jonrohan
1033
470k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.5k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
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の話もしたかった