Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
2024年度SecHack365 アシスタントを囲む会
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
HiroyukiYagihashi
August 28, 2024
Technology
120
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
2024年度SecHack365 アシスタントを囲む会
HiroyukiYagihashi
August 28, 2024
More Decks by HiroyukiYagihashi
See All by HiroyukiYagihashi
LLMの活用方法と課題
yagipy
0
380
What is Soft Memory Limit?
yagipy
1
740
Building markdown editor using Rust’s parser
yagipy
0
2.6k
簡易的な推薦機能を実装する
yagipy
0
180
GitHub oneliner command
yagipy
0
120
Other Decks in Technology
See All in Technology
Flutter Widget Previewerで始めるUIプレビューとVRTの自動化
sakusaku3939
0
170
Claude Code をローカルとサーバー上で利用した際の Bedrock 利用料をユーザー単位で一本化してみる
ohorig
0
190
Oracle Database Security 詳細解説
oracle4engineer
PRO
1
120
AIをリアル世界に解き放つ 〜M5Stack×AIであなたのアイディアを手の平に〜
hamadakoji
1
610
クラウドエージェントの先駆け Devin。今も最先端を走る、他との違い
kinopeee
1
500
キヨさん、67歳。AIコーディングエージェントに挑む
happysamurai294
0
120
基本から分かる!AWSセキュリティ運用の考え方と任せ方
cmusudakeisuke
1
170
AIコーディングエージェント開発_全体像
happysamurai294
0
120
デザインレビューは自動化できるのか?─ Flutter × Figma で UI 品質保証を考える
techiro
2
570
ポケモン対戦を自動で記録して振り返ろう
fufufukakaka
0
420
AI時代の開発はウォーターフォールに回帰する? / development-with-ai-back-to-wf
okamototakuyasr2
0
150
AWS Continuum for Penetration Testing に Deep Dive してみる
asanoharuki
2
1.4k
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.3k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.9k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
310
Making the Leap to Tech Lead
cromwellryan
135
10k
Are puppies a ranking factor?
jonoalderson
2
4.1k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
The Curious Case for Waylosing
cassininazir
1
590
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
2
420
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
Into the Great Unknown - MozCon
thekraken
41
2.8k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.7k
Building a Scalable Design System with Sketch
lauravandoore
464
34k
Transcript
2024年度SecHack 36 5 アシスタントを囲む会 八木 橋拓之 1
八木 橋 拓之 / yagipy • 株式会社サイバーエージェント AI事業本部 アドテクDiv ProFit-X
ソフトウェアエンジニア • 広告配信システム(SSP)の開発 • OSS開発 • maintidx (Owner) • ソースコードの保守性を計測する静的解析ツール • Althea (Owner) • 所有権付き参照カウントを備えたプログラミング 言 語 • golangci-lint (Maintainer) • Goの静的解析ツールをまとめて実 行 するツール • etc … @yagipy @yagipy_ 2
1 . 自身 の成果物について紹介 2 .7 月 時点のスライド 3 .開発の進め
方 4 .重要視していた観点 5 .おまけ: プログラミング 言 語独 自 の有 用 性の出し 方 3
自身 の成果物について紹介 4
自身 の成果物について紹介 • https://sechack 3 65 .nict.go.jp/achievement/ 2022 / 5
使 用 ライブラリ • https://github.com/yagipy/althea • inkwell • llvm-sys(LLVM C
APIのbinding)のラッパー • structopt • オプションのハンドリング • codespan/codespan-reporting • エラーレポート 6
7 月 時点のスライド
7 月 時点のスライド オフライン限定 8
開発の進め 方
開発初期 • Kaleidoscope: Implementing a Language with LLVM • https://llvm.org/docs/tutorial/
• 10 日 くらいでできる!プログラミング 言 語 自 作 入門 • https://essen.osask.jp/?a 2 1 _txt 0 1 • 低レイヤを知りたい 人 のためのCコンパイラ作成 入門 • https://www.sigbus.info/compilerbook 10
ベースの実装が完成した後 以下 手 順で作成 1 . Altheaに欲しい機能をC 言 語で実装 2
. 1で実装したソースコードからLLVM IRを出 力 (clangを使 用 ) 3 . 2で出 力 されたLLVM IRをLLVM Language Reference Manualを元に読み解 きつつAltheaに実装( 言 語仕様はここで考える) 後半はLLVM IRを直接書いて実装 11
重要視していた観点
重要視していた観点 • 課題が明確かつ重要か • 解決しようとしている課題が具体的に再現できているか( 手 元で再現できるコードなどがあるとベスト) • 課題が解決されることによって誰がどの程度有益か •
競合はあるか(課題の解決策も含める) • ある場合 • 競合と 比 較して優れている点は何か • 優れている点はどういったユースケースで価値を発揮するのか • ない場合 • なぜないのか(競合調査が 足 りてないケースが多い) • 別のより良い解決策はないか(解決策が妥当か) • 川合ゼミの場合 • プログラミング 言 語でやる必要があるか(ライブラリなどで解決できないか) 13
プログラミング 言 語独 自 の 有 用 性の出し 方
プログラミング 言 語独 自 の有 用 性の出し 方 • 主要なプログラミング
言 語が提供している機能に着 目 する • 自 動メモリ管理(GCや所有権など) • グリーンスレッドやスレッド間通信 • ランタイム(スレッドスケジューリングなど) • 型システム • エラーレポート • プログラミング 言 語の構造に着 目 する • トークナイザーとパーサーは独 自色 を出しにくい&機能の差異を作りにくい • AST以後の処理は独 自色 を出しやすい 15
ありがとうございました 16
参考資料 • https://sechack 3 65 .nict.go.jp/achievement/ 2022 / • https://blog.yagipy.me/althea
• https://blog.yagipy.me/sechack 3 65 -diary • https://github.com/yagipy/althea 17