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
180
html5everをスクリプト言語から呼ぶ
take_cheeze
January 22, 2019
Tweet
Share
More Decks by take_cheeze
See All by take_cheeze
goluaをさわってみる
takecheeze
0
260
mgemのCIを支える諸々
takecheeze
2
520
Go_2のドラフトを読む__エラー編_.pdf
takecheeze
0
1.4k
fukuoka.rb 祝 #100!
takecheeze
0
520
dep ensure浅掘り
takecheeze
0
330
LuaJIT as a Ruby backend
takecheeze
1
3k
Fukuoka Ruby Award 10th
takecheeze
1
180
コンパイル時計算への招待.pdf
takecheeze
1
1.1k
mrubyにとるRubyのシングルバイナリ運用
takecheeze
0
1k
Other Decks in Programming
See All in Programming
Node.js v22 で変わること
yosuke_furukawa
PRO
9
3.2k
GraphQLサーバの構成要素を整理する #ハッカー鮨 #tsukijigraphql / graphql server technology selection
izumin5210
4
830
Code Reviews
bkuhlmann
4
890
エンターテイメント業界で利用されるAWS
demuyan
0
210
VSCodeでのDatabricks開発もお勧めしたい/I would also recommend Databricks development with VSCode.
kazumain
0
250
AWS Application Composerで始める、 サーバーレスなデータ基盤構築 / 20240406-jawsug-hokuriku-shinkansen
kasacchiful
1
260
サイコロで理解する統計的仮説検定の考え方
tatamiya
4
920
Tailwind CSSを本気でカスタマイズする方法
fsubal
13
5.2k
R言語の環境構築と基礎 Tokyo.R 112
bob3bob3
0
270
効率化に挑戦してみたらモバイル開発が少し快適になった話
ryunakayama
0
130
PHPの次期バージョンはこの時期どうなっているのか - Internalsの開発体制について - PHPカンファレンス小田原
youkidearitai
PRO
1
190
データアナリストが行うDatabricksを活用したETLの自動化事例
shinoa
0
270
Featured
See All Featured
Bash Introduction
62gerente
604
210k
KATA
mclloyd
15
12k
A Modern Web Designer's Workflow
chriscoyier
689
190k
Art, The Web, and Tiny UX
lynnandtonic
289
19k
Docker and Python
trallard
34
2.7k
The Cult of Friendly URLs
andyhume
74
5.7k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
6
1.5k
In The Pink: A Labor of Love
frogandcode
138
21k
Git: the NoSQL Database
bkeepers
PRO
422
63k
GraphQLとの向き合い方2022年版
quramy
32
12k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
17
1.4k
Documentation Writing (for coders)
carmenintech
60
3.9k
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の話もしたかった