トレタ開発者ブログ
https://tech.toreta.in/
飲食店向け予約/顧客台帳サービス「トレタ」、モバイルオーダー「トレタO/X」などを運営するトレタの開発メンバーによるブログです。
フィード
2024年を振り返り
トレタ開発者ブログ
こんにちは、トレタ VPoEの北川です。 こっそりと始めていた2024年の開発部アドベントカレンダーもいよいよ最終日となりました。今年の締めくくりとして,プロダクト開発部で実施した2024年の振り返り会についてご紹介します。 振り返り会の流れ 今年の振り返り会の目的は、「お互いにフィードバックを行い、お互いを高め合うこと」でした。 最近読んだ書籍に「みんなのフィードバック大全」という本があります。その本によるとフィードバックには「ポジティブフィードバック」と「ギャップ(ネガティブ)フィードバック」の2つに大別されるそうです。 日頃のコードレビューや業務改善の中では、「ここはもっとこうした方がい…
11日前
チームで取り組むGo開発:開発体験向上の施策のご紹介
トレタ開発者ブログ
はじめに こんにちは、サーバーサイドエンジニアの@shiroemonsです。 こちらはトレタAdventCalendar2024 22日目の記事です。 今回は、現在進行中のGoプロジェクトにおけるディレクトリ構成と、開発体験を向上させるために実施した施策について紹介します。 ディレクトリ構成 このディレクトリ構成は、チーム全体で議論を重ね、各メンバーが実装しやすく効率的な形を目指して構築しました。以下がその詳細です。 . ├── cmd # エントリーポイント │ ├── api # APIサーバー(実際はProject名) │ └── seeder # 開発環境ダミーデータ生成処理 ├── …
14日前
堅牢なフロントエンド開発を支えるAPI型チェックと防衛的プログラミング
トレタ開発者ブログ
こんにちは、トレタ VPoEの北川です。 フロントエンドアプリケーションで社内外のAPIを利用する際には、セキュリティやデータ整合性の問題、スキーマの不整合、予期しない変更への対応といった数々の課題がつきものです。 こうした課題に対応し、信頼性の高いフロントエンドを構築するために、弊社では防衛的プログラミングと厳密な型チェックを活用しています。これにより、APIとの連携におけるリスクを最小限に抑え、開発の効率と品質を両立させています。 本記事では、防衛的プログラミングの考え方、型チェックを厳密に行う理由、実際の開発現場の例を交えてご紹介します。 API利用におけるセキュリティの重要性 まず、J…
1ヶ月前
監視業務(オンコール)に必要なこと
トレタ開発者ブログ
こんにちは、トレタVPoEの北川です。 今回はトレタの開発組織で行っている監視業務(オンコール対応)について紹介しようと思います。 監視業務(オンコール対応) トレタでは飲食店向けにサービスを提供しているため、飲食店の営業時間である深夜や土日祝にもシステムが利用されています。そのためトレタの営業時間外でも安定してサービスを提供できるように監視体制をつくり運用しています。 オンコールとは、システム障害が発生した際にオンコールの担当者が対応できるように待機する業務です。当番の担当者は障害発生時に障害状況の確認や各所への連絡を行います。 トレタではPagerDutyというサービスを使い、事前に定めた…
2ヶ月前
フロントエンド開発環境スタートセット2024秋
トレタ開発者ブログ
こんにちは、トレタ VPoEの北川です。 今回は弊社でフロントエンドアプリケーションを新しく構築する際の開発環境として、何のライブラリを入れるかという開発環境初期セットを紹介しようと思います。 Web Framework / CSS Framework / Tesing Framework / Linter / Formatter、それぞれ定番で使うデファクトが大体ありましたが、近年では新しいライブラリも登場したので、2024年現在・最新版を、今回は直近で作られた実際のリポジトリを例にご紹介します。 今回紹介するリポジトリのアプリケーションはtoB向けの管理画面のアプリケーションで、特質した部…
3ヶ月前
フロントエンドチームのリリースサイクルとブランチ運用
トレタ開発者ブログ
こんにちは、トレタ VPoEの北川です。 カジュアル面談などでよく聞かれる質問として「開発プロセスはアジャイルですか?」という質問とあわせて「リリースサイクルはどれくらいですか?」という質問を受けることがあります。 そこで今回は弊社のフロントエンドチームでのリリースサイクルとそれに対応するブランチ運用を例にして紹介しようと思います。 リリーストレインによる定期リリースサイクル 弊社のモバイルオーダー・トレタO/Xのオーダーアプリチームのリリースサイクルは週1回となっています。毎週水曜日の定期リリースという形でいわゆるリリーストレイン(ReleaseTrain)の手法となっています。 背景として…
3ヶ月前
FeatureFlagの運用パターン -トレタのテックトーク
トレタ開発者ブログ
こんにちは、トレタ VPoEの北川です。 9月に入りましたが残暑が厳しすぎます… テックトークとは 隔週に一回開催し、当番の発表者が最近の気になる技術情報であったり、業務する中での技術的な学びを社内に発信する場です。 全体30分の前半はLT(ライトニングトーク)、後半はその内容について参加者内で議論、という形式で行なっています。 今回のテックトーク 今回の発表は自分、北川の担当でした。 先日行なったエンジニアイベントでの質問の中にFeatureFlagをどう運用しているのか、という質問をいくつかいただいたので、今回の発表では弊社内でのFeatureFlagの使い方について発表しました。 Fea…
4ヶ月前
TORETA TECH UPDATE #1 イベント後記
トレタ開発者ブログ
こんにちは、トレタ VPoEの北川です。 先日、トレタ主催のエンジニアイベント「TORETA TECH UPDATE #1 -飲食を支えるフロントエンド」を開催しました。 ご参加いただいた皆様、大変ありがとうございました。 また、台風の影響によりオフラインの開催からオンラインの開催へ急遽切り替えさせていただき、参加予定だった方にはご迷惑をおかけして大変申し訳ございませんでした。 toreta.connpass.com 今回のイベントはトレタとしてコロナ禍以降にイベントを行う機会が減って、約5年振りのイベント開催でした。 自分としてもイベントを企画するのは今回が初めてだったので、今回のイベントを…
4ヶ月前
マイクロサービス・リアーキテクト
トレタ開発者ブログ
こんにちは、トレタ VPoEの北川です。 先月にモバイルオーダー「トレタO/X」の新機能として、NECモバイルPOS連携をリリースしました。今回の記事ではその時の開発を振り返り、開発の裏側について紹介しようと思います。 toreta.in 外部POSとの連携 モバイルオーダーと切っても切れない関係にあるのが「POSレジ」です。POSレジとはいわゆる会計のレジのことです。 トレタO/Xではモバイルオーダー上から会計ができるオンライン決済と、内製のモバイルPOSであるO/X-POSでの対面決済が行えるようになっています。 とはいえ、多くの飲食店には既にPOSレジが入っているケースが大半で、キャッシ…
4ヶ月前
奥野さんと社員のリファクタリング部屋 -API分割とその前に
トレタ開発者ブログ
「奥野さんと社員のリファクタリング部屋」は、リファクタリングに励むトレタの社員と技術顧問の奥野さん ( @okunokentaro ) の間で実際に行われた会話を切り取った開発現場実録コンテンツです。 技術顧問: 奥野さん 三度の飯よりリファクタリングが好き 今回の質問者: 武市さん トレタ在籍2年。沖縄在住のフロントエンジニア PR こちらに登場している2人が登壇するイベント・TORETA TECH UDATEが2024/08/28に開催予定! リファクタリングやリアーキテクトなど、サービスを提供させながらプロダクトの新陳代謝をいかにして行なってきたかを開発現場の実例と合わせて紹介します! …
5ヶ月前
奥野さんと社員のリファクタリング部屋 -ディレクトリの名付け方つづき
トレタ開発者ブログ
「奥野さんと社員のリファクタリング部屋」は、リファクタリングに励むトレタの社員と技術顧問の奥野さん ( @okunokentaro ) の間で実際に行われた会話を切り取った開発現場実録コンテンツです。 技術顧問: 奥野さん 三度の飯よりリファクタリングが好き 今回の質問者: 武市さん トレタ在籍2年。沖縄在住のフロントエンジニア PR こちらに登場している2人が登壇するイベント・TORETA TECH UDATEが2024/08/28に開催予定! リファクタリングやリアーキテクトなど、サービスを提供させながらプロダクトの新陳代謝をいかにして行なってきたかを開発現場の実例と合わせて紹介します! …
5ヶ月前
トレタのエンジニアイベント TORETA TECH UPDATE 2024/08/28開催予定!
トレタ開発者ブログ
こんにちは、トレタ VPoEの北川です。 来る8/28(水)にトレタ主催でエンジニアイベントを開催します。 タイトルは、TORETA TECH UPDATE #1 -飲食を支えるフロントエンドです。 toreta.connpass.com このイベントでは、トレタで日々行っている開発業務の中での事例紹介を行います。今回はフロントエンドにフォーカスして、特にトレタでの現在の注力事業であるモバイルオーダー「トレタO/X」の開発話を中心に、現場感あふれる内容をお届けします。 開催のきっかけ トレタで主催するエンジニアのイベントは久しぶりで約5年前になります。 以前は社外向けのイベントを活発に行ってい…
5ヶ月前
アジャイルorウォーターフォール?トレタの開発プロセスは?
トレタ開発者ブログ
こんにちは、トレタ VPoEの北川です。 カジュアル面談など面談の中の応募者からの質問で、トレタの開発プロセスはどういったものですか?というのはよく受ける質問です。今回は現在のトレタの開発プロセスが日々どう行われているかについて紹介したいと思います。 アジャイル vs ウォーターフォール 開発プロセスにおいうてアジャイル vs ウォーターフォールの論争は令和の時代になっても今だに行われていますが、トレタの開発はどっち、という前にそれぞれの定義を整理しておきましょう。 出典: martinFowloer.com WaterProcessから抜粋 まず、「ウォーターフォール」の明確な定義はないよう…
5ヶ月前
トレタのテックトーク -普段使用しているGitコマンドの紹介-
トレタ開発者ブログ
こんにちは。サーバーサイドエンジニアの森田です。 今回は、弊社のテックトークで紹介されたGitコマンドについてご紹介します。 テックトークとは 隔週に一回開催し、当番の発表者が最近の気になる技術情報であったり、業務する中での技術的な学びを社内に発信する場です。 全体30分の前半はLT(ライトニングトーク)、後半はその内容について参加者内で議論、という形式で行なっています。 今回のテックトーク 今回の発表者は サーバーサイドエンジニアの川村さんです。 今回の発表内容は、日々の開発で頻繁に使用する一般的なGitコマンドに加え、意外と知られていない便利なGitコマンドについての紹介でした。 以下に特…
6ヶ月前
フルリモートの開発組織に出社は必要か?
トレタ開発者ブログ
こんにちは、トレタ VPoEの北川です。 トレタはコロナ以降、全社員フルリモートでの働き方をしていましたが、最近は出社回帰の揺り戻しがトレタにも起きてきました。 このブログでは、開発組織としてリモートワークと出社を今後はどう向き合っていくかの方針、について紹介しようと思います。 リモートの流れ 歴史を遡るとトレタの開発部はコロナが起きる前の早い段階からリモートワークに取り組んでいました。 その当時は毎週水曜日を「リモートワーク推奨日」として、開発部のメンバーは水曜日はなるべくリモートワークを行いそれ以外の曜日は出社、という働き方にしていました。 目的としては、プログラミングなどの開発業務を行う…
6ヶ月前
トレタのテックトーク -リモートワークの環境の作り方-
トレタ開発者ブログ
こんにちは。トレタ PjMの藤田です。先日の投稿に引き続き、トレタで長年行われているテックトークという開発メンバーによるフリートークの場について紹介します。 テックトークとは 隔週に一回開催し、当番の発表者が最近の気になる技術情報であったり、業務する中での技術的な学びを社内に発信する場です。 全体30分の前半はLT(ライトニングトーク)、後半はその内容について参加者内で議論、という形式で行なっています。 今週のテックトーク 今週の発表者はサーバーサイドエンジニアの森田さんです。森田さんのご自宅の開発環境(物理)についてご紹介いただきました。基本的な仕事環境として、森田さんが普段使っている、Ma…
6ヶ月前
週報のすすめ
トレタ開発者ブログ
こんにちは、トレタ VPoEの北川です。 開発部の取り組みとして、週報を書くことを始めました。 週報とは、いわゆる業務内容の報告を週の終わりに記載し提出するものです。 日報でもよかったのですが、あまり負担にならないように週報にしました。 まだ始めたばかりなので取り組みの結果はまだわかりませんが、なぜ週報を始めたのか、目的や意図についてこのブログに書こうと思います。 自分のための週報 週報をやろうと思ったきっかけはこちらのブログです。 kakehashi-dev.hatenablog.com こちらを読んでから自分でも実際に日報を書くのを数ヶ月やってみました。 始めたのが自分がVPoEになったタ…
6ヶ月前
奥野さんと社員のリファクタリング部屋 -ディレクトリの名付け方
トレタ開発者ブログ
「奥野さんと社員のリファクタリング部屋」は、リファクタリングに励むトレタの社員と技術顧問の奥野さん ( @okunokentaro ) の間で実際に行われた会話を切り取った開発現場実録コンテンツです。 技術顧問: 奥野さん 三度の飯よりリファクタリングが好き 今回の質問者: 武市さん トレタ在籍2年。沖縄在住のフロントエンジニア 今回の質問 前回に引き続き、Webアプリケーション (Next.js) のプロダクトのリファクタリングを進めている武市さんから、ディレクトリ構造のリファクタリングについての質問です。 tech.toreta.in 前回の指摘も踏まえて、新しいディレクトリ構造とその定義…
6ヶ月前
リファクタリングの道標:リファクタリングを通じて組織を改善していく
トレタ開発者ブログ
こんにちは。トレタ技術顧問の奥野 (@okunokentaro) です。先日のブログ記事『奥野さんと社員のリファクタリング部屋 -リポジトリ層のディレクトリをどう作る?-』に対して多くの反響をいただき、ありがとうございます。いただいたご意見やご質問の一つひとつが非常に貴重であり、大変感謝しています。 いくつか個別に質問をいただくことがあったのですが、それらの質問を要約すると「リファクタリング後のコードもまだツッコミどころだらけでは?」や「リポジトリ層という名前がまずおかしいのでは?」という二つの点に集約されました。これらの質問はとても理解できます。今回の記事では、具体的な個別の質問への個別の回…
7ヶ月前
奥野さんと社員のリファクタリング部屋 -リポジトリ層のディレクトリをどう作る?-
トレタ開発者ブログ
「奥野さんと社員のリファクタリング部屋」は、リファクタリングに励むトレタの社員と技術顧問の奥野さん ( @okunokentaro ) の間で実際に行われた会話を切り取った開発現場実録コンテンツです。 技術顧問: 奥野さん 三度の飯よりリファクタリングが好き。 今回の質問者: 武市さん トレタ在籍2年。沖縄在住のフロントエンジニア 今回の質問 今回は初期リリースを終えたWebアプリケーション(Next.js)のプロダクトを担当している武市さんから、複数人で開発を進めてきて統率が取れなくなったディレクトリ構造のリファクタリングについての質問です。 APIで外部とやり取りしている部分をリファクタリ…
7ヶ月前
トレタのテックトーク -プロジェクト管理における開発速度を考える回-
トレタ開発者ブログ
こんにちは。トレタ VPoEの北川です。 今回はトレタで長年行われているテックトークという開発メンバーによるフリートークの場について紹介します。 テックトークとは 隔週に一回開催し、当番の発表者が最近の気になる技術情報であったり、業務する中での技術的な学びを社内に発信する場です。 全体30分の前半はLT(ライトニングトーク)、後半はその内容について参加者内で議論、という形式で行なっています。 今週のテックトーク 今週の発表者はO/XグループPjM(プロジェクトマネージャー)の藤田さんです。 今回の発表内容は、他社のプロジェクトマネジメント事例としてリクルート社のAirワーク リニューアルプロジ…
7ヶ月前
MVPをメジャーリリースと呼ぶことをやめた
トレタ開発者ブログ
こんにちは。トレタ VPoEの北川です。 先日、「優先順位が口癖になる危機感」という記事を見かけました。 まさに自分が普段行っていることで同様の危機感を抱えていたたので、非常にささる内容でした。 jinjor-labo.hatenablog.com 要約すると、 優先度の高いタスクだけをやっていると、優先度の低いタスクを着手する時期は一生訪れない 実装したい機能の最優先部分だけを小さくリリースした場合、残りの機能は実装されず常に及第点の品質となる 及第点を取ることを目標として常態化してしまうとUXや内部品質が低下し続ける 自分が携わっているプロダクトもtoBのWebアプリケーションなので、普段…
7ヶ月前
Next.jsとGoを使っていきます
トレタ開発者ブログ
こんにちは、VPoEの北川です。 今回はトレタで現在使用している技術スタックについて紹介します。 創業時から稼働している予約・顧客台帳サービス「トレタ」から現在の注力事業のモバイルオーダーサービス「トレタO/X」までをあらためて振り返ってみると、まるで異なる技術スタックになっているので歴史的な背景などを辿りながら紹介していきます。 技術スタックの変遷 予約・顧客台帳「トレタ」 会社名にもなっている予約・顧客台帳の「トレタ」は創業当時から稼働している築11年ほどのシステムです。 サーバーサイドにはRubyとRubyOnRailsで作られた巨大なコードベースのAPIサーバーがあり、予約台帳のiOS…
7ヶ月前
業務委託との長く続く良い関係性
トレタ開発者ブログ
こんにちは。トレタでVPoEをしている北川です。 この度、クレスウェア株式会社の奥野賢太郎氏がトレタの技術顧問に就任しました。 corp.toreta.in トレタに在籍している人にとっては奥野さんが技術顧問になったという話は「今更!?」と感じる人もいるかもしれません。 それだけ奥野さんはトレタで業務委託として長く携わってもらっていますし、実務以上に技術面の啓発や開発カルチャー作りに今までも貢献していただいていました。 今回のことで奥野さんとの関わりが大きく変わることもありませんが、これからトレタの開発組織を強化し、発信を活発にしてく上で、奥野さんとの協力をより一層強くするために今回の発表をさ…
8ヶ月前
開発組織の新しいコアバリューを定めました
トレタ開発者ブログ
こんにちは、トレタ VPoEの北川です。 先日VPoEに就任したご報告をしましたが、あわせて開発組織内のコアバリューを新しくしました。 この記事ではその新しいコアバリューについて書こうと思います。 tech.toreta.in 新しいコアバリュー 「短く速く作り出そう。遠いゴールを目指して飛び込もう。(Dash & Dive)」 トレタの会社全体のビジョンやミッション、行動指針などはありますが、その中でも現時点での開発組織としての重心としたい要素をこの言葉にまとめました。 盛り込みたい要素はいろいろとありましたが、なるべく短い言葉にしたかったのでそこに込めた背景を説明していきます。 短距離走で…
8ヶ月前
VPoEとしてやっていくこと
トレタ開発者ブログ
こんにちは、この度VPoEになりました北川です。 ついこの間まではPdMとしてプロダクトをみていましたが、少し範囲が広がり開発組織全体も見ていくことになりました。 せっかくなので、VPoEとしてこれから何を考えどうやっていくのか、今日時点での所信表明をこの記事に書こうと思います。 corp.toreta.in VPoEとは あらためて、VPoEとは「Vice President of Engineering」の略です。日本語でいうと開発部長です。 とはいえ一言でVPoEといっても広義であり、各社ごとにその定義や役割は違うと思います。 そんな中で自分の中で気に入っている定義は、VPoE hand…
8ヶ月前
トレタAdventCalendar2023:エンジニアkentaroが語るインフラ移行の舞台裏
トレタ開発者ブログ
こちらはトレタAdventCalendar2023 24日目の記事です。 タイトルはAIタイトルアシストにつけてもらいました。 qiita.com はじめに こんにちは、トレタでソフトウェアエンジニアをしているkentaroです。 トレタO/Xという飲食店向けモバイルオーダーの開発を担当しています。 担当しているゲートウェイサーバのインフラを GCP に移行したのでその話を紹介したいと思います。 O/Xのシステム構成図。赤枠がゲートウェイサーバー。ちなみに筆者はユーザー向けアプリ・スタッフ向けアプリの開発も担当している。 なぜインフラを移行するのか 移行前は AWS の EKS 環境でした。当…
1年前
GPTsでGoのテストアドバイザーを作ってみた
トレタ開発者ブログ
はじめに こんにちは、サーバーサイドエンジニアの@shiroemonsです。 こちらはトレタAdventCalendar2023 22日目の記事です。 11月上旬、OpenAIからChatGPTの新機能「GPTs」が発表されました。 この新機能は、ChatGPTを特定の目的や用途に合わせてカスタマイズできる点が特徴です。 この記事では、GPTs作成と作成したGPTsを紹介しようと思います。 GPTsとは GPTsは、自然言語処理を行うAI技術であるChatGPTを、特定の目的や用途に合わせてカスタマイズできる機能です。 この機能は、OpenAIが開発したGPTモデルに基づいており、膨大なテキス…
1年前
21世紀のターミナル「Warp」のショートカットキーの紹介
トレタ開発者ブログ
はじめに こんにちは、サーバーサイドエンジニアの@shiroemonsです。 こちらはトレタAdventCalendar2023 20日目の記事です。 前日の記事でシリコンMacに移行した記事を書きました。 tech.toreta.in 最近、Warpというターミナルを使い始めました。今回の記事はもともとWarpの機能について詳しく紹介するつもりでしたが、他のブログと内容が重複してしまうことに気づきました。 実際に、Warpを使い始めたばかりで、まだ完全には慣れていないため、学ぶべきことも多いです。そこで、この記事ではWarpで使える便利なショートカットキーに焦点を当ててみました。この記事を通…
1年前
シリコンMacへの開発環境移行体験談
トレタ開発者ブログ
はじめに こんにちは、サーバーサイドエンジニアの@shiroemonsです。 こちらはトレタAdventCalendar2023 19日目の記事です。 この記事では、開発用PCをインテルMacからシリコンMacに移行した際の経験を共有します。 背景 私の開発PCは、頻繁ではないですがフリーズやパフォーマンスの低下を経験していました。 特に、Google Meetでの会議中のフリーズは、作業の妨げになっていました。 そんな中、M3チップを搭載したMacBook Proの発表があり、これを機に新しいMacBook Proへの移行を決意しました。 12月9日に新しいMacBook Proが届いたこと…
1年前