Go言語を使って類似画像を検索する

こんにちは!エンジニアの後藤です。 今回はGo言語による類似画像の検索手法についてお話ししたいと思います。 代表的な画像検索技術について まずは画像検索について。大きく分けて「TBIR」と「CBIR」があります。 TBIR テキストをメタデータとした検索手法です。 ユーザーが入力したワードと画像のテキストデータを比較して、マッチした一覧を表示させる手法です。 例えば、電子書籍の検索などが挙げられます。 CBIR ...

Pairsの検索にElasticsearchを使ってみた。

インフラチームの松尾です。 今回はPairsの検索のバックエンドをMySQLからElasticsearchにした話を書きたいと思います。 現在の検索の構成としては golang → Redis → Elasticsearchとなっています。 MySQLだった時の問題点 そもそも検索が遅かった。 1台辺りのCPU使用率が高くなりがちだった為、 台数を増やしてスケールさせていたがコストが結構かかっていた。 スキーマ変更を行う際にメンテナスが必要になる事があった...

IT企業の秘書直伝!デキる大人の会食セッティング法♡

はじめまして。 エウレカで役員秘書をしています、萱場(かやば)です。 この度有難いことにtechブログ執筆の機会をいただきました! 残念ながらtech要素はこれっぽっちも出せないのですが、今回は私が日々実践している「会食セッティング法」についてご紹介したいと思います。 会食設定をする際に必ず抑えておくべきポイント 会食を設定する時に必ず抑えておかなければならないポイントは次の3つです。 日時 ...

DIを使ってAndroidでイイ感じにテストを書く

はじめに こんにちは!Androidエンジニアの海藤です。   前回に引き続き、今回もAndroidのテストに関連した内容です。ここ半年はテストおじさんという名のもとに、Androidアプリのテストを書くために色々と試行錯誤していますが、その過程でテストを書くためにはDIが非常に重要になってくると感じたため、今回はAndroidのDI事情について書きたいと思います。 DIとテストの関係 DIはDependency Injectionの略で、日本...

3000万人規模サービスでセキュリティ対策を進めるための組織体制

こんにちは!インフラチーム所属の恩田です。 今回はセキュリティ対策についての記事をお届けします。 ■ あらすじ ここ数年のインターネットの利用率増加に伴い、インターネット利用者のセキュリティ対策に対する意識は近年高まってきていると言われています。しかしながら、その一方で攻撃者の手法や手口も更に巧妙化・高度化の傾向がみられており、事業者にはそれらに対応できるセキュリティ対策が求められています。 ま...

iOSエンジニアにも便利なSketchプラグイン6選

こんにちは!iOSエンジニアの木村です。 iOSエンジニアの皆さん、Sketchは使っていますか? SketchはWebサイトやネイティブアプリを対象としたデザイン用に作られているため、 デザインから実装に落とし込みが素早く行えるようになります。 また、操作方法もシンプルになっているので、エンジニアでもデザインの確認や、素材書き出しなどは簡単に行えるのもポイントであり、 自分でマージンの確認や素材の微調整が出来るとデザ...

React+ReduxなネイティブアプリをReact Nativeでシュッと作る

こんにちは! Pairsチームの太田です。 梅雨空が続く今日この頃ですが、いかがお過ごしでしょうか。 突然の豪雨への備えは常に持っておきたいですね。   ところで、私の前回の記事ではJavaScriptでクロスプラットフォームアプリを書く魅力とReact Nativeがよさそうという内容をお伝えしました。 その後、実際にReact Nativeを使ってサンプルアプリをシュッと書いてみましたのでレポートします。 React Nativeのおさ...

TransducersでRxJSを高速化

こんにちは、インターン生でPairs開発メンバーの竹内です! 前回の記事のおかげか、ありがたい事に社内でのClojureの知名度が急速に広がりつつあります。 そこで今回は一旦Clojureからは離れまして、Clojureの生みの親であるRich Hickey氏が生み出したTransducersと、RxJSとTransducersの連携について書こうと思います。 RxJS(及びReactiveX)については既に様々な解説や豊富なドキュメントが存在するため割合させていただ...

Android Activityのテストを上手く書くコツ

はじめに こんにちは!エウレカのテストおじさんこと、Androidエンジニアの海藤です。   今回はAndroidにおいてテストを書くために僕が取り組んでいることについて紹介したいと思います。今回ブログを書くにあたって、Androidのテスト全般について書こうと思いましたが、書いているうちにかなりの量になってしまったため、今回はActivityのテストに絞って書きたいと思います。 Android界隈のテストについて Android界...

Kotlinの気持ちよさ

こんにちは、Pairs事業部Androidエンジニア Kotlinおじさんこと愛澤(@lvla0805)です。プライベートではフルKotlinでアプリを開発しています。 現在Pairsでは開発言語としてKotlinの導入を検討し、社内で勉強会を行っています。 今回はなぜKotlinなのかといったことをご紹介したいと思います。 kotlinとは JVM, Android, ブラウザ向けの静的型付け言語です。 IntelliJ IDEAの開発元であるJetBrains社がオープンソースで開発...

「どんな価値観を持った人も活躍できる会社に」 新人事制度baniera(バニエラ)を作った理由

