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
0
63
2024年度SecHack365 アシスタントを囲む会
HiroyukiYagihashi
August 28, 2024
Tweet
Share
More Decks by HiroyukiYagihashi
See All by HiroyukiYagihashi
LLMの活用方法と課題
yagipy
0
240
What is Soft Memory Limit?
yagipy
1
660
Building markdown editor using Rust’s parser
yagipy
0
2.4k
OSSに貢献した話と社内での取り組みについて
yagipy
1
450
簡易的な推薦機能を実装する
yagipy
0
130
GitHub oneliner command
yagipy
0
100
Other Decks in Technology
See All in Technology
Digitization部 紹介資料
sansan33
PRO
1
5.9k
なぜ新機能リリース翌日にモニタリング可能なのか? 〜リードタイム短縮とリソース問題を「自走」で改善した話〜 / data_summit_findy_Session_2
sansan_randd
1
150
3年ぶりの re:Invent 今年の意気込みと前回の振り返り
kazzpapa3
0
190
Master Dataグループ紹介資料
sansan33
PRO
1
3.9k
プロダクトエンジニアとしてのマインドセットの育み方 / How to improve product engineer mindset
saka2jp
2
200
オブザーバビリティ成熟度モデルの企画から社内導入まで
dmmsre
2
110
今日から使える AWS Step Functions 小技集 / AWS Step Functions Tips
kinunori
5
620
InsightX 会社説明資料/ Company deck
insightx
0
230
[2025-11-06] ベイズ最適化の基礎とデザイン支援への応用(CVIMチュートリアル)
yuki_koyama
1
140
コミュニティと共に変化する 私とFusicの8年間
ayasamind
0
400
自己的售票系統自己做!
eddie
0
170
バグと向き合い、仕組みで防ぐ
____rina____
0
110
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
697
190k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
116
20k
Building an army of robots
kneath
306
46k
Become a Pro
speakerdeck
PRO
29
5.6k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
Raft: Consensus for Rubyists
vanstee
140
7.2k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
Building Adaptive Systems
keathley
44
2.8k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
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