2024-01-01から1年間の記事一覧

OSS 活動の指標を GitHub リポジトリデータから考察した

こんにちは。ソフトウェアエンジニアの id:masutaka26 です。 最近 ROUTE06 では、Giselle と Liam というプロジェクトを OSS 化しました。 https://github.com/giselles-ai/giselle https://github.com/liam-hq/liam これから OSS 活動を進めるにあたり、そ…

ウェブサイトのセキュリティ対策の強化に有効な security.txt

こんにちは。ソフトウェアエンジニアの id:masutaka26 です。 プロダクトの OSS 化を進める過程で security.txt を知りましたので、軽くご紹介します。 security.txt の概要 security.txt のフォーマット ROUTE06, Inc. におけるテンプレート ROUTE06, Inc. …

License Finder を導入して OSS のライセンスを継続的に監視し始めた

こんにちは。ソフトウェアエンジニアの id:masutaka26 です。 最近社内でいくつかのプロダクトの OSS 化が始まっています。OSS 化にあたり、利用パッケージとのソフトウェアライセンス(以下ライセンス)の競合はリスクになり得ます。 今回は License Finder…

GitHub Projects で実現する社内資産管理

ROUTE06 では全社ワークスペースとして GitHub を利用しており、社内資産をはじめとしたあらゆる情報を GitHub Projects で管理しています。 例えば、プロジェクトごとのアサイン状況、社内で承認/活用されているツールやライセンス、費用承認稟議など、その…

Kaigi on Rails 2024 協賛・参加レポート

こんにちは!ROUTE06 でソフトウェアエンジニアをしている @sasamukuです。 Kaigi on Rails 2024 に参加してきましたのでレポートをお届けします! 前回に引き続き、ROUTE06 は Silver Sponsors として協賛させていただきました。 弊社からは4人のメンバーが…

GitHubをコードで管理 ! Terraformを導入して安全な管理を実現しました

ROUTE06 では GitHub の管理に Terraform を導入しました。今回はその導入の背景、実際に導入してどう変わったのか、導入方法について紹介したいと思います。 Terraform とは Terraform は、IaC(Infrastructure as Code)ツールの一種です。 インフラの設定…

"それは失敗する":Appleですら疑ったiPhoneの挑戦

技術の世界では、今日の王者も昨日は挑戦者でした。その最も象徴的な例の一つが、AppleのiPhoneです。Tony Fadellの著書「Build」は、このiPhoneの開発秘話を通じて、革新的な製品開発の本質に迫ります。今回は、この書籍から得られる洞察を、現代の挑戦者た…

VercelのAI SDKを使ってLLMの出力を構造化しつつストリーミングする

VercelのAI SDKを使って、LLMの出力を構造化しながらストリーミングする方法をサンプルコードと共に紹介します。

Valibot Schema Driven UI - ユーザーがノーコードで自由に UI を組み立てられるエディタを Next.js と Valibot で構築する

近年 Bubble や Webflow、日本だと STUDIO などのノーコードプラットフォームが注目を集めています。これらのツールは、プログラミングの知識がなくてもユーザーが思い思いの UI を構築できる機能を提供し、アプリケーション開発の民主化に貢献しています。 …

ROUTE06 で Jamf Connect を導入しました

こんにちは。情シスの @kaze3desu です。 このたびROUTE06では、ゼロトラストセキュリティの実現に向けて、Jamf Connectを導入しました。 Jamf Connectの導入を検討している方向けに、ポイントをまとめました。 Jamf Connectとは Jamf Connectは、Appleデバ…

LLMアプリケーションにおけるObservabilityとLangfuse

LLMを利用したアプリケーションの開発において、オブザーバビリティ(Observability)確保のためにLangfuseを導入しました。 本格的な運用はこれからとなりますが、Langfuseが解決する課題についてツールの検討を通して得た知識を纏めます。 LLMOpsとObservabi…

ROUTE06 で Okta を導入しました

こんにちは。情シスの @kaze3desu です。 このたびROUTE06では、ゼロトラストセキュリティを実現するために、IdPとしてOktaを導入しました。 Oktaの導入を検討している方向けに、ポイントをまとめようと思います。 Oktaとは Oktaは、クラウドベースのアイデ…

Zed REPLで実現するTypeScriptのインタラクティブなコンピューティング

Zedに追加されたREPL機能と、Denoを使って、REPLでTypeScriptを実行する手順やデモを紹介します。

OSS 推進観点で Supabase の GitHub 設計が参考になった

こんにちは。ソフトウェアエンジニアの id:masutaka26 です。最近は社内プロダクトの OSS 化を推進する活動をしています。 先日、GitHub の Issue テンプレートを調査しました。その中で Supabase が参考になったので共有します。 1. New Issue からの導線 …

ROUTE06 で Okta と GitHub Enterprise Cloud を SAML連携 させた方法

概要 OktaとGitHub Enterprise CloudをSAML連携させるために、Oktaのアプリ統合カタログにある「Github Enterprise Cloud - Enterprise Accounts」を使ってSSO(シングルサインオン)を実現しました。 実現できたこと プライベート環境と仕事環境の切り分けが…

