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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
take_cheeze
January 22, 2019
Programming
0
250
html5everをスクリプト言語から呼ぶ
take_cheeze
January 22, 2019
Tweet
Share
More Decks by take_cheeze
See All by take_cheeze
goluaをさわってみる
takecheeze
0
380
mgemのCIを支える諸々
takecheeze
2
560
Go_2のドラフトを読む__エラー編_.pdf
takecheeze
0
1.6k
fukuoka.rb 祝 #100!
takecheeze
0
670
dep ensure浅掘り
takecheeze
0
450
LuaJIT as a Ruby backend
takecheeze
1
3.7k
Fukuoka Ruby Award 10th
takecheeze
1
280
コンパイル時計算への招待.pdf
takecheeze
1
1.4k
mrubyにとるRubyのシングルバイナリ運用
takecheeze
0
1.4k
Other Decks in Programming
See All in Programming
コードレビューをしない選択 #でぃーぷらすトウキョウ
kajitack
3
990
脱 雰囲気実装!AgentCoreを良い感じにWEBアプリケーションに組み込むために
takuyay0ne
1
120
野球解説AI Agentを開発してみた - 2026/02/27 LayerX社内LT会資料
shinyorke
PRO
0
320
CSC307 Lecture 14
javiergs
PRO
0
470
CDIの誤解しがちな仕様とその対処TIPS
futokiyo
0
220
AI時代のソフトウェア開発でも「人が仕様を書く」から始めよう-医療IT現場での実践とこれから
koukimiura
0
150
受け入れテスト駆動開発(ATDD)×AI駆動開発 AI時代のATDDの取り組み方を考える
kztakasaki
2
590
maplibre-gl-layers - 地図に移動体たくさん表示したい
kekyo
PRO
0
280
20260228_JAWS_Beginner_Kansai
takuyay0ne
5
550
生成 AI 時代のスナップショットテストってやつを見せてあげますよ(α版)
ojun9
0
230
エラーログのマスキングの仕組みづくりに役立ったASTの話
kumoichi
0
230
CSC307 Lecture 15
javiergs
PRO
0
250
Featured
See All Featured
Balancing Empowerment & Direction
lara
5
940
Technical Leadership for Architectural Decision Making
baasie
3
290
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
63
51k
Building Applications with DynamoDB
mza
96
7k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.9k
KATA
mclloyd
PRO
35
15k
The Cult of Friendly URLs
andyhume
79
6.8k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
770
The SEO Collaboration Effect
kristinabergwall1
0
390
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
Building an army of robots
kneath
306
46k
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の話もしたかった