1
/
5

エンジニア

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. なぜユニットテストはエンジニアの必須スキルなのか?ユニットテストは単なる「バグを見つける作業」では...

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

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

Gemini CLIに衝撃 ― 2025年のAI開発環境を語る【株式会社ライトコード】

2025年の開発環境ここ数年でAIは急速に普及し、私たちの業務環境にも深く入り込むようになってきました。AIツールを導入することで、作業のスピードアップや効率化が期待できる一方で、過度に依存すると誤りやリスクを見逃したり、開発者自身の判断力が弱まる懸念もあります。そのため、AIを開発者の代替ではなく「開発力を拡張するパートナー」として活用しています。現在、私が利用している主なAIツールは以下の通りです。Gemini CLIGemini CLIは、Googleが2025年6月25日に発表されたAIエージェントで、私が最も感動したAIエージェントでもあります。Gemini CLIでは、GEM...

コードリーディングの考え方をまとめてみる【株式会社ライトコード】

概要コードを読んできた経験を振り返ることで、読むことについて考えてみます。記事の構成最初にコードを読む目的を整理します。コードを読むのが良いとはよく聞くけれど、具体的になぜ良いのか、これまでの経験から見直してみます。そして、自分なりに取り組んできたコードの読み方を紹介することで、自分自身のコードリーディングに関する考えを振り返ります。読む目的・読み方について自分なりの考えをまとめることで、今後の自分自身・コードを読みたいと思っている方への参考になれば幸いです。なぜコードリーディングが重要か今までやってきたことを振り返ってみると、困難な問題を解決するのに役立ってきたのは、コードを読む力だと...

Kotlin Coroutines withContextを使ってもStackTraceを諦めたくない【株式会社ライトコード】

はじめに本記事は、以前の記事Kotlin Coroutines withContextを使っているとStackTraceを用いた不具合調査が辛いのをどうにかしたいの解決提案編となります。どんな問題だったかKoltin CouroitnesのwithContextを利用してスレッド変更するとStackTraceが途切れてしまい不具合発生時の処理履歴が追えなくなるという問題でした。詳しくは前回の記事を確認してください。解決案1:withContextごとに、例外ラッパークラスにStackTrace情報を詰め込む(問題あり…)↓まずは、例外ラッパークラスを作成。/* * Exceptionをラ...

デスクトップ環境を整えて開発効率を上げてみる【株式会社ライトコード】

はじめにみなさんこんにちは、ずおです!最近家にこもっているので、体重が5kg増えました。今日はタイル型ウィンドウマネージャー(yabai, skhd)の紹介です。僕自身こちらを導入したことにより開発効率がかなり上がったのでぜひ参考にしていただければ幸いです!yabaiyabaiは、macOS 上で動作するタイル型のウィンドウマネージャです。こちらを使用すると、ウィンドウを自動的に整理し、スクリーンのスペースを最大限に活用することができます。では早速、yabaiをインストールします。(※Homebrewのインストールをお済ませください)brew install koekeishiya/fo...

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

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

5,097フォロワー
300投稿数

スペース

スペース

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

注目のストーリー

ライトコード技術記事

社員の声

フリーランス応援