Slide 1

Slide 1 text

オフラインで放浪

Slide 2

Slide 2 text

whoami • 名前:ナツ • 趣味:最近は自動化や効率化とか 今日初めて一人でスタバ行ってきました 開店直後だったから広々してました

Slide 3

Slide 3 text

経緯 • 家にネットが半年間なかった • なるべく通信せずに開発する方法を探して放浪していた

Slide 4

Slide 4 text

方法1(デスクトップをモバイル化する) TIPS:大学の有線は演習室では繋がらない(MACを登録する必要がある)が wifiルーターから有線を引くとに繋がった(脆弱) UBICは普通に有線があるのでとても助かった Geek Dojoからはusb-wifiモジュール借りて生存できた

Slide 5

Slide 5 text

方法2(開発環境をクラウドに移行) AWSで開発(一年間無料で優しかったから推しです) - 複数OS使ってパッケージングするのにクラウドの方が便利 - たまに特化したOSも必要だった - 通信速度も実家より速かった。 Chromebook(軽量・高速) ジャンクノート(汎用性) マシンパワーはなかったが 端末(ターミナル) として優れていた 手元にあったネット接続可能なPC

Slide 6

Slide 6 text

環境の変化 5/22 claude codeがリリースされた それが要因で方法1->方法2に移行した 理由 Claude codeの登場でローカルでやるより CloudでClaude codeの方が良かった (クラ(ロ)ウドだけにwww)

Slide 7

Slide 7 text

具体的なメリット •通信速度がめっちゃ速い •大事な写真とかがサーバー上にないため •多少の無茶がきく •ついでにWEBサーバーが手に入る •かっこいい メリットしかなくないか...?

Slide 8

Slide 8 text

コミケで回線が終わってた サーバー上で開発はできた

Slide 9

Slide 9 text

興味あったから測った 通信環境 平均 ping ダウンロード速度 アップロード速度 特徴・体感 AWS EC2 2.63 ms 10.13 Mbps 3.10 Mbps レイテンシーは超 高速だが、帯域は 制限ありで遅い スタバ Wi-Fi 21.24 ms 284.3 Mbps 32.9 Mbps レイテンシーも低 め、帯域は圧倒的 に速い(神Wi-Fi) テザリング 216.31 ms 通信量もったいな かった ちょっとめんどく さかった レイテンシーが非 常に高く、帯域も 安定しない。全体 的に重い 一見EC2のダウンロード速度終わっているが、レイテンシーが最も低くnpm install のような 小さな通信を大量に行う処理に非常に強い(数kbのファイル大量に要求するとか) 通信量を気にせずダウンロードし放題だったのはとても助かった

Slide 10

Slide 10 text

デメリット •監視の怠りだが 予算の10倍かかってしまった •ハード上の制約が苦しいところがある AWSのようなサービスはハードを仮想化しており ハードウェア仮想化支援が使えない 細かく言えばVT-xが無効化されている 簡単に言えばVM on VMでの実験に制約がかかる

Slide 11

Slide 11 text

環境の変化2

Slide 12

Slide 12 text

オンプレ(脱クラウド) • ハード:ラズパイ • ソフト:proxmox(ただし正式にarmに対応してないので 非公式で融資の方が配布されているpxvirtを使用(内容 は同じ)) ← 初自宅鯖 Proxmoxとは? オープンソースの仮想化プラットフォームです。 webの管理画面から複数の仮想マシンやLinuxコ ンテナの管理が行えます。 From:Proxmoxについて知る:qiita

Slide 13

Slide 13 text

個人でチーム開発 最近コードを書かない代わりに開発環境を整えることが増えた あとCUIの作業が増えAIの開発速度についていけなくなった 例:push -> github actions -> ec2(webサーバー) イベント検知とデプロイ 理想は環境に依存せず、冗長性を持たせること Web,開発サーバーはオンプレにするが、 イベント駆動のサービスは安くて便利なので積極的に利用したい

Slide 14

Slide 14 text

現状 設計(要件定義とか) 文字起こし ミーティング録画->ffmpeg->whisper(local)-> 議事録生成と管理 LLM(chatgptとか)->議事録.md->Google Drive (一元管理)-> 仕事の割り振り NotebookLM , ClickUp(タスク生成(優先順位,期限,アサイン))

Slide 15

Slide 15 text

開発 やってること:要件定義に従ってclaude codeを動かす Proxmoxで動している仮想VM上(例:debian)で開発をする -危ないのでdockerコンテナで隔離しておく (--dangerously-skip-permissions) Git worktreeで並列に動かす Bossとworkerのロールを作る 開発が終わればgithubにpushさせる(場合によってはマージ)

Slide 16

Slide 16 text

h 並列作業

Slide 17

Slide 17 text

今のプロジェクトのCI/CD 元々はgithub actionsで完結させていたが、 面白そうだったのでAWSのcodebuild->s3->cloudfrontに移行 監視や通知が設定できそうで楽しみにしている

Slide 18

Slide 18 text

Github actionsを利用して ブラウザから修正する例 外出先とかでスマホから使う時ある

Slide 19

Slide 19 text

IaC 現在使っている主なサービスは • AWS • Cloudflare(ドメイン安いらしい) • Github • - これをterraformで記述することでAIの恩恵を受けられる (すごいスピードでインフラが構築されていく) また、OSの抽象度を上げるためcloud-initを利用 Dockerfileが手軽で便利だと思った 最近はdotfiles,nixのhome-managerで設定をまとめ中…

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

今後やりたいこと AIは(私よりかは少ないが) 間違いをするのできちんとテスト・検証ができる よう頑張りたい。