inFablic | Fablic, inc. Developer's Blog.

フリマアプリ フリル (FRIL) を運営する Fablic の公式開発者ブログです。Fablic のデザイナー・エンジニア・ディレクターが情報発信していきます。

mail_viewの一覧表示をハックして使いやすくする@スタートアップRails勉強会

こんにちは。kaeponです。 先日、第6回スタートアップRails勉強会にLT枠で登壇させて頂きました。 「mail_viewの一覧表示をハックして使いやすくする」というタイトルで発表致しましたので、 本日は発表内容について紹介させて頂きます。 概要 サービスから…

Fablic.vim#2を主催しました

去る2017-07-2 (木) の夜に、恵比寿のFablic本社にてVimの勉強会 Fablic.vim #2 を主催しました。 fablicvim.connpass.com

FRILのデプロイフローを発表しました@スタートアップRails勉強会

はじめに みなさんこんにちは。tommyです。 本日は先日の スタートアップRails勉強会 で発表させていただいた、 FRILのデプロイフローについて紹介したいと思います。

CM期間中に放送地域からアプリをインストールしたユーザーのIDをリストアップする(Firebase + BigQuery)

こんにちは。shobyです。 フリルでは現在全国でCMを放送しており、各CMの効果計測をする必要が生じています。 今回は、より詳細なCMの効果を分析するために、CM期間中に放送地域からアプリをインストールしたユーザーのIDをリストアップする方法をお伝えしま…

全国放送のCMで都道府県ごとのCPIを推定する

こんにちは。shobyです。 フリルでは現在全国でCMを放送しており、各CMの効果計測をする必要が生じています。 今回は、CMの費用対効果を測るために、都道府県ごとのCPIを推定する方法をお伝えします。 概要 CM投下の最適化粒度 推定CPIと相対比較 都道府県ご…

iOSの段階的リリースについての注意点

こんにちは。shobyです。 皆さんはWWDC 2017で発表されたiOSの段階的リリース機能はもう試しましたか? フリルではこの度のv6.7.0のリリースで段階的リリースを試している真っ最中です。 これにより、iOSの段階的リリース機能はAndroidのものとは異なり、注…

特定地域からのアプリインストール数を1時間単位で集計する(Firebase + BigQuery)

こんにちは。shobyです。 フリルでは全国で定期的にCMを放送しており、各CMの効果計測をする必要が生じています。 今回はFirebaseとBigQueryを利用して、特定地域からのアプリインストール数を1時間単位で集計する方法をご紹介します。

フリルのAppStoreアップデート文を書くときに考えていること

こんにちは。shobyです。 今回は、フリルのAppStoreアップデート文を書く際に考えていることをご紹介します。 iOSのアップデート文は見られていないようで意外と見られている部分です。 アップデート文は、ユーザーとの貴重な接点でもあります。 フリルでは…

Google I/O 2017 セッションまとめ Part 1

こんにちは。Androidエンジニアの黒川(@hydrakecat)です。 Google I/O 2017から既に一ヶ月が経過してしまいましたが、みなさんはどれくらいセッションの動画で見たでしょうか。 この連載記事は、I/O セッションのうち、私が気になったものをピックアップし…

Firebaseのスクリーントラッキング機能を使い、イベントの発生画面を分析する

こんにちは。shobyです。 今回はひっそりとFirebaseに追加されていたスクリーントラッキング機能を使い、イベントの発生画面を分析する方法をご紹介します。 皆さんは、Firebaseにスクリーントラッキング機能がついていたことをご存知でしょうか? このスク…

vital.vimの開発者会議がFablic本社で開催されました

皆様がお使いのVim pluginのうちいつくかは、Vim scriptのための汎用ライブラリであるvital.vimが用いられています。これのコア開発者の多くを集め、Fablic社内で、開発をすすめる上での重要な案件の議論・意思決定を行うための会議を行いました。 https://c…

アプリの地域別アクセス数を10分単位で集計する(Firebase + BigQuery)

こんにちは。shobyです。 現在、フリルでは全国でCMを放送しており、各CMの効果計測をする必要が生じました。 今回はCMの効果計測という題材を元に、FirebaseとBigQueryを用いて、アプリの地域別アクセス数を10分単位で集計する方法をお伝えします。 CMの効…

クラスタ構成のElasticsearchにX-Packを導入する方法

