regexpとの付き合い方 〜 Go言語標準の正規表現ライブラリのパフォーマンスとアルゴリズム〜

こんにちは! エンジニアの臼井です。 この記事は、 eureka Advent Calendar 2016 20日目の記事です。 昨日は、太田さんの angular-cliで始めるAngular2 という記事でした。   今日の記事では、Go言語標準の正規表現ライブラリ、 regexp についてお話します。   本稿において使用するGo言語のバージョンは 1.7系とします。 regexp は遅い 残念ながら regexp は、PHP や Ruby 等のメジャーなスクリプト言語の正規表...

angular-cliで始めるAngular2

この記事はEureka Advent Calendar 2016 19日目の記事です。 18日目はサルバさんの「年末なのでtext/template周りを歩いて回ってみた」でした。 こんにちは! Pairs事業部でエンジニアをやっている太田です。 2016年も終わろうとしていますが、2016年といえばAngular2がリリースされた年でした。 そんなAngular2アプリをサクサク作れるツールがangular-cliです。 https://cli.angular.io/ angular-cliはコマンドラインか...

年末なのでtext/template周りを歩いて回ってみた

Buenos Dias. Pairs事業部でエンジニアをやっている @MasashiSalvadorです。 業務ではGo言語を使ったバックエンドの実装、フロントエンドの実装、もしくは片手間でPythonでデータを弄るようなこともやっています。 今回のブログはeureka Advent Calendar 2016の18日目の記事です。17日目は大久保さんのデータ分析の誤りを未然に防ぐ! SQL4つの検算テクニック | eureka tech blogでした! 今回の記事ではGo言語の text/templa...

Go言語でAWSのサービスを使ってみる ~SQS・DynamoDBを試す~

この記事はAmazon Web Services Advent Calendar 2016の18日目の記事です。 昨日の記事はryo-yamaokaさんの自作ツールネタ(の予定) でした。   この記事では、Go言語を使ってaws-sdk-goの基本的な使い方と、 SQS・DynamoDBの簡単な使い方を解説していきます。   はじめに この記事の対象者は↓のような人々です。   Go言語の基本的な文法が分かる人 AWSの各サービスをawsコマンドやその他の言語で触った...

データ分析の誤りを未然に防ぐ! SQL4つの検算テクニック

この記事は Eureka Advent Calendar 2016 17日目 の記事です。 16日目は 海藤さん の「PairsでKotlinを採用した5つの理由」でした。 こんにちは、PairsのAnalyzeチームメンバーの大久保です! Analyzeチームでは、施策検討時のデータ抽出やサービス上の問題検知のために、分析用途のMySQLクエリを作成しています。 分析用途のクエリを作成していると、WHERE条件忘れやDISTINCT忘れ、「>」「<」の取り違えなどのミスにより...

新米プロダクトマネージャーのプロジェクトの進め方

はじめまして! Pairsのアソシエイトプロダクトマネージャーの河信です。   これは Product Manager Advent Calender 2016の16日目の記事です。 今回は、新米プロダクトマネージャーのプロジェクトの進め方について書きたいと思います。   自己紹介 本題に入る前に簡単な自己紹介をします。 経歴としては営業歴2年とプログラミングスクールの講師を半年ほどやっていたくらいで、実際のプロダクト開発の経験...

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のビルド時間を省略することができ...