2017-01-01から1年間の記事一覧
Redashでデータを加工する際に、1つのカラムに含まれるJSONの中身を取り扱う必要がありました。しかし、単純にクエリを叩くだけではJSONの中身を参照できません。 そこで、Redashの機能の一つであるPython Data Sourceを利用してJSONを解析し、各データを1つ…
先日のコードレビューの機械的な指摘はSideCIに任せるに続き、 今回は同様のことが可能であるOSSのDangerについて紹介します。 Danger とは Dangerとは、Pull Requestのレビュー時に発生しやすい、 ”You Forgot To...(...するのを忘れてませんか?)"という…
フロントエンドエンジニアの岡田です。 先日、AMPページにsticky広告を追加しました。 その際にいくつかつまづいた点があったのでまとめます。 弊社が運営するバスとりっぷでは、AMPページを用意しています。 すでに通常の広告は表示していたのですが、今回…
この記事はiOS2 Advent Calendar 2017の9日目の記事です。 開発中やリリース前に、手動での動作確認を行うことは多いと思います。 弊社では、リリースの前にテスト配布を行い、他のエンジニアメンバーや 担当のデザイナー、プロジェクトマネージャーに動作確…
コードレビューを自動化してくれるSideCIを導入しました。GitHubのプルリクエストを自動で解析して指摘してくれます。 主にRubyを使用しているのでRuboCopを筆頭に解析ツールが豊富に揃っているのは助かっています。 導入の経緯 もともとRuboCop, JSHint, ES…
InstabugでWebサイトのフィードバックを送れるように設定しました。 すでにiOSでは使い始めていて、iOSの設定については以下の記事で軽く触れています。 techblog.lclco.com Web版は現時点(2017/11/13)でBeta版のためか、少し導入でつまづいた点もありまし…
先日、ChatworkがWebhookに対応されました。弊社では普段からChatworkを利用しており、早速検証しました。 ビジネスチャット「チャットワーク」がWebhookとOAuthに対応、オープンβ版の提供開始〜2018年春までにクラウドサービス17社18サービスとデータ連携開…
先日、Baltoがサービスを終了するという悲しいお知らせがありました。 【重要】フィードバックツール「Balto」サービス終了について 日々のフィードバックや開発の中盤から終盤の確認フェーズにかけて、 大変お世話になり、Baltoのおかげで開発スピードが何…
2017年8月よりモバイルアプリエンジニアとして入社しました 山下です。 入社後1ヶ月ほどから下書きを書きつつ、あっという間に3ヶ月が経っていました。 新しい環境にも慣れてきたので、今回は転職の経緯や入社までの所感、 入社後3ヶ月経った上での会社の紹…
Xcode9 / Swift4の対応後、とあるブランチを配布しようとした際に PodsでインストールしたライブラリでProvisioning Profileが参照できずビルドが失敗する現象が発生しました。 以下はBitrise上のログです。(Provisioning Profile等の情報は伏せてあります…
iPhone Xの発売まであと1週間ほどとなり、 弊社のiOSアプリ「高速バス比較」でも、Swift4とiPhone Xの対応を行いました。 今回は、Swift3からSwift4への作業内容をまとめていきたいと思います。 準備 Xcode上でビルドするためにコードやライブラリの更新をし…
弊社では最近、JOB管理をJenkinsからKuroko2へ移行しました。 Kuroko2についての概要や導入方法は、以下の記事などが詳しいため割愛させて頂き、弊社での具体的な導入内容について紹介したいと思います。 https://github.com/cookpad/kuroko2 http://dev.cla…
前夜祭を含んだ3日間で開催されるiOSの国内カンファレンス、iOSDCに参加してきました。 今回はその1日目(9/16)のレポートです。 今年のiOSDCは最大4つのメインセッションが並行で行われるということで、 前日から公開されていたタイムテーブルを見ながら、…
フロントエンドエンジニアの岡田です。今回は、パフォーマンス計測ツール:SpeedCurveをLCLでどのように使っているかお伝えします。 設定について 計測タイミング(Times) 計測タイミングは多いに越したことはないとは思いますが、コストとのバランスで、今…
LCLでは、今年の初めから開発フィードバックのツールとしてGoodpatch様のBaltoをメインで活用しています。 先日、Goodpatch様へ事例として取り上げていただきましたが、より具体的な利用方法について紹介します。 goodpatch.com Baltoとは Webサイトやモバイ…
DBの接続情報・APIキーなどの秘匿情報は、git管理下に置くべきではないですが、皆さんはどのようなに管理しているでしょうか? 先日のAWS Summit Tokyo 2017のDMM様の事例で、EC2 System Managerパラメータストアの紹介がありましたので、使ってみました。 ※…
フロントエンドエンジニアの岡田です。 LCLでは、フロントエンドのパフォーマンスを計測するために、SpeedCurveを導入しました。 speedcurve.com 検討した計測サービス 導入にあたっては、以下のサービスも検討しました。 最初は、RUM (Real User Monitorin…
夜行バス比較なび(https://www.bushikaku.net/)の一部はReact & ES2015で実装されています。Railsのデプロイとwebpackの連携について紹介します。
フロントエンドエンジニアの岡田です。 先日ご報告したとおり、LCLが運営する「夜行バス比較なび」では、jQueryで作られたサイトをReactへ置き換えています。 techblog.lclco.com 記事を書いた後も細々と置き換えを進めていますが、ページ単位での置き換えは…
フロントエンドエンジニアの岡田です。 先日作ったLINE botを改良しましたのでご紹介します。 techblog.lclco.com 前回の状態では、botはテキストメッセージを返すだけでした。 これでは開いてみるまでどんなヨガ動画かわかりませんし、候補が1つしかないの…
弊社で運営している「バスとりっぷ」というメディアでは、Paperclipを利用して画像のアップロードを行っています。Paperclipでは、サムネイルの作成やリサイズ・背景色の変更などを行っていましたが、透かし(ウォーターマーク)の付与にも対応しました。 ww…
弊社では、作業中ブランチの動作を誰でも確認できる仕組みを用意しています。今回の記事では、導入背景から運用方法までを紹介したいと思います。 解決したかった課題 弊社のWebサービス開発では、GitHub Flowを採用しています。 GitHub Flowでは、masterへ…
弊社が運営している夜行バス比較なび、格安移動のサーバーサイドは主にRuby on Railsで実装されておりエンジニアのほとんどがIDEにRubyMineを使用しています。 IDEは触れる時間が長いツールなので使いこなしたいし、楽をしたいですね。そんな時に重要なのが…
こんにちは、エンジニアの森脇です。 弊社では、本番DBを開発環境にコピーして開発をしています。今回は、どのような仕組みで実現しているかを紹介します。 なぜ本番DBを利用するか cookpad様の記事でも言及されていますが、弊社でも全く同じ認識を持ってお…
フロントエンドエンジニアの岡田です。 本日、夜行バス比較なびでは、プレミアムフライデー用の特集ページをリリースいたしました。 www.bushikaku.net こちらの特集でつかった、スクロールできるタブの実装についてご紹介します。 スマホ用のページの以下の…
フロントエンドエンジニアの岡田です。 先週の金曜日は、プレミアムフライデーでしたね。 LCLでも従業員全員が15時に退社しました。 premium-friday.go.jp 私は今回はどこへも出かけられなかったのですが、せっかく時間ができたので、LINE botをつくってみま…
弊社では、以下のエントリで紹介したように、Bugsnagを利用してエラー監視をしています。 techblog.lclco.com 前回は、JavaScriptでの利用について紹介しましたが、今回はRailsでどのように利用しているのかを紹介します。 Bugsnagの選定理由 Railsのエラー…
Webエンジニアの森脇です。 弊社では先日「格安移動」という自社サービスの常時SSL化(サイト全体HTTPS化)へ対応しました。 この記事では、常時SSL対応のためにやったことを紹介したいと思います。 idou.me なぜHTTPS化したか GoogleやApple等のHTTPS化への積…
フロントエンドエンジニアの岡田です。 先日、夜行バス比較なびを一部React+ES2015化しましたが、これに備えて、LCLでは昨年11月頃からBugsnagでJavaScriptのエラー監視を開始していました。 今回は、Bugsnagについて、簡単な説明と導入方法をまとめました。…
こんにちは、森脇です。 今回は、弊社でのモバイルアプリのリリースフローと、リリース時に利用しているチェックリストについて、可能な範囲でご紹介したいと思います。 リリースサイクル 決まった期間でのイテレーションを回しているわけではなく、次のリリ…