はじめまして、エンジニアの宮本です。 今回、携わっている新規プロジェクトで初めてElasticsearchを構築することになり、モニタリングにX-Pack(旧Marvel)を入れたのですが、クラスタ構成での設定例が少ない様に思えたので、紹介させていただきます。今後Ela…

ElasticsearchのAnalyzer入門 〜滝沢カレンの謎インスタをヒットさせろ〜

この記事はElasticsearch2.4系の設定で解説しています こんにちは。最近Fablicで検索まわりのチューニングを行っている岸です。 最近このポストを見て触発され、滝沢カレンさんの迷文を題材にしてみました。 qiita.com FRILでは商品の全文検索エンジンにElas…

フリルをSwift 3.0移行した際に対応が大変だった箇所

iOS

こんにちは。エンジニアのshobyです。 フリルは先日リリースしたv6.5.0にて、Swift 3.0移行が完了しました。*1 ほぼ問題なく移行ができたのですが、移行作業中に対応が大変だった箇所がいくつかあったので共有します。 Xcode 8.3ではSwift 3.0移行が必須なた…

バナーのクリック率をFirebaseで計測し、BigQueryで集計し、Redashで可視化する

こんにちは。エンジニアのshobyです。 FablicではRedashを導入し、主にサーバーサイドのデータやログを分析してきましたが、最近ではRedashにFirebaseとBigQueryを組み合わせ、クライアントサイドのイベントも分析するようになりました。 直近では、クライア…

Vimの勉強会がFablic本社で開催されました

去る2017-05-22 (月) の夜に、恵比寿のFablic本社にてVimの勉強会 Fablic.vim #1 を主催しました。 https://connpass.com/event/56803/ https://togetter.com/li/1113274

フリルのエンジニア有志でCourseraのMachine Learningコースを集団受講しました

こんにちは。エンジニアのshobyです。 最近、機械学習に興味を持ったエンジニアが集まり、話題になっていたCourseraのMachine Learningコースを受講しました。 その経験から、CourseraのMachine Learningコースは初心者の学習に良い教材であることがわかりま…

Vimの勉強会がFablic本社で開催されます

connpass.com 来る 2017-05-22 (月) 夜6:30pm - 9:30pm, 東京の恵比寿にある株式会社Fablicと呼ばれる会社にて、Vimの勉強会が開催されます。 Vimの初心者の人・中級者の人・上級者の人・実はEmacs使いの人・またはそれら以外の人のためのVimの勉強会です。 …

RxJava 1.x → 2.x 移行ガイド

こんにちは。Androidエンジニアの黒川(@hydrakecat)です。 この記事では、RxJava 1.xから 2.xへのマイグレーションについて説明します。 私が開発に携わっているフリルというフリマサービスのAndroidアプリでは、つい先日のアップデートでRxJava 2.0.8への…

ActiveAdminでカスタムフィルターを実装する

こんにちは。サーバサイドエンジニアの @masacandy です。 最近MISTEL社のキーボードを購入したので快適にタイピングしながらお送りしております。 さて、今日はActiveAdminを利用する際に、カスタムフィルターを実装したい場合のお話をしたいと思います。 *…

Elixir Conf Japan 2017 参加レポート

Elixir 去る2017-04-01に、Elixir Conf Japan 2017に行ってきました。 Ruby界隈でも有名で、Elixir作者のJosé Valimさんが来日されるというだけでもすごいのに、他の発表者が豪華陣営すぎるので、開催が告知されたとき即座に参加を決定しました。 僕は昔Vanc…

大江戸Ruby会議06参加レポート

去る2017-03-20、Fablic社員数名で、大江戸Ruby会議06に参加してきました! twitter.com 今回は、Rubyの地域コミュニティ中でも最高レベルに重鎮が集うこの大江戸Ruby会議06参加レポートをお送りします。 大江戸Ruby会議とは 午前の部 Docker時代の分散RSpec…

Railsにおけるレコード作成時のレースコンディションについて

