LCL Engineers' Blog

バス比較なび・格安移動・バスとりっぷを運営する LCLの開発者ブログ

設立12年目のLCLが今、MVVプロジェクト始動した理由

この記事はLCL Advent Calendar 2022 - 19日目です。 qiita.com こんにちは、iOSアプリエンジニアの山下です。 先日初子が産まれまして新米パパになりました。現在は育休に入ったところで気分転換も兼ねてこの記事を書いています。 ちなみにLCLは先輩パパが…

RubyGemsのアップデート

Webエンジニアの横塚です。 先日、Rubyのパッケージ管理システム・標準添付ライブラリであるRubyGemsに複数の脆弱性が発見されたことが開発元から公表されました。 悪意のあるGemにより任意のファイルを削除されたり、エスケープシークエンスインジェクショ…

フロントエンドの改善、継続中です

フロントエンドエンジニアの岡田です。 3月からフロントエンドチームのメンバーが2名増えました 現在は、開発環境の改善とリファクタリングに力を入れています。 今回は、3月に入って改善したことについてお伝えします。 PrettierでCSSを自動フォーマット L…

3月のもくもく会でやったこと

フロントエンドエンジニアの岡田です。 年度末ですね。 みなさんいかがお過ごしでしょうか。 LCLでは、今日は会社で納会があります。 「肉のたかさご」の金色の箱が冷蔵庫にあるのを発見して、期待に胸を膨らませています 今日は、3月のもくもく会でのみん…

突撃!隣のリモートワーク

Webエンジニアの横塚です。 LCLのエンジニアチームは、リモートワークでの勤務が可能です。 様々なメンバーがリモートワークを利用しているので、今回はエンジニア数人の自宅の作業環境を紹介したいと思います。 リモートワークを利用しているエンジニアにア…

AWS t3系インスタンスに移行しました

Webエンジニアの横塚です。 先日、t2系インスタンスのリザーブドインスタンスの有効期限が近づいてきたのでt3系インスタンスへ移行しました。 その時の様子を一部紹介したいと思います。 LCLのエンジニアチームにはインフラ専任のメンバーはいません。 バッ…

もくもく会の食事が🍣になってさらに参加者が増えた話

フロントエンドエンジニアの岡田です。 2月のもくもく会は、お鮨を用意しました。 LCLでは、メンバーが4名以上集まると会社から補助が出る「コミ活」という制度をお試し導入しています。 このお鮨は、その制度を使って用意しました。 お鮨の効果か(?)参加…

最近1ヶ月間で行ったフロントエンド開発環境プチ改善

フロントエンドエンジニアの岡田です。 今日は、最近1ヶ月間に行った、フロントエンド開発環境のプチ改善についてお伝えします。 すべてLCLが運営するバス比較なびの改善です。 webpack-mergeパッケージ導入 package.jsonをプロジェクトルート直下へ移動 npm…

Qiita:Teamからesa.ioに乗り換えました

Webエンジニアの横塚です。 皆さんは情報共有ツールは利用しているでしょうか。 LCLエンジニアチームでは先日、以前から利用していたQiita:Teamからesa.ioに移行することにしました。 移行の背景と、実際に移行してみてどうだったかを簡単に紹介したいと思い…

PagerDutyでJOBの異常終了を通知する

Webエンジニアの森脇です。 LCLでは、以下の記事でご紹介したように、PagerDutyを利用して障害通知を行っています。 techblog.lclco.com Webサービスの障害通知だけではなく、JOBが異常終了した場合の通知も行っているので、簡単に紹介します。 背景 LCLでは…

Node.jsを10.13.0へバージョンアップしました

フロントエンドエンジニアの岡田です。 今年の私のブログの目標は、「技術的な話を月に1本は書く」です。 昨年の記事を振り返ってみると、私が書いた話の半分くらいは技術以外の話でした。 チームの雰囲気をお伝えするのも大切ですが、LCLでは新しい技術を積…

LCLで2018年後半にチームとして新しく取り組んだこと

モバイルアプリエンジニアの山下です。 年末ですね。先日、LCLでも忘年会をやりました。 クリスマス前だったのでツリーには、会社やサービスのロゴが載ったクッキーが飾ってありました 食事は板前さんにお越しいただき、その場でお寿司を握っていただきまし…

技術ブログを執筆する上で気をつけていること

モバイルアプリエンジニアの山下(@yamshta)です。 LCLでは今年の1月にエンジニアブログ編集部を立ち上げ、『継続』を目標に1年間アウトプットし続けてきました。 techblog.lclco.com この記事は66本目となり、この投稿数は前年の約2倍となります。 個人と…

JOBのログ出力をちょっと便利にした話

Webエンジニアの横塚です。 LCLでは、JOB管理にクックパッド社のKuroko2を利用しています。 Webの管理画面でJOBのスケジューリングやリトライ、ログを監視できる便利なツールです。 詳しくは以下の記事をご覧ください。 techblog.lclco.com 課題 Kuroko2では…

Varnish自前運用からFastly移行の際に調べたこと

Webエンジニアの森脇です。 LCLでは、EC2上でVarnishを運用していましたが、徐々にFastlyへ移行しています。移行にあたって調べたことを、簡単に紹介したいと思います。 Vanishの活用については、以下の記事をご覧ください。 techblog.lclco.com 前提 Fastly…

