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
25
2024年度SecHack365 アシスタントを囲む会
HiroyukiYagihashi
August 28, 2024
Tweet
Share
More Decks by HiroyukiYagihashi
See All by HiroyukiYagihashi
LLMの活用方法と課題
yagipy
0
95
What is Soft Memory Limit?
yagipy
1
560
Building markdown editor using Rust’s parser
yagipy
0
2.2k
OSSに貢献した話と社内での取り組みについて
yagipy
1
340
簡易的な推薦機能を実装する
yagipy
0
110
GitHub oneliner command
yagipy
0
75
Other Decks in Technology
See All in Technology
急成長中のWINTICKETにおける品質と開発スピードと向き合ったQA戦略と今後の展望 / winticket-autify
cyberagentdevelopers
PRO
1
160
独自ツール開発でスタジオ撮影をDX!「VLS(Virtual LED Studio)」 / dx-studio-vls
cyberagentdevelopers
PRO
1
180
10分でわかるfreee エンジニア向け会社説明資料
freee
18
520k
よくわからんサービスについての問い合わせが来たときの強い味方 Amazon Q について
kazzpapa3
0
220
大規模データ基盤チームのオンプレTiDB運用への挑戦 / dpu-tidb
cyberagentdevelopers
PRO
1
110
ABEMA のコンテンツ制作を最適化!生成 AI x クラウド映像編集システム / abema-ai-editor
cyberagentdevelopers
PRO
1
180
【若手エンジニア応援LT会】AWS Security Hubの活用に苦労した話
kazushi_ohata
0
160
新卒1年目が向き合う生成AI事業の開発を加速させる技術選定 / ai-web-launcher
cyberagentdevelopers
PRO
7
1.5k
来年もre:Invent2024 に行きたいあなたへ - “集中”と“つながり”で楽しむ -
ny7760
0
470
「視座」の上げ方が成人発達理論にわかりやすくまとまってた / think_ perspective_hidden_dimensions
shuzon
2
1.5k
初心者に Vue.js を 教えるには
tsukuha
5
390
オーティファイ会社紹介資料 / Autify Company Deck
autifyhq
9
120k
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1030
460k
Making the Leap to Tech Lead
cromwellryan
132
8.9k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
22k
Side Projects
sachag
452
42k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
Designing the Hi-DPI Web
ddemaree
280
34k
Facilitating Awesome Meetings
lara
49
6k
It's Worth the Effort
3n
183
27k
Bash Introduction
62gerente
608
210k
GraphQLの誤解/rethinking-graphql
sonatard
66
9.9k
GraphQLとの向き合い方2022年版
quramy
43
13k
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