今週のまとめ
Web
hack.css - dead simple css framework
徹底的にシンプルな CSS フレームワーク。フォームヤグリッドなどの必要最低限の定義はされている。
ヘッダの先頭に Markdown のように#
を表示しているのが斬新。
Linux
Rush - コマンドの並列実行
コマンドを並列実行するといえば GNU Parallel *1 が有名であるが、それと似たようなアプリケーション。GNU Parallelは Perl で実装されているが、これは Go 言語で実装されており若干早いらしい。 余談であるが、使用例がバイオインフォっぽいことに気づいた。*2
分散システム
Notes on Distributed Systems for Young Bloods
Notes on Distributed Systems for Young Bloods – Something Similar
分散システム初心者向けへの箴言集。
Thrill - C++で大規模データ処理
C++ で大規模データ処理を扱うためのフレームワーク。C++ なので Java 製の Hadoop などよりもスループットが早いことがウリらしい。スライドが一番概要が掴みやすいか。
インフラ
Beehive - 自前IFTTT
IFTTT のようなレシピベースのオートメーションサービスを自前のサーバーでできるようにするプロジェクト。Golangで書かれており、現在数十のアプレット(bee)が存在する。ユーザーが自由にアプレットを追加できそうだが、ドキュメントが不足してるので今後に期待。
DevOps Bookmark
DevOps に関するサイトを集めたリスト。カテゴリ分けされており、メニューで条件を絞って検索ができる。
サーバーレス・アーキテクチャで構築したシステムの運用はどうやるのか?
AWS Lambda とそのなかまたちだけで構成した動画配信サーバーについての話。当該記事はそのモニタリングシステムについての話。サーバーレスという旨みを活かして料金が下げるという話には感心した。
ソフトウェア工学
10つのソフトウェア工学の誤り
「ビジネスロジックをとにかく再利用可能にする」「何でも汎用的にしようとする」といってソフトウェアエンジニアが陥りやすい誤り「オーバーエンジニアリング」について簡潔かつ痛烈に批判していく。2016年のサンドイッチレイヤーの図を見て笑ってしまった。
統計
The Probability and Statistics Cookbook
確率統計の公式や分布に関する早見表。検定、確率過程、時系列データなど手広く扱っている。最後のページにはおなじみの確率分布相関図がある。
アルゴリズム
Big O CheetSheet
主要データ構造とソートに関しての計算量早見表。競技勢とかはもっと謎のデータ構造とか知ってそうなので作って欲しい(他力本願)
PostgresSQL のクエリ最適化の遺伝的アルゴリズム
最近PostgresSQLを調べ始めたのだが、意外なところでGAが実戦投入されていることを知った。 補足資料としては以下の通り。
近況
iPhone の画面は依然として割れている。
今週のまとめ (2017/2/10)
arXiv を見るビューアーを作った
グラフィックス関連
- Path Graph - Pretty visualizations for ray tracing algorithms.
- BREAKDOWN OF A SIMPLE RAY TRACER
- Fluid Paint
ディープラーニング
- はじめてのGAN
- 最近ホットな Generative Adversarial Network についての論文の紹介を交えた詳しい解説。
- Oxford Deep NLP 2017 course
- オックスフォード大学のディープラーニングを用いた自然言語処理に関する講義のビデオとスライド
その他
- Subresource Integrity - Web security | MDN
- CDNにありがちな
<script>
タグにつくintegrity
属性についての解説
- CDNにありがちな
- Unicorn.js
- JavaScript (emscripten) を用いた ARM, ARM64, M68K, MIPS, SPARC, x86 のエミュレータ
- Software Engineering at Google
近況
iPhoneの画面が割れた
arXiv を見るビューアーを作った
arXivはAPIを提供しているが、 親切なことに Access-Control-Allow-Origin: *
ヘッダを付けてくれている。
つまり、クロスオリジンの制約なく API にアクセスできるため、任意のドメインから XHR のみ (つまりクライアントアプリケーションのみ) で API にアクセスできる。
それに気づいたため、折角なので作ってみた。
機能としては、今のところカテゴリの選択と日付の選択だけである。要望があれば言っていただければ嬉しい。 また、arXiv自体の挙動が不安定(例えば、アナウンスタイムを過ぎてもアナウンスされない、前日のサブミッションが翌日のサブミッションに混ざっている等)なことに加え、まだ十分に動作確認していないのでバグが発生するかもしれないがご容赦願いたい。
使用した技術
Mithril.js
つい先日ver 1.0.0がリリースされたSAP向けフロントエンドライブラリ。その軽さ(ベンチマークがサイトに載ってある)とXHRが組み込まれているところが気に入って採用した。 使ってみた所感は以下の通り。
- JSX や webpackによるモジュール分割 の連携などでかなり楽になった。APIを必要最小限にしながら、うまくモダンJSのエコシステムを利用していると思う。
- ステート管理の自由度が高い。逆に言えば、雑に作るとひどいコードになる (若干なった)。真面目に使うなら Redux などのステート管理ライブラリを使うのが良さそう。
- React と比べるとやはりプラクティスやリソースが少ないのが気になる (自由度が高いので尚更)。それについては時間が解決してくれるだろう。
- 結論としては、今後もこういった小〜中規模のアプリケーションにはどんどん採用していこうと思った。
Tachyons
レスポンシブルな CSS ツールキット。Tachyonsを用いると、
div.hoge { margin: 1em; border-radius: .5rem; border-style: solid; border-width: 1px; padding: .5rem; }
といった CSS は
<div class="ma2 br3 ba1 pa1"></div>
と等価となる。
つまり、Tachyonsは、再利用性が高い豊富なクラス定義を組み合わせることでデザインを構築し、CSSを書く労力を減らすという思想に基づいたツールキットである。Bootstrap などにある高レベルなコンポーネント (フォームやボタンなど)は提供されていない。そういったフレームワークに比べると、 Tachyons はユーザーが自分でデザインする点において低水準であるが、自由度はかなり高いといえる。 また、モジュールの粒度がかなり細かいので必要最低限までファイルサイズの最適化が可能となる。
pixiv 2015 SUMMER BOOT CAMP 参加記
参加しました。
続きを読むTwitterアイコンにはヒエログリフが合う
先日 Google と Adobe が作ったフォントが話題となってました。
Googleでは Google Noto Fontsというプロジェクトでフリーのフォントを配布しているらしいです。Noto Fontsは色々なフォントファミリがあって、なかなか面白いのですが、その中でもヒエログリフが目を引きました。
Noto Sans Egyptian Hieroglyphs
このフォント、割りと完成度が高く、特に動物の文字がとても可愛らしく出来ています。
著作権上の問題も回避できるため、Twitterアイコンに使用するのに適しているかと思われます。白地にヒエログリフの黒文字でもなかなか味のあるアイコンに仕上がります。