プロトコル指向でもっとに便利に! Alamofireを使ったAPIリクエスト設計

iOSアプリでサーバーとのAPI連携を行うとき、 皆さんはどのような設計で実装していますか? きっと様々な方法があると思いますが、 リクエスト処理はできるだけシンプルに見通しを良くしておきたいですよね。 Protocolを使ってリクエストを綺麗に管理する そこで今回はSwiftのProtocol機能とAlamofireを組み合わせて、 リクエスト処理を見やすく、綺麗に管理できる設計をご紹介したいと思います。 詳しい説明に入る前に、今...

新卒エンジニアが心がけるべき5箇条

※こちらの内容は、Wantedyブログ'CTOから新卒エンジニアに伝えたいこと'に寄稿したものの転載になります。 皆さん、こんにちは。エウレカのCTOをつとめている石橋です。 まずは新卒エンジニアの皆さん、各社へのご入社おめでとうございます! 僕は大学を中退して20歳の頃から働き始め今28歳なので、今年の春で社会人9年目になります。もっと言うと大学に入ってからすぐにWebエンジニアのアルバイトで正社員とあまり差異が無く仕...

恋人専用SNSアプリCouplesに追加されたThinking of you機能の実装方法

こんにちは!恋人専用SNSアプリCouplesのAndroid版開発を担当している二川です。 この記事では、恋人を想う気持ちを1タップで伝えられる機能で押す長さによって大きさを変えられたり、隠し機能もあったりと、「2人のコミュニケーションをさらに楽しいものにしたい」という想いを込めて開発したThinking of you機能をご紹介します!! Thinking of you機能とは Thinking of you機能とは簡単にまとめると下記のような機能です...

AndroidのViewDragHelperを使ってYouTube, SoundCloudのようなアニメーションを実装する!

こんにちは!エンジニアの後藤です。 業務ではGo言語でウェブアプリケーションを作ることに専念しているので、Webエンジニアと化していますが、ネイティブアプリが大好きなので休日はネイティブエンジニアに変化します。 さて、本題に。今回は、Androidに焦点を当てて、リッチなドラッグを作成するポイントを紹介します。YouTubeやSoundCloudで使われているアニメーションと言えば想像がつくでしょうか。 YouTube, Sou...

デザインの品質を保つPairsデザインレビュー

  こんにちは!Pairsのデザインを担当している沢里です。 前回、弊社Pairsデザイナー酒匂の記事でGitを利用した画像管理方法について触れましたが、今回は、Pairsデザイナーがどのようにデザインレビューを行っているのかについて書きたいと思います。     クロスレビューの実施 通常、アートディレクターやデザインリーダーがチェックを行い修正を加えていく方法が多いかと思いますが、Pairsでは、デザ...

東大理情名物のCPU実験で毎週徹夜したお話(技術編)

以前公開した第一部の続きになります。検索等でこの記事にたどり着かれた方は、まず先にこちらを読まれる事をおすすめします。 前回はCPU実験の大まかな概要や昨今の動向について書きました。今回はより掘り下げて、技術的な部分、特に私が担当していたコンパイラにおける各種最適化手法について書いていきたいと思います。前回は一般受けするように書きましたが、今回はたぶんエンジニアの中でも割と限られた層でないと面白...

新社会人に送る。peco + anyframe + zshで実現する快適コマンドライン環境

はじめに こんにちは!エンジニアの恩田です。 エンジニアとして仕事をする以上、多くの時間をコマンドライン上で過ごす方も多いでしょう。業務の大部分の時間を過ごす環境は誰でも快適にしたいですよね!よくエンジニア間ではエディタの宗教戦争が話題になりますが、今回はコマンドライン環境を快適にする為のツール群を紹介します。 pecoとは? コマンド出力結果のインクリメントサーチを行う為のツールです。これだけだと...

東大理情名物のCPU実験で毎週徹夜したお話(概要編)

インフラチームでインターンをやっている粟本です。 普段はansibleをのんびり書きつつ、Pairsのボトルネック調査と称してGoと戯れている人間ですが、今回は業務から少し離れて、私がつい先日まで大学の学科でやっていた学生実験の話を書きたいと思います。 会社のブログに大学の事を書くのも変な話ですが、如何せん自分のブログを持たない身には自分のやった事をアウトプットする場所がないのです。というわけで、ここは一つ...

Swiftならこう書くシリーズ 10選

CouplesアプリのiOSエンジニア、Johnです! 1年前CouplesのObjective-CコードをSwiftに書き換えてから、ベストプラクティスもガンガン変わってきました。それでObjective-CからSwiftに移行する時の10個のTipsにランキングを付けて、10位から紹介させていただきます! 10. 配列の操作ならSwiftの CollectionType と SequenceType メソッドを使用する Swiftの Array や Set などは CollectionType と SequenceType プロトコル...

10 Tips when moving from Objective-C to Swift

デザインレビューやエンジニアとのやりとりに役立つ!デザイナーでも簡単にGitで画像管理する方法

