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によるデータ取得この構成にはいくつかの課題がありました:従来の実装における課題型安全性の欠如: フロントエンドとバ...

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", ...

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(旧系...

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...

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

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

過去のストリームから見るViewModelの未来:StateFlowへの移行は本当に必要か?【株式会社ライトコード】

StateFlowを積極的に採用すべき?(株)ライトコードでモバイルアプリケーションメインで色々開発している笹川(ささがわ)です!Jetpack Composeが主流となりつつある現代のAndroid開発において、ViewModelでの状態管理も進化しています。LiveDataとStateFlow、どちらも強力なツールですが、なぜ私たちはStateFlowを積極的に採用すべきなのでしょうか?今回はその理由を掘り下げて解説していきます。1. 過去のストリームライブラリから見る技術の変遷LiveDataが生まれる以前、Android開発では非同期処理やイベント通知のために様々なライブラリが使...

CypressでE2Eテストどやってみた!【株式会社ライトコード】

はじめに最近テストの重要性を感じて、特にE2Eテストを導入したいなーって思ってました。そこで、Cypressを使って実際にプロジェクト作りながら学んでみることにしました!プロジェクト概要Docker Composeで構築フロントエンドはRemix、バックエンドはGoで実装PostgreSQLを使用Nginxをリバースプロキシとして設定Cypressを使ってE2Eテストを実装GitHub ActionsでCI/CDを設定やりたいことAPIテストE2EテストビジュアルテストGitHub Actionsで自動テストさっそく始めよう!今回はシンプルなブログアプリを作ってみます。APIのエンドポイ...

KubernetesでHTTPS通信をやってみる①【ローカル編】【株式会社ライトコード】

MinikubeとIngressで自己署名証明書を使ったHTTPS通信を実現するこの記事では、ローカル環境のMinikubeを使い、自己署名証明書(オレオレ証明書)とIngressでHTTPS通信を実現する流れを見ていきます。前編としてローカルでIngressを使ったHTTPS通信を確認し、後編ではGoogleCloud上にk8sリソースを作成して同様にHTTPS通信ができるところまで確認します。前編後編を通してk8sでのネットワーク(L4, L7)について少し詳しくなろうという試みです。1. はじめに:なぜHTTPSが必要なのか?現代のウェブサービスにおいて、HTTPSは必須です。ユー...

自作のChrome拡張を使って業務効率化をしてみる【株式会社ライトコード】

ちょっとした作業を効率化するためにシェルスクリプトや簡単なコードを作って楽をすることはエンジニアではよくあることかと思います。その一環としてChromeの拡張機能を作るのも意外と便利だよ、というお話です。作りたいもの今回作るのはGitHubのプルリクエストに対する拡張です。プルリクエストが大きくなると、全てのコメントに対応したかどうか分かり辛くなることがあるので指摘数を一目でわかるようなブラウザ拡張を作ってみようと思います。具体的にはFiles changedタブを開いた際に画面の適当な部分にコメント数や解決数を表示してくれる、といったものを目指します。必要な手順manifest.jso...

【Android】GitHub ActionsからワンクリックでFirebase App Distributionにアプリをデプロイする【株式会社ライトコード】

前回は、GitHub Actionsを使ってAndroidアプリのバージョン番号(versionName と versionCode)を自動で更新し、プルリクエストを作成するワークフローについて解説しました。▼ 前回の記事(まだの方はこちらからどうぞ!)2025.02.07【Android】GitHub Actionsでアプリのバージョン情報を更新するはじめにこんにちは!株式会社ライトコードの福岡本社でモバイルエンジニアやってる こー です!現在、個人開発しているAn...開発中では、テスターやチームメンバーに対して動作確認用としてAPKファイルを配信することが多くあると思います。ですが...

Cloud Run運用術:遅延も異常も見逃さない監視と通知【株式会社ライトコード】

今日からできる!Cloud Runサービスの運用のコツこんにちは、最近、個人開発用のMacBookPro(M4)を新調し、バッテリーの持ちの良さに感動した "こやまん" です。今回は、Google Cloudの運用で役立つロギング、トレース、モニタリングアラートについて解説します。ユーザー体験を左右する「レイテンシ」とは?速さが価値になるウェブサービスを運用する上で、特に注目したいのがリクエストのレイテンシです。もしレイテンシが遅いと、せっかく良いサービスでもユーザーは離れてしまいます。時は金なりとも言いますね。レイテンシのざっくりした分類は次の通りです。レイテンシは複数のステップで発生...

5,192Followers
306Posts

Spaces

Spaces

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

注目のストーリー

ライトコード技術記事

社員の声

フリーランス応援