#47です。

先週はGoogle I/O 2017が開催されていました。Androidアプリ開発言語としてKotlinの公式サポート、Google Homeのアップデートなど多くの発表がありました。
キーノートも含めセッション動画が公開されていますので気になるセッションはチェック可能です。

また、Googleから今回のI/Oでアナウンスした内容のまとめが出ているのでこちらをざっと確認してもよいでしょう。

日本語のまとめ記事だと以下が良くまとまっていて分かりやすいです。

合わせて、CEOのSundar Pichai氏のメッセージも読んでおくと理解が深まります。

今週のイチオシ

Criteoにおけるエンジニアリング文化の進展 : InfoQ

QCon London 2017で行われた「Evolving the Engineering Culture @Criteo」という講演内容のレポートの翻訳。Criteo社がエンジニアリング文化をどのように浸透させたかについて。エンジニアリング文化を分散意思決定を行うプロセスと定義している。

文化は中央から発展させるのではなく分散したものであるという考えに共感しました。
特に、エンパワーメントとエクスペリメントという2つの文化的価値についての説明が興味深かったです。会社全体の文化を作るときも、より小さな組織内の文化を作るときもこの価値観は意識したいですね。

ニュース

Announcing Git Integration for Atom and GitHub Desktop Beta : GitHub

GitHubがGitHubインテグレーションされたAtomとElectronベースのGitHub Desktopを発表した。

Read RealmがUniversal Windows Platform (UWP)に対応しました

UWP版のRealmの提供が開始された。

Heroku CI Is Now Generally Available: Fast, Low Setup CI That’s Easy to Use : Heroku

Heroku CIが一般利用可能になった。Node、Ruby、Java、Python、Go、Scala、PHP、Clojureをサポート。

アーティクル

メルカリのデータサイエンスチームと分析エコシステムのはなし : Mercari Engineering Blog

メルカリの分析環境について。どのようなツールをどのような用途で使っているのかが書かれている。具体的な使い方も書かれているので分かりやすい。BigQueryを中心としているのでGoogleプロダクトで固めている。

プログラミング言語の歴史を見える化してみた : たいさブログ

各プログラミング言語が他のどのような言語に影響を受けたのか、与えているのかを図示している。doxygenとgraphvizを使用。

モバイルアプリのアーキテクチャを考える - クックパッド開発者ブログ

iOSアプリ開発におけるアーキテクチャについて。MVVMとFluxについて実装方法と、長所/短所がまとめられている。サンプルの実装はRxSwiftを利用。

Azure Cosmos DB がやってきた : Kyrt Blog

Build 2017で発表のあったCosmos DBについて。Buildのセッション、公式ブログの情報から内部的なアーキテクチャも含めて具体的にどういうものなのかが書かれている。

Using SwiftLint and Danger for Swift Best Practices

Swiftを利用した開発でSwiftLintとDangerを利用してコードレビューを効率化する方法について。

Everything you need to know about HTTP security headers : Appcanary

HTTPのセキュリティーヘッダーについて。それぞれについてなぜ必要か、使うべきものなのか、WebサーバーやWebフレームワークでどのように設定するのかがまとめられている。

スライド、ビデオ

Go並行処理パターン : Speaker Deck

Go言語の並列処理に関する機能について書かれている。Goroutineとそれに付随する機能や仕組みが分かりやすくまとめられている。

DataBase Refactoring : Speaker Deck

データベースのリファクタリングについて。データベースをリファクタリングする際の心構え、事前準備、実際の実行方法およびノウハウがまとめられている。

知っているようで知らないWebサーバアーキテクチャ : Speaker Deck

Webサーバーの仕組みについて。HTTP、TCPについての基本的な説明から、マルチプロセス/マルチスレッド/イベント駆動といった並列処理の仕組みまで説明されている。

ツール、ライブラリ

cloudposse/github-authorized-keys: GitHub

GitHub Teamsを使ってシステムユーザーアカウントとauthorized_keysを管理するツール。Go実装。

pubkey/rxdb: GitHub

JavaScriptランタイムで動くクライアントサイドデータベース。データハンドリングをRxJSで行える。

kshvmdn/fsql: GitHub

ファイルシステムをSQLライクに検索できるツール。Go製。

janten/keypad-layout: GitHub

Macのウインドウサイズをキーボードショートカットで簡単に設定できるツール。

サービス、アプリ

Graphcool - Serverless GraphQL Backend

GraphQLのバックエンドサービス。プランは$9/monthから。

ガジェット

握って操作+ハイレゾ+Alexa対応予定のフラッグシップスマホ「HTC U11」 : AV Watch

HTCがHTC U11を発表。Google AssistantだけではなくAlexaも利用できるとのこと。

Amazon、タブレット刷新 薄くて軽い「Fire 7」、値下げ「Fire HD 8」発売 : ITmedia NEWS

Amazon.co.jpがAmazon Fire 7発表。前機種より軽量、薄型化。発送予定は6/7。

コントローラー付きGear VRの日本版は約1万6000円で来週発売、コントローラー単体は約5000円 : Engadget 日本版

Galaxy Gear VR with Controllerの日本発売日が決定。5/23で価格は1万6000円前後。

サムスン360度カメラGalaxy Gear 360の日本発売は6月1日、価格は3万円前後に。iPhoneにも対応 : Engadget 日本版

Galaxy Gear 360の日本発売日が決定。6/1で価格は3万円前後。GalaxyシリーズだけでなくiPhone、Mac、Windows PCもサポート。