こんばんは、Pairs事業部デザイナーの酒匂です。 突然ですがデザイナーの皆さんはどうやって画像管理を行っていますか? PairsのデザイナーはGitを使って画像管理を行っています。 本日はGitで画像管理するようになった背景と、画像管理の方法をご紹介します!     | Gitを使う前の画像管理方法 Gitで画像管理をするようになる以前は、 デザイナーがオンラインストレージ上に画像をアップロードした後 エンジ...

iOSエンジニア必見!!iOSのレイアウトで押さえておきたいこと【総集編】

こんにちは!CouplesのiOSエンジニアをしている丹です。 今回はiOSエンジニアなら、絶対に押さえておきたいViewのレイアウトについてまとめました。Viewのレイアウトはアプリを作る上で基本中の基本ですが、深い理解がなくても、動くものは作れます。しかし、パフォーマンスを意識したり、設計をしっかりする上でViewのレイアウトの理解は必須です。レイアウトの理解を深めるために、本記事が少しでも参考になれば嬉しいです...

SwiftでiPhone標準写真アプリのアニメーションを再現してみる

こんにちは! CouplesでiOSの開発を担当している遊佐です。 今回はiPhoneの純正の写真アプリやPinterestに使われているズームアニメーションを再現してみたいと思います。 ズームアニメーションとは、一覧画面で写真をタップするとその写真が拡大しながら詳細画面へ遷移し、戻るボタンをタップすると一覧画面の元いた位置に写真が縮小しながら戻っていくというアニメーションです。簡単に実現できるので、こちらのチ...

Reduxから見えてきた希望と課題

こんにちは!Pairsの開発を担当している太田です。 2016年3月現在、もっともアツいFlux実装といえばReduxですね! 2015年5月にスタートしてからグングン人気が出てGitHubのStarは本家FacebookのFluxを超えています。 プロダクトにReduxを採用したレポートをよくみかけますし、Angular2とReduxを組み合わせたり、iOSやAndroidでReduxにインスパイアされたフレームワークが登場していたりして、SPA界隈だけでなくモダンなク...

Go初心者でもすぐできる!Raspberry Piと組み合わせて素早く目覚ましを作る方法

こんにちは! Pairsでサーバーサイドの開発を担当している大久保です。   突然ですが、皆さんは早起きするのは得意でしょうか? 僕はとても、とてもとてもとてもとてもとても苦手です。 平日も休日も、二度寝どころか、三度寝・四度寝することもしばしば...   正直早起きライフにあこがれています。 なので最近、早起きへの意識を高めるために、最近僕が業務で使いはじめたGo言語と、趣味で触り始めたRaspberry Piを使って目...

Go言語製WAF GinでWebアプリを作ってみる【準備編】

こんにちは、エウレカWebエンジニアの北里です。 Go言語始めました。 さて、エウレカは、業務以外にも趣味でGo言語で開発を書いてるエンジニアが多い会社です。素敵な会社ですね。 そんな中、私もGoで何か作りたくなってしまい、こっそりGo開発始めました。 Go言語でWebアプリを開発していく過程をブログで報告していこうと思います。 ちなみに、環境はできていて書きたくてウズウズしている方はこちらの記事がオススメです。...

Gitのalias機能で超効率的に作業する

皆さんGitは使っているでしょうか?Subversionを使用してソースコードを管理していた頃が少し懐かしいですね。 最近は開発者以外もGitを使ってプロジェクトにコミットすることも増えていると思います。そのような人たちは git add, git commit, git push のような基本コマンドのみしか使わないと思いますが、Gitを使いこなせることは作業の効率アップへと繋がるので是非もっと習得して欲しいと思っています。 alias機能を使...

有言実行!個人アプリを作りきるための5つの戦略

はじめに こんにちは、エウレカの矢作です。 平日は、お仕事としてのAndroidエンジニアを、 休日は、趣味の個人開発としてUnityエンジニアをしています。 今回は、僕が仕事以上に?全力で取り組んでいる 「個人開発」にスポットライトを当てて、お話ししていきます。 個人開発をするのって、実はハードルが高いです。 最初に何を作るかを決める必要があって、機能を決めて、画面を考えて、 コードを書いて、人目に触れるよ...

テスト書け書けおじさん in DroidKaigi 2016

こんにちは! テスト書け書けおじさんこと、Androidエンジニアの海藤です。 おじさんと名乗っていますが、2015年の新卒として入社しているので、気分的にはテスト書け書けお兄さんといった感じです。 私の発表はAndroidのテスト自動化に関するもので、ここ数ヶ月業務で取り組んでいた課題でもあります。この記事では、発表で伝えきれなかった行間の補足と、質疑応答やTwitterでいただいた質問のうちで回答しきれなかった部分...

Go言語とGoogle Cloud Vision APIで画像認識

こんにちは!最近、Google Cloud Platformを周りにオススメしている金子です。 先週、Googleが画像認識や分類を行えるCloud Vision APIをベータとしてついに公開したので、今回はCloud Vision APIをGo言語で使用する方法を書かせていただきます。 Cloud Vision API Cloud Vision APIは画像上のテキスト読み取りや顔の位置検知だけでなく、対象となる物がどのような種類かの検知や人の感情を推測することもできます。 テキ...