こんにちは。サーバサイドエンジニアの @yamy です。 フリルでは商品情報など様々なレコードが作成されています。 今回は、レコード作成時にレースコンディションが発生した件についてお話しします。 レースコンディションとは 「レースコンディション(競合…

Fablicでよく利用されるデザインの検証手段

こんにちは!デザイナーのくれちょんです。 2016年の末に株式会社basicさんで行われたNextstage Design Niteというイベントにて、チームを動かすデザイナーというタイトルで登壇させていただきました!Fablicでのデザイナーの働き方についてをメインにご紹介…

Android版フリルにおけるMaterial Designへの対応とガイドラインの捉え方

こんにちは。Androidエンジニアの @nakamuuu です。 1月24日(火)に株式会社Loco Partnersさんのオフィスで行われた App Talk Night by Relux に参加させていただきました。このイベントはGoogle Playの「ベストオブ 2016」に選出されたアプリデベロッパー5…

Android版フリルでの商品画面リニューアルにおけるCollapsingToolbarLayoutを用いたレイアウト構築

この記事はFablic Advent Calendar 22日目の記事です。 http://qiita.com/advent-calendar/2016/fablic こんにちは。Androidエンジニアの @nakamuuu です。 フリルは2016年10月、ロゴやアイコン、アプリ全体のカラーリングの変更を含む大規模なリニューアル…

デザイナーが1人でキャンペーンを設計から運用までしてみて良かったこと

こんにちは。Fablicのデザイナーのkobachiです。 現在は主にキャンペーンの運用をしています。 この記事は、 Fablic Advent Calender 2016 20日目の記事です。 Fablicでは、デザイナーも1からキャンペーンを設計・実装・運用を行います。 1から…と聞くと大変…

Fablicでの Codenize.tools を使ったインフラ管理について

この記事はFablic Advent Calendar 19日目の記事です。 http://qiita.com/advent-calendar/2016/fablic こんにちは、Fablicでサーバーサイドエンジニアをやっている yutadayo です。 今回は AWS の環境設定をコードで管理できる Codenize.tools の紹介と弊社…

Railsログを美しく Beautiful::Log

この記事はFablic Advent Calendar 15日目の記事です。 http://qiita.com/advent-calendar/2016/fablic はじめまして、Fablicでサーバーサイドエンジニアをやっている岸と申します。 今年の6月、Fablicにジョインして初めてRuby/Railsに触りました。 それま…

フリルのiOSアプリ開発におけるエンジニアとデザイナーの作業分担について

こちらはFablic Advent Calendar 2016の記事です。 こんにちは。FablicのiOSエンジニア、shobyです。 iOSエンジニアの皆さんは、デザイナーとどういった形で仕事を進めているでしょうか。 iOSアプリの開発はWebの開発と異なり、UIとロジックを完全に分離する…

芯を通すリブランディング -デザインに入るまで- (@wariemon)

こんにちは。Fablicのデザイナーのわりえもん (@wariemon) です。 この記事は Fablic Advent Calender 2016 の記事です。 フリルのリブランディングを担当した際に、新規のブランドつくりと違うチェックポイントが存在することに気づきました。 その上でリブ…

Elasticsearchの1系から2系への移行

サーバサイドエンジニアの@sinamon129です。 FRILのサーバサイド開発・インフラ・チューニング・検索・運用など幅広くやらせていただいております。 9月に、全文検索サーバとして使っているElasticsearchを1.7.2から2.3.5へ移行をしました*1*2。現在、2.4系…

Fablicの効果検証を支えているGoogleスプレッドシートのお気に入り便利機能5つ

調査や効果検証の際に活用しているGoogleスプレッドシートについて、独自のダッシュボードとの使い分けについてや、スプレッドシートの便利機能などをまとめてみました。

FablicでのRedash導入事例

プロダクトマネージャー兼エンジニアのid:ninjinkunです。この記事はFablic Advent Calendar 2016のエントリーです。 Fablicでは今年の9月頃からOSSのBIツールであるRedashを導入して、誰でもSQLを叩ける環境を整備しました。以下、運用してわかったRedashの…

Picasso にパッチを当てた話

こんにちは。Androidエンジニアの黒川(@hydrakecat)です。 この記事は、Fablic Advent Calendar 2016 のエントリーです。 本日は、Androidのライブラリにパッチを当てた話をしたいと思います。先日、Picassoという画像ライブラリのバグにより、弊社のフリル…

Before UI Design - 定性と定量の間で考える

こんにちは、Fablicでデザイナー兼プロダクトマネージャーをしている @takejune です。最近は筋トレに励んでいます。 先日、弊社で運営しているフリル(FRIL)がGoogle PLAYの2016年ベストアプリに選ばれ、ベストデザイン賞を獲得しました Material Designに対…

Drekkarを使ってAndroid WebViewのJavascriptブリッジ処理をEvent Bus風に書く

こんにちはFablic エンジニアの@cutmailです。 この記事は、Fablic Advent Calendar 2016 1日目のエントリーです。 2016年もあと1か月で終わってしまいますが、いかがお過ごしでしょうか。 アプリ開発をする際に、一般的にUIを全てネイティブコードで作るこ…

フリルのロゴができるまで

こんにちは。Fablicのデザイナーのわりえもん (@wariemon) です。 2016年10月に、フリル(FRIL)のロゴ・アプリアイコンのリニューアルをしました。 もうみなさんのお手元のアプリも新しいものに変わっているころかと思います。 今回、新しいフリルのロゴを…

「Fashion Tech meetup #3」を開催しました

こんにちは。エンジニアのcutmailです。 先日、GMO Yoursさんにて、Fashion Tech meetupというイベントを開催しました! このイベントは、Fashion x Technology をテーマにしており、MERYを運営する株式会社peroliさんと、iQONを運営する株式会社VASILYさん…

カスタマーサポートへの愛が止まらない「CS FES '16 Jul.」を開催しました

みなさん、初めまして。Fablicでカスタマーサポート(CS)を担当している@daisuke_fujimotoです。 7/28(木)にFablicのCSとしては初めてイベントを主催しました。「CS FES '16 Jul.」という、CSを愛する人達のスキルアップを目的としたイベントです。今回はそ…

「Think User First #4 ユーザーファーストなサービスの立ち上げ方」を開催しました

こんにちは、デザイナーのtakejuneです。 6/18(土)に「Think User First #4 ユーザーファーストなサービスの立ち上げ方」という勉強会を開催しました。 Think User First はクックパッド社と共同で運営しているサービスデザインの勉強会です。 4回目となる今…

フィードバックを活かすために、知っておいて欲しい3つのこと(翻訳本風)

はじめまして。エンジニアの id:unlearned です。 Fablicでは半期に一度、同僚からのフィードバックを受ける仕組みがあります。 新入社員などは初めて受ける公式のフィードバックです。 主に社内若者向けにフィードバックをどのように今後に活かしていけば良…

写真で振り返るWWDC2016

皆さんはじめまして、iOSエンジニアをやってる@tomonobu_satoです。 先週開催されたWWDC2016に参加してきました! Keynoteの様子や、各セッションはすぐにアップロードされ、他のサイトでもたくさんまとめられているので、現地での様子をレポートしたいと思い…

Google I/O 2016 セッションまとめ ②: What’s new in Android Wear 2.0?

こんにちは!Androidエンジニアの @nakamuuu です。 今回は Google I/O 2016 で行われたセッション What’s new in Android Wear 2.0? から、Android Wear 初のメジャーアップデートとなる Android Wear 2.0 の新機能や気になったポイントを開発者目線でまと…

iOS 9でアップデート後にアプリが起動できなくなる問題の原因と解決方法

iOS

こんにちは。iOSエンジニアのshobyです。 最近、頭痛の種だった、iOS9でアップデート後にアプリが起動できなくなる問題について、原因が判明し、解決方法がわかったため、お伝えします。 この問題はiOSのバグが原因です。 ユーザーへは、iOSの9.3.2へのアッ…

Google I/O 2016 セッションまとめ ①: What's New in Android development tools

初めまして。 Androidエンジニアの黒川(@hydrakecat)です。 皆さん、Google I/O 2016のキャッチアップはできているでしょうか?今年はすべてのセッションが動画で公開されましたが、Android 関連だけでも 60 本近くもあり、すべて観るのは大変です。 キーノ…

Google I/O 2016 基調講演まとめ

こんにちは!Androidエンジニアの @nakamuuu です。 現地時間5月18日(水)〜20日(金)に開催された Google I/O 2016 に参加してきたので、基調講演での発表内容を中心にレポートを書いていきたいと思います。

Amazon Auroraへの移行

こんにちは、エンジニアの@yutadayoです。 Fablic が運営するフリルでは先日インフラをEC2-Classic環境からVPC環境に全面移行し、同時にリリース当時から使っていた Amazon RDS for MySQL から Amazon Aurora へと移行しました。 まず、移行して2ヶ月程度Aur…

ReSwiftでiOSアプリの状態管理

エンジニアのninjinkunです。先日FablicからリリースされたバイクフリマアプリRIDEのiOS版では、ReduxのSwift実装であるReSwiftを採用しています。このReSwiftについてReactive Swift Meetupで発表したので、資料を公開します。