もくもく会を木曜日に開催したら参加者が増えました

フロントエンドエンジニアの岡田です。 以前にもブログでお伝えしましたが、LCLでは、月に1回のペースでもくもく会を開催しています。 techblog.lclco.com 月に1回、土曜日開催で続けてきましたが、参加者がいつも同じメンバーになっていたのが気になってい…

突撃!隣の情報収集術 & 情報整理術 8つの質問

7月からモバイルアプリエンジニアのインターン生として働いている寺田です。 働き始めて数ヶ月が経ちましたが、日々の学んだ情報をうまく整理できず、自分のメモを振り返っても理解できないことがあります。 また、情報収集においても日々どのようにキャッチ…

PagerDutyを導入して障害対応の体制と運用ルールを確立しました

Webエンジニアの古賀です。LCLでは、障害対応の強化の一つとして多機能な通知機能を持つPagerDutyを導入しました。 組織的な対応シフト・フローが組めるようになり、精神的にとても安心できるようになったので紹介させていただきます。 pagerduty.digitalsta…

Node.jsでGoogleスプレッドシートを操作する

Webエンジニアの川辺です。 今回はNode.jsでGoogle スプレッドシートを操作する際に使用したnode-google-spreadsheetの紹介をしたいと思います。 使用したバージョン Node.js: 8.11.3 node-google-spreadsheet: 2.0.6 準備 コード上からGoogleスプレッドシー…

食べログ × LCL 技術交流会(フロントエンド)

フロントエンドエンジニアの岡田です。 先日、食べログのフロントエンドエンジニアの皆さまにお越しいただき、技術交流会をしました。 エンジニアブログではまだお伝えしていなかったと思いますが、LCLは今年1月にカカクコムグループの一員となりました。 今…

Kyashのお菓子オフィス販売のモニターに参加しました🍪

モバイルアプリエンジニアの山下です。 10月某日、私が日々愛用しているウォレットアプリの『Kyash』がお菓子のオフィス販売モニターを募集していたので参加しました 弊社のメンバーに好評だったのでレポートを書いてみたいと思います。 Kyashについての説明…

ALB固定レスポンスを利用してメンテナンス画面を表示する

Webエンジニアの森脇です。ALBでの固定レスポンスを利用して、メンテンナンスページを表示する際にいくつか考慮した点について紹介します。 ALBでの固定レスポンスとは ALBの固定レスポンスを利用することで、リクエストをWebサーバへ転送することなくALB自…

ECS サービスディスカバリでFargateのIPを自動的にDNSレコードへ紐づける

AWS

モバイルアプリエンジニアの山下です。 先日の記事ではデプロイ基盤を構築し、Fargateへ自動デプロイすることができました。 techblog.lclco.com これによりEC2の操作を意識することなく、柔軟にコンテナ数をスケーリングできるようになったのですが、LCLの…

metaタグを変えるためにreact-helmetを導入してみたけれど結局ES2015で実装した話

フロントエンドエンジニアの岡田です。 先日、Reactでmetaタグを変える必要があったので、react-helmetを導入してみました。ですが、うまくいかないケースがあり、結局はES2015で書き換えました。 今回は、react-helmet導入と、最終的なES2015のコードをご紹…

Switch Roleを利用して、同一アカウントでRoleを切り替える

AWS

AWSでは環境に応じてアカウントを分け、Switch Roleを利用して別アカウントへ切り替えることが一般的だと思いますが、同一アカウント内でもSwitch Roleを利用できることを知りました。

エンジニア以外とも輪読会をしたら良かった話

フロントエンドエンジニアの岡田です。 10月27日から一週間は、読書週間だそうです。 みなさん、読書していますか? 以前ブログでもご紹介しましたが、エンジニアチームでは輪読会を行っています。 techblog.lclco.com この輪読会を、他のチームにも広げてみ…

Chromeのデベロッパーツールでスマホ表示を維持したまま別タブに遷移するTips

Webエンジニアの川辺です。 今回はChromeのデベロッパーツールでスマホ表示を維持したまま別タブに遷移するという、ちょっとした便利ワザを紹介しようと思います。 手順 command + option + Iキー(Windowsの場合はF12キー)でデベロッパーツールを開きま…

CodePipeline/CodeBuild/ECR/ECS/Fargateのコンテナデプロイ基盤を構築してみました

AWS

モバイルアプリエンジニアの山下(@yamshta)です。 今回は、AWSの以下のサービスを用いてコンテナデプロイ基盤の構築を試してみました。 CodePipeline CodeBuild ECR ECS Fargate AWSのドキュメントは丁寧で情報も豊富ですが、サービス毎に手順が書かれてい…

Developers.IO 2018 Outnumberに参加しました!

Webエンジニアの森脇です。 先日、クラスメソッドさんの Developers.IO 2018 Outnumberに参加してきました。 クラスメソッドさんのブログで発表資料は公開されていますので、簡単なレポートをしたいと思います。 dev.classmethod.jp 今回はAWSがテーマで、弊…

rack-corsでCORS設定をする

Webエンジニアの森脇です。rack-corsを利用して、RailsでCORSの設定をしてみました。 github.com rack-corsの基本的な使い方 gemを追加して、cors.rbファイルに下記のように記載します。 originsに許可したいアクセス元のoriginを定義します。 Rails.applica…