1
/
5

エンジニア

2025年にNext.jsアプリケーションにtRPC + TanStack Queryを導入した話【株式会社ライトコード】

はじめにNext.js App Routerで React Server Componentや Server Functionが導入されましたが、クライアントサイドからデータを取得したい場面ではあまり向いておらず、従来のAjaxで対応した方が望ましいケースがあります。担当しているNext.jsプロジェクトでは、そのようなケースを以下のような構成で実装していました:API Routesによる REST API 作成クライアントコンポーネントにてuseEffect + axiosによるデータ取得この構成にはいくつかの課題がありました:従来の実装における課題型安全性の欠如: フロントエンドとバ...

【iOS】Whisperで文字起こししてみた【株式会社ライトコード】

はじめにWhisper を使った文字起こしアプリを実装してみたのですが、導入や実装で時間がかかってしまったため、今回、備忘録として導入から実際に音声の文字起こしまでをまとめたいと思います。Whisper とはWhisperは汎用的な音声認識モデルです。多様な音声を収録した大規模なデータセットで学習されており、多言語音声認識、音声翻訳、言語識別を実行できるマルチタスクモデルでもあります。引用:https://github.com/openai/whisper/blob/main/README.md#whisperWhisper は MIT ライセンスになっており、無料で使用することができる...

Claude Opus 4.5とSonnet 4.5に同じ実装をお願いしてみた【株式会社ライトコード】

はじめに2025年11月25日、Anthropicから最新モデル「Claude Opus 4.5」がリリースされました。Opus4.5は、他のAIモデルと比較しても、現段階では最先端のモデルとなったようです。トークン出力時にかかるコストも従来のOpusから67%削減され、Maxプランだと、普段使いではほぼ上限に行くことはなくなり、Opusでの開発がより一層楽しめます。私は、会社のサブスク補助制度を利用して、Maxプラン($100)に加入させていただいています。100ドルの補助はありがたすぎます!!感謝です。また、Claude Codeがデスクトップアプリで利用可能になったことで、アプリ上...

メンターとしてのエンジニア育成の理想と現実(理想編)【株式会社ライトコード】

はじめに「Javaのコードが書けるエンジニアを増やしたい!」という話が社内であり、少しの期間に数名をメンターとして見ていきました。その時にやっていったことや感じたこと、今後はこうしたい、みたいなことを書いていこうと思います。ここではまず理想として考えていたことから書いていきます。Javaのコードが書けるエンジニア、とは対象の方々は、プログラミング自体が業務では初めてに近い人もいれば、実務で他の言語はそれなりにやっていった人とか様々です。まずは何をもって「Javaのコードが書けるエンジニア」と言えるのか、ゴールを決めるところから考えていく感じとなります。<最終的なゴール>1、作業現場に1人...

dbtモデルを増分化してコスト削減しよう【株式会社ライトコード】