初めまして。 人事の進(しん)です! 今回は「tech blog」の場所をお借りして、先日リリースした新人事制度「baniera(バニエラ)」についてご紹介させていただきたいと思います!   baniera(バニエラ)紹介ページ エウレカがパパママ社員に優しい新人事制度、英会話全額負担や「Pairs婚」手当ても-- TechCrunch   事業部デザイナーから人事へ 突然のキャリアチェンジ 「ねえねえ、まぽたんさ、人事やって...

Camp Match 2016 @Dallas に参戦してきました!

Hi, everyone! インフラチームの中川(@yyoshiki41)です!   タイトルをみて、「Camp Match、なんだそれは...?」と思った方が大多数だと思いますので、順を追って説明したいと思います。 今回の記事はテクニカルな話題というよりも、エウレカだからこそのナレッジシェアリングやキャッチアップの話がメインとなります。 世界のオンラインデーティングサービス 昨年、エウレカはIACグループに参画する運びとなりまし...

OpsGenieでMackerelのアラートを電話通知

こんにちは! @sion_cojp こと、湖山です。 弊社で今導入している、OpsGenieでMackerelのアラートを電話通知する手順をご紹介します。 ①OpsGenieとは? https://www.opsgenie.com/ Mackerelでアラート発生! OpsGenieで電話通知! PagerDutyより安い! 年間契約で1ユーザあたり、PagerDuty: 月額$49, OpsGenie: 月額$24 ②OpsGenie導入方法 料金体系 https://www.opsgenie.com/pricing 電話通知が無制限 + 電話番...

いますぐ始める高負荷対策

こんにちは。松尾です。 今回は、下記の一般的な負荷対策についてご紹介します。 Webサーバの負荷対策 データベースサーバの負荷対策 サーバのスケールアップ ネットワークレベルでの負荷対策 その他の負荷対策 エウレカではPairsとCouplesという2つの高トラフィックなサービスを運営しています。 その中で負荷対策として、さまざまな経験を積んできました。 対策方法を記憶しておくだけで、高トラフィックが襲ってきた際...

2年間オンプレを運用してきた人が、2ヶ月AWSの運用をした所感

  こんにちは! @sion_cojp こと、湖山です。   私は前職で2年間オンプレ(KVMとOpenStack)を運用してきました。 エウレカはAWSのシステム構成なので、 今回は2ヶ月AWSを運用した際の、私が感じたAWSのメリット、デメリットをご紹介します。 メリット ①ネットワーク機器を運用しなくて良い ネットワーク機器を運用しなくても良いのは運用負担軽減になりますね。 ②EC2, ElasticCache, SQS, SES...便利...

採用広報担当がエンジニアと信頼関係を構築するための5ステップ

エウレカで採用広報を担当している庄田と申します。 今日は、採用広報担当者が社内のエンジニアと信頼関係を築くには?という問いに対しての庄田の回答をお伝えしたいと思います。 そもそもなぜ採用広報担当者とエンジニアは信頼関係を築く必要があるのか 一見、エンジニアと採用担当者はコミットすべきKPIも違い、専門性にも大きな乖離があるので、信頼関係を築く必要がない、もしくはとても難しいと思われがちかなと思っ...

エウレカエンジニアのオフィス環境 2016

こんにちは! @sion_cojp こと、湖山です。 今回はエウレカエンジニアのオフィス環境を紹介してみたいと思います! 服装 服装は自由です。 私は今の時期サンダルです。   出勤時間 10:00〜19:00となっております。 早めに帰ることを推奨してる会社ですね。 私は用事があるときは定時ダッシュします!   オフィス環境 木目を基調とした、北欧感に溢れてて落ち着く環境です。 私は木目ラブなので素敵。 ...

JavaScriptで書く! クロスプラットフォームアプリ 2016

こんにちは! Pairsチームの太田です。 日本がGWに浮かれていたころ、ソルトレイクシティで開催されたng-confではAngular2とNativeScriptの統合がアナウンスされました。 NativeScriptはもともとJavaScriptのワンソースでクロスプラットフォームのNativeコードを出力することができるというツールでした。 それがバージョン2.0では新たにAngular2 + TypeScriptのコードにも対応したとのことです。 NativeScript陣営は1年ほ...

物理サーバを選定する際のポイント

こんにちは! 2016/4月入社の @sion_cojp こと、湖山です。 入社早々、社内で遊べる用の物理サーバを選定して欲しいと言われたので、 私が物理サーバを選定するときポイントをまとめてみました。 (ちなみに、新卒で入社した某データセンターの配属先がサーバ管理部門でした) ①サーバ メーカーはどれ選べば良い? 好みがなければトレンド率の高いメーカーを選ぶと良いでしょう。 理由は、メーカーによってBIOS設定...

ClojureScript & Golangでチャットアプリを作ってみた

こんにちは、Pairsの開発をしているインターン生の竹内です! まだ入社して一ヶ月とペーペーな僕ですが、今まで2年ほどClojureを使ったWebアプリケーションの開発をしていたり、今はGo言語を書くことが多いと言うこともあって、最近はGo言語とClojureが気になって朝も起きられない毎日です! そんな訳で、Go言語については大先輩の方々が素晴らしい記事を書いてくださっているので、今回は初めてClojureScriptに触れる方向け...