1
/
5

テックブログ

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の運用で役立つロギング、トレース、モニタリングアラートについて解説します。ユーザー体験を左右する「レイテンシ」とは?速さが価値になるウェブサービスを運用する上で、特に注目したいのがリクエストのレイテンシです。もしレイテンシが遅いと、せっかく良いサービスでもユーザーは離れてしまいます。時は金なりとも言いますね。レイテンシのざっくりした分類は次の通りです。レイテンシは複数のステップで発生...

【dbt × BigQuery】増分更新について挙動を詳しく確認してみる【insert_overwrite(Dynamic partitions), append】株式会社ライトコード

こんにちは!普段データ関連のお仕事をしています。現在所属しているチームではデータマートの作成の際にdbtを使用しており、コスト削減のために差分更新の対応中です。差分更新処理を書いていると「あれ?どんな挙動になるんだっけ?」ということが多いので、そんな自分に向けて増分更新の詳しい挙動を確認して、備忘録がてらブログを書いていきたいと思います。環境・準備BigQuerydbt差分更新の種類僕が所属しているチームでは「insert_overwrite(Dynamic partitions)」方式と「append」方式を採用しているので、今回はその2つについて挙動を見ていきたいと思います。inse...

Pythonのパッケージ管理ツール「uv」を試してみた【株式会社ライトコード】

概要Pythonのパッケージ管理ツールuvを使ってみたので、使い心地をざっくり書いてみます。記事の要約趣味プロジェクトのパッケージ管理ツールをuvへ移行させた使ってみたらとても便利だったので、普段の開発ユースケースでどう運用するのが良さそうか整理したいuvはいいぞ環境Python: 3.13.2uv: 0.7.8背景もとい前置きPythonは主に趣味で触っていましたが、パッケージ管理で苦戦することが多かったです。Dockerを使うとIDEと噛み合わせが悪かったり、いろんなツールを試すと仮想環境とパッケージ管理が複雑になってきてメンテナンスが大変になったりと、色々迷走してきました。Pyth...

【ReactNative】Reduxで状態管理【株式会社ライトコード】

はじめにReact Native のアプリ開発で状態管理に Redux を使用しています。今回は、Redux の導入と基本的な使い方について備忘録としてまとめました。Redux とはRedux は、グローバルな状態管理のための JavaScript ライブラリです。主に React と ReactNative の状態管理に使用されます。React の状態管理方法としては他にも様々な選択肢がありますが、React に関する年次開発者調査を行っている Devographics の 2024 年調査によると、React の状態管理には useState に次いで Redux(Redux Too...

Next.js, TailwindCSSでscroll-behaviorを使い分ける【株式会社ライトコード】

はじめにスムーズスクロール対応のため、html要素にscroll-behavior: smooth;のclass(以下、TailwindCSSのscroll-smooth)を付与したい時があります。ただ、scroll-behavior: auto;を使いたいページを要求されたらどうするか心配になるものです。Next.js App routerNext.js App routerでは<html>タグをroot layoutで記述する必要がありますが、Route Groupsを使い複数のroot layoutをを用いることができます。app├── (scroll-auto)│ └── l...

5,104Followers
301Posts

Spaces

Spaces

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

注目のストーリー

ライトコード技術記事

社員の声

フリーランス応援