ELW株式会社 テックブログ

https://techblog.elw.co.jp/

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

フィード

記事のアイキャッチ画像
MCPを理解する
ELW株式会社 テックブログ
エンジニアの井立田です。 本記事では、最近注目されているMCPの基本的な概念について、簡潔にわかりやすく解説します。 MCPとは ツールとは LLMが外部の関数やAPIを呼び出すための機能 例: 天気を取得するAPIを呼ぶ 社内のドキュメント検索を行う LLMは閉じた世界の中で働くため、外部の世界について知ることができず、また外部に対してなんらかの変化を及ぼす能力も持っていない。この弱点を克服する機能がツール。 Function Callingとは ツールは関数のような形式で表現され、関数名・引数・その説明などを含む。 会話のプロセスで、モデルがツールの使用が必要だと判断した場合、適切な引数を…
18日前
記事のアイキャッチ画像
Redis Streamsを利用した通知アーキテクチャ
ELW株式会社 テックブログ
◆はじめに 揮発性のある軽量な通知機能をWebアプリに実装する必要があり、時系列でメッセージを記録可能で既読処理も単体で実現できるRedis Streamsが適当だと思い採用した。以下、その時行ったサーバー側実装を備忘録的にまとめる。 (※実際の名称などは変えています) ◆構成概要 通知発生 [フロントエンド] ----> [APIサーバー] ----> [Redis] 「ユーザーAが◯◯の△△を更新」などのアクションきっかけで、◯◯に関連のあるユーザーBに対して「更新されました」メッセージを作成しRedisに書き込む。 配信 [フロントエンド] <--(WebSocket)-- [APIサー…
1ヶ月前
記事のアイキャッチ画像
Tanstack Router
ELW株式会社 テックブログ
今回のフロントエンド勉強会では、話題のルーティングライブラリ TanStack Router を取り上げました。 現在、弊社で開発中のプロダクトにおいて採用を検討しており、要件を満たせるかどうかの観点から調査を行いました。今回はその中でも、導入前に最低限押さえておきたいポイントに絞って、公式ドキュメントや関連リンクとともに紹介していきます。 型安全なrootingとsearch parameter TanStack Routerは、Next.jsとは異なり、ルーティング定義におけるユーザー定義型の自動補完が特徴です。たとえば、useNavigate() や useParams() などの公式H…
2ヶ月前
記事のアイキャッチ画像
Kotlinpoet による Kotlinコードの生成
ELW株式会社 テックブログ
LLM時代には、ルールベースで決まるコードはスクリプトで生成し、それを使ってLLMにコーディングしてもらうのが一つの効率的なやり方だと思っています。今回は、Kotlinpoetを使ったKotlinコード生成について勉強会で話したので共有させていただきます。
2ヶ月前
記事のアイキャッチ画像
Django と Quarkus + Kotlin に学ぶバックエンド開発スタイル比較
ELW株式会社 テックブログ
1. Djangoとは オープンソースのPython製フルスタックWebフレームワーク(初版 2005 年)。 MTV構造:Model=DB層、View=ロジック、Template=画面。役割が分かれ保守しやすい。 “Batteries‑included” フィロソフィ ─ ORM・管理画面・認証・国際化などを標準搭載し 迅速なプロトタイプ開発 が可能。 URL ディスパッチャ + テンプレートエンジンにより 疎結合なページ生成、CSRF/XSS 対策などセキュリティ機能も内蔵。 よく使われる場面:CMSや社内システム、スタートアップのMVP、大規模サービス(例:Instagram)。
3ヶ月前
記事のアイキャッチ画像
vinxiやviteなどのエコシステムを整理
ELW株式会社 テックブログ
CTOの村上です。現在Tanstack Startの採用を検討していますので、 そこで使われているツールやSDKなどについて整理してみました。
3ヶ月前
記事のアイキャッチ画像
Reactの<ViewTransition>コンポーネントを使ってみた
ELW株式会社 テックブログ
ViewTransitionAPIとは ページを遷移する際にスムーズなアニメーションを追加できるブラウザネイティブのAPI メリット 遷移アニメーションがスムーズ 記述が簡単 ブラウザネイティブの機能ため、JavaScriptによるアニメーションよりパフォーマンスが優れている developer.mozilla.org ReactでViewTransitionコンポーネントが利用できるようになる <ViewTransition> コンポーネントが実験的にReactに追加された github.com <ViewTransition> で子要素をラップすることで、それらの間の変化をアニメーション機…
4ヶ月前
記事のアイキャッチ画像
Junieを使ってみた
ELW株式会社 テックブログ
Junieとは JetBrainsが2025年4月16日に正式リリースしたAIコーディングエージェント。 チャット欄に自然言語で依頼したタスクを自律的に計画・実行。実際にソースコードを編集、ビルドやユニットテストまで走らせたうえで差分を提示してくれる。 コードの補完機能はない。補完を行いたい場合はAI AssistantやGithub copilotを利用する www.jetbrains.com LLM Claude3.7 プランと価格 制限付きで無量レベルを提供 ただしIDE自体が有料 対応IDE(2025年4月現在) IntelliJ(有料版) PyCharm(有料版) WebStorm …
4ヶ月前
記事のアイキャッチ画像
フロントエンド実装のVibe Codingを実プロダクトで試してみる
ELW株式会社 テックブログ
ELWのCTOの村上です。LLMの活用検討会の記事となります。 バックエンドと比較してフロントエンドのVibe Codingが難しいという課題感が社内であり、 その検証のためにVibe Codingで私が既存システムの改修チケットを実施してみたのでその紹介となります。
4ヶ月前
記事のアイキャッチ画像
RDB脳のためのMongoDB覚書
ELW株式会社 テックブログ
◆用語 コレクション RDBのテーブルに相当。RDBの場合は同テーブルであれば必ず同スキーマだが、コレクションでは同スキーマである必要はなく、異なるフィールドを混在させることが可能。 ドキュメント RDBのレコードに相当。フィールドと値のペアのBSON(JSONをバイナリでエンコードしたデータ形式)で保持される。フィールドに対しインデックスを作成することも可能。
4ヶ月前
記事のアイキャッチ画像
SQL OR条件のパフォーマンス低下とオプティマイザ
ELW株式会社 テックブログ
とある実装でSQLのOR条件を多用する機会があり、そのパフォーマンスが著しく低く悩まされたので調査・改善した話。
4ヶ月前
記事のアイキャッチ画像
LATERALサブクエリについて
ELW株式会社 テックブログ
CTOをしております、村上です。今回のバックエンド勉強会では、Postgres SQLのLATERALサブクエリについて話しましたので、その内容を紹介させていただきます。
5ヶ月前
記事のアイキャッチ画像
Discordでゲームのマルチサーバを制御するbotを作ってみた
ELW株式会社 テックブログ
プライベートでDockerコンテナで動作するPalworldゲームサーバーを監視・制御するためのDiscord Botを作ったことがあるので紹介します。 主な機能は以下の通り プレイヤーの監視と非アクティブ時の自動停止 Discordメッセージによるサーバーの手動起動・停止 サーバーのステータス確認(稼働状況、リソース使用率) 起動・停止時のDiscord通知 サーバー スペック メモリ:4GB CPU:仮想4コア 容量:100GB OS:Ubuntu 22.04 言語はPythonです ※ Discordのボット機能の解説については今回は触れないでおきます。(いろんな解説記事が世に転がってま…
6ヶ月前
記事のアイキャッチ画像
フロントエンド社内勉強会: AWS AppSyncについてと既存プロジェクトでの活用事例
ELW株式会社 テックブログ
CTOをしております、村上です。今回の勉強会ではAppSyncについて話しましたので、その内容を紹介させていただきます。
6ヶ月前
記事のアイキャッチ画像
JWTを理解する
ELW株式会社 テックブログ
ELWでエンジニアをしております。井立田です。 今回はJWTとJWTを用いたセッション管理について見ていきます。 JWTとは JSON Web Tokenの略 JSON形式でデータを安全にやりとりするためのトークン 電子署名によって改ざんを検知できる
6ヶ月前
記事のアイキャッチ画像
Tanstack Startのserver functionとは
ELW株式会社 テックブログ
フロントエンジニアをしております、堀江です。 私はフロントエンド技術の情報収集に、主に『This Week in React』というニュースレターを活用しています。 thisweekinreact.com そのニュースレターで面白い記事を見つけ、勉強会として一緒に読み合わせを行いました。2つの連続した記事になるのですが、内容としてTanstack Startにおけるserver functionという概念の紹介と、それとRSCやNext.jsのApp Routerとの比較になっています。 www.brenelz.com www.brenelz.com Next.jsは記事中で紹介されているse…
6ヶ月前
記事のアイキャッチ画像
Anthropic Computer UseとBrowser Useを使ってみた
ELW株式会社 テックブログ
ELWでエンジニアをしております、井立田です。 今回はAnthoropic Computer UseとBrowser Useを実際に試してみたので、その手順と感想を書いてみました。 Anthropic Computer Use docs.anthropic.com Computer Useとは AI モデル(Claude )がコンピューターのデスクトップ環境を操作できる機能のこと 仮装環境で動作するため、ローカルPCのファイルやシステムに直接アクセスすることはできない プログラムを作らせることも可能 事前準備 クレジットのチャージ(https://console.anthropic.com/s…
7ヶ月前
記事のアイキャッチ画像
CSS設計思想の振り返りと今について考察してみる
ELW株式会社 テックブログ
単純に書けるが故にどういうルールで書くかを考えとかないとカオスになるんですよね。 クラスの命名の仕方とか、どういう粒度にするかとか、上書きどうするかとかとかとかとか。 実はその「ルール」をどうするかっちゅう設計思想というのがCSSにもありまして。 そのお話です。 !)最後にちゃぶ台返しします BEM、OOCSS、SMACSS、FLOCSS 1. BEM (Block, Element, Modifier) 2. OOCSS (Object Oriented CSS) 3. SMACSS (Scalable and Modular Architecture for CSS) 4. FLOCSS …
7ヶ月前
記事のアイキャッチ画像
Docker Desktop(mac)のコンテナログ削除
ELW株式会社 テックブログ
概要 肥大化したmac用Docker Desktopのコンテナログを削除した時の備忘録。 実行環境 Docker Desktop: 4.37.2 macOS: 15.3 CPU: Apple M3 導入 頻繁にコンテナごと down -> up していたり、ログ自体Docker DesktopのGUIで見ている分には然程気にならないかもしれないが、まあまあ長いこと動作し続けているローカルデバッグ用のコンテナに対しCLIでlogsを叩くと、さすがにスクロール量が気になってきておりログを掃除しようと思い立つ。 docker logs {コンテナID} が、具体的なログファイルの格納先はどこなのか?…
7ヶ月前
記事のアイキャッチ画像
LLMの活用状況・今後の活用方法の検討会の第二回を実施しました
ELW株式会社 テックブログ
ELWのCTOの村上です。LLMの活用検討会の二回目を社内で実施しましたので、その記事となります。 あくまで私が調べた内容や試行した結果ですので、もし間違いがありましてもご容赦いただけると幸いです。 第一回は以下となりますので、合わせて読んでいただけると嬉しいです。 techblog.elw.co.jp
7ヶ月前
記事のアイキャッチ画像
LLMの活用状況・今後の活用方法の検討会の第一回を実施しました
ELW株式会社 テックブログ
ELWのCTOの村上です。本記事の元となった会議では、私が日々の開発でLLM(Large Language Model)をどのように活用しているかを叩き台として各自どのように活用しているかの共有、そして今後のプロジェクトや日々の開発を改善していくかを議論しました。ぜひ参考にしていただければ幸いです。
7ヶ月前
記事のアイキャッチ画像
バックエンド社内勉強会: 共通化について
ELW株式会社 テックブログ
はじめに "どうしてあなたの共通化は間違っているのか"という、以下の@wolfmagnate(進捗ゼミ) さんの記事の第1章から3章をベースに勉強会を実施しました。 https://qiita.com/wolfmagnate/items/73c3770cf036eada630d
7ヶ月前
記事のアイキャッチ画像
フロントエンド社内勉強会:nuqsを使ってnext.jsのクエリパラメータの同期する
ELW株式会社 テックブログ
ELWでエンジニアをしております。井立田です。
7ヶ月前
記事のアイキャッチ画像
zero-ETL統合時の制約メモ
ELW株式会社 テックブログ
techblog.elw.co.jp に対して、留意した方がよさそうなものを抜粋。 AuroraとRedshiftは同一リージョンに存在する必要あり 統合済のDBクラスタは削除不可 先に統合を全て削除 Aurora(PostgreSQL) : Redshift = 1 : 1 クォータのデフォルト オブジェクト識別子は 英数字、$、_(アンダースコア) のみ使用可 DB名、テーブル名、カラム名など VIEWはレプリケートされない システムやテンポラリも geometry型はサポートしていない bigint、text、date、timestamp など基本的な型のみ
8ヶ月前
記事のアイキャッチ画像
バックエンド社内勉強会: Aurora PostgresSQLとRedshiftのzero-ETL統合について
ELW株式会社 テックブログ
CTOをしております、村上です。 先日、フロントエンドの勉強会の初回記事を掲載させていただきましたが、 そのバックエンド版の初回となります。 フロントエンド版と同様に担当制で、各回の担当者には議論したいアジェンダとその材料を持って来てもらいます。 業務に完全に直結するものは業務でアウトプットすると思うので、世の中で話題になっているものや自分の中で興味が出ているものなどを想定しています。 ただ、業務と少しずらしていれば問題なしです。 techblog.elw.co.jp
8ヶ月前
記事のアイキャッチ画像
フロントエンド社内勉強会:HTMX, Hotwireについてキャッチアップ・議論
ELW株式会社 テックブログ
CTOをしております、村上です。 今回から、社内勉強会の内容をログとして投稿させていただきます。(今回の発表者は私です) 担当制で、各回の担当者には議論したいアジェンダとその材料を持って来てもらいます。 業務に完全に直結するものは業務でアウトプットすると思うので、世の中で話題になっているものや自分の中で興味が出ているものなどを想定しています。 ただ、業務と少しずらしていれば問題なしです。 ログなので内容として不正確、不十分なところはあると思いますが、ご了承ください。
8ヶ月前
記事のアイキャッチ画像
QuarkusにおけるOIDCでのログインユーザー情報の保持方法
ELW株式会社 テックブログ
弊社ではバックエンドのフレームワークにQuarkusを採用し、Kotlinで使用しています。 表題通りQuarkusでログインユーザー情報を保持する方法が意外に公式に詳しく書かれていないので紹介させていただきます。
8ヶ月前
記事のアイキャッチ画像
Quarkusにおける認可の実装方法
ELW株式会社 テックブログ
Quarkusにおける認可の方法は、公式の次のページに書かれています。 https://quarkus.io/guides/security-jwt ただ、認可の種類には以下の3つがあると考えられ、そのうち1-iの場合の説明となっています。 通常のRBACで良い場合 IdPで定義したRoleを元に、JWT中のRoleで判断するので問題ない場合: IdPのRoleを元に@RolesAllowedなどのアノテーションを用いる 権限設定の変更を即座に反映したい場合: 動的にSecurityContextをセットし、そこで定義したRoleを元に@RolesAllowedなどのアノテーションを用いる 認…
8ヶ月前
記事のアイキャッチ画像
SFAにおけるカスタム項目機能をどう実現するか
ELW株式会社 テックブログ
DriveSFAではカスタム項目に対応しています。カスタム項目というのは、システムが規定している項目以外にクライアントさんが自社用に追加できる項目のことです。 このカスタム項目を実現するのが意外に難しいです。 RDBを使う以上json型を使うのが手っ取り早いのですが、一覧のための部分一致検索がしづらいです。 ただ、SFAということでテーブル間の関係性が重要なので、RDB自体は使いたいです。 そこで、カスタム項目だけMongoDBに格納して対応しています。 カスタム項目でもう1つ難しいのは、設定変更時の互換性維持です。 項目の追加・削除・編集に対応する必要があります。 RDB上にカスタム項目の設…
8ヶ月前