LCL Engineers' Blog

バス比較なび・格安移動・バスとりっぷを運営する 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のアラートグループ機能を利用して、障害通知の抑制をしました。手軽に実現ができ、便利だったので紹介します。

AWS EC2インスタンスの停止忘れを防止する

Webエンジニアの森脇です。 LCLでは、普段使わないテストサーバなど常時稼働が不要なEC2インスタンスは、必要に応じて手動で起動・停止する運用にしています。が、停止を忘れて起動したままになっているということが、時々発生してしまっています。 大した金…

npm scriptsで画像圧縮を自動化した際の課題と検討事項

フロントエンドエンジニアの岡田です。 LCLではフロントエンドエンジニアがマークアップも担当しており、画像の圧縮もエンジニアが行っています。 画像圧縮、面倒ですよね。。 いままでいくつか自動化を試しましたが、どれも長くは続きませんでした。 【画像…

xcprojectlintでXcodeの些細な問題を解決して心を整える

モバイルアプリエンジニアの山下です。 Xcodeで開発を進めていく中で、以下のような小さな問題がずっと気になっていました。 ファイルシステムとXcodeのディレクトリ構造で差異が発生する ディレクトリやファイルがアルファベット順にソートされていない 空…

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

LCLでは、昨年の後半よりエンジニアメンバーが増えてきたため、今年からチームとしての取り組みをいくつか始めました。振り返りを兼ねて紹介したいと思います。

突撃!隣のフレックスタイム

モバイルアプリエンジニアの山下です。 先日の記事でも少し触れられていましたが、LCLでは先月からフレックスタイムがトライアル導入されました。 techblog.lclco.com 今回は、エンジニアメンバーへどのような使い方をしたかをアンケートで聞いてみたのでお…

npm scripsが特定の環境だけ動かない! という時に確認すること

フロントエンドエンジニアの岡田です。 LCLのフロントエンドでは、npm scriptsを使っていますが、たまに特定の環境だけ動かないことがあります。 今回は、ケース別に確認すると良いこと・試すと良いことをご紹介します。 ケース別の確認事項等 自分のローカ…

ジョインメンバーのためにmacOSの初回セットアップをチョットダケ自動化するTips

モバイルエンジニアの山下です。 LCLでは開発端末としてエンジニアメンバー全員にMacを支給しており、新しくメンバーがジョインした際もMBP or iMacを購入しています。 その際、ジョインメンバーには初日にmacOSの初回セットアップをしてもらう必要があるの…