※前編はこちらから 何かやってみる 前編で私が作ったモジュールにコードを入力しようと思います。できるだけ簡単なことをやってみましょう。すなわち、printfを呼び出します。 LLVMモジュールは、シンボルテーブルに既知の […]

先日、Facebookは膨大なプルリクエストをReactにマージして、既存のビルドシステムをRollupベースのシステムに移行しました。その結果、何人もの人々から「なぜwebpackではなくRollupを選んだのか」とい […]

LLVM上で、LuaからCライブラリを呼び出し、コンパイラを使わずにソフトウェアを書く 私は、あるプログラミング言語の開発に取り組んできました。私はよくビデオゲームを作りますが、ゲーム開発に利用できる既存の言語には、それ […]

問題は細部(あるいはその欠如)にあり。 議論とは、ソフトウェア開発の基本的な構成要素であり、スケーラビリティを向上させるためには避けられない摩擦であると言えます。議論を通して私たちは出来上がるものの品質に影響を与え得るよ […]

確率的データ構造は少ないメモリでデータをコンパクトに保存し、保存されたデータに関するクエリに対し、おおよその答えを提供してくれます。クエリに対し空間効率の良い方法で答えるように設計されており、それはつまり、正確さを犠牲に […]

Jeremy Howardによるディープラーニングの素晴らしいコースを受講している間、自分の前提知識がさびついてきているせいで、誤差逆伝播法のような概念が理解しにくくなっていることを認識しました。そこで、理解度を上げるべ […]

BK木とは、距離空間内のデータをインデックス化する目的に特化した、木構造を指します。距離空間は基本的に、要素の組 $ (a,b) $ 全てについて距離関数 $ d(a,b) $ を持つオブジェクトの集合です。この距離関数 […]

(編注:誤訳、意味の分かりづらい訳を修正しました。リクエストありがとうございました。) 毎日、Pusherは数十億のメッセージをリアルタイム、つまり送り元から宛先まで100ms未満で送信しています。どのようにしてそれを可 […]

ブロックチェーンの基本的な概念は非常にシンプルです。分散型データベースで、順序付けられたレコードのリストが連続的に増加していきます。しかしシンプルとは言え、ブロックチェーンやそれを使うことで解決しようとしている問題につい […]

素数か2のべき乗か ハッシュテーブルのアイテムをルックアップする際に高負荷なステップが3つあります。 キーをハッシングする キーをスロットにマッピングする 該当スロットのメモリをフェッチする ステップ1は、キーが整数であ […]

注: 本稿は元はJSON Web Tokens(JWT)について書いたものですが、JWTはJavascript Object Signing and Encryption(JOSE)のサブセットであるため、以下の批評はど […]

去年の10月、私が所属している会社の部署で、組み込みファームウェアの開発をC言語からC++に切り替えました。C++のクラス、リソースの自動クリーンアップ、パラメータ多相、そして強化された型安全性などは、汎用OSをデスクト […]