LCL Engineers' Blog

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

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

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

社内勉強会の開催形式を課題に合わせて変えてきた話

モバイルアプリエンジニアの山下(@yamshta)です。 LCLでは、去年の1月からエンジニアチームの技術力向上とコミュニケーションの活性化の一環として、社内勉強会を隔週で開催してきました。 techblog.lclco.com 取り組みの見返りとして開発速度の向上を期待…

Ruby on RailsでDB マイグレーションする際にシステム障害を回避するための工夫

Webエンジニアの森脇です。 LCLでは、DB設計変更で、DBマイグレーションをする際にシステム障害を回避するためのいくつか工夫をしています。今回は、その内容を簡単にご紹介いたします。 migration作成時の注意 ブランチ戦略 原則、migrationのブランチは独…

エンジニアブログ編集部の去年の振り返り 34→68本

モバイルアプリエンジニアの山下(@yamshta)です。 LCLでは2018年1月からエンジニアブログ編集部を立ち上げ、ブログを通してチームのアウトプット活動を促進してきました。 techblog.lclco.com 立ち上げからあっという間に1年が経ち、数字を振り返ると去年…

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

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

第1回 LCLエンジニアが最近読んだオススメしたい書籍まとめ

モバイルアプリエンジニアの山下(@yamshta)です。 先日、新年一発目の社内勉強会を「最近読んだオススメしたい書籍を紹介する」という緩いテーマで開催しました。 今回は、そこで発表されたものを各メンバーのコメントを添えて紹介したいと思います。 J・K…

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…

iOSDC Japan 2018に参加してきました!

モバイルエンジニアの山下です。 去年に引き続きiOSDC 2018に参加してきました! 開催から時間が経ってしまいましたが、レポートとトークの一部を紹介させていただきたいと思います。 iOSDCとは https://iosdc.jp/2018/ iOSDC JapanはiOS関連技術をコアのテ…

capistrano-bundle_rsyncを利用したデプロイ方式に変更しました

Capitranoを利用してRailsアプリケーションのデプロイを行っていましたが、「capistrano-bundle_rsync」を利用する方式に変更しましたので、背景含めて紹介いたします。

Mackerelのアラートグループを利用して障害通知を抑制する

現在、障害通知の最適化を進めており、その第一弾としてMackerelのアラートグループ機能を利用して、障害通知の抑制をしました。手軽に実現ができ、便利だったので紹介します。