Upgrade to Pro — share decks privately, control downloads, hide ads and more …

FukuokaVideoTech Meetup#1

2c3d8bd35fe93ce8074cefe7e837ac47?s=47 tkaria
June 19, 2021

FukuokaVideoTech Meetup#1

2c3d8bd35fe93ce8074cefe7e837ac47?s=128

tkaria

June 19, 2021
Tweet

Transcript

  1. 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)
  2. 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)
  3. 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)
  4. 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)
  5. 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)
  6. マルチメディアのコアな部分は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)
  7. マルチメディアのコアな部分は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)
  8. しかし皆さんどうでしょう? 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)
  9. コードを走らせたり、検証するまでに時間が掛かる。 周辺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)
  10. これを解決して 「誰でも簡単に開発を開始できる」 ようにしたい! 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)
  11. 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)
  12. 先の例と合わせて、クロスプラットフォーム開発が抱える問題 点として 開発者ごとの依存環境(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 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)
  14. 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 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 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 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 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)
  19. 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)
  20. 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)
  21. 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)
  22. 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 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)
  24. 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)
  25. 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)
  26. おまけ 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)
  27. おまけ 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)
  28. 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)
  29. 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)
  30. ボイラープレート作りました! 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)
  31. 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)
  32. 引用 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)