カテゴリー
データ可視化

KalkiCode – 基本的なデータ構造を各種言語でどう書くかや動く図で見せてくれるサイト

Kalkicode は、例示や図によるプログラミングサンプルを、プログラミング上の問題(基本的なアルゴリズムやウェブサービス技術)と複数の言語のそれぞれの切り口から並べて示そうとしている、教育サイトです。

配列・行列・リスト・ツリー・グラフ・再帰、などさまざまなデータ構造・アルゴリズム毎に分けられた章を開くと、

データ構造 and/or アルゴリズムの解説に、それを実装したコードサンプルが10前後のプログラミング言語で用意され、コードの実行結果、図、などが続きます。

ものによっては動的にデータ構造の変化を見せてくれたりもします。

こちらは平衡二分探索木にノードを追加したり削除したりする際の動きをアニメーションで表示しているところ。

双方向リンクリストへの追加や削除とか

環状単方向リストへの追加と削除とか

プログラミングの学習をする際に、理解を助けてくれそうなコンテンツがたくさんあります。

10前後のプログラミング言語で同じことを書く、というのもこれだけ多くの項目となると大変なことだと思います。見た感じ、ある程度自動で変換してるのかなとも思いましたが。

# 同じサイト内に Java-to-PHP converter なんてのもあったので、全部じゃないにしてもある程度横展開は自動なのかもしれません。

via Hacker News

カテゴリー
技術

オープンソースプロジェクト内のTODO個数調査

マーティン・シュライスさん(Martin Schleiss)がブログで公開したのが、Linux をはじめとする巨大オープンソースプロジェクトのソースコードにおける「やらないといけない」あるいは「後で考える」マークである“TODO”の個数の移り変わりをグラフ化したものです。

基本的には、プロジェクトの年月が重なるほど、コードに書かれた TODO の個数は増えていくようです。上の PHP のグラフでは、メジャーリリースや通常リリースの時期の少し前に TODO が増えているようにも見えます。

プロジェクトによっては単調増加ではないものも。Rust は TODO の個数自体が少ないように見えるし、途中で数個まで減っている時期もあるので、意識的に TODO の解消を目指したりしていたのかもしれません。

Next.js 、version 10 と 10.1 のどちらのリリース時期でもなく、突然増えています。

ブログ記事では言語処理系やライブラリなど、有名なもの20個弱についてグラフ化されています。

プロジェクトの規模、歴史の長さによってもTODO の個数は変わりますが、規模や歴史と無関係に多い少ないもあったりもします。シュライスさんはTODO が有ることはどのオープンソースプロジェクトにおいても貢献をする余地があるということだ、と言っています。あなたが良く使っているツール/ライブラリのTODO は増えているでしょうか?

カテゴリー
データ可視化

ggirl – R言語で描いたグラフを葉書に印刷発送してくれるライブラリ/サービス

jnolis/ggirl は、ggplot2 で作成したグラフをwebサービス経由でポストカードに印刷し、そこから発送までしてくれるというツール・サービスです。

R言語で ggplot2 オブジェクトを作成したら、ggirl ライブラリに送り先の住所やメッセージ情報をセットして呼び出します。すると、確認用のwebページがブラウザで開かれます。(解説)

# 日本の住所を入れようとしたら、米国以外の住所は現在未実装、と出てきました。

このページの次は Stripe を使ったクレジットカードの支払い画面となり、$2.5(220円) を支払えば、1,2週間でこのグラフのポストカードが届くそうです。

shinyapps.io という、RStudio の開発元が運営している R言語コードのホスティングサービスがあるようで、ggirl の作者自身によるホスティングはここに載せているようですね。

「Rでいいグラフが描けたので誰かに郵便で送りたい」という時(どんな時だ)に便利なライブラリではないでしょうか。

via Hacker News