LCL Engineers' Blog
https://techblog.lclco.com/
バス比較なび・格安移動・バスとりっぷを運営する LCLの開発者ブログ
フィード

LCLのDevin導入日誌② 〜2ヶ月利用後の効果測定・感想編〜
LCL Engineers' Blog
SRE兼バックエンドエンジニアの高良です。 LCLのDevin導入日誌① 〜オンボーディングと導入前にやっておいたこと編〜 - LCL Engineers' Blog Devinの導入から早二ヶ月、弊社内でどのように使われたか、どのくらい成果を出せたのか、こちらにまとめます。 Devinが対応したタスクの効果測定 弊社内ではまだトライアル扱いだったのもあり、Devinが対応するタスクについては 人間がやる場合の想定工数、想定人件費 Devinの消費ACU などの情報をスプシにまとめつつ利用していました。 Devin管理用スプレッドシート これらの成果をまとめた結果が↓です。 終わらせたタスク(…
11日前

LCLのDevin導入日誌① 〜オンボーディングと導入前にやっておいたこと編〜
LCL Engineers' Blog
SRE兼バックエンドエンジニアの高良です。 弊社はエンジニア全員にCursorを提供したりなど、AI導入による生産性増加の取り組みに力を入れています。 そしてその取り組みの一環として、今かなり勢いのあるDevinを導入しました!🎉 Devin自体は既にあちこちで話題になっていると思うので、細かい概要や使い方については割愛し、事前準備、オンボーディング、初PRの提出までの流れと感想をメインに書いていこうかと思います。 その1: Good First Issueの準備 最初にDevinに渡すタスクを予め用意しておきました。 選んだのはDockerfileの修正タスクだったのですが、こちらもDevi…
2ヶ月前

そのサーバー設定変更、本当にリリースして大丈夫?k6で安心を手に入れる負荷テストのススメ
LCL Engineers' Blog
SRE兼バックエンドエンジニアの高良です。 今回は業務で実施した負荷テストのポイントについて書いていきます。 実施の経緯 サービスで利用しているRailsの大きめな設定変更に伴い、負荷テストを実施した上でリリース可否を判断する、という経緯でした。 自分はこれまで負荷テストは実施したことがなく、社内でも特に決まったやり方が無かったため、今回を機に今後社内で汎用的に実施できるよう、フローを整備することにしました。 選んだツール いくつか負荷テストツールを比較した結果、grafana k6を利用することにしました。 github.com 主な選定理由については、基本的な機能が備わっている事に加え、社…
2ヶ月前

えっ、CloudWatchにRDSリードレプリカ数のメトリクスがない!?→自作しました
LCL Engineers' Blog
こんにちは。SREエンジニアのこばやし(id: kasei_san)です。 弊社サービス バス比較なび では、RDS Aurora にオートスケーリングを設定しています。 最近、この構成のメトリクスを見直していたのですが、その時点のリードレプリカ数が把握できず、ちょっと不便に感じました。 (例えば、リクエスト数が多いタイミングで、ちゃんとスケーリングが効いてレスポンスタイムが下がっているか? などを確認したいときなど) そこで CloudWatch ダッシュボードにリードレプリカ数のグラフを出そうと、対応するメトリクスを探してみたのですが……見つからないんですね。 リードレプリカ数なんて、多く…
3ヶ月前

アラートは鳴ってないのに突如403が多発… AWS WAFマネージドルール更新の影響とその対応について
LCL Engineers' Blog
SRE兼バックエンドエンジニアの高良です。 今回はAWS WAFの運用で、AWSマネージドルールのアップデートにより発生した誤ブロックとその対応について書いていきます。 発生した問題 勤務中、サービスにアクセスすると403で弾かれてしまう報告が社員から届きました。 ただ、外形監視のアラートは鳴っておらず、全員の環境で再現する訳でもなかったため、原因特定までに少し時間を要してしまいました。 調査を進めたところ、以前構築されたWAFブロック数をカウントするダッシュボードのおかげで、WAFの特定ルールのブロック数が異常に増加していることを確認できました。 CloudWatch Metric Math…
4ヶ月前

ブランチごとにECSプレビュー環境を自動生成!Terraform×GitHub Actions活用術
LCL Engineers' Blog
SRE兼バックエンドエンジニアの高良です。 今回は弊社で稼働しているTerraformとGithub Actionsを使ってブランチごとのECSプレビュー環境を自動で生成する仕組みを紹介します。 経緯 弊社ではメインサービスであるバス比較なびのフロントエンドリプレイスが絶賛進行中です。 techblog.lclco.com モノリスのRailsからNext.jsへ移行するにあたり、インフラ基盤もEC2からECSへと進化しました。 ただしその影響により、これまでEC2で動いていたブランチごとのプレビュー環境作成機能も使えなくなるため、この機能もECS用に追加することになったという経緯がありました…
5ヶ月前

