2004-01-01から1年間の記事一覧

miscellanies

「今年を振り返って」 個人的には まず 新聞を読むのを やめたことが 挙げられる。 新聞は それ自体 社会の縮図であり、通読することは 歴史の本 一冊を読みとおすより価値のあることは (家永三郎 や 羽仁五郎 の言を待たずとも) 真理であるのは まちがいは…

プログラミング言語 C

・ 次に示す関数 trim() は、文字列の末尾から 余分な空白とタブと改行文字をとり除き、そのどれにもあたらない 最も右側の文字が見つかったところで break を用いて ループを抜け出すプログラムである。*1 int trim(char s[]) { int n; for (n = strlen(s) …

セキュリティのための 12ヵ条

web

ZDnet の記事だが Schneier氏は 自分の blog にも この文章を 載せている。セキュリティの専門家としては Microsoft には 点がからいんだな と思って読んでると、この blog コメント欄が けっこうおもしろい。→ コチラ コメント欄の上にある trackback のほ…

web archive

う〜ん、ちょっと おもしろそう。入れてみようかな ? → Hot-Babe(Debian ウィークリーニュース 経由)

プログラミング言語 C

・ 次の関数は 整数配列を整列させるためのシェルソートである。 ・ 1959年に D.L.Shell によって考えられた このソートアルゴリズムの基本概念は、 初期の段階で、単純な交換配列のような となりあった要素間の比較を行うのではなく、まず 遠くの離れた要素…

プログラミング言語 C

・ 三項演算子では 式1 ? 式2 : 式3 のうち 式1 が最初に評価される。 ・ もしそれが 0 ではない - 真 - なら 式2 が評価されて この条件式の値となる。0 であれば 式3 が評価されて その値となる。 ・ (つまり) 評価されるのは 式2 と 式3 のどちらか一方の…

プログラミング言語 C

・ 特定の文字列(パターン)を含む行(ライン)を捜し出してプリントするプログラムを組み立ててみよう。 ・ このプログラムの基本的な構造は 次の3つの部分に分けることができる。 1. while (ラインが存在している) 2. if (パターンを含んでいる) 3. (プリン…

プログラミング言語 C

・ 関数の中で宣言された変数は その関数に固有のものであり、局所的な変数である。 それは 他の関数からは 直接アクセスできない。 ・ (関数の)ルーティン内の局所変数は 関数が呼び出された間だけ存在し、その関数から制御が離れると - 抜け出ると - 消え…

本の整理

リストが 3000冊を突破した*1 → コチラ まあ「この本知ってる !」とか「こんな本があったの ?」でいいので、ちょっと のぞいてみてくれれば。 (追記) 5冊 足りないゾ !! *1:疲れました . . .

web archive

Hatena_diary_writer (はてダラ) が 作者の結城さん(id:hyuki)によって はてなの SSL に対応できるよう コードが変更されました。 ダウンロードは こちらから↓ http://www.hyuki.com/techinfo/hatena_diary_writer.html これでまた はてダラが使える、結城さ…

miscellanies

11月22日(月)以降 Hatena_Diary_writer (はてダラ) では、はてなに 書き込みができなくなったのは 確かなようだ。id:hikigaeruさんによれば 「認証ページが https に変更」 されたことが 原因らしい。ほかにも id:sshi さんと id:technoxin さんが 日記で こ…

プログラミング言語 C

・ 文字配列の使い方と それを操作する関数を示すために、一群の行を読み込んで 一番長い行をプリントする プログラムを書いてみよう。 ・ (全体を いくつかの部分に分けると) 一つのパートで新しい行を得て、もう一つのパートでそれをテストし、さらに もう…

プログラミング言語 C

・ 関数を定義するとき、() の中にリストされた変数をパラメータといい、関数呼び出しの際 使われる値を引数(←argument)という。 int kansuu(int x, int y); ↑の x と y がパラメータ c = kansuu(n, m); ↑の n と m とが引数 ・ 関数を 前もってプロトタイプ…

web archive

雑誌 bit に連載されていた UNIX FAQ の web page を発見。 index page は こちら→ The TAO/ELIS page (タイトルは "Neko & May")

プログラミング言語 C

・ (ファイルを入力すると そのファイルの)バイト数、行数、単語数を表示する 有用なプログラムを考えてみよう。 ・ ただし この場合の単語は「単に空白や改行やタブを含まない文字の連なり」と、アバウトに定義しておく。 ・ このプログラムは UNIX のユー…

プログラミング言語 C

文字の入出力全般について、 ・ テキストの入力あるいは出力は、それがどこで発生したか あるいはどこに出力するかにはよらずに*1、文字のストリーム(流れ)として扱われる。 ・ テキストストリームとは 行ごとに分割された 文字の連なり*2である。各行は ゼ…

プログラミング言語 C

入出力については、 ・ ところで printf() は C言語の機能の一部ではない。C自体には 入力も出力も定義されていないからである。 ・ printf() は 単に Cプログラムで 通常に使われる 標準ライブラリの一つの有用な関数であるにすぎない。(p14) ふ〜ん、そう…

プログラミング言語 C

まずは 第1章を よく読まないとネ。メモメモ . . . ・ 1つの Cプログラムは その大小にかかわらず、関数と変数とから なりたつ。 ・ 関数には 実行すべき計算のプロセスを指示する文と、計算で扱われる値を格納する変数とが含まれる。 ・ 関数の間で データ…

miscellanies

本屋で見つけて 即、購入。 正直なところ 'はじめての C'でも「リストのつなぎかた」が いまいち わかってない*1。 この本の最初に「データ構造の重要性を認識すること」が 掲げられていたので 買いかな、と。少しずつ 読んでみます。センス・オブ・プログラ…

"K & R" 2nd Rev.

だいぶ 忘れてる . . .*1 /* thermo_table.c */ #include /* * 摂氏 - 華氏 対照表 */ main() { float fahrenheit, centi_glade; /* 変数の宣言 */ int lower, upper, step; lower = 0; /* 各変数の初期化 */ upper = 300; step = 20; fahrenheit = lower; /…

バッファ オーバーフロー

固定長バッファ*1を越えるデータを送り込むことにより データ領域が破壊されること。 これを防ぐため 例えば、gets() を fgets() に変えるときには 次のように訂正。 fgets(buf, sizeof(buf), stdin); 入力するバッファの長さ(範囲)をチェックしない 危ない…

プログラミング言語 C

"K & R"(isbn:4320026926) → そろそろ読まないと . . .*1 その前に 誤訳リストをダウンロードして印刷しておく。*2 $w3m -dump homepage2.nifty.com/tenk/scrap/kr2rev.htm > kr2_err.txt $a2ps -B -1 kr2_err.txt -d (↑の a2ps は vine plus ので 日本字印…

はじめての C

コード in_out を 少しいじってみる。 /* in_out.2 */ #include #define MAX 100 /* * 整数をいったん文字列として入力して、 * 短い整数型(short int)に変換して出力 */ main() { short int data; char buf[MAX]; while(fgets(buf, MAX - 1, stdin) != NULL…

はじめての C

以前 UNIX MAGAZINE 2002年11月号の「Cプログラミングの基礎」(山口英氏)をノートに書き写していたのを思い出した。 そのときは よくわからなかったが、今は 半分ぐらいなら理解できる。 それには 小さなプログラムコードが載っているので ちょっと いじっ…

miscellanies

今 読んでる本。 どこから読んでも おもしろい !!トラベリング・ウィズ・ゲバラ作者: アルベルト・グラナード出版社/メーカー: 学習研究社発売日: 2004/10/06メディア: 単行本この商品を含むブログ (14件) を見る

はじめての C

ランダムな整数の並んだファイルをつくるプログラムを作成せよ。 /* random */ #include #include #define MAX 20 /* ←変更可能に */ struct List { int data; struct List *next; }; main() { FILE *fp; int i; struct List *prev, *curr; prev = NULL; fp …

はじめての C

条件演算子(三項演算子) ・形式は A ? B : C ・if A then B else C という条件分岐を記述する。 ・return()文中や、判断の結果を値として表す場合に使われる。 実数を入力すると その数の絶対値を表示し 偶数か奇数かを判断するプログラムを作成せよ。 /* sa…

はじめての C

「文字列の操作で使う関数」 fgets() ←ファイルから(ストリーム*1として) 1行分の文字列*2を読み込む。引数は、 ・第1引数 : 文字列を格納する場所を指し示すポインタ ・第2引数 : 文字列のサイズの上限値 ・第3引数 : 読み込み先のファイルのポインタ*3 の…

miscellanies

manual page にはないが la というコマンドがある*1。 $la は $ls -a と同じです。*2 *1:Vine だけ ? *2:←ドットファイルも表示

Mozilla 1.4.3 - Vine

Vine Linux 2.5 を更新すると、Mozilla 1.2.1 が 1.4.3 に変更されている。機能も拡張しているようなので、"はじめての Mozilla 1.4" で確認。 このままでは Flash-Player が機能しない。新しく設定ファイルを作成するかわりに 今回は Flash_Player_7 をイン…