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
2024年度SecHack365 アシスタントを囲む会
Search
HiroyukiYagihashi
August 28, 2024
Technology
100
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
320
What is Soft Memory Limit?
yagipy
1
720
Building markdown editor using Rust’s parser
yagipy
0
2.6k
簡易的な推薦機能を実装する
yagipy
0
170
GitHub oneliner command
yagipy
0
120
Other Decks in Technology
See All in Technology
自宅NWにISR4331を導入してみた話
okaits
0
120
Bill One 開発エンジニア 紹介資料
sansan33
PRO
7
20k
Bits Agent Builder の⼊⾨と活⽤事例
nulabinc
PRO
0
260
カートの信頼性を担保するWireMockを使ったe2eテスト
ykagano
0
620
なぜ Temporal の大小比較には compare しかないのか / Why Does Temporal Only Have compare() for Comparisons
kazukihayase
1
190
ガバメント AI 源内を地方自治体は活用できるのか可能性と課題、期待について
takeda_h
2
460
35分でわかるEffective Platform Engineering
nwiizo
5
550
作って理解するCoding Agent 〜フレームワークに頼らないピュア Python での実装〜
takapy
2
140
AI時代に、人は何を、どう学ぶのか #pbl_pub / What and How Do We Learn in the AI Era?
takaking22
1
180
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
5k
Genie Codeハンズオン応用編
taka_aki
0
130
MulticaとPi Coding Agentで、小規模OSSを30本同時運用した流れ
eiei114
0
130
Featured
See All Featured
Test your architecture with Archunit
thirion
2
2.4k
Technical Leadership for Architectural Decision Making
baasie
3
510
Agile that works and the tools we love
rasmusluckow
331
22k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Color Theory Basics | Prateek | Gurzu
gurzu
0
430
Mobile First: as difficult as doing things right
swwweet
225
10k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
370
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
420
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.1k
Chasing Engaging Ingredients in Design
codingconduct
0
280
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
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