jscodeshift + OpenAI API でソースコード内の日本語文字列を一括で変換する

こんにちは、ROUTE06 でソフトウェアエンジニアをしている@MH4GFです。 私が関わるリポジトリでの共通言語を日本語から英語に変えることになり、既存のコードベースに散在する日本語文字列を一括で変換する方法を模索しました。 最終的に jscodeshift と Ope…

Vimの操作感を愛おしむ人たちへ: Zedで広がる新たな可能性

コードエディタのZedを紹介します。1年ほど使ってみて感じたZedの特徴、例えばVimライクな操作性や高速な応答性能、多言語サポート、AI機能などについて紹介しています。また、リアルタイムコラボレーション機能やオープンソース化後の開発状況、現時点での…

Next.jsのRoute Handlerを型安全にするType Alias

Next.jsのRoute Handlerでレスポンスの型情報を推論するType Aliasを紹介します。ZodやValibotなどのスキーマバリデーションライブラリを使用するアプローチとの比較も。

チュートリアル: Yjs, valtio, React で実現する共同編集アプリケーション

Yjsは、リアルタイム共同編集を実現するためのアルゴリズムとデータ構造を提供するフレームワークです。Notion や Figma のように、1 つのコンテンツを複数人で同時に更新する体験を提供することができます。 Y.Map, Y.Array, Y.Text といった共有データ型を…

LOVEDから始める、開発者のためのプロダクトマーケティング入門

開発者がプロダクトマーケティング思考を知ることの意味や目的をLOVEDという書籍を引用しながら紹介します。

スタイリングがもっと楽しくなる!CVAとTailwind CSSで実現するVariant管理

Tailwind CSSの手軽さを活かしながら、より柔軟なスタイリングを実現するためのライブラリClass Variance Authority(CVA)をコード例を交えて紹介します。

モノレポでマージキューと必須ステータスチェックを運用するためのTips

ROUTE06 でソフトウェアエンジニアをしている @MH4GF です。 GitHub のマージキュー(Merge Queue)を私のチームでの開発フローに取り入れてから数ヶ月経ちました。マージキューは非常に便利ですが、挙動の理解やセットアップに難しさがあると感じています。い…

ROUTE06エンジニア対談 - 学び続ける熱意と穏やかなリーダーシップを持つ、エンジニア岩井のキャリア観

こんにちは。ROUTE06 Tech Blogの編集チームです。ROUTE06のエンジニア対談を連載でお届けします。 第8回は、CTOの重岡 正さんと岩井 大志(さとし)さんです。Web開発から事業会社での自社開発まで、エンジニアとして幅広い経験を積んできた岩井さん。新し…

RubyKaigi 2024 協賛&参加レポート

ハイサイ ROUTE06でエンジニアリングマネージャーをしている沖縄生まれ沖縄育ちの @tamaseyo です。 今回は沖縄で開催された RubyKaigi 2024 の様子をお届けします。 ゆたしくうにげーさびら!(沖縄の方言でよろしくおねがいします という意味です) RubyKa…

OpenAI Assistants APIのFile searchにWebサイトを追加する

OpenAI Assistants APIのFile searchにWebサイトを追加する方法を紹介します。

TSKaigi 2024 協賛&参加レポート

こんにちは。ROUTE06の技術広報Bです。TSKaigi 2024の参加レポートをお届けします。 TSKaigi 2024とROUTE06協賛の背景 TSKaigi 2024とROUTE06が協賛した背景については以下の記事をご覧ください。 route06.co.jp ROUTE06のメンバーも現地&オンライン参加 RO…

PR-Agent×GitHub Action×Azure OpenAIで実現するAIコードレビュー

CodiumAIが提供しているPR-AgentとAzure OpenAI、GitHub Actionを組み合わせて、AIコードレビューを実現する方法と、使ってみた感想を紹介します。

AWS Amplify Auth v6へのマイグレーションで対応した破壊的変更

ROUTE06 でソフトウェアエンジニアをしている @MH4GF です。私が関わるプロダクトでは認証や認可に Amazon Cognito を使っており、 React で実装したフロントエンドアプリケーションから Amazon Cognito との接続には AWS Amplify が提供している Auth ライ…

複雑なドメインに立ち向かうための Event Sourcing と Hybrid-CQRS の採用事例

私のチームでは Event Sourcing と Hybrid-CQRS を採用してプロダクトを開発しています。なぜ Event Sourcing、Hybrid-CQRS を採用したのか、実際に開発してみてどうだったのかを共有することで、なにか参考になるところがあればと思います。 なぜ Event Sou…

技術顧問として半年間で感じた会社の成長

こんにちは。hiroppyです。2023年7月に技術顧問として参加させていただき、半年経ちましたので、今回は自分からみたROUTE06社の印象と何をしているかを話したいと思います。 一言でいうと、組織が大きくなっていることが実感できた半年でした。 最初の印象 …