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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
take_cheeze
January 22, 2019
Programming
260
0
Share
html5everをスクリプト言語から呼ぶ
take_cheeze
January 22, 2019
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.7k
fukuoka.rb 祝 #100!
takecheeze
0
670
dep ensure浅掘り
takecheeze
0
460
LuaJIT as a Ruby backend
takecheeze
1
3.8k
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
Kubernetes上でAgentを動かすための最新動向と押さえるべき概念まとめ
sotamaki0421
3
440
[PHPerKaigi 2026]PHPerKaigi2025の企画CodeGolfが最高すぎて社内で内製して半年運営して得た内製と運営の知見
ikezoemakoto
0
340
AI時代の脳疲弊と向き合う ~言語学としてのPHP~
sakuraikotone
1
1.8k
GNU Makeの使い方 / How to use GNU Make
kaityo256
PRO
16
5.6k
脱 雰囲気実装!AgentCoreを良い感じにWEBアプリケーションに組み込むために
takuyay0ne
3
440
夢の無限スパゲッティ製造機 -実装篇- #phpstudy
o0h
PRO
0
200
ローカルで稼働するAI エージェントを超えて / beyond-local-ai-agents
gawa
2
260
Going Multiplatform with Your Android App (Android Makers 2026)
zsmb
2
350
メッセージングを利用して時間的結合を分離しよう #phperkaigi
kajitack
3
570
今こそ押さえておきたい アマゾンウェブサービス(AWS)の データベースの基礎 おもクラ #6版
satoshi256kbyte
1
230
ネイティブアプリとWebフロントエンドのAPI通信ラッパーにおける共通化の勘所
suguruooki
0
250
Nuxt Server Components
wattanx
0
260
Featured
See All Featured
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
260
Odyssey Design
rkendrick25
PRO
2
570
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.5k
The Language of Interfaces
destraynor
162
26k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
160
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.8k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
710
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
240
Building Applications with DynamoDB
mza
96
7k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.5k
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の話もしたかった