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
FukuokaVideoTech Meetup#1
Search
tkaria
June 19, 2021
Programming
790
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
FukuokaVideoTech Meetup#1
https://www.meetup.com/ja-JP/fukuoka-video-tech/events/278185662/
tkaria
June 19, 2021
Other Decks in Programming
See All in Programming
GKE で Pod の見方を変えたら、スケールアウト時の挙動を真に捉えられた話
stkk
0
130
個人開発基盤をまるごとCloudflareに引っ越して爆速で総合的体験を向上させた話
tinykitten
0
200
LL言語やWebフレームワークのPostgreSQL対応 〜DBの機能がユーザーに届くまで〜
kentaroutakeda
1
150
AWS Step Functions 大規模並列の壁を越える / jaws-sonic-2026-niigata-step-functions
kasacchiful
PRO
1
490
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
180
SONY CISC-NEWS NWS-1750 + NWB-225 フレームバッファの NetBSD/news68k ドライバ実装 / OSC2026Hiroshima
tsutsui
0
120
AWS DevOps Agentで インシデント対応をAIに任せたい
honmarkhunt
7
3k
Go × SIMDで高速化するベクトル検索 ~ルーフラインモデルでSIMDが効く境界を探れ! ~
po3rin
1
2k
wkhtmltopdfの次どうするか問題2026
willnet
2
1.5k
Snowflakeで業務アプリを作ろう。 Snowflakeのアプリ機能解説&実践ガイド
ayumu_yamaguchi
1
280
WebAssembly in Android Apps 〜 WASMはJNIの夢を見るか
keiji
1
110
AHC070解法紹介
eijirou
0
120
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
142
7.7k
Faster Mobile Websites
deanohume
310
32k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
600
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
420
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
550
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
430
Navigating Team Friction
lara
192
16k
From π to Pie charts
rasagy
1
370
A designer walks into a library…
pauljervisheath
211
25k
Mobile First: as difficult as doing things right
swwweet
225
10k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
660
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
200
Transcript
MultiMedia Development And C/C++ Fukuoka Video Tech Meetup #1 Fukuoka
Video Tech Meetup #1 by by @k-tanaka (twitter@tk_3118 github: tk-aria) @k-tanaka (twitter@tk_3118 github: tk-aria)
Agenda Introduction Preface Main Topic Conclusion Fukuoka Video Tech Meetup
#1 Fukuoka Video Tech Meetup #1 by by @k-tanaka (twitter@tk_3118 github: tk-aria) @k-tanaka (twitter@tk_3118 github: tk-aria)
Introduction 3 3 Fukuoka Video Tech Meetup #1 Fukuoka Video
Tech Meetup #1 by by @k-tanaka (twitter@tk_3118 github: tk-aria) @k-tanaka (twitter@tk_3118 github: tk-aria)
Introduction Kazuki Tanaka (twitter@tk_3118 github: tk-aria) freelance Engineer and Naxa,
inc Engineer Manager and Developper ex) game engineer like a multi language binding, etc... 4 4 Fukuoka Video Tech Meetup #1 Fukuoka Video Tech Meetup #1 by by @k-tanaka (twitter@tk_3118 github: tk-aria) @k-tanaka (twitter@tk_3118 github: tk-aria)
Preface Fukuoka Video Tech Meetup #1 Fukuoka Video Tech Meetup
#1 by by @k-tanaka (twitter@tk_3118 github: tk-aria) @k-tanaka (twitter@tk_3118 github: tk-aria)
マルチメディアのコアな部分はC/C++ 最近はRustAudio音声ライブラリや各音声APIのラッパーな どが作られている Fukuoka Video Tech Meetup #1 Fukuoka Video
Tech Meetup #1 by by @k-tanaka (twitter@tk_3118 github: tk-aria) @k-tanaka (twitter@tk_3118 github: tk-aria)
マルチメディアのコアな部分はC/C++ 最近はRustAudio音声ライブラリや各音声APIのラッパーな どが作られている ※ Rustもいいが周辺ツールの兼ね合いで非実用的 Fukuoka Video Tech Meetup #1
Fukuoka Video Tech Meetup #1 by by @k-tanaka (twitter@tk_3118 github: tk-aria) @k-tanaka (twitter@tk_3118 github: tk-aria)
しかし皆さんどうでしょう? Fukuoka Video Tech Meetup #1 Fukuoka Video Tech Meetup
#1 by by @k-tanaka (twitter@tk_3118 github: tk-aria) @k-tanaka (twitter@tk_3118 github: tk-aria)
コードを走らせたり、検証するまでに時間が掛かる。 周辺CLIツールが沢山あって慣れていないユーザーには敷居 が高い 開発環境構築に時間を要するパターンが多い。 異なるOS間で構築手段やツールに差異がある Fukuoka Video Tech Meetup #1
Fukuoka Video Tech Meetup #1 by by @k-tanaka (twitter@tk_3118 github: tk-aria) @k-tanaka (twitter@tk_3118 github: tk-aria)
これを解決して 「誰でも簡単に開発を開始できる」 ようにしたい! Fukuoka Video Tech Meetup #1 Fukuoka Video
Tech Meetup #1 by by @k-tanaka (twitter@tk_3118 github: tk-aria) @k-tanaka (twitter@tk_3118 github: tk-aria)
Main Topic 11 11 Fukuoka Video Tech Meetup #1 Fukuoka
Video Tech Meetup #1 by by @k-tanaka (twitter@tk_3118 github: tk-aria) @k-tanaka (twitter@tk_3118 github: tk-aria)
先の例と合わせて、クロスプラットフォーム開発が抱える問題 点として 開発者ごとの依存環境(OS)に対するパッチが交わりカオスに なる ツールのバージョン違いによる意図しないトラブルシューテ ィングの発生 12 12 Fukuoka Video
Tech Meetup #1 Fukuoka Video Tech Meetup #1 by by @k-tanaka (twitter@tk_3118 github: tk-aria) @k-tanaka (twitter@tk_3118 github: tk-aria)
専用のサンドボックス環境を作ろう 13 13 Fukuoka Video Tech Meetup #1 Fukuoka Video
Tech Meetup #1 by by @k-tanaka (twitter@tk_3118 github: tk-aria) @k-tanaka (twitter@tk_3118 github: tk-aria)
dockerのコンテナとして開発用イメージを作成 (開発に必要なツールを集めたシンプルなイメージ必要であれば バージョンを指定する。) FROM ubuntu:20.04 RUN apt update RUN apt
install -y tzdata vim git make ninja-build | clang clang-tools clangd clang-tidy clang-format \ lldb RUN apt install -y automake autoconf libtool cmake RUN apt install -y doxygen graphviz 14 14 Fukuoka Video Tech Meetup #1 Fukuoka Video Tech Meetup #1 by by @k-tanaka (twitter@tk_3118 github: tk-aria) @k-tanaka (twitter@tk_3118 github: tk-aria)
15 15 Fukuoka Video Tech Meetup #1 Fukuoka Video Tech
Meetup #1 by by @k-tanaka (twitter@tk_3118 github: tk-aria) @k-tanaka (twitter@tk_3118 github: tk-aria)
16 16 Fukuoka Video Tech Meetup #1 Fukuoka Video Tech
Meetup #1 by by @k-tanaka (twitter@tk_3118 github: tk-aria) @k-tanaka (twitter@tk_3118 github: tk-aria)
イメージをビルドするだけで手軽に検証できる環境が完成 17 17 Fukuoka Video Tech Meetup #1 Fukuoka Video
Tech Meetup #1 by by @k-tanaka (twitter@tk_3118 github: tk-aria) @k-tanaka (twitter@tk_3118 github: tk-aria)
しかし問題が... 18 18 Fukuoka Video Tech Meetup #1 Fukuoka Video
Tech Meetup #1 by by @k-tanaka (twitter@tk_3118 github: tk-aria) @k-tanaka (twitter@tk_3118 github: tk-aria)
CLIコマンド沢山 docker cmake make lldb clang-tidy clang-format vimな ど... (VisualStudioなどに慣れているユーザーは敷居が高い)
19 19 Fukuoka Video Tech Meetup #1 Fukuoka Video Tech Meetup #1 by by @k-tanaka (twitter@tk_3118 github: tk-aria) @k-tanaka (twitter@tk_3118 github: tk-aria)
GUIを用いて出来ないか? 20 20 Fukuoka Video Tech Meetup #1 Fukuoka Video
Tech Meetup #1 by by @k-tanaka (twitter@tk_3118 github: tk-aria) @k-tanaka (twitter@tk_3118 github: tk-aria)
VSCode + Remote Development 21 21 Fukuoka Video Tech Meetup
#1 Fukuoka Video Tech Meetup #1 by by @k-tanaka (twitter@tk_3118 github: tk-aria) @k-tanaka (twitter@tk_3118 github: tk-aria)
VSCodeのホスト環境以外の開発環境に接続可能 22 22 Fukuoka Video Tech Meetup #1 Fukuoka Video
Tech Meetup #1 by by @k-tanaka (twitter@tk_3118 github: tk-aria) @k-tanaka (twitter@tk_3118 github: tk-aria)
設定ファイルのサンプル 23 23 Fukuoka Video Tech Meetup #1 Fukuoka Video
Tech Meetup #1 by by @k-tanaka (twitter@tk_3118 github: tk-aria) @k-tanaka (twitter@tk_3118 github: tk-aria)
devcontainer.json { "name": "fukuokavideotech-dev", "context": "..", "dockerFile": "./images/Dockerfile", "postCreateCommand": "make
setup", "settings": { "clangd.path": "/usr/bin/clangd", "lldb.executable": "/usr/bin/lldb", }, "extensions": [ "ms-vscode.cpptools", "llvm-vs-code-extensions.vscode-clangd", "vadimcn.vscode-lldb", "editorconfig.editorconfig", "cschlosser.doxdocgen", "twxs.cmake", "ms-vscode.cmake-tools", "ms-vscode.makefile-tools" ] } 24 24 Fukuoka Video Tech Meetup #1 Fukuoka Video Tech Meetup #1 by by @k-tanaka (twitter@tk_3118 github: tk-aria) @k-tanaka (twitter@tk_3118 github: tk-aria)
settings.json { "C_Cpp.autocomplete": "Disabled", "C_Cpp.formatting": "Disabled", "C_Cpp.intelliSenseEngine": "Disabled", "[cpp]": {
"editor.formatOnType": false, "editor.formatOnSave": true }, "clangd.arguments": [ "--compile-commands-dir='./build'", "--clang-tidy", "--log=verbose", "--offset-encoding=utf-8" ], "clangd.semanticHighlighting": true } 25 25 Fukuoka Video Tech Meetup #1 Fukuoka Video Tech Meetup #1 by by @k-tanaka (twitter@tk_3118 github: tk-aria) @k-tanaka (twitter@tk_3118 github: tk-aria)
おまけ launch.json (launch) { "version": "0.2.0", "configurations": [ { "name":
"lldb launch Debug from filename", "type": "lldb", "request": "launch", "program": "${workspaceFolder}/build/${relativeFileDirname}", "args": [], "cwd": "${workspaceFolder}" } ] } 26 26 Fukuoka Video Tech Meetup #1 Fukuoka Video Tech Meetup #1 by by @k-tanaka (twitter@tk_3118 github: tk-aria) @k-tanaka (twitter@tk_3118 github: tk-aria)
おまけ launch.json (attach) { "version": "0.2.0", "configurations": [ { "name":
"lldb process Debug", "type": "lldb", "request": "attach", "pid": "${command:pickMyProcess}", } ] } 27 27 Fukuoka Video Tech Meetup #1 Fukuoka Video Tech Meetup #1 by by @k-tanaka (twitter@tk_3118 github: tk-aria) @k-tanaka (twitter@tk_3118 github: tk-aria)
Conclusion 28 28 Fukuoka Video Tech Meetup #1 Fukuoka Video
Tech Meetup #1 by by @k-tanaka (twitter@tk_3118 github: tk-aria) @k-tanaka (twitter@tk_3118 github: tk-aria)
Dockerの開発用イメージ作って RemoteDevelopmentで接続したらそれっぽい環境になる 29 29 Fukuoka Video Tech Meetup #1 Fukuoka
Video Tech Meetup #1 by by @k-tanaka (twitter@tk_3118 github: tk-aria) @k-tanaka (twitter@tk_3118 github: tk-aria)
ボイラープレート作りました! https://github.com/tk-aria/void 30 30 Fukuoka Video Tech Meetup #1 Fukuoka
Video Tech Meetup #1 by by @k-tanaka (twitter@tk_3118 github: tk-aria) @k-tanaka (twitter@tk_3118 github: tk-aria)
Thank you 31 31 Fukuoka Video Tech Meetup #1 Fukuoka
Video Tech Meetup #1 by by @k-tanaka (twitter@tk_3118 github: tk-aria) @k-tanaka (twitter@tk_3118 github: tk-aria)
引用 https://cdn-ssl-devio-img.classmethod.jp/wp- content/uploads/2019/05/020-min1.png https://cdn-ssl-devio-img.classmethod.jp/wp- content/uploads/2019/05/020-min1.png 32 32 Fukuoka Video Tech
Meetup #1 Fukuoka Video Tech Meetup #1 by by @k-tanaka (twitter@tk_3118 github: tk-aria) @k-tanaka (twitter@tk_3118 github: tk-aria)