#150です。

先週はMicrosoft Build 2019Google I/O 2019が開催されていました。発表内容盛りだくさんです。両イベントとも公式サイトにセッション動画やアナウンス内容へのリンクがあるのでキャッチアップしやすいです。
それ以外のまとめ記事も以下に張っておきます。

Build 2019

Google I/O 2019

今週のイチオシ

開発メンバー増加に伴うチーム分割時に気をつけるべきこと : てくすた

チーム分割時の考慮点について。全体最適を考えた意思決定ができるようなミッション設計ができるか、アーキテクチャ/ビジネス境界/チーム境界が一致しているかなど。

チーム分割時に考えないといけないことが分かりやすくまとめられていると思いました。限定合理的な行動が促進され全体最適な意思決定ができないようなチーム設計をしてしまうと、「あのチームは分かっていない」などの対立を招くことに繋がってしまいます。会社の目標を事業部→部署→チームといったように段階的に落とし込めればこのようなことは起きないとは思うのですが、会社の規模が大きくなればなるほどこれがなかなかできなくなってくるので注意が必要です。

ニュース

Hyper 3 : Hyper Blog

Electron製のターミナルアプリHyperのv3.0がリリース。WebGLレンダラーが追加されパフォーマンスが大幅に改善された。

Introducing GitHub Package Registry : The GitHub Blog

GitHubがパッケージ管理サービスGitHub Package Registryをリリース。今のところnpm/Maven/RubyGems/NuGet/Docker imageに対応。組織内などのプライベート公開もできる。

アーティクル

アジャイル作業のスケールアップアプローチはなぜ失敗するのか? : InfoQ

アジャイルのスケールアップが失敗する主な理由について。ひとつのチームでうまくいったことをコピーしようとしている、組織のデザインとアジャイルの目標が相反しているなど。SAFe、LeSS、Nexusの比較もあり。

JMAP: A modern, open email protocol : IETF

IMAPの欠点を克服するために作られている新しいEmailプロトコルJMAPについて。RFC 5322をJSON形式で表現してやりとりする。ステートレスなのでモバイルでの使用にも適している。

Open source collaborative text editors : A Case for Spaceships

リアルタイムコラボレーションができるオープンソースのWebテキストエディタの比較。CKEditor、Atlaskit Editorなどが紹介され特徴が説明されている。

Python: pytest-benchmark でベンチマークテストを書く : CUBE SUGAR CONTAINER

pytestのプラグインとして動作するpytest-benchmarkについて。基本的な使い方、実行回数の制御方法、時間のかかるテストの探し方などが書かれている。

To ORM or not to ORM : Eli Bendersky’s website

GoでのORMを使うことの長所と短所について。database/sqlを使う場合とgormを使う場合の比較を行っている。ORMによりコーディング時間は節約できるのは事実、SQLは長年一定の知識でOKだがORMはそれごとに覚えることがあるなど。

モブプロの聖地 Hunter Industries で学んだこと : kawaguti’s diary

モブプログラミングブームの発端のHunter Industriesでのモブプログラミングの様子について。作業中ずっと話している、コードを書くこと自体に慎重、いいねってちゃんと言う、立ち止まることを恐れないなど。

Hands-on with Portals: seamless navigations on the Web  : web.dev

Googleが発表したportalタグについて。iframeのようだけどportalタグの中のページをトップレベルで表示して操作できる。

スライド、ビデオ

DCSF19 Dockerfile Best Practices : SlideShare

Dckerfileの書き方のベストプラクティスについて。ビルド時間の改善、イメージサイズを小さくするための方法などのTipsがまとめられている。

センスに頼らないプランニングの基本 : Speaker Deck

プランニングについて。よいプランニングとは何か、プランニングのプロセス(インプット、スループット、アウトプット)の具体的な方法やコツについて書かれている。

【イチから理解するサーバーレスアプリ開発】 サーバーレスアプリケーション向きの DB 設計ベストプラクティス : SlideShare

AWS Lambdaでデータベースを使うときの考慮点、RDBとDynamoDBの設計の違い、DynamoDBらしい設計をするためのテクニックなどが書かれている。

ツール、ライブラリ

99xt/first-born: GitHub

React Native用のUIコンポーネントライブラリ。アトミックデザインの考えに則って作られている。

taverntesting/tavern: GitHub

Pytestのプラグインとして動作するAPIテストツール。yamlでテストを記述する。

GoogleCloudPlatform/terraformer: GitHub

既存のインフラ構成からTerraformファイルを作成するツール。ProviderはAWS、Google Cloud、OpenStackに対応。

altair-viz/altair: GitHub

Pythonのデータ可視化ライブラリ。Vega-Liteのラッパーとして動作するのでVega-LiteのJSONデータのインポート/アウトプットができる。

sql-machine-learning/sqlflow: GitHub

TensorFlowなどの機械学習ライブラリをMySQL、Hive、SparkSQL、SQL ServerなどのSQLエンジンに接続して使えるようにするブリッジ。SQLでモデルの学習、予測、推論が行える。

wailsapp/wails: GitHub

Goでデスクトップアプリを作れるフレームワーク。バックエンドはGo、フロントはVueで構築する。

koddr/a2hs.js: GitHub

iOSでWebサイトをホーム画面に追加してもらうための案内を出すJavaScriptライブラリ。

サービス、アプリ

Luakit Web Browser

WebKitベース、GTK+で作られたブラウザ。Luaで拡張可能。

Nextjournal

データサイエンス用のノートブックサービス。共同編集、複数プログラミング言語の使用が可能、自動バージョン管理などの機能がある。

Full Help

セルフホスト型のヘルプデスクアプリ。問い合わせ管理やナレッジ管理の機能がある。Zendeskみたいな感じ。価格は$129で1年更新で$49。

CSSFX - Beautifully simple click-to-copy CSS effects

CSSのエフェクトを実際に確認してそのコードをコピーできるサイト。