サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
synamon.hatenablog.com
こんにちは、エンジニアの渡辺(@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_)です。 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_)です。 最近、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
はじめに こんにちは、エンジニアのクロ(@kro96_xr)です。普段は主にサーバサイドエンジニアを担当しています。 今回は、Building Blocksという機能を使ってサクッとMetaQuest3上で動くMRアプリを開発してみたいと思います。 日本語に翻訳すると「積み木」ですが、積み木を積んでいくような感じで機能が実装できます。 開発開始 それでは開発していきましょう! なお、Unityのインストールは済んでいる前提で、今回はUnity2022.3.10f1を使用していきます。 Questを開発者モードにする まず、初期設定では自作アプリをQuest上で動かすことが出来ないため、Questの開発者モードをONにする必要があります。 スマホのMeta Questアプリからデバイスを選択して、ヘッドセットの設定>開発者モードの進むとONにできます。 プロジェクトの作成、設定 続いてプロジ
こんにちは、フロントエンドエンジニアの堀江(@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)です。 先日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を相互に変換します。こ
こんにちは、フロントエンドエンジニアの堀江(@nandemo_3_)です。 だいぶ時間がたってしましましたが、 Reactのドキュメントが一時、Twitterで話題になりました。 話題となったドキュメントはこちらです。 react.dev タイトル「You Might Not Need an Effect」は、 人によって、「Effectは不要」や「非推奨」という言い回しをされており、 今まで多用していたEffectが使えなくなることに、驚きを隠せませんでした。 そして、ちゃんとドキュメントを読むと、語弊があるなと思いましたので、解説がてら紹介します。 You Might Not Need an Effectの意味とは まず、冒頭の説明について。 こちらを要約すると、 外部システムが関係しない場合は、Effectを必要としない場合があります。 不必要なEffectを削除することで、コードを
こんにちは、エンジニアリングマネージャーの渡辺(@mochi_neko_7)です。 本記事では、Unity/C#からC/C++で作られたネイティブプラグインを呼び出す、いわゆるC# Bridgeなどを作成する際に知っておくべきこと、注意すべきことを紹介します。 ネイティブプラグインを自分で触っているとUnityをクラッシュさせてしまうことも多いと思いますが、通常のように分かりやすいログが出るわけではないため何が原因なのか分かりにくいことも多いのではないでしょうか? 最近はUnityはC#のIL2CPPビルドでパフォーマンスも改善されていますし、そこまでC/C++を触るケースが多くないのかネットにあまり情報も多くはない印象ですが、知らないとデバッグ自体しづらいことも多いです。 自分が雰囲気でコードを書いていたらすぐにUnityをクラッシュさせてしまったので、そのデバッグ過程で得られた理解を整
こんにちは、エンジニアリングマネージャーの渡辺(@mochi_neko_7)です。 唐突ですが、自分は「WebAssembly(Wasm)」という技術はほとんどよく知らずに「Webブラウザ上でJavaScript以外のコードが高パフォーマンスで動かせる」くらいのものだと勝手に想像していて、UnityやC#でアプリケーションの開発をしている自分とは関わりが薄いだろうと思っていました。 ところが、たまたま別の調べ物をしていた際に次の記事を見つけ、Unityのアプリケーション上でWasmのコードを動かすことができることに衝撃を受けました。 zenn.dev 特に驚いたポイントは下記でした。 Wasmがブラウザだけではなくアプリの上でも動作すること Wasmの作成は様々な言語で可能なこと WasmのバイナリはOSやCPUアーキテクチャ別に用意する必要がないこと*1 通常のソフトウェア開発ではこれら
概要 EditorWindowのUI Elementsのセットアップ UI Elements一連ファイルについて スクリプト(cs) UI Document(uxml) スタイルシート(uss) 各種Component ToolbarMenu ToolbarToggle ScrollView Foldout Dropdown RadioButtonGroup Progress bar レイアウトについて少し GroupBox 最後に 概要 UnityでEditor WindowをUI Elementsで試してみました。 従来のIMGUIだとUIの配置などもスクリプトでやっていると地味に時間が取られてしまうものでした。 EditorのUIはある程度楽に実装したいですよね。 EditorWindowのUI Elementsのセットアップ EditorWindowの場合、一式をメニューから生成し
こんにちは、エンジニアリングマネージャーの渡辺(@mochi_neko_7)です。 現在Synamonが開発しているサービスのSYNMNでは、2DUI(uGUI)のScrollerの実装にはUnity標準のScrollRectではなく、有料アセットのEnhanced Scrollerを使用しています。*1 Scrollerはサーバーから可変長の要素を取得して表示する際など割と高頻度で使うUIです。 Enhanced Scrollerは便利なアセットなのですが、意外と日本語の記事などが少ない印象です。 ちょうど最近自分がEnhanced Scrollerを色々触っていたので、意識すべき設計の一例としてMVPパターン、UniRxを組み合わせた高機能なScrollerの快適な実装例を紹介します。 こんな方におすすめの記事となります。 高機能なScrollerのアセットの導入を検討している方 En
皆さん、あけましておめでとうございます! エンジニアの岡村です。 今年もSynamon's Engineer blogでは皆様の開発の参考になることを願って情報を発信していきます! GitHub Actions GITHUB_STEP_SUMMARYに、後から確認出来るようにワークフローのパラメータを書き出しておく ツールを動かすときはProblem Matchersを設定して、エラーの詳細をSummaryに出力するようにする workflow_callでトリガーと処理を分割する サンプル トリガー用ワークフロー 処理用ワークフロー 以上 GitHub Actions 弊社ではマルチプラットフォーム向けのアプリをビルドすることが多いため、CIは重要です。以前はJenkinsを使っていましたが、SYNMNの開発にあたりGitHub Actionsへの移行を行いました。 開発もある程度軌道に乗
はじめに エンジニアの松原です。運よくQuestProの発売日の直後(10/26)に届き、Quest2で積みっぱなしになっていた釣りゲームを週末やっていました。 ふと、最近Unity上でHMDを使った開発をしていないことに気づき、この機会にQuest Proの新機能に触れる目的で、久しぶりにOculus Integrationを利用しました。Unityの空のプロジェクトファイルから、視線追従機能を利用するまでの手続きを記事にしてみました。 今回利用した環境(+パッケージ)は以下の通りです。 Unity 2022.1.21f1 XR Plugin Management 4.2.1 Oculus XR Plugin 3.2.1 Oculus Integration 46 Windows Platformで実行 Quest Proを開発者モードにする 今回は直接UnityEditor上で動作して
こんにちは、エンジニアリングマネージャーの渡辺(@mochi_neko_7)です。 少し前にTwitterで、GitHub CopilotがLGPLライセンスのコードをライセンス表記なしに出力する、という話が話題になったのをご存じですか? @github copilot, with "public code" blocked, emits large chunks of my copyrighted code, with no attribution, no LGPL license. For example, the simple prompt "sparse matrix transpose, cs_" produces my cs_transpose in CSparse. My code on left, github on right. Not OK. pic.twitter.c
Synamon採用担当の熊谷(@spirea_xxx)です! なんと、弊社のテックブログが週1回・連続1年更新を達成しました~!!! 弊社のテックブログ記事や1年更新のことををSNSで皆さんに紹介する中で「テックブログの週1回更新を1年間続けるって、相当すごいんじゃないか?」と思い立ち、せっかくなのでテックブログにてその運用の仕組みやコツを極力シンプルな形(3ステップ!)にして、公開することとしました。 弊社エンジニアへのヒアリング&校閲を経ての公開ですので、人事が理想論交じりに好き勝手書いた記事ではないことを最初に申し添えておきます。人事が代筆した、弊社エンジニアの汗と涙の結晶です。 どこまで汎用性がある仕組みかはわかりませんが、この記事が技術広報に前向きな皆さんの手助けとなることを願います。 STEP1 : 全体ヒアリング テックブログ更新が定着する前のSynamon(2018~202
前提 ビルドプラットフォームについて Architectureの指定について Windows macOS 余談:ビルド時にプラットフォームを切り替えてもビルドスクリプト中の#if分岐は有効にならない Build Settings 一覧 Windows macOS Linux Android iOS WebGL 以上 エンジニアの岡村です。 Unityのアプリ開発をチームで行う際は、Git等のバージョン管理ツールがほぼ必ず使われます。これを使って他のメンバーとプロジェクトフォルダを共有するのですが、Unityをビルドする際に使われる設定の中にはプロジェクトフォルダの外に保存されるものがあります。 Editorの再生ボタンを叩いている間であれば問題になる事は少ないです。ですが、ビルドしたときの挙動を検証したい時など、作業者それぞれのPCでビルド設定が異なっていると正しく現象を再現できないことが
はじめに エンジニアの松原です。今年6月にHTTP/3がRFC 9114として標準化されましたが、主要なWebフレームワークで対応するのはまだ時間がかかりそうなイメージがあります。 この背景にHTTP/3ではQUICという新しいプロトコルを利用すること、HTTP/3で通信するためにはTLSのバージョン1.3が必要など、大幅な変更を取り込む必要があるため、実開発にHTTP/3を用いるにはもう少し先になりそうです。 今回の記事ではとりあえずHTTP/3を触ってみるということを優先して、quic-goを利用してHTTP/3が試せるGoのサーバーを構築してみました。今回はGoでサーバーとクライアントのアプリケーションを簡易的に作って試してみます。 github.com 以下の記事では、go version 1.18 以降が入っていることを前提に書いています。 簡易HTTP/3サーバーを作る まずは
はじめに エンジニアの松原です。趣味のガジェット漁りで以前 StreamDeck を購入しました。エンジニアとして、デバイスに関して何かできないか調べていたところ、このデバイスではプラグインを自作できるようで、ソースコードにhtmlとJavascriptが使われているようでした。これらはフロントエンド開発でよく扱う言語のため、これまで培った経験を活用して今回自作のプラグインを作ることを記事にしてみました。 公式サイトのサンプルコードがGitHubに上がっていたので、今回の記事ではこちらを参考にしつつ、自分なりにプラグイン開発について整理してみました。 github.com プラグインの構造について プラグイン開発をする前に、まずはカスタムプラグインがどのように実行されるかざっくり調べてみました。 プラグインのアーキテクチャ StreamDeckの公式サイトにプラグインの構造について解説があ
はじめに こんにちは Synamonでエンジニアをしている庭山です。 Unityでの開発では主に.NET(ドットネット)という環境下、C#というプログラミング言語を使用しています。 また、次世代の .NET 6 というバージョンが近く正式リリース予定(2021年11月)となっています。 そんな .NET ですが、色々とWebを検索や記事を読んでいると .NET .NET Framework .NET Core .NET 5 .NET Standard .NET ●●●という色々な種類があったり Mono Xamarin .NET という単語すら含んでいなかったりで、初見だと正直「わからん...」な状況になりませんか? 私も実務でUnityを触リ始めるタイミングで本格的に C#を触り始めて、あまり気にしていなかったのですが、改めて調べ整理してみました。 TL;DR .NET ●●● はランタ
技術選定、してますか? こんにちは!エンジニアリングマネージャーの佐藤(@unsoluble_sugar)です! 今回は開発関連のライブラリやアセットを導入する際に、個人的に見ている技術選定過程のポイントについて書き残してみることにしました。 エンジニアであれば様々な場面で技術選定の判断を求められるかと思います。フロントエンドやサーバサイド、ネットワーク・インフラ構築、CI/CDといった開発領域。OS、言語、フレームワーク、開発ツール、SaaS、プラットフォームetc... 挙げだすとキリがないですよね。 個人開発等でユーザーの母数が小さかったり、運用期間が短く影響範囲が軽微な場合はそれほど気にしなくて良いかもしれません。一方で、企業としてシステム・アプリ開発をする上では、開発して終わりではなく中長期での運用保守が前提となりますので、サービス継続のための様々な点に注意しなければなりません。
この記事はSynamon Advent Calendar 2021の7日目の記事になります。 構成と注意点 準備 Unityのインストール プロジェクトの新規作成 Nreal Light用のSDK(NRSDK)のインポート Nreal Light用のカメラとコントローラーの配置 Nreal Light用のapkファイルを作成(ビルド) Android端末へのインストール 実機での確認 おまけ.1 実行時の動画キャプチャ機能追加 おまけ.2 コントローラーをハンドトラッキングに変更 参考にさせて頂いたサイト様 Nreal Lightは個人が使用できる数少ないARグラスで、非常に扱いやすくSynamonでも日々モック作りなどに活用しています。 そんなNrealLightについて他社様と勉強会を行った際に「開発について話をして欲しい」とオーダーを受けたものの参加者全体のスキルセットが分からなく、
エンジニアの小松(@vtuber_watch)です。Synamon Advent Calendar 2021の21日目です。 UnityのAddressable Asset Systemの入門記事になります。Addressablesの紹介記事は多くありますが情報が古かったり必要な説明が抜けていたりするので最新のバージョンにおける情報をまとめています。 この記事では基本的な使い方を紹介します。アセットバンドルをビルドしてローカルからロードするまでをやります。これだけでもAddressablesの恩恵を受けられます。記事が長くなりすぎたのでアセットバンドルをサーバに配置する使い方は別記事に分割します。 目次 この記事はUnity 2021.2.6f1、Addressables 1.19.14における説明になります。 目次 Addressable Asset Systemとは メリット1. メモ
はじめに エンジニアの松原です。最近社内ではXRのハイスペックデバイスを使ったビジネス展開について営業や開発活動が活発になっております。以前に紹介された記事のように、Varjo XR-3には様々な可能性があり、社内では日々様々なエンジニアがこのデバイスに新たなユースケースの開拓にチャレンジしています。 Varjo XR-3以外にも、様々なデバイスを用いたビジネス検討は毎週のようにディスカッションされており、VRのみならず、AR/MR方面での技術検証やビジネス活用についての取り組みも活発化しています。 さて、これらのデバイスを用いてアプリケーションを作る際には、デバイスを動作させるためのソフトウェアライブラリであったり、サポートアプリケーション(SteamVRやOculus、上記のVarjo XR-3では別途Varjo Baseなどのアプリ)などが必要です。 ソフトウェアライブラリについては
続かないテックブログ エンジニアリングマネージャーの佐藤(@unsoluble_sugar)です! 「テックブログ(技術ブログ)は続かない」という話は、エンジニア界隈で定期的に話題になりますよね(唐突 なんとなく技術広報面で有益である認識はあるものの「運用がうまく回らない」という企業は多いのではないでしょうか。 6年半のテックブログ運用を振り返って気づいたメリットと長く続けるコツ - ZOZO TECH BLOG 2020年エンジニア採用活動ふりかえり-採用広報編 - Tbpgr Blog テックブログは続かない - 何サイトか潰した後にブログが有名な企業に転職しての気づきと反省|久松剛/IT百物語の蒐集家|note テックブログを続ける試行錯誤―5年目の平日毎日更新テックブログ運営者の視点から|TechRacho by BPS株式会社 CTOがテックブログなんとかしてって言って一ヶ月が過
はじめに エンジニアの松原です。先日社内でVarjo XR-3が導入され、今後はハイエンドなXRコンテンツが作っていけそうです。最近はAR/MR関連も業界で活発化しているのを見かけており、さらに楽しみが増えました。 それに関連して、先日Oculus Integration SDKがアップグレードされたのですが、ついに実験的機能としてパススルーモードが追加されました! 早速試してみたのですが、ビルドの際に気を付ける箇所があったので、備忘録的に記事としてまとめました。 Oculus Integration v31について 2021/08/12にリリースされたOculus Integration SDK v31には大きな変更がありました。 Passthrough APIが実験的機能に追加された (Quest/Quest2のOSに)Vulkan検証レイヤが利用できるようになり、今後のアプリケーショ
こんにちは。 株式会社 Synamon でエンジニアをしております、渡辺匡城(@mochi_neko_7)と申します。 今回はソフトウェアの開発チームの生産性・健全性を可視化できる gilot というツールを触ってみたのでレポートします。 ツールの作者の広木大地さん(@hiroki_daichi)は エンジニアリング組織論への招待 の著者であり、EM.FM などでも開発組織の話を発信されています。 そんな広木さんがツールを作成したと目にしたので、実際に触ってみて、弊社のプロダクトに適用してみました。 日本語での使い方やグラフ、指標の解説は Qiita にもまとめられていますので、こちらも参照ください。 qiita.com 上記の内容の補足として、環境のセットアップや Windows 環境ではまったところ、弊社のプロダクトの簡単な解析結果の紹介をします。 gilot gilot(ジロー)は
次のページ
このページを最初にブックマークしてみませんか?
『synamon.hatenablog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く