newmo 技術ブログ

https://tech.newmo.me/

技術で地域をカラフルに

フィード

記事のアイキャッチ画像
TSKaigi 2025に登壇しました
はてなブックマークアイコン 2
newmo 技術ブログ
2025年5月23日と24日に TSKaigi 2025 が開催され、newmo でソフトウェアエンジニアをしている @yui_tang と @nozomuikuta が一般応募枠で登壇しました。それぞれの発表の資料と概要は以下のとおりです。 TypeScript エンジニアが Android 開発の世界に飛び込んだ話 speakerdeck.com 本発表では、主に TypeScript で UI 開発を行っているエンジニアの方々に向けて、TypeScript と Kotlin、Web フロントエンドと Android アプリ開発に共通する多くの構造や思想、そしてその背景について紹介しました…
7日前
記事のアイキャッチ画像
Cloud Service Mesh for Cloud Run で実現する PR 環境
newmo 技術ブログ
この記事では、Cloud Service Mesh for Cloud Run を利用して PR 環境を構築する方法について紹介します。 背景・概要 newmo ではトランクベース開発を行なっているため、開発環境での動作確認は main branch (trunk) に merge されていることが前提になっています。 そのため現状では、手軽に開発環境で API の動作確認ができなかったり、動作検証が十分でないコードが main branch に merge されてしまう課題があります。CI での test 実行などにより一定品質は担保していますが 、PR 環境 (GitHub の Pull …
2ヶ月前
記事のアイキャッチ画像
Devinが作るPull Requestのセルフマージを禁止する
newmo 技術ブログ
AI開発ツールDevinが作成したPull Requestに対して、セキュリティと品質を確保するために2人の承認を必要とする実装方法について解説します。 2025/05/21 追記 レビューコメントが30件以上あったときに正しく動かない問題を修正しました 開発者が書いたPull RequestをDevinにApproveしてもらってマージするパターンも防ぎたい場合は、ifの条件を少し変える必要があります。 背景 newmoでも少し前からDevinを利用して開発を行っています。 Devinを利用するフローは、以下のような感じになります。 エンジニアがSlackやDevinのWeb UIからタスク…
2ヶ月前
記事のアイキャッチ画像
SRE Kaigi 2025に登壇しました & Marpでスライドを作った話
newmo 技術ブログ
2025/1/26に開催されたSRE Kaigi 2025に、「SREとしてスタッフエンジニアを目指す」というタイトルで登壇しました。 発表を聴きにきていただいた方、またAsk the Speakerや懇親会で話しかけてくれた方ありがとうございました。 SRE Kaigiは今回が初めての開催なのにコミュニケーションのための工夫がいろいろされていて、多くの人が参加してコミュニケーションしていてとても盛り上がったイベントでした。自分自身も休憩スペースでたこ焼き食べながら知り合いと久しぶりにコミュニケーションしたり、懇親会では技術的な話をしたりと楽しむことができました。 発表内容はnewmoとは関係…
4ヶ月前
記事のアイキャッチ画像
【年末】DatadogのGoogle Cloud Integration設定を見直そう【大掃除】
newmo 技術ブログ
こんにちは。 newmoでは、Datadogを利用してGoogle Cloudをはじめとした各種サービスの監視を行っています。今回はDatadogのGoogle Cloud Integration設定の改善をしたことで、コストを削減できた話を共有します。(たぶん)2024年最後の記事ということで、年末の設定見直しの参考にしていただけたら幸いです。 DatadogでのGoogle Cloud Integration DatadogでGoogle Cloud Integrationを設定してメトリクスを収集することは昔からできました。以前はGoogle Cloud側でService Account…
5ヶ月前
記事のアイキャッチ画像
JSConf JPでModular Monolith Monorepoについて発表しました
newmo 技術ブログ
こんにちは、newmoでソフトウェアエンジニアをしている @yui_tangです。 2024年11月23日に開催されたJSConf JP 2024にて、「Modular Monolith Monorepo -シンプルさを保ちながらmonorepoのメリットを最大化する-」というテーマで発表させていただきました。 スライド: speakerdeck.com 動画: https://www.youtube.com/live/2BXwigWGjWQ?feature=shared&t=21596 JSConf JP 2024について JSConf JPは日本最大級のJavaScriptカンファレンスで…
6ヶ月前
記事のアイキャッチ画像
ブラウザで動作する地理空間データ処理ライブラリとして DuckDB-wasm を使い、 SQL を TypeScript で管理する仕組みを作る
newmo 技術ブログ
newmo では、地図データや地理情報を扱う場面が多くあります。 たとえば、タクシーやライドシェアでは、営業区域のような営業していいエリアといった地理的な定義があります。 また、乗り入れ禁止区域のようなタクシーが乗り入れてはいけないエリアといった定義も必要になります。 これらの地理に関する定義は GeoJSON のような地理情報を扱うデータ形式で管理されることが多いです。 しかし、GeoJSONなどの定義をテキストとして手書きするのは困難です。 そのため、地図上に区域を作図するエディタやその定義した区域が正しいかをチェックするような管理ツールが必要です。 管理ツールは、ウェブアプリケーションと…
7ヶ月前
記事のアイキャッチ画像
MonorepoでのTerraform運用を楽にする!tfactionを使ったGitHub Actions Workflowの構築
newmo 技術ブログ
はじめに newmoではGoogle Cloud等のリソース管理にTerraformを使っています。また、newmoではMonorepoを使って開発しています。 Monorepoについてここでは詳しく説明しませんが、バックエンドのGoのコードもフロントエンドのTypeScriptのコードもTerraformのコードもすべて同じGitHubのレポジトリで管理し開発を行っています。 TerraformのコードをMonorepoで管理することで、以下の要素を統一的に制御できるようになりました CICDパイプライン TerraformとProviderのバージョン セキュリティポリシー Lintルール…
7ヶ月前
記事のアイキャッチ画像
OpenTelemetry Collectorを使ったCloud Run to Datadogの実装パターン
newmo 技術ブログ
newmoでは現在アプリケーションサーバーをCloud Runで動かし、Datadogを利用してサービスの監視をすることを考えています。 複数のCloud Runサービスからメトリクス、トレース、そしてログをDatadogへ送信する方法としていくつかのパターンが考えられます。 Datadogへメトリクスやトレース、ログを送る方法としてDatadog Agentを使う方法が一般的ですが将来のための柔軟性や拡張性を考えてOpenTelemetry Collectorを利用することを検討しました。この記事では、検討した構成案を紹介します。 (2025/05/21 に、現在の情報で更新しました) はじ…
8ヶ月前
記事のアイキャッチ画像
newmoインターンがgqlparserにプルリクエストを投げた話
newmo 技術ブログ
こんにちは。8月からnewmoでインターンをしている堀之内(@horinouchi09)と申します。 nemwoではバックエンドエンジニアとして、ビジネスドメインのAPIの開発やプラットフォームエンジニアリングのタスクなど多岐にわたってプロダクト開発に携わっています。 Go言語での開発は未経験からのスタートでしたが、バックエンドエンジニアのitoさんをはじめ多くの方々にサポートしていただき、楽しく開発ができています! さて、今回は私がnewmoでのインターンを通して人生初のOSS Contributeをした話をします。 newmoの開発スタイル newmoではクライアントからサーバーのAPIを…
8ヶ月前
記事のアイキャッチ画像
YAPC::Hakodate 2024 に参加&学生支援ランチでLTしました! #yapcjapan
newmo 技術ブログ
YAPC::Hakodate 2024に社員4名が参加&学生向けにLTを実施しました こんにちは。newmoのソフトウェアエンジニアの @tenntenn です。 2024年10月5日に開催されたYAPC::Hakodate 2024にて、今年はnewmoからエンジニア4名が参加。さらに、学生支援スポンサーとして学生向けにLTをさせていただきました。 このブログでは、LTの登壇資料や補足情報、参加した社員の感想などをシェアします。 学生支援スポンサーランチLT 参加された学生のみなさんに向けて、tenntennが入社した理由についてお話しました。自分の身の回りの課題を自分で解決したいという思い…
8ヶ月前
記事のアイキャッチ画像
Google Cloud PAMを使った権限昇格の仕組みと、Terraformでloopをネストする方法
newmo 技術ブログ
PAM(Privileged Access Manager)とは Google CloudのPrivileged Access Manager(PAM)という機能をご存知でしょうか。 詳しくは 新しい Privileged Access Manager を使用して常時オンの特権からオンデマンド アクセスに移行 | Google Cloud 公式ブログ に書かれています。 簡単な方法で、必要なときにのみ、必要な期間だけ、必要なアクセス権を正確に取得できるようにすることで、最小権限の原則を実現するのに役立ちます。PAM は、常時オンの常設特権から、ジャストインタイム(JIT)、時間制限付き、承認ベ…
8ヶ月前
記事のアイキャッチ画像
まずはイテレータ(range over func)の仕様を学ぼう - Goのイテレータ深堀りNight
newmo 技術ブログ
はじめに こんにちは。newmoでソフトウェアエンジニアをやっている@tenntennです。 本稿では、2024年9月24日(火)にファインディ株式会社主催の「Goのイテレータ深堀りNight」というイベントで登壇してきましたので、その報告と内容について紹介します。 findy.connpass.com 「Goのイテレータ深堀りNight」は、2024年8月にリリースされたGo1.23の機能の1であるrange over func(通称イテレータ)について、6人の登壇者がさまざまな角度で10分のライトニングトーク(LT)を行うイベントです。筆者は、トップバッターということで「まずはイテレータ(…
8ヶ月前
記事のアイキャッチ画像
go testの時だけ時刻を固定する
newmo 技術ブログ
はじめに こんにちは。newmoでソフトウェアエンジニアをやっている@tenntennです。 newmoには2024年8月に入社しました。この記事を書いているのは2024年9月なので、入社してだいたい1ヶ月ちょっとが経過したところです。 なお、筆者が入社した経緯などは次の記事を読んでください。 note.com 入社した当初、newmoのバックエンドコードのコードを眺めていると、次のように宣言された関数を見つけました。 func Now(_ context.Context) time.Time { return time.Now().In(time.UTC) } 単にtime.Now関数を呼び…
8ヶ月前
記事のアイキャッチ画像
GitHub ActionsのJobが落ちたときに何をするべきかを記述するPlaybookの仕組みを作って運用している話
newmo 技術ブログ
newmoではGitHub Actionsを自動テスト、Lint、デプロイなどに利用しています。 また、newmoではmonorepoで開発しているため、1つのリポジトリに複数のチーム/複数のアプリケーションが存在しています。 GitHub Actionsではpathsを使うことで、特定のファイルが変更された場合のみ特定のWorkflowが実行できます。 newmoのmonorepoのworkflowでは基本的にpathsが指定されていますが、それでも普段は触らないファイルを変更して意図せずにCIが落ちることがあります。 GitHub ActionsのCIが落ちたときに、そのCIの仕組みを作っ…
9ヶ月前
記事のアイキャッチ画像
monorepo内でのパッケージのバージョンを1つだけに統一するOne Version Ruleをpnpm catalogで実装する
newmo 技術ブログ
newmoでは、フロントエンド、バックエンド、iOSやAndroidなどのモバイルアプリをすべて同じリポジトリで管理するmonorepoを採用しています。 monorepoを採用することで、アプリケーション間で共通のコードを共有することができたり、CIの管理が楽になったり、他のチームのコードを見るのにわざわざリポジトリをcloneする必要がなくなります。 また、monorepoを採用することで、アプリケーションが利用しているパッケージ(ライブラリやツール)のバージョンを1つだけにするOne Version Ruleが実装できます。 One Version Rule One Version Ru…
9ヶ月前
記事のアイキャッチ画像
iOSDC Japan 2024 にて「GraphQLとスキーマファーストで切り開くライドシェアの未来」について話しました! #iosdc
newmo 技術ブログ
iOSDC Japan 2024 にスポンサーセッションで登壇しました こんにちは。newmoのソフトウェアエンジニアの@kuです。 先週開催されたiOSDC Japan 2024にて、Day2の夕方に「GraphQLとスキーマファーストで切り開くライドシェアの未来」というタイトルで登壇させていただきました。(トーク情報) このブログでは、当セッションの登壇資料、補足・裏話をシェアします。 登壇資料 speakerdeck.com 本セッションでは、GraphQLのディレクティブを使ってスキーマにより多くの情報を持たせ、そこからコードを生成することで、異なるソフトウェア間で一貫性のある実装を安…
9ヶ月前
記事のアイキャッチ画像
newmo は「エンジニアの楽園 vim-jp ラジオ」を応援しています! #vimjpradio
newmo 技術ブログ
こんにちは。newmo の TechPR 担当です。 newmo は、2024年にスタートした「エンジニアの楽園 vim-jp ラジオ」を応援しています。newmo の vimmer も他のエディタ使いも、いつも楽しく vim-jp ラジオを聞かせていただいており、協賛できることを嬉しく思います。 協賛にあたり、以下日時のお知らせコーナーにて、newmo の情報が配信される予定です。 9月9日 #10 @yusukebe さん回 9月16日 #11 @uzulla さん回 vimmer の方も、そうでない方も。vim-jp ラジオの audee ページと vim-jp X アカウント(@vim…
10ヶ月前
記事のアイキャッチ画像
newmo は iOSDC Japan 2024 にゴールドスポンサーとして協賛します!ブース出展 & Day2にセッションも(記事内チャレンジトークン有り) #iosdc
newmo 技術ブログ
こんにちは。newmo の TechPR 担当です。 newmo は、2024年8月22日〜24日に開催予定の iOSDC Japan 2024 にゴールドスポンサーとして協賛します! 創業1年目の会社ですが、iOSコミュニティの発展に寄与できることを嬉しく思います。 記事内にiOSDCチャレンジトークンがあります。 ※ iOSDCチャレンジトークンとは、公式が催している全員参加型企画「iOSDCチャレンジ」に使用するトークンのことです。詳しくはこちらの公式案内ブログをご覧ください。 iOSDC Japan 2024 開催概要 開催日:2024年8月22日(木)〜24日(土) 場所:早稲田大学…
10ヶ月前
記事のアイキャッチ画像
Go Conference 2024 にシルバースポンサーとして参加しました!
newmo 技術ブログ
プロダクト開発に採用しているプログラミング言語Goのカンファレンス「Go Conference 2024」において、newmoはSilverスポンサーとして協賛いたしました。 当日は、CTOの @sowawa 、アーキテクトの yuki.ito、そして 筆者の@yui_tang が参加しました。 5年ぶりにオフライン開催となったGo Conferenceですが、多くの参加者が朝早くから集まり、1日を通して盛り上がりを見せていました! 創業間もないnewmoですが、幸運なことにブース出展の機会を得ることができました。 多くの方々に、バックエンドアーキテクチャや事業について興味を持っていただく貴重…
1年前
記事のアイキャッチ画像
newmo株式会社はGo Conference 2024にてスポンサーブースを出します!
newmo 技術ブログ
こんにちは、newmo 株式会社に所属しているソフトウェアエンジニアのyui_tangです。 newmoは、Go Conference 2024にSilverスポンサーとして協賛します! 2024年1月に創業したばかりの弊社が、初めて技術カンファレンスへ協賛出来ることを大変嬉しく思います。 gocon.jp newmoからは、CTOのsowawa・アーキテクトの伊藤とわたしの3名が参加を予定しています。 出来たばかりのnewmo Tシャツを着てブースでお待ちしておりますので、ぜひお越しください。 newmo Tシャツ ブースにて、ライブコーディングや事業・プロダクトの設計についての説明等を行い…
1年前
記事のアイキャッチ画像
Go + GraphQL による Modular Monolith なシステム設計について発表しました
newmo 技術ブログ
こんにちは、newmo 株式会社に所属しているアーキテクトの伊藤です。 5/22 に【Go】カンファレンススポンサーブースの集い 2024 〜カウシェ × newmo × メルカリ〜というイベントを開催しました。 このイベントで、筆者からは GraphQL Federation や Go のための GraphQL のコード生成、Modular Monolith によるシステム設計について話しました。 スライドや動画のアーカイブは、次の場所で公開されているので、ぜひご覧ください! スライド: Go + GraphQL @ newmo - Speaker Deck 動画: 【Go】カンファレンスス…
1年前
記事のアイキャッチ画像
【Go】カンファレンススポンサーブースの集い 2024 〜カウシェ × newmo × メルカリ〜 を開催します!
newmo 技術ブログ
こんにちは、newmo 株式会社に所属しているアーキテクトの伊藤です。 newmo は 2024 年 1 月に創業したばかりであるため、ゼロからどのようなアーキテクチャにするかを議論しながら開発を進めています。 これについては、次の記事でも話しているので、興味があればぜひご覧ください! 「いま、ゼロから移動を設計したら?」newmoが挑む技術的チャレンジとは|newmo株式会社|"移動で地域をカラフルに" このように議論しながら、newmo では Go 言語と GraphQL を採用することに決めました。 GraphQL と一言にいっても、GraphQL API を扱う戦略はさまざまな方法があ…
1年前
記事のアイキャッチ画像
🚗 newmo の技術ブログをはじめます 🚕
newmo 技術ブログ
newmoのCTOのsowawaです。はじめまして〜🚕 🚗 まず、最初にnewmoについて話したいと思います。 newmoはタクシーとライドシェアの会社として2024年に設立されました。 「newmo」は新しいモビリティの会社という意味で、new mobilityからnewmoと名づけました。 newmoでは、移動の問題を解決してみんなが自由に移動できる社会を作りたいと思っています。特に地域社会は移動に課題を抱えるところも多くなってきていて、好きなときに好きなところに行くことが難しいということも少なくありません。newmoではそういった課題を解決して、できるだけ多くの人が好きなときに好きなとこ…
1年前