先日、待望の長女が誕生したmikioです。あまりにかわいいから育児ブログでもつけようという魂胆ではありませんが、今回は自作のCMSであるTokyo Promenadeについて語ります。 Tokyo Promenadeとは 以前の記事で、Tokyo Cabinet(TC)を使ったCMSを作ることを予告しましたが、Tokyo Promenade(TP)がまさにそれです。TCのテーブルデータベースを使って記事を管理する軽量なコンテンツ管理システム(CMS)の実装です。例によってC言語のみで記述され、libc以外の全実装が "made by mikio" な製品です。 読み方は「東京プロムナード」です。プロムナードとは散歩道のことですが、東京メトロの広告に出てくる宮崎あおい的なキャラが写真付きブログを書いちゃうようなユースケースをイメージして名づけました。まあ実装はそんな洒落た感じとはほど遠いです
Reference Manual OpenCV-2.x(svn) C: リファレンス日本語訳 C++: リファレンス日本語訳 OpenCVチートシート(C++)(訳) OpenCVユーザガイド(訳) Python: リファレンス日本語訳 Google Test-1.6 Google Test ドキュメント日本語訳 Google Mock(svn) Google Mock ドキュメント日本語訳 OpenCV-2.2(r4295相当) C: リファレンス日本語訳 C++: リファレンス日本語訳 OpenCVチートシート(C++) (訳) Python: リファレンス日本語訳 OpenCV-2.1(r2997相当) C: リファレンス日本語訳 C++: リファレンス日本語訳 OpenCVチートシート(C++) (訳) Python: リファレンス日本語訳 OpenCV-1.1pre C/C++:
みんな大好きなmemcached。今日はBrian AkerのC言語用クライエントライブラリについて書きたいと思います。日本語の情報がとても少なく、ドキュメンテーションも英語だけという事で興味はあるけど手をつけていないという方のお役に立てれたらなと思います。 本題の前に why libmemcached? 既にlibmemcacheが存在するのに何故、libmemcached?かと言うと理由の一つは最近libmemcacheの開発が止まったからです。本家ではそれが理由でlibmemcacheではなくlibmemcachedを推奨してますね。又、効率的なメモリ使用、Consistent Hashing、様々なハッシュアルゴリズム、新しいオペレータに対応している等という宣伝文句があります。apr_memcacheというライブラリも存在しますが自分は使った事がないためノーコメント。 ただ、推奨さ
C言語で書かれたソースコードを読んでいるとき、関数ポインタから呼び出されている機能の実体がどこに書かれているのかを探すのに苦しんだ経験はありませんか? 私はあります、いっぱいあります!! そんなときはどうするかというと・・・ 手順1: まずは気分転換をする! 手順2: そして気合いを入れ直す! 手順3: さらに気力で読み砕く! 手順4: 最後に根性で発見する! これが、ごく一般的な作業手順(?)かと思います・・・(ごめんなさい嘘です) でもまあ、実際にここまで出来れば、そのプログラムの大まかな構成とか癖みたいなものはだいたい把握できているはずなので、他の関数ポインタについてもある程度当たりをつけて見つけだすことが出来るようにはなるかと思います。 ・・・・・が、、できれば気合いと根性を使わずに追えるなら追いたいのが人情ですよね。 straceやltraceを使えばシステムコールやライブラリコ
Introduction Hash functions are by definition and implementation generally regarded as Pseudo Random Number Generators (PRNG). From this generalization it can be assumed that the performance of hash functions and comparisons between other hash functions can be determined by modelling the functions as PRNGs. Analysis techniques such a Poisson distribution can be used to analyse the collision rates
What is Judy? Judy is a C library that provides a state-of-the-art core technology that implements a sparse dynamic array. Judy arrays are declared simply with a null pointer. A Judy array consumes memory only when it is populated, yet can grow to take advantage of all available memory if desired. Judy's key benefits are scalability, high performance, and memory efficiency. A Judy array is extensi
Welcome to SWIG SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages. SWIG is used with different types of target languages including common scripting languages such as Javascript, Perl, PHP, Python, Tcl and Ruby. The list of supported languages also includes non-scripting languages such as C#, D, Go language, Java inclu
2006年06月24日20:30 カテゴリLightweight Languages一日一行野郎 C - tailとqueue どうせなら、もう少し潰しがきくように書いてみた。 はこべにっき# - C言語でtailっぽいものを書く また,明日学科のC言語のテストがある.C言語なぞ普段まったく使わないもんだから,思い出さねば.てことで,10行固定版tailを書いてみた.以下のソース.まずは、main()の方から。再発明だけでは芸が無いので、行数もオプションとして指定できるようにしてみた。 tail.c #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX_CHARS_IN_LINE 1024 #include "queue.h" char *new_string(const char *str){ cha
Nachdem ich meinen Kleiderschrank wieder einmal komplett umgekrempelt habe, gab es natürlich viele Teile, bei denen ich mir unsicher war, ob sie wirklich nicht mehr tragbar waren oder ich mich einfach an ihnen satt gesehen habe. Ihr kennt das vielleicht: Die meisten Klamotten sind vom Schnitt und vom Stoff her wirklich noch toll, aber besonders … Jeder der in eine neue Wohnung zieht, kennt die vie
筆者は日経ソフトウエアでプログラミングに関する記事の編集/執筆をしている。言語やプラットフォームを限定しない総合誌なので,面白そうな話題なら何でも取り上げたいと考えている。もっとも,なるべくやさしく書くことを旨としているので,安定したニーズがあるのはやはりプログラミング言語の入門記事である。中でもC,Javaの二つが両巨頭だ。 初心者が学ぶべき言語はどれかという問題には様々な意見があるだろうが,これら二つの言語を学びたいと考える人が多いことは実感できる。連載記事はコンスタントに人気があるし,特集のテーマとしてもそれぞれ単体で取り上げられるだけのニーズがある。 IT Proの読者に向けてもあまり宣伝臭くならないと思うので安心して書くが,この二つの言語の連載記事は,直近の号(2005年7月号)で新連載を開始した。筆者はCのほうの編集を担当している。連載開始に当たってはいろいろと頭の中でどのよう
C99規格(ISO/IEC 9899:1999 - Programming Language C)は1999年12月にISOによって規格化されたC言語の新しい規格です。従来のC言語(C89やANSI C)には含まれていない新機能が数多く規格として導入されています。以前の記事「bool型の落とし穴」で触れた_Bool型もC99の新機能の一つです。 今回、C99の新機能の中で個人的にかなり便利だと思っている「可変個引数(可変個数引数)マクロ__VA_ARGS__」と「定義済みマクロ__func__」を紹介します。 拡張マクロ機能の使用例 最近のデバッガは高機能化しているとはいえ、ログ出力(ロギング)によるデバッグが便利なケースはまだまだあります。拡張マクロ機能はこのようなログ出力の記述時に、力を発揮します。 例えば、次のようなログ出力関数があったとします。 void debug_printf(
ナオーバ 2003/03/22(土) 18:04:22 EXEを自アプリから起動するには、CreateProcessとShellExecute(Ex)を 使用すると思いますが、この使い分けはどのようにしていますか? 以前、ShellExecuteとShellExecuteExの違いを質問したのですが、 最近CreateProcessの事を知りまして、アレ?これでもできるジャンと思ったので。 ShellExecuteとShellExecuteExの違いはhProcessで プロセスの終了をWaitForSingleObjectで待機できたりします。 でした。CreateProcessでもhProcessは取得できます。 CreateProcessの場合セキュリティーや起動時の状態を指定できるので いろいろな事ができるようなので、 ShellExecute(Ex)は簡単な起動処理用、 Crea
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く