SlackのMCPサーバを立てて、Cursorと連携した話
LCL Engineers' Blog
こんにちは。エンジニアチームの小林(id:kasei_san)です。 CursorがMCPをサポートしたことを知ったので、実際にSlackのMCPサーバと連携するまでを記事にしてみました。 環境 Mac OS Sonoma Cursor 0.46.7 そもそもMCPとは? MCPは、アプリケーションがLLMにコンテキストを提供する方法を標準化するオープンプロトコルです。MCPは、AIアプリケーション向けのUSB-Cポートのようなものと考えてください。 USB-Cがデバイスを様々な周辺機器やアクセサリーに接続する標準的な方法を提供するように、MCPはAIモデルを異なるデータソースやツールに接続す…
5ヶ月前

エンジニアの1日 〜 LCLで働く3人に聞いてみた 〜
LCL Engineers' Blog
エンジニアの1日 〜 LCLで働く3人に聞いてみた 〜 こんにちは!LCLサポートAIのえるしぃです! エンジニアの働き方は人それぞれ。今回はLCLで活躍する3人のエンジニアにインタビューを行い、彼らの1日のスケジュールや働き方、休日の過ごし方について聞いてみました💡 1日のスケジュールは? エンジニアJさん(在宅の1日) 時間 活動 7:30 - 8:00 朝の散歩&朝食 8:30 - 12:00 仕事 12:00 - 13:00 お昼休憩(トレーニング) 13:00 - 17:30 仕事 17:30 退勤 エンジニアKさん(出社の1日) 時間 活動 7:30 - 8:30 出社(健康のため…
5ヶ月前

OIDCを利用した、GitHub ActionsとAWSリソースの安全な連携方法
LCL Engineers' Blog
こんにちは、インフラエンジニアの小林です。 今回は OpenID Connect(OIDC) を使ったGitHub ActionsとAWSリソース連携方法について解説します。 OIDCとは? OpenID Connect は、サービス間で認証情報を安全に共有するための規格です。 アプリやサービスを利用する時に、他の認証が済んでいるサービスの情報を使って認証ができるのが特徴です。 AWS と GitHub Actionsの場合、GitHub Actions が AWS の認証情報を使うことで、安全な認証が実現されます。 OIDCを使用した、GitHub ActionsとAWS連携のメリット セキ…
6ヶ月前

Amazon Athenaと、AWS Glueと、Glueクローラーと、パーティーションについてのざっくりした理解
LCL Engineers' Blog
あけましておめでとうございます。インフラエンジニアの小林です。 Amazon Athenaとその周りの要素技術。ログの分析などで使用していながらもキチンと理解していなかったので、整理しました。 皆様のご理解の一助になればと思います。 Amazon Athena とは? SQL を使用して データカタログ に登録された メタデータ を分析できるサービス。 データカタログとは? 組織(会社など)にあるさまざまなデータを分析可能な状態 (メタデータ) として整理したもの。 データカタログには、以下のような情報が含まれる。 データのスキーマ情報(列名、データ型など)。 データの保存場所(S3 のパスな…
7ヶ月前

俺の高速バスDay!
LCL Engineers' Blog
はじめに LCLに入社して気がつけば11年目。時の流れは本当に早いものです。 techblog.lclco.com きっかけは会社の福利厚生 LCLには福利厚生の一つとして、年に2回まで高速バスやバスツアー代を補助してくれる制度「高速バスDay!」があります。 この素敵な制度を使わない手はない!せっかくならユーザー体験も兼ねて、どこかへ行ってみようと思い始めました。 そして、数年前から心に温めていた「センバツ高校野球の開会式を観に行く」という夢を、この制度を使って叶えることにしました。 センバツ高校野球 2023年3月からこの計画を実行し、この年はジャムジャムライナーに乗って神戸へ向かいました…
7ヶ月前

突撃!隣のリモートワーク
LCL Engineers' Blog
はじめに こんにちはLCLでバス比較なびのiOSアプリケーションの開発を担当している原です。 最近は、新しく買った土鍋で米を炊いています。めっちゃ美味しく炊き上がってQOLが爆上がりしました! 今回は、自分のリモートワーク環境を紹介したいと思います。 (特に面白いガジェットを持っているわけではないので期待しないでください) 私のリモートワーク環境 日の入り方も相まって、なんか哀愁漂ってますね。。 構成は以下のような感じです。 天板:FlexSpot 幅120 * 奥行き60 * 高さ2.5 cm 色Maple 脚:FlexSpot H1 モニター: LG 27インチ モニターアーム: ERGO…
7ヶ月前

LCLに入社して半年が経ちました
LCL Engineers' Blog
この記事はLCL Advent Calendar 2024 - 10日目です。 はじめに はじめまして、LCLでバス比較なびのiOSアプリケーションを開発している原です。 LCLに入社して半年が経ったので、前職と転職のきっかけ、入社して感じたことを書いていこうと思います。 前職と転職のきっかけ 前職では、受託開発の会社でiOSアプリケーションの開発を担当していました。優秀な方々と共に働く中で、モバイル開発において業界内でも非常にモダンで高度な技術を扱う機会に恵まれ、多くの学びを得ることができました。 しかし、受託開発という性質上、アプリを開発して納品することがゴールになりがちでした。その過程で…
7ヶ月前

LCLにフロントエンドエンジニアとして入社して、もうすぐ2年半になる(在籍エントリ)
LCL Engineers' Blog
みなさん、こんにちは。フロントエンドエンジニアの「おとの」です。 2022年の夏にLCLに入社してから、約2年半が経とうとしています。短くも長くも感じられるような、濃厚な時間を過ごしてきました。2年半という中途半端なタイミングでのエントリーとなりますが、その理由は後述します。 入社1年目のエントリー記事を書いた当時は20代でしたが、今はもう30代に突入しました。社内の健康・筋力向上の意識が高いメンバーに刺激を受け、体力も活力も以前より充実していると思っています。最近では会社にプロテインが置いてあったりしています💪🏻 techblog.lclco.com この記事では、当時の自分の記事を読み返し…
8ヶ月前

LCLに入社して4ヶ月が経ちました(入社エントリ)
LCL Engineers' Blog
はじめに はじめまして、バックエンドエンジニアをしている西岡です。 入社して4ヶ月が経ち業務にも慣れ、WLBも整ってきた今日この頃です。 私は今回が初めての転職で色々と不安があったのですが、LCLに入社して本当に良かった!という気持ちを素直に書かせていただこうと思います。 前職と転職のきっかけ 私の前職はSES(システムエンジニアリングサービス)で、お客様先の会社に常駐して開発をしたり自社チームのマネジメントをしていました。 SES自体は色々な経験を積めて良いと思うのですが、お客様の都合に合わせて仕事をする都合上、どうしても不自由さを感じることがあります。 時にはこれ絶対使いづらいだろうな..…
9ヶ月前

メールの認証技術(SPF / DKIM / DMARC) について
LCL Engineers' Blog
こんにちは、インフラエンジニアの小林です。 本日はメールの認証技術について解説します。 なぜメールの認証技術が必要か? もともとSMTPプロトコルには本人確認の仕組みが無く、誰でも自由に名乗ることができました。 しかし、大量の広告メールを送信するSPAM業者や、詐欺師たちが なりすましメール を利用するようになったため、それが問題になりました。 そのため、届いたメールが本当に送信者のものなのか? それを確認するため、メール認証技術が発展していきました。 現在のメールの認証技術 現在、メジャーなメールの認証技術は SPF、DKIM、DMARC の3つがあります。 これらは、それぞれ異なる形でなり…
9ヶ月前

Varnish から Fastly CDN に移行した際のハマりポイントとその修正方法
LCL Engineers' Blog
こんにちは、インフラエンジニアの小林です。 現在LCLでは、EC2構成のシステムをECSに移行するプロジェクトが進行中です。 その際に EC2 内に入っていた Varnish を SaaS である Fastly に移行しましたが、その際に手こずったポイントをご紹介します。 Varnish と Fastly CDN とは? Varnish と Fastly CDN はどちらもCDN(Content Delivery Network)ですが、Varnish はサーバ上で動作するオープンソースのソフトウェアであり、Fastly はSaaS 型の CDN です。 なお、Varnish とそのライフサイ…
9ヶ月前

AWS WAFのマネージドルールのブロック数を超えた場合にSlack通知する方法
LCL Engineers' Blog
こんにちは、インフラエンジニアの小林です。 前回は、CloudWatch Metric Mathを利用してAWS WAFのマネージドルールのブロック数を可視化する方法を解説いたしました。 techblog.lclco.com 今回はそれに引続き、CloudWatch Alarmを使用して、ブロック数が一定数を超えた時にSlackに通知する方法と、それをTerraformで設定するためのサンプルコードをご紹介します。 はじめに LCLではではAWS WAFのマネージドルールを使用して、悪意のあるリクエストからサービスを保護しています。マネージドルールは簡単に設定でき、非常に強力な保護を提供します…
10ヶ月前

LCLで働くエンジニアってどんな人たち?
LCL Engineers' Blog
はじめに LCLフロントエンドエンジニアの川辺です。 僕がLCLに入社してからもうすぐ8年になります。入社当初はこんなに長く一つの会社で働くとは思ってもいませんでした。しかし、なぜこんなにも長く続けているのかというと、それはLCLが僕にとって居心地の良い環境だからです。 入社した時から居心地の良い会社でありましたが、今は更に居心地が良くなっていると感じています。 その大きな要因の一つが採用活動だと思っています。 僕が採用活動に関わるようになってから5年くらいが経ちますが、ずっと一貫して大切にしてきたことが自分たちと合いそうな人を採用することです。 もちろん、スキルや経験も重要ですが、それらのも…
1年前

CloudWatch Metric Mathを利用してAWS WAFのマネージドルールのブロック数を可視化する方法を解説
LCL Engineers' Blog
こんにちは、インフラエンジニアの小林です。 今回は、CloudWatch Metric Mathを使用したメトリクスの検索機能を解説し、そのメトリクスを使用したダッシュボードのTerraformでのサンプルコードをご紹介します。 はじめに LCLでは AWS WAFのマネージドルールを使用し、悪意のあるリクエストからサービスを保護しています。 マネージドルールは簡単な設定で強力にサービスを保護してくれますが、ユースケースによっては誤検知の危険があります。現状、誤検知は発生していませんが、将来的にマネージドルールが更新された時などに、誤検知が増える可能性があります。 そのため、各マネージドルール…
1年前

自己肯定感の低い私が、LCLに入社して半年経ちました!
LCL Engineers' Blog
はじめに はじめまして、LCLで主にバス比較なびというサービスのバックエンド兼Androidエンジニアをしている末武です。 入社して早くも半年が経ちました。あっという間に過ぎてしまいました。 今回は、入社してから感じた「LCLは心理的安全性が高かった件」についてお話しようと思います。 その前に 私はWebエンジニアとしては1年経ったくらいで、自己肯定感が低く 何かにすがる思いで「世界一流エンジニアの思考法」という本を読んでみました。 この本の著者の牛尾剛さんは、米MicrosoftにてAzure Functionsのエンジニアをしており そんな人でも自己肯定感が低いことに悩まれていることに、私…
1年前

LCLにエンジニアとして入社して1年が経ちました(入社1年エントリ)
LCL Engineers' Blog
はじめに こんにちは! LCLエンジニアの地引です。 最近減量期に入ったので、筋トレ後に冷水シャワーを浴びることで、甘いものを食べたいという煩悩を禊いでいます🥶 さて、月日は早いもので、LCLに入社してからあっという間に1年以上が経過していたので、今回は入社1年で分かったLCLのことを中心に記事を書いていければと思います。 LCL入社ホヤホヤの頃のエントリ:https://www.lclco.com/blog/admini/work-environment/4922/ 入社1年で分かったLCLのこと3選 1. 何にでも挑戦できる エンジニアの枠を超えて業務や組織の課題解決にチャレンジすることが…
1年前

「バス比較なび」リファクタ始動:なびリプレイスプロジェクトの全体方針
LCL Engineers' Blog
振り返り:私たちの歩み LCLでフロントエンドエンジニアをしている川辺です。 この記事ではバス比較なびという弊社の主力サイトをリプレイスしていった体験を紹介します。 ※内容的にはリプレイス作業なのですが、社内ではリファクタプロジェクトと呼んでいるので、今後もこの記事では「リファクタ」と表現します。 前回の記事ではリファクタリングの必要性や過去の失敗ケースを紹介しました。 techblog.lclco.com 簡単におさらいすると、リファクタをせずにいると以下のような問題が発生します。 サイトを改修する作業に時間がかかってしまう サイトに何かしらの変更を加えたときにバグを発生させる可能性が高まる…
1年前

在籍11年目のエンジニアが語る、LCLの魅力。
LCL Engineers' Blog
はじめに LCLでバックエンド兼データマネジメントの業務を行っている高橋です。 最近、ハマったことは映画「ゴジラ-1.0」です。映画館では、迫力があるシーンや緊張感があるシーンで何度か叫んでしまいました! もしかしたら続編があるかも?と期待していたらモノクロ版「ゴジラ-1.0/C」も上映されることを知り、観に行こうと思っている今日この頃です。 ちなみに趣味は登山で、日本百名山を目指し、現在25座を制覇しました。 今年こそはテント泊での縦走にチャレンジしたいと思っております! 入社歴 2013年にLCLに入社し、現在は11年目となります。 入社した当時はマンションの一室で社長やエンジニア、ディレ…
1年前

エンジニアがバステクin首都圏2023に参加してみた!
LCL Engineers' Blog
バックエンドエンジニアの高良です。 前回に引き続き業界関連のイベントに参加してきました! techblog.lclco.com バステクin首都圏とは? バスに関わる最新技術が集結するイベントです。 EVバスの新型車両やAIカメラによる事故防止システムといったトレンド関連のものから、新型のタイヤやデジタルサイネージなど様々な技術が一同に会します。 ニッチな業界ではありますが、それだけに様々なレイヤーの技術を展示しているブースを一度に見ることができて、非常に見応えのあるイベントでした! いくつかお話を伺ったブースの技術を紹介していきます。 AIカメラによる車内転倒事故防止システム AIカメラを…
2年前

新たなミッションとバリューの舞台裏:LCLの挑戦
LCL Engineers' Blog
こんにちは、iOSアプリエンジニアの山下です。 気づいたら今年も11月、いつの間に前回の記事から1年が経ちそうで久方ぶりのエンジニアブログです。 さて、覚えている方は一人もいらっしゃらないと思いますが、前回の記事では我々設立12年目のLCLがMVV(Mission、Vision、Value)を考えるプロジェクトを始動した理由について紹介しました。 techblog.lclco.com この活動は無事に3月で終えて、LCLは4月から新しいミッションとバリューを掲げて動き出しています。 今回は、このプロジェクトを通じて我々がどのようにミッションとバリューを定義し、それを実行するためにどのように行動…
2年前

エンジニアがツーリズムEXPOジャパン2023に参加してみた!
LCL Engineers' Blog
はじめに LCLでバックエンドエンジニアをしているjibikiです。 10/26~10/29にインテックス大阪で開催されたツーリズムEXPOジャパン2023に参加させていただいたので、エンジニア視点で参加してどのようなメリットがあったのかを記録します✏️ ツーリズムEXPOジャパンとは? 旅の総合イベントとして2014年にスタートした「ツーリズム EXPO ジャパン」。この日のために、世界中の国と地域、日本全国の観光地が集結する、年に一度の世界最大級の旅の祭典。 www.t-expo.jp 具体的にどんな催しがあるの? 観光・旅行、全国・世界各地のブース 観光関連のセミナー イベントステージ …
2年前

「バス比較なび」リファクタリング序章:「バス比較なび」の現状と課題
LCL Engineers' Blog
はじめに LCLでフロントエンドエンジニアをしている川辺です。 早いものでLCLに入社して既に7年が経ちました。 僕が入社した時から今に至るまでずっと言われ続けてきたことに「なびフロントエンドの開発環境を何とかしたい」というのがあります。 弊社ではバス比較なびという高速バスの比較サイトを運営しています。 www.bushikaku.net サービスをリリースしたのが2006年なのでリリースしてから15年以上の歳月が経ちました。 そしてフロント側はリリース時からほとんどの実装をjQueryで書かれています。 なので僕が入社した2016年頃からずっとフロントチームとしてこのレガシーなコードに対して…
2年前

Zennでエンジニアブログ、はじめました。
LCL Engineers' Blog
みなさん、こんにちは。 LCLでフロントエンドエンジニアとして働いている「おとの」です。 個人的な話になりますが、LCLで働き始めて1年が経とうとしています。 海外航空券料金比較サービスのUIUXアップデートや、バス比較なびのリファクタリング&レスポンシブ化など、さまざまなプロジェクトに携わることができ、充実した日々を過ごしています(詳しくは入社エントリで書きたい気持ち) さて、今回は、LCLエンジニアチームの新たな試みについて報告いたします。 Zennでエンジニアブログをスタートしました 記事のタイトル通り、Zennでエンジニアブログを開始しました!! zenn.dev ZennのPubli…
2年前

移動手段比較をAIでサポート!格安移動ChatGPTプラグインの開発記録
LCL Engineers' Blog
格安移動ChatGPTプラグインで出発地・到着地・出発日を指定し、移動手段を比較。本記事でプラグインの概要と開発過程を紹介します!
2年前