ノータブルコード

株式会社クリアコード > ククログ > ノータブルコード

ノータブルコード18 - 真偽値を返すif/else

最近はレビューしていることが多いなぁと思っている須藤です。レビューをしていると「真偽値を返すif/else」をちょいちょい見かけるなぁと思い出したので18回目のノータブルコードとして紹介します。17回目のノータブルコードが2021年6月28日なので、3年強ぶりのノータブルコードです。久しぶり!

もっと読む

ノータブルコード17 - バッチファイルにLuaスクリプトを埋め込む技

最近、WindowsでLuaRocksを動かす機会があった林です。

今回はLuaRocksのインストール用のバッチファイルを見ていて印象に残った、「バッチファイルにLuaスクリプトを埋め込む技」を紹介します。

もっと読む

ノータブルコード16 - APLプログラマはいかにC言語を書くのか

あまり世の中で知られてない言語として配列処理(Array-Processing)言語という一群の言語があります。いずれもAPLというプログラミング言語から発展したもので、J・Q・Kといった言語が代表的です。これらの言語は「Array Processing」の名前の通り、配列、とくに多次元配列の処理に特化しています。

APLの流れをくむ言語の最大の特徴は、極限までに切り詰められた簡潔さです。この言語を使うといくつかの記号を組み合わせることで、複雑な配列操作を表現することができます。例えば、フィボナッチ数列を生成する関数を例にとると、Kでは{x{x,+/-2#x}/!2}という16文字で表現できます。もっと複雑な例を出すと、ライフゲームは、わずか138バイトで実装できます

もっと読む

ノータブルコード15 - MySQLの全文検索でplease, could_you

最近、MroongaMySQL 8.0対応を進めている須藤です。あとはコンディションプッシュダウンまわりを実装すればMySQL 8.0対応は完了しそうです。MySQL 8.0対応をしていて「お!」という思うコードがあったことを思い出したので15回目のノータブルコードとして紹介します。

もっと読む

ノータブルコード14 - 内部構造は必要以上に見せない

第14回目のノータブルコードでは、collectdのコードで印象に残ったヘッダのコードを紹介します。

もっと読む

ノータブルコード13 - 複数の処理系やバージョンを考慮してライブラリーを検出できるようにする

第13回目のノータブルコードでは、collectdをビルドするときに印象に残ったconfigure.acのコードを紹介します。

もっと読む

ノータブルコード12 - データ構造を分かりやすくドキュメントする技

第12回目のノータブルコードでは、データ構造を分かりやすくするドキュメントのテクニックを紹介します。

もっと読む

ノータブルコード11 - 空になるかもしれないCのマクロの値を正規化

最近、GNU/Linux上のGCCとVisual C++のビルドでは同じ挙動なのにMinGWのビルドでだけ挙動が異なる件を調べていた須藤です。MinGWが提供するヘッダーファイルを見ていたら「お!」と思うコードがあったので11回目のノータブルコードとして紹介します。

もっと読む

ノータブルコード10 - 文芸的設定ファイル

第10回目のノータブルコードで紹介するのは、ドナルド・クヌースの設定ファイルです。

もっと読む

ノータブルコード9 - C言語で文字列を扱うときはNULL終端されているかどうかに注意する

全文検索エンジンGroongaの他にPostgreSQLで高速に全文検索できる拡張PGroongaの開発にも参加している堀本です。 今回は、PGroongaの開発中に「注意しないと危ないな」と思ったコードを紹介します。

もっと読む