オブジェクト指向プログラミングが、ソフトウェア開発に新しい設計を持ち込みました。 その結果、開発者は単一の目的を処理するために、全体のアプリケーションに関係なく、1つのクラスの中で、同じ目的や機能を持つデータを結び付ける […]

新しいプロジェクト始まると、開発者はいきなりプログラミングに飛びつく傾向があります。それもいいでしょう。結局、それが仕事なのですから。でも、時には飛びつく前にブレーキをかけて、ソフトウェア設計から手を付けるのもいい考えか […]

メッセージの耐久性と持続性 分散型システムのノードは演算し、データを保存し、互いにメッセージを送信し合います。メッセージ送信の重要な指標は、これらのメッセージがどれだけ確実に届くかです。基幹システムでは、消失メッセージが […]

火星探査の車両もあなたのスマートフォンも同じ問題を抱えています。GPSなしの位置特定です。 火星探査車スピリットによるボンネビル・クレーターのパノラマ。出典:NASA/ジェット推進研究所/Cornell ショッピングモー […]

BitTorrent BitTorrentは、Web上でtorrentを使って大容量ファイルを転送する際に広く使われているプロトコルです。その主な目的はメインサーバを経由することなく、ネットワーク内のさまざまなピア間での […]

Cassandra 先ほど触れたCassandraは分散型のNoSQLデータベースで、CAP定理のAとP(可用性と分断耐性)の特性を基準に最終的な一貫性が確保されています。ただ、このように言ってしまうと少し誤解を招くかも […]

分散型システムとは何でしょうか? なぜそんなに複雑なのでしょう? 分散型システムについて熟考中のクマ 目次 はじめに 1. 分散型システムとは何か? 2. なぜシステムを分散させるのか? 3. データベースのスケーリング […]

次のAPI技術に思いを巡らせ、RESTish JSON over HTTPは大幅に取って代わられることのないほど”十分優れている”かを考える 目次 DXが最重要 RESTは合格点 次の候補 a. […]

Riotのインフラチームに所属しているKyle AllanとCarl Quinnです。本稿は連載しているブログの第2部です。この連載では、私たち、Riotが世界中でどのようにバックエンド機能をデプロイし運用しているのかを […]

この投稿では、エキサイティングで魅力的な新しいプログラミング言語、Eveについて紹介していきたいと思います。今回は6パートのシリーズのうち、パート1です。 1. プログラミングスタックの全体をEveはどのように統合するの […]

プログラミングの世界はますます関数型の方向に向かいつつあります。Haskellみたいな純粋関数型プログラミング言語はまだ主流にはなっていませんが、高階関数やイミュータブルなデータなどの考えかたは、Java 8やECMA […]

多くのフロントエンド開発者が一方向のアーキテクチャを採用し始めている中で、Model-View-Controller(MVC)に未来はあるのでしょうか。 状況を把握するために、まずはフロントエンドのアーキテクチャの進化を […]