はじめにdbtはデータパイプラインを構築するためのとても便利なツールです。単にSQLを実行してくれるだけでなく、関連する機能がたくさんあります。今回はincrementalモデルとして実行してコストを削減する方法をまとめました。DWHはBigQueryを利用しています。実装方法早速実装方法です。以下のようなSQLモデルがあったとしたら、{{ config( materialized="table", alias="daily_sales", partition_by={ "field": "date", ...

Djangoの設定ファイルの基本を理解したい【株式会社ライトコード】

概要Djangoのsettings.pyを毎回調べながら使っているので、もう少し仲良くなるためにドキュメントを読み直してみます。ゴールDjangoがデフォルトで生成する設定ファイル「settings.py」を読み解き、よく使う設定値がいつ・どこで・どのように参照されるのか概要を復習することを目指します。構成settings.pyの中身を最初に見ておき、ブロック単位に何が書かれているか見ていきます。すべて触れると長くなってしまうので、よく使うものに絞っておきます。環境Django: 5.2.8settings.pyまずはデフォルト設定から、概観を掴んでおきます。"""Django sett...

Artifact Registry・Cloud SQL・Cloud Runの費用削減術【株式会社ライトコード】

Artifact Registryの費用削減Artifact Registryでは、アーティファクト1GBあたり、0.1$ほどの料金が発生します。検証環境では、頻繁にアーティファクトがpushされるため、気が付いたら容量がそこそこ大きなものになっていたりということが多々あります。すごく高い料金という訳ではありませんが、ちりつもで不要なリソースは削除していくのが望ましいでしょう。Google Cloud の Artifact Registryの管理画面からリポジトリごとにクリーンアップポリシーというものが設定できます。以下は、私がよく設定するクリーンアップポリシー例です。最新の5件のアーテ...

Solr で commitWithin を使ってみた【株式会社ライトコード】

はじめに今回はSolrにおいて、アプリケーション側からコミット制御を行う際に使われるcommitWithinの挙動について紹介します。Solrではドキュメントを追加(add)しても即座に検索に反映されず、データをいつ検索できる状態にするかを制御する必要があります。この反映タイミングを決める仕組みがcommitとcommitWithinです。業務で大量のデータを扱う中で、アプリケーション側から明示的にcommitを多発すると、タイムアウトやパフォーマンス低下 を引き起こすケースがありました。そこで今回は、commitWithinを使ってSolr に「◯秒以内に commit してね」と任せ...

dbt年次イベント Coalesce on the road Tokyoに参加してきました!【株式会社ライトコード】

はじめに今回は2025-12-11に行われたCoalesce on the road Tokyoの参加レポートです。dbtのCoalesceといえばラスベガスで開催されるイベントですが、そのワールドツアーの1日イベントが東京で初開催!コア開発者やプロダクトマネージャーが実際に日本へ来て話をするとても熱いイベントです。英語の発表も多いですが、ニアリアルタイムな翻訳の仕組みがあるので安心です。印象に残ったセッションと感想をまとめてみました!Keynote: Rewritedbt LabsのVP of Product Marketing、Clarke Pattersonのセッションです。今回の...

【Solr運用Tips】大量データをインポートするときに気をつけたいポイントまとめ【株式会社ライトコード】

はじめにSolr を使ったシステムでは、データの追加(import)処理が性能や安定性に大きく影響します。特に 数十万〜数百万件規模のデータを一括投入するケースでは、単純に add や commit を繰り返すだけでは十分なパフォーマンスが出ず、処理時間が大幅に増加してしまいます。今回の取り組みでは、大量データインポート時の処理速度を改善することを明確な目的として、Solr の動作特性やリソース負荷を踏まえながら改善を進めました。この記事では、その過程で実際に効果のあった Solr インポート高速化のための実践的な Tips をまとめて紹介します。前提Solrバージョン:6.6.6(旧系...

CloudRunのネットワークエラーに遭遇【株式会社ライトコード】

はじめに私たちのチームでは、長年稼働してきた巨大なモノリシックシステムを段階的にリプレースしています。Next.js(App Router構成)を使ったフロントと、GraphQL APIを備えた新しいバックエンドを少しずつCloud Runへ移行中です。LB(ロードバランサ)でパスを切り分け、旧システム(Compute Engine上)と新システム(Cloud Run上)を共存させる形で運用しています。この段階的リプレースは順調に見えましたが、ある日、リリースのたびに大量のネットワークエラーが発生するようになりました。発生したエラーエラーの内容はこのようなものです[Network e]:...

BigQuery Editionsとオンデマンドの課金を比較: INFORMATION_SCHEMAからコスト試算【株式会社ライトコード】

はじめにBigQueryのクエリに対する課金は「スキャン量課金(オンデマンド)」と「スロット課金(Editions)」の2種類があります。どちらを選ぶべきか迷う方のために、過去ジョブ実績からざっくり試算して比較してみました。この記事では、クエリコストを算出してBigQuery Editionsに切り替えた場合の料金変化を確認します。また、ここでは本番ワークロードで利用しやすいEnterpriseエディションを例にしています。料金について公式ドキュメントには以下のように書かれています。BigQuery では、クエリの実行用に 2 種類のコンピューティング料金モデルが用意されています。オンデ...

【ReactNative】Storybookを導入した話【株式会社ライトコード】

概要Storybookはコンポーネントを一覧表示できるツールです。ページ自体を実装することなくコンポーネントを個別に表示できるため、単体のコンポーネント実装やコードレビューに便利です。私の担当しているReactNativeプロジェクトで大規模なページ実装があり、大量のコンポーネントが必要になるため導入してみました。今回はExpoでのStorybookの導入を紹介します!導入以下を実行してStorybookをインストールします。途中でいくつか選択肢が出てきますが、初期選択のもので進めて問題ありません。npm create storybook@latestnpx expo@latest cu...

【GraphQL】Dataloaderを使用してN+1問題を回避しよう!【株式会社ライトコード】

はじめに今回はDataloaderを使用してN+1問題を解消する方法を解説したいと思います。Dataloaderはデータ取得を一度に行いN+1問題を解決するGraphQLに組み込まれているライブラリです。GraphQLでは、ネストされた構造で取得することが多いため、その構造上N+1問題が起きやすいです。Dataloaderでは上記問題を簡単に解決することができます。動物の一覧と種別を取得する例をもとに解説していきます。モデルclass Species < ApplicationRecord has_many :animalsendclass Animal < ApplicationRe...

Androidのユニットテストの重要性、カバレッジの計測と向上テクニック【株式会社ライトコード】

Androidでもユニットテストは大事!モバイルメインで色々開発している笹川(ささがわ)です!アプリ開発において、新しい機能を追加したり、古いコードをリファクタリングしたりする際、こんな不安を感じたことはありませんか?「この変更、どこか別のところに影響しないかな...?」この不安を解消し、自信を持ってコードを改善していくための土台となるのが、ユニットテストです。今回は、なぜユニットテストがエンジニアの必須スキルなのかを再確認し、具体的なカバレッジの計測・向上方法までを解説していきます。1. なぜユニットテストはエンジニアの必須スキルなのか?ユニットテストは単なる「バグを見つける作業」では...

5,192Followers
306Posts

Spaces

Spaces

エンジニア初心者向け記事

注目のストーリー

ライトコード技術記事

社員の声

フリーランス応援