ELW株式会社 テックブログ

リアルなログをそのままお届けします。

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

検索エンジンとMongoDB Atlas Searchについて

はじめに CTOの村上です。弊社では一覧検索でMongoDB Atlasを使用しています。 DRIVE SFAではエンティティに対してカスタム項目を設定でき、標準の項目でもカスタム項目でも部分一致検索が出来るという仕様上、途中からパフォーマンス観点の対策として採用し…

OpenAI Chat Completions API におけるfunctionsの活用

◆ はじめに AIからの回答を、JSONなど定型の構造体に収めてアプリケーション上で活用したい、という場面はよくあると思う。 プロンプトで「このような型で回答してほしい」といった要望を逐一指示することも可能ではあるが、実際にやってみると回答にブレが…

MCPを理解する

エンジニアの井立田です。 本記事では、最近注目されているMCPの基本的な概念について、簡潔にわかりやすく解説します。

Redis Streamsを利用した通知アーキテクチャ

◆はじめに 揮発性のある軽量な通知機能をWebアプリに実装する必要があり、時系列でメッセージを記録可能で既読処理も単体で実現できるRedis Streamsが適当だと思い採用した。以下、その時行ったサーバー側実装を備忘録的にまとめる。 (※実際の名称などは変え…

Tanstack Router

今回のフロントエンド勉強会では、話題のルーティングライブラリ TanStack Router を取り上げました。 現在、弊社で開発中のプロダクトにおいて採用を検討しており、要件を満たせるかどうかの観点から調査を行いました。今回はその中でも、導入前に最低限押…

Kotlinpoet による Kotlinコードの生成

LLM時代には、ルールベースで決まるコードはスクリプトで生成し、それを使ってLLMにコーディングしてもらうのが一つの効率的なやり方だと思っています。今回は、Kotlinpoetを使ったKotlinコード生成について勉強会で話したので共有させていただきます。

Django と Quarkus + Kotlin に学ぶバックエンド開発スタイル比較

1. Djangoとは オープンソースのPython製フルスタックWebフレームワーク(初版 2005 年)。 MTV構造:Model=DB層、View=ロジック、Template=画面。役割が分かれ保守しやすい。 “Batteries‑included” フィロソフィ ─ ORM・管理画面・認証・国際化などを標…

vinxiやviteなどのエコシステムを整理

CTOの村上です。現在Tanstack Startの採用を検討していますので、 そこで使われているツールやSDKなどについて整理してみました。

Reactの<ViewTransition>コンポーネントを使ってみた

ViewTransitionAPIとは ページを遷移する際にスムーズなアニメーションを追加できるブラウザネイティブのAPI メリット 遷移アニメーションがスムーズ 記述が簡単 ブラウザネイティブの機能ため、JavaScriptによるアニメーションよりパフォーマンスが優れてい…

Junieを使ってみた

Junieとは JetBrainsが2025年4月16日に正式リリースしたAIコーディングエージェント。 チャット欄に自然言語で依頼したタスクを自律的に計画・実行。実際にソースコードを編集、ビルドやユニットテストまで走らせたうえで差分を提示してくれる。 コードの補…

フロントエンド実装のVibe Codingを実プロダクトで試してみる

ELWのCTOの村上です。LLMの活用検討会の記事となります。 バックエンドと比較してフロントエンドのVibe Codingが難しいという課題感が社内であり、 その検証のためにVibe Codingで私が既存システムの改修チケットを実施してみたのでその紹介となります。

RDB脳のためのMongoDB覚書

◆用語 コレクション RDBのテーブルに相当。RDBの場合は同テーブルであれば必ず同スキーマだが、コレクションでは同スキーマである必要はなく、異なるフィールドを混在させることが可能。 ドキュメント RDBのレコードに相当。フィールドと値のペアのBSON(JSON…

SQL OR条件のパフォーマンス低下とオプティマイザ

とある実装でSQLのOR条件を多用する機会があり、そのパフォーマンスが著しく低く悩まされたので調査・改善した話。

LATERALサブクエリについて

CTOをしております、村上です。今回のバックエンド勉強会では、Postgres SQLのLATERALサブクエリについて話しましたので、その内容を紹介させていただきます。

Discordでゲームのマルチサーバを制御するbotを作ってみた

プライベートでDockerコンテナで動作するPalworldゲームサーバーを監視・制御するためのDiscord Botを作ったことがあるので紹介します。 主な機能は以下の通り プレイヤーの監視と非アクティブ時の自動停止 Discordメッセージによるサーバーの手動起動・停止…

フロントエンド社内勉強会: AWS AppSyncについてと既存プロジェクトでの活用事例

CTOをしております、村上です。今回の勉強会ではAppSyncについて話しましたので、その内容を紹介させていただきます。

JWTを理解する

ELWでエンジニアをしております。井立田です。 今回はJWTとJWTを用いたセッション管理について見ていきます。 JWTとは JSON Web Tokenの略 JSON形式でデータを安全にやりとりするためのトークン 電子署名によって改ざんを検知できる

Tanstack Startのserver functionとは

フロントエンジニアをしております、堀江です。 私はフロントエンド技術の情報収集に、主に『This Week in React』というニュースレターを活用しています。 thisweekinreact.com そのニュースレターで面白い記事を見つけ、勉強会として一緒に読み合わせを行…

Anthropic Computer UseとBrowser Useを使ってみた

ELWでエンジニアをしております、井立田です。 今回はAnthoropic Computer UseとBrowser Useを実際に試してみたので、その手順と感想を書いてみました。 Anthropic Computer Use docs.anthropic.com Computer Useとは AI モデル(Claude )がコンピューター…

CSS設計思想の振り返りと今について考察してみる

単純に書けるが故にどういうルールで書くかを考えとかないとカオスになるんですよね。 クラスの命名の仕方とか、どういう粒度にするかとか、上書きどうするかとかとかとかとか。 実はその「ルール」をどうするかっちゅう設計思想というのがCSSにもありまして…

Docker Desktop(mac)のコンテナログ削除

概要 肥大化したmac用Docker Desktopのコンテナログを削除した時の備忘録。 実行環境 Docker Desktop: 4.37.2 macOS: 15.3 CPU: Apple M3 導入 頻繁にコンテナごと down -> up していたり、ログ自体Docker DesktopのGUIで見ている分には然程気にならないかも…

LLMの活用状況・今後の活用方法の検討会の第二回を実施しました

ELWのCTOの村上です。LLMの活用検討会の二回目を社内で実施しましたので、その記事となります。 あくまで私が調べた内容や試行した結果ですので、もし間違いがありましてもご容赦いただけると幸いです。 第一回は以下となりますので、合わせて読んでいただけ…

LLMの活用状況・今後の活用方法の検討会の第一回を実施しました

ELWのCTOの村上です。本記事の元となった会議では、私が日々の開発でLLM(Large Language Model)をどのように活用しているかを叩き台として各自どのように活用しているかの共有、そして今後のプロジェクトや日々の開発を改善していくかを議論しました。ぜひ…

バックエンド社内勉強会: 共通化について

はじめに "どうしてあなたの共通化は間違っているのか"という、以下の@wolfmagnate(進捗ゼミ) さんの記事の第1章から3章をベースに勉強会を実施しました。 https://qiita.com/wolfmagnate/items/73c3770cf036eada630d

フロントエンド社内勉強会:nuqsを使ってnext.jsのクエリパラメータの同期する

ELWでエンジニアをしております。井立田です。