PairsでKotlinを採用した5つの理由

eureka Advent Calendar 2016の16日目です。 昨日は恩田さんの「Terraformを1年間運用して学んだトラブルパターン4選」でした。 こんにちは。Pairs Global事業部でAndroidエンジニアをやっている海藤です。 皆さん、Kotlin書いてますか? 実はPairsのAndroidチームでは開発言語として正式にKotlinを採用しました。そこで、この記事ではPairsでKotlinを採用した理由を紹介したいと思います。記事のタイトルにある通り、理...

Terraformを1年間運用して学んだトラブルパターン4選

この記事は Eureka Advent Calendar 2016 15日目 の記事です。 14日目は丹 俊貴さんの「iOSアプリのUX改善! FacebookのAsyncDisplayKitで60FPSのハイパフォーマンスなiOSアプリを作る」でした。 はじめに こんにちは! エウレカのインフラを担当しております恩田です。 今回はTerraformの運用で学んだトラブルパターンと解決方法について書きたいと思います。 TerraformによるInfrastructure as Codeの実践 エウレカではサ...

iOSアプリのUX改善! FacebookのAsyncDisplayKitで60FPSのハイパフォーマンスなiOSアプリを作る

この記事は Eureka Advent Calendar 2016 14日目 の記事です。 13日目は 香取さん の「今日から始めるDeep Learning」でした。 こんにちは。Couples事業部でiOSアプリの開発を担当している丹です! 今回はFacebookとPinterestがオープンソースとして公開しているAsyncDisplayKitをCouplesで使ってみたので、導入方法を紹介したいと思います。 AsyncDisplayKitはViewのレイアウトを非同期に扱うことで、60FPSのスムーズなUI...

今日から始めるDeep Learning

こちらはeureka Advent Calendar 2016 13日目の記事です。 前回は田野さんの「go vet の shadow を知る」でした! こんにちは。Pairs事業部の香取です。 現在、すでに音声認識や顔認識など様々な分野でDeep Learning(深層学習)が利用されていますよね。最近では、AlphaGoが囲碁の試合で欧州チャンピオンに勝利したことや、Deep Learningを用いた自動運転技術が実用化に向かっていることなどからも、着実にその研究が進んで...

go vet の shadow を知る

この記事はEureka Advent Calendar 2016 12日目の記事です。 11日目は二川さんさんのネイティブエンジニアが半年間Webエンジニアとして働いてきた話でした。   こんにちは。エウレカでGo言語エンジニアをしている 田野です。   ここ1週間のうちに Dave Cheneyさんと2度もお会い出来る機会がありホクホクしています。お帰りの際に地下鉄の駅までお見送りさせていただいたのですが、とても良い旅行だったとお話されて...

ネイティブエンジニアが半年間Webエンジニアとして働いてきた話

この記事はEureka Advent Calendar 2016 11日目の記事です。 10日目は梶原さんのエウレカが目指す“モダンな情シス”とは?でした。 はじめに こんにちは! 最近事業部を異動して、メイン業務がAndroid開発からサーバーサイド開発に変わった二川です。   さて、今回はAndroidアプリの開発経験しかなかった私が異動をきっかけにWebエンジニアとして働くようになった半年間でどんなことをやってきたのかを紹介するとともに、...

エウレカが目指す“モダンな情シス”とは?

皆さん、はじめまして。エウレカで情報システム全般のプロダクトオーナーと社内のAgileコーチを担当している梶原です。eureka Advent Calendar 2016 10日目の記事です。 9日目は、山内さんのSVG+CSSでWebサイトをリッチにしてみませんか? | eureka tech blogでした。  はじめに このエントリーでは、私が考えているモダンな情シスと、エウレカの社内環境についてご紹介します。 自己紹介 まず、簡単な自己紹介...

SVG+CSSでWebサイトをリッチにしてみませんか?

この記事は eureka Advent Calendar 9日目の記事です。 8日目はアイドルお兄さんこと山本さんの 「2017年はVaporを使ってSwiftでWeb開発」でした。 こんにちは! Pairs Global事業部の山内です。JavaScriptを書いています。 早速ですがこちらを御覧ください。 See the Pen svg-logo-Pairs by yamauaa (@yamauaa) on CodePen. こちらは「SVG(画像)」と「CSS」を用いた、弊社Pairsロゴの線画アニメーションです。 ※...

2017年はVaporを使ってSwiftでWeb開発

こんにちは、サーバーサイドエンジニアのmarnie-eureです。 この記事はEureka Advent Calendar 2016 8日目の記事です。 12月ですね 早いもので、2016年ももう終わりですね。 私はと言うと、Swiftを勉強したものの、使う機会がないまま1年が過ぎました。 今の彼氏(golang)は優しいんだけど、やっぱり昔の彼氏(Swift)も忘れられない! サーバーサイドエンジニアだってSwiftを書きたいんや! そんな貴方のためにVaporの紹介をし...

【Go言語】append使い分けのススメ 〜スライスの先頭へ要素を追加するとき、中身の型は固定長?可変長?〜

こんにちは、Pairs事業部の山下です。   最近はインフラチームから離れて、Pairs GlobalチームでPMとして日々を送っています。   もちろんエンジニアなので、手が空けば実装もします。   そんな中、久しぶりにGoを書いていて、 スライスの先頭に要素を追加(Unshift)したい事案が発生しました。   公式wikiのSliceTricksの項では下記のように紹介されております。 [code lang=go] // Unshift a = append([]...

