サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
GPT-4o
synamon.hatenablog.com
はじめに こんにちは、エンジニアのクロ(@kro96_xr)です。 先日"Warudo"というVTuber向けソフトウェアを知り、これは凄いと思ったので記事にしてみます。 2023年9月15日現在WarudoはSteamからダウンロードでき、個人利用であれば完全無料で使用で出来ます。 残念ながら日本語には対応していませんが、UIもわかりやすくある程度英語が読めれば使うことが出来ると思います。 store.steampowered.com 今回の記事では執筆時点で最新のバージョン0.10.13を使用しています。 セットアップ アプリケーションを立ち上げると以下のようなメニューが表示されるので、さっそくBasic Setupから進めていきます。 使用できるモデルはVRM(.vrm)、もしくはWarudo専用フォーマット(.warudo)のようです。 画面の指示通りvrmモデルをフォルダにいれる
はじめに こんにちは、エンジニアのクロ(@kro96_xr)です。 先日他社のエンジニアの方と話す機会があったのですが、そこでHono(炎)というフレームワークを知りました。 github.com 元々はCloudflare Workersに特化したWebアプリを作るために作られたものとのことで、ちょうどCloudflare Workersも触ってみたかったので試してみました。 その結果、あまりにも爆速で環境構築とデプロイが完了し、タイトルの感想を抱きましたのでご紹介します。 Honoの特徴などは開発者の方の記事にて詳しく書かれておりますのでそちらもご覧ください。 zenn.dev yusukebe.com サインアップからデプロイまで Cloudflareのアカウント作成 以下のページからサインアップを行います。ここで登録した認証情報を後ほど使います。 Cloudflare Worker
こんにちは、エンジニアの渡辺(@mochi_neko_7)です。 今回は Rust における Stream の基本的な取り回しを紹介します。 Anthropic の Claude API の Rust Client を書いていた際に Streaming API の対応をしていたところ、自身が Rust の Stream をちゃんと理解していなかったことに気づき勉強し直していました。 ところが日本語で解説している記事をあまり見かけなかったため、本記事で自分の理解している範囲で基礎的な内容を整理して紹介したいと思います。 もし間違った記述等ありましたらご指摘いただけますと幸いです。 環境 Rust の Stream 1. 非同期版 Iterator としての Stream 2. Poll の扱い Stream の周辺 crate 1. futures_core 2. async_stream
エンジニアの岡村です。 自分はサーバーがメインではなく、あまり業務でガッツリ触るわけでもないのですが、最近それなりに活用するようになってきました。しかし、ネット上の日本語情報を読んでいるだけではこれの書き方が正しいのかよく分からない、と悩むことが結構あったため、色々情報を漁ってみました。 この記事は、特に自分が気になった部分の調べた結果を記事に纏めてみたものです。対象読者はdocker-composeを雰囲気でupやdownは叩けるけどComposeファイルの書き方がよく分からんとなってる人です。 Docker Composeの概要とcompose.yaml、Compose Specの関係 compose.yamlの書き方は Compose Specに準拠すればOK Compose Specの場所 推奨のファイル名はcompose.yaml compose.yaml内にバージョンを記述する
はじめに こんにちは、フロントエンドエンジニアの堀江(@nandemo_3_)です。 先日、JavaScriptの新たな日付ライブラリがTempoがリリースされました。 2023/2/26にv0.0.13がリリースされたばかりです。 tempo.formkit.com リリース3日後でStar数が1700になっており、今後の伸びが期待されるところです。 お決まりの既存の類似ライブラリとStar数を比べた画像はこちらです。 あまり情報がないので、触りながら色々試していこうと思います。 Tempoの特徴 Tempoは、JavaScriptの日付と時刻のライブラリの誇り高き伝統の中の新しいライブラリです。 moment.js、day.js、date-fnsなどにインスパイアされたTempoは、可能な限り小さく使いやすいように一から作られています。 Tempoは、ネイティブのDateオブジェクトを
こんにちは、フロントエンドエンジニアの堀江(@nandemo_3_)です。 2023年9月にJavaScript RuntimeのBunが、バージョン1.0をリリースしました。 bun.sh JavaScriptランタイムといえばNode.jsですが、DenoやBunとの違いは何か。 自分は恥ずかしながら、最近、Deno、Bunという新しいJavaScriptランタイムがあるということを知り、この際学び直しをしました。 JavaScriptランタイムってなんだ?DenoやBunってなんだ?っていう初心者向けの記事となります。 ランタイムとは そもそもJavaScriptランタイムのランタイムとは何か。 実行すること、実行時に必要な部品。 実行環境と表現されたりします。 つまり、JavaScriptランタイムとはJavaScriptを実行する環境のことを意味し、主にサーバサイドのプログラムが
こんにちは、フロントエンドエンジニアの堀江(@nandemo_3_)です。 前回、Babylon.jsを使って簡単に、Web上に3Dモデルを描画しました。 synamon.hatenablog.com 元々は、Web上でVRMを描画したかったので、今回はそちらにチャレンジしていきたいと思います。 VroidHubのアバタープレビュー画面ですね。 すでに、いろんな方がやられているので、そこまで真新しさはありませんが、 Next.jsでトライしてみましたので、参考になれば幸いです。 はじめに 当初は、Babylon.jsをベースに、Web上にVRMを表示しようと考えていました。 babylon-vrm-loaderというライブラリを用いれば、できるということがわかっていました。 github.com しかしながら、babylon-vrm-loaderはBabylo.js 最新バージョンの6に未
はじめに こんにちは、フロントエンドエンジニアの堀江(@nandemo_3_)です。 最近、Figmaに生成AIプラグインが多くあることを知り、デザイン制作からサイト公開まで生成AIにやらせることができるのでは?と思い、 さらに、ノーコードでWebサイトが制作できるSTUDIOというサービスがあるのですが、 これもFigmaからSTUDIOに移行が行えるプラグインがあるということで、 生成AIで作成したデザインをSTUDIOに乗せ替え、公開までしてみようと思います。 使用したプラグイン Builder.io www.builder.io Magician magician.design AI image generator www.freepik.com Figma To STUDIO studio.design デザイン作成 Figmaのデザインを生成するAIはいくつかあります。(ワイヤ
はじめに こんにちは、エンジニアのクロ(@kro96_xr)です。 エンジニアと言いながら最近コードを書く機会が減っていたので、年末年始にRustにチャレンジしていました。 まだ全然理解しきれていないという自覚はありつつ、今回はRustの主要なWebフレームワークについて簡単に調査、比較していきたいと思います。 間違いなどありましたらDM等でご指摘いただけると幸いです。 なお、情報は全て調査時点(2024/1/8)のものとなります。 Frameworkの候補 フレームワークの比較をしてくれているリポジトリがあるので、この情報を元にピックアップしてみます。 github.com 人気のフレームワーク 名称 Repos Docs スター数 最新バージョン Activity actix-web Repo Doc 19.4k 4.4.1 181/year axum Repo Doc 14.3k 0
はじめに エンジニアの松原です。近年生成系AI、特にStableDiffusionの仕組みをベースとした生成系AIが目まぐるしい速度で進化しており、2023年の年間を通しても取り沙汰されない日のほうが少ないのでは、と思えるぐらい連日SNSでのニュースで見かけていました。 私自身も長いことAIのニュースを追いかけていなかったので、改めて追っていったところ、StableDiffusionの拡張機能として利用できる ControlNet の仕組みが面白く、2023年の夏ぐらいから調べていました。 今回は ControlNet でポーズの指示を扱うためのスケルトン情報(または Keypoints )を生成できるよう、Unity上でOpenPose風のアバターを表示するスクリプトを作ったことについて取り上げたいと思います。 本記事に入る前に 今回の記事は「生成系AIを使ってみた」、という内容ではなく
はじめに こんにちは、フロントエンドエンジニアの堀江(@nandemo_3_)です。 先日、JavaScriptランタイム最新動向という記事を書いたのですが、 synamon.hatenablog.com Bunが非常に興味深く、TypeScript、Next.jsに標準対応しているということで、Vercelにデプロイできるか調べてみたところ、Bunをサポートしたというアップデート記事が見つかりました。 vercel.com 記事を見る限り、bun.lockbファイルをプロジェクトに入れて、VercelのInstall Commandにbun installを設定するだけで良さそうです。 早速、試していこうと思います。 プロジェクト作成 まず、BunでNext.jsプロジェクトを作成します。 bun create next-appでプロジェクトを作成し、bun --bun run devで
エンジニアの小松です。ついに正式リリースされたUnity2021.2.0でのC#9サポートについて調査しました。 Unity2021.2からC#9.0の一部機能が使えるようになります。 サポートされている機能の一覧はリリースノートの「Scripting: Updated C# language version to 9.0 for compilation and IDE's」にあります。 これらの機能について簡単に紹介します。 パターンマッチングの強化 target-typed new target-typed条件演算子 ラムダ式での引数の破棄 静的匿名関数 ローカル関数の属性 拡張メソッドによるGetEnumerator 関数ポインタ 新しいpartialメソッド 未サポートの機能について ライブラリのアップデート パターンマッチングの強化 C#7の頃からどんどん改良され続けているパター
はじめに こんにちは、エンジニアのクロ(@kro96_xr)です。 先日以下のようなポストが流れてきました。 let's go https://t.co/4dHJiLCegg pic.twitter.com/4y9VMiTN0h— tldraw (@tldraw) 2023年11月15日 言葉にするならワイヤーフレームからHTMLを生成できるツールでしょうか。 元々Miroライクなホワイトボードアプリとしてtldrawがあり、それにOpenAIのGPT-4Vを組み合わせたツールとしてmakerealが公開されたようです。 github.com github.com 私自身メインはサーバサイドであり、フロントエンドは得意ではないので早速使ってみることにしました。 なお、https://makereal.tldraw.com/にアクセスすればブラウザ上でも使用できますが、リポジトリも公開されて
はじめに こんにちは!サーバサイドエンジニアのクロ(@kro96_xr)です。 この記事はSynamon Advent Calendar 2021の10日目です。 弊社はUnityエンジニアが多く私自身も最近はUnityを触っていたりするのですが、せっかくのアドベントカレンダーということでサーバサイドの記事を書こうと思い筆を取りました。 テーマは「HubsCloudをDocker環境で動かしてみる」です!Elixir初体験だけどなんとかなるやろ!対戦よろしくお願いします。 ※正直行き当たりばったりな部分も多く、自分の理解の浅さから改善できるところは多々あると思います。ご指摘などございましたらTwitterなどにいただけると嬉しいです。 Mozilla Hubs/HubsCloudとは? Mozilla HubsとはFirefoxで有名なMozilla社が提供しているオープンソースのVRシス
はじめに エンジニアの松原です。以前紹介したオーディオ・映像機器間の同期方法に関しての取り組み(その1、その2) を記事にしました。 前回記事ではオーディオ信号にLTC信号を送り、マイク入力から受け取ったLTC信号をUnity上でデコード、表示する方法について取り上げましたが、今回は前回記事とは逆に、LTC信号を送る側として、マイコンとして扱いやすいM5Stack(今回利用したのはM5StackCoreS3)とM5Stack用RCAモジュールを使ってLTC信号を生成するデバイスを試作してみました。今回はまだ試作段階で詰めが甘いところもあるため、コード公開はまた別の機会に行いたいと思います。 docs.m5stack.com しくみ解説 タイムコードの最低単位としてフレーム(1秒以下の単位、タイムコードでは24~30フレーム)ごとにマイコン上でカウントアップし、このフレーム単位に合わせてLT
はじめに こんにちは、エンジニアのクロ(@kro96_xr)です。普段は主にサーバサイドエンジニアを担当しています。 今回は、Building Blocksという機能を使ってサクッとMetaQuest3上で動くMRアプリを開発してみたいと思います。 日本語に翻訳すると「積み木」ですが、積み木を積んでいくような感じで機能が実装できます。 開発開始 それでは開発していきましょう! なお、Unityのインストールは済んでいる前提で、今回はUnity2022.3.10f1を使用していきます。 Questを開発者モードにする まず、初期設定では自作アプリをQuest上で動かすことが出来ないため、Questの開発者モードをONにする必要があります。 スマホのMeta Questアプリからデバイスを選択して、ヘッドセットの設定>開発者モードの進むとONにできます。 プロジェクトの作成、設定 続いてプロジ
前回の記事ではNetCode for Entitiesを触り、シンクライアントの挙動を実装する所までコードを書きました。 前回のプロジェクトに引き続き改造を加えてみます。 ビルドして実行してみる 前回、シンクライアントの挙動を実装しましたが、実際にマルチプレイが動作するか確認したい為、ビルドを行います。 サーバーのビルドは、ビルドプラットフォームをDedicated Serverにする事で可能です。 ただし、クライアント向けビルドに関しては、そのままWindowsプラットフォーム等でビルド実行するとサーバー機能を内包したホストクライアントとしてビルドされてしまうようです。 これを回避し、簡単に動作確認したいのであればScripting Define SymbolsにUNITY_CLIENTを定義すると完全なクライアントとしてビルドすることができます。 より細かく制御したい場合は、Clien
はじめに こんにちは、エンジニアのうぃすきー(@whisky_shusuky)です。 本記事は Synamon Advent Calendar 2022 の14日目の記事になります。 adventar.org RustはWeb関連でもそこそこ使われており興味があったのですが難しそうな印象が有ったため手をつけられていませんでした。 そんな中Rustで始めるOpenGLという本に出会いました。 個人的に趣味でWebGLでGLSLを書いたことがあったため、Rustで動かしてみれば理解がとっつきやすいのではないかと思い読んで動かしてみました。 成果物 先に成果物を見せるとこのようなものができました。 本書の内容を実行すれば立方体をOpenGLで表示することができます。 そこに理解のために少し手を加えて画面上でx,y,z軸方向に立方体を回転できるようにしました。 rustで定義した回転行列をシェーダ
Unity 2022 LTSのリリースにあわせて、長らく開発中だったECSがEntitiesパッケージとしてついに正式リリースされました。 正式版のEntitiesに対応したNetCode for Entitiesもあわせてリリースされており、今回はそちらが本題です。 公開されているチュートリアルを触って理解を深めてみました。 Entitiesの基礎 リリースに併せて公開された以下の動画が、基本的な概念を非常に分かり易く説明してくれています。 Entity, Component, Systemが何を指しているのか理解出来るので、ゼロから触ってみる人は視聴をお勧めします。 www.youtube.com 以前からECSではPure ECSとHybrid ECSという枠組みが用意されていたのですが、現在ではGameObjectベースで作成したオーサリングデータを、C#のソースジェネレーター機能
こんにちは、フロントエンドエンジニアの堀江(@nandemo_3_)です。 2023年6月22、23日にAWS Dev Day 2023が開催されましたが、 「モダンフロントエンド デザインパターン〜優れたUXを実現するには〜」というフロントエンドの最新動向に関するセッションがありました。 speakerdeck.com そこで、Serverless Next.jsとそれをAWSで実現するインフラストラクチャーが紹介されており、 今回は、それを具体的に実現する方法をまとめました。 はじめに まず、今回Serverless Next.jsを実現するために、AWS Lambda Web Adapterを使います。 Lambdaは、主にAPIなどのサーバサイド処理をサーバレスで実現するために使われますが、 AWS Lambda Web Adapterを用いることで、Lambda関数をWebアプリ
こんにちは、エンジニアの渡辺(@mochi_neko_7)です。 今回は grpc-dotnet のライブラリを使って Unity を gRPC のクライアントとして利用する話を紹介します。 Unity で gRPC を使うにはいくつか選択肢がありますが、今回はサポートの切れている Grpc.Core ではなく 新しい方のライブラリの grpc-dotnet を有料アセットの Best HTTP/2 を組み合わせて使用する方法をメインでお話します。 なお本記事では Unity を使った gRPC のクライアントの実装をメインでお話するため、 gRPC サーバーの実装に関しては解説しないことをご承知おきください。 要約 環境 なぜ gRPC を使用するのか Unityで gRPC を使う場合の選択肢 1. (サポートの切れている) Grpc.Core を利用する 2. grpc-dotnet
こんにちは、エンジニアの渡辺(@mochi_neko_7)です。 先日Unity 2022 LTSがリリースされたので触っていたのですが、ふとPackageをチェックしていたところ、 Unity公式のLoggingパッケージが存在することに初めて気が付きました。 しかもドキュメントやAPIを見てみる感じでは「こういうのが欲しかった」という印象で期待が持てそうでした。 自分でも少し触ってみたので、本記事ではこのUnity公式のLoggingパッケージを簡単に紹介します。 環境 Unity公式のLoggingパッケージ 導入方法 使用方法 まとめ 他のLoggingライブラリ おわりに ※2023/07/03追記 環境 Unity 2022.3.0f1 Unity Logging 1.0.11 Unity公式のLoggingパッケージ いつの間にかUnity公式からLoggingのパッケージが
歴史上の都合により、Windowsは改行コードにCRLF、Mac及びLinuxはLFを使用しています。 Linuxやmacプラットフォーム上で動くアプリをWindowsで開発している時、例えば.sh等を書いている時は、ファイル内にCRLFが混入すると、改行コードを誤認識してしまってエラーになってしまいます。 開発環境をMacかLinuxで統一できれば特に悩む必要もないのですが、様々な理由から統一できないこともあるでしょう。 この記事では、事故を予防する為に出来る、いくつかの対策を紹介します。 その1:gitを設定する auto-crlfの変更 .gitattributes その2:エディタを設定する その3:CIを設定する 最後に その1:gitを設定する gitがWindowsにインストールされた際、デフォルトの挙動として、チェックアウト/ステージ時にLFとCRLFを相互に変換します。こ
はじめに こんにちは、エンジニアのクロ(@kro96_xr)です。 先月の頭にGenerative Agentsに関する論文が話題になりましたね。 arxiv.org そして、このGenerative AgentsについてはLangChainで実装例が提供されています。 python.langchain.com この機能をWebAPI化すれば管理画面でエージェントを作成、他のクライアントから呼び出すこともできるのでは?と考えて実装してみました。 本記事では主にWebAPIの実装部分について触れていきます。 実際には、データや記憶の永続化がうまくできていないのでサーバ再起動で消えてしまう状態ですが、ローカルでちょっと遊ぶ分には十分だと思います。 構成 構成(技術スタック)は以下のようになります。フロントエンドは専門ではないので雰囲気で実装しています。 フロントエンド フレームワーク:Reac
こんにちは、エンジニアの庭山です。 Microsoftが公開している Microsoft.IO.RecyclableMemoryStream というC# 用のライブラリの紹介をさせて頂きます。 目次 目次 System.IO.MemoryStreamに特化したプーリング コードの典型例 活用例 メモリ管理方法 スロット ブロック Smallプール Largeプール Linearの場合 例:1スロットの最小(等倍時)のサイズを1MiB、最大サイズを4MiBとした場合 Exponentialの場合 例:1ブロックの最小のサイズを256KiB、最大サイズを8MiBとした場合 Linear か Exponential どちらが良いか 注意点 最後に 備考:ベンチマーク System.IO.MemoryStreamに特化したプーリング 最大利用サイズの指定 SmallプールとLargeプールの2つの
こんにちは、エンジニアリングマネージャーの渡辺(@mochi_neko_7)です。 先日、LangChainというLLMを扱うPythonライブラリをDocker上で動かしてみた話を記事で紹介しました。 synamon.hatenablog.com 今回はその発展として、ローカルDocker上のLangChainをFastAPIを使ってAPIサーバー化して、APIを通してUnityからLangChainの機能を利用できることを紹介します。 特別高度なことはしておらず既存の技術やフレームワークの組み合わせになりますが、同じようなことを自分で実装してみたいという方の参考になれば幸いです。 構成 環境 前提 FastAPIのセットアップ APIの作成 APIの動作確認 Unity側のAPI呼び出しの実装 結果 まとめ メリット デメリット おわりに 構成 今回作成するシステムの全体構成は下記のよ
はじめに こんにちは、エンジニアのクロ(@kro96_xr)です。 最近、5年くらい前にQiitaで書いた記事にちょこちょこいいねをいただくんですよね。 qiita.com なぜ今更この記事を見てもらえているんだろうと考えていたところ、ChatGPT APIを用いたLineBotの作成に取り組んでいる人がいるのではないかと思いました。というわけで私も試してみることにしました。 二番煎じどころではありませんが、自身の体験を共有することで皆さんの参考になればと思います! なお、今回検証したコードは、以下のリポジトリにまとめています。 github.com ※先にお詫びです 記事を書きながらも検証しているのですが、時間帯によってはタイムアウトでLambdaの処理が終了します。 ログを見ているとAPIレスポンスが時間内に返ってこないようでした。 Lambdaのタイムアウト値はAPI Gateway
こんにちは、エンジニアリングマネージャーの渡辺(@mochi_neko_7)です。 今回はUnityで音声データをランタイムでデコード/エンコードするライブラリを作った話を紹介します。 先日、OpenAIのChatGPTやWhisperをWebAPIで利用できるようにする話を記事で紹介しました。 synamon.hatenablog.com この延長として、ChatGPTで生成した会話をVOICEVOXやCOEIROINK、Koeiromapなどの音声合成サービスに渡して音声化をしていました。 こういったUnityの外側との音声データのやり取りをする際には、どうしてもランタイムでの音声データの変換処理をする必要が出てきます。 その際に手軽に利用できるライブラリを趣味で開発しました。 github.com こちらの紹介を簡単にしつつ、Unityにおける実装の工夫や使用リソースの最適化などのポ
こんにちは、フロントエンドエンジニアの堀江(@nandemo_3_)です。 だいぶ時間がたってしましましたが、 Reactのドキュメントが一時、Twitterで話題になりました。 話題となったドキュメントはこちらです。 react.dev タイトル「You Might Not Need an Effect」は、 人によって、「Effectは不要」や「非推奨」という言い回しをされており、 今まで多用していたEffectが使えなくなることに、驚きを隠せませんでした。 そして、ちゃんとドキュメントを読むと、語弊があるなと思いましたので、解説がてら紹介します。 You Might Not Need an Effectの意味とは まず、冒頭の説明について。 こちらを要約すると、 外部システムが関係しない場合は、Effectを必要としない場合があります。 不必要なEffectを削除することで、コードを
次のページ
このページを最初にブックマークしてみませんか?
『synamon.hatenablog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く