基礎知識– tag –
-
プログラミング・開発言語
CBORとは|RFC標準のバイナリJSONとIoT活用を解説
CBOR(Concise Binary Object Representation、シーボア)は2013年にRFC 7049として標準化されたバイナリシリアライズ形式で、現行仕様は2020年のRFC 8949に更新されている。MessagePackから派生した設計をもとに、JSONと等価なデータモデルを維持しつつ、... -
プログラミング・開発言語
MessagePackとは|バイナリJSONの先駆けを徹底解説
MessagePack(メッセージパック)は2008年に古橋貞之氏が公開したオープンソースのバイナリシリアライズ形式で、「Efficient binary serialization format. It lets you exchange data among multiple languages like JSON.」をキャッチコピーに掲げる。JS... -
プログラミング・開発言語
Protocol Buffersとは|Google発のスキーマ駆動IDLを解説
Protocol Buffers(プロトコルバッファーズ、protobuf)はGoogleが社内で利用していた言語横断のデータシリアライズ/IDL(Interface Definition Language)を2008年にオープンソース化したものだ。.protoファイルで型とサービスを定義し、専用コンパイラp... -
データベース・データ管理
Apache Arrowとは|メモリ列形式の業界標準を徹底解説
Apache Arrow(アロー)は2016年にWes McKinneyらが立ち上げた、言語横断のインメモリ列指向データ形式である。pandasやParquetなど既存ライブラリが各々独自のメモリレイアウトを持っていたためにデータを交換するたびにシリアライズ/デシリアライズが必... -
データベース・データ管理
Apache ORCとは|Hive生まれの高密度列指向フォーマット
Apache ORC(Optimized Row Columnar)は2013年にHortonworksがHive用に開発した列指向ファイル形式で、当時主流だったRCFileとTrevniを置き換えるべく設計された。Parquetと並ぶHadoop系の二大列指向フォーマットとして知られ、Hive・Presto・Trino・Spar... -
データベース・データ管理
Apache Avroとは|スキーマ進化に強い行指向データ形式
Apache Avro(アヴロ)は2009年にHadoopの主要メンテナDoug Cuttingが発案した行指向のデータシリアライズフォーマットで、Apache Software Foundationのトップレベルプロジェクトとして発展してきた。Protocol BuffersやThriftと並ぶバイナリ表現でありな... -
データベース・データ管理
Apache Parquetとは|列指向ファイル形式の決定版を解説
Apache Parquet(パーケ)は2013年にTwitterとClouderaが共同で公開したオープンソースの列指向ファイル形式で、Hadoopエコシステムから生まれながら現在ではSpark・Presto・Trino・DuckDB・BigQuery外部テーブルなど多くの分析エンジンが第一級でサポート... -
プログラミング・開発言語
EmscriptenがC/C++コードをWebへ運ぶ仕組みの全貌
Emscriptenはイスラエル出身の開発者Alon Zakaiが2010年に公開したC/C++をブラウザで動かすためのツールチェーンです。当初はLLVM IRをJavaScriptへ変換するasm.jsターゲットとして登場し、2017年以降はWebAssemblyを主要な出力形式として再構築されました... -
プログラミング・開発言語
Nim言語の魅力をPython風構文とC生成から読む
Nimはドイツの開発者Andreas Rumpfが2008年に発表したプログラミング言語で、もとはNimrodという名称で公開されたのち、2014年にNimへ改称されました。Pythonに近いインデントベースの構文を採用しつつ、コンパイラがC、C++、Objective-C、JavaScriptへと... -
プログラミング・開発言語
Crystal言語が示すRubyライクな静的型付け設計
Crystalはアルゼンチンのソフトウェア企業Manas Technology Solutionsが2014年に公開したプログラミング言語で、Ary Borenszweig、Juan Wajnerman、Brian Cardiffが中心となって設計を進めてきました。Rubyの構文と表現力をほぼそのまま受け継ぎつつ、コン...