【基礎編】Elasticsearchの検索クエリを使いこなそう

こんにちは! Pairsの検索アルゴリズムの新規開発・改修を担当している小島です。   この記事は eureka Advent Calendar 6日目の記事です。 5日目は癒し系エンジニア鉄本さんの 「社内ツールを駆使してExcelへのレポートを自動化した話」でした。   今年に入ってからElasticsearchについてしかブログを書いていません。 もちろん今回もElasticsearchについて書きます。   前回はElastic Stack 5.0 のセッ...

社内ツールを駆使してExcelへのレポートを自動化した話

こんにちは! Pairs事業部Analyzeチームの鉄本です。   この記事はEureka Advent Calendar 2016 5日目の記事です。 4日目は竹内くんの「FalbaTech製ErgoDoxを使ってみた」でした。 私のチームでは、データの分析はもちろん、分析関連の要望や課題の解決にも日々取り組んでいます。   今回は最近取り組んだ要望へのアプローチを1つ、紹介します。同じ環境の方は少ないかもしれませんが、置き換えできる部分もありま...

FalbaTech製ErgoDoxを使ってみた

この記事はEureka Advent Calendar 2016 4日目の記事です。 前回は木村さんのCarthageのcopy-frameworkをスキップして開発時のビルドを高速化するでした! こんにちは、Pairs開発メンバーの竹内です! 前回まで技術寄りの話を書いていた僕ですが、今回は少し方向性を変えまして自分の使っている作業環境の一部である"ErgoDox"と呼ばれるキーボードについて語ろうと思います。 tl;dr ErgoDoxで肩こりが治った FalbaTec...

Carthageのcopy-frameworkをスキップして開発時のビルドを高速化する

iOSエンジニアのmuukiiです。 この記事はEureka Advent Calendar 2016 3日目の記事です。 2日目は川端さんのshader入門 -CIKernelでカスタムフィルター作成-でした。   今回はライブラリ管理にCarthageを利用している環境で開発時のビルド作業を効率化をするTipsを紹介します。   CarthageはCocoaPodsと違い事前にframeworkを作ってしまうため、 Xcodeのビルド時にはframeworkのビルド時間を省略することができ...

shader入門 -CIKernelでカスタムフィルター作成-

こんにちは、Pairs事業部エンジニアの川端です。 この記事はEureka Advent Calendar 2016 2日目の記事です。 初日はkagaさんのエウレカに転職してみたぞ!でした!   今回は、Core Imageをつかったカスタムフィルター作成について書きたいと思います。   画像加工とCore Image 画像加工をアプリで行ったことはありますか? 画像の色味を変えることや、画像全体をぼかしたりしたことはありますか?   これらは...

エウレカに転職してみたぞ!

記念すべき eureka Advent Calendar 2016 の1日目を担当いたします! ■tl;dr 10月にエウレカにインフラエンジニアとしてjoinしたぞ 学ぶことが多くて大変だけど雰囲気良くて楽しいぞ 本業以外にもめっちゃ充実してるぞ ■まずはじめに 改めまして、インフラエンジニアの加我です。10月1日にエウレカに転職して2ヶ月が経ちました。なぜ僕が転職先としてエウレカを選んだのか、そして最近どうよ?という話をした...

golang の const と var のコンパイル時解釈

golang では定数と変数をそれぞれ const と var で宣言します。とても基本的なことですが、コード内での使い方によってはコンパイラの解釈が変わるので、今回はその紹介をします。 はじめに Golang Allstars 2 では、下記のスライドを使って登壇しました。スライドには定数のことをお話しましたが、アセンブリコードを読んだわけではなかったので、今回はアセンブリコードからのアプローチになります。 上記スライド内にあ...

Pairsでの活用例から学ぶre:dash導入のすゝめ

初めまして。Pairs事業部Analyzeチームで分析業務を担当している鈴木と申します。   みなさん、分析ツールは何を導入されてますか? Pairs事業部では、社内のセルフBIツールとしてre:dashを導入しています。弊社のように、手軽な分析ツールとしてre:dashを導入している、もしくは導入を検討している企業やチームは多いのではないでしょうか。   今回は、実際にre:dashを運用してみて感じた「導入前にすべきこと」...

kamimai – Go言語製DBマイグレーションツールの紹介

Pairs事業部の田野です。   Go言語のコミュニティも盛り上がってきており、あちらこちらで「Go言語を採用した!」という話を直接伺うことが多くなってきました。 Go言語製ツールの検討 エウレカもGo言語を使いはじめて2年ほどが経過しました。Go言語導入当初に色々なGo言語製のツールを検討したのですが、マイグレーションツールはそのうちの一つでした。   その調べた内容を「Go製マイグレーションツールの現状確...

ActiveAndroidからOrmaへ移行した理由

こんにちは。Pairs事業部Androidエンジニアの愛澤(@lvla0805)です。   AndroidアプリケーションからSQLiteを扱う場合、SQLiteDatabaseクラスかORMapperを利用することになると思います。ORMよりもSQLiteDatabaseの方がパフォーマンスは優れていますが、文字列でDLL/DMLを記述しなければならないため扱いにくく、大規模なアプリケーションではORMapperを利用するのが一般的なのではないでしょうか。   恋愛・婚活マッ...