2009-04-01から1ヶ月間の記事一覧

Django x Python 勉強中 #3 @Django Hackathon Disc.8

モデルの変更をしたら,data.db(sqlite3のデータベースファイル)をいったん削除してから,syncdbをしないとだめだった. データを保持したままmigrationする方法とかはないのかな?

Django x Python 勉強中 #1 @Django Hackathon Disc.8

http://twisted-mind.appspot.com/django-ja-hack-a-thon-disc-8/ adminにログインしたらエラーでた. Exception Type: TemplateSyntaxError Exception Value: Caught an exception while rendering: no such table: django_admin_logもっかいsyncdbしたら直…

Django x Python 勉強中 #2 @Django Hackathon Disc.8

やったー3章おわったよー.4章内容が濃い.読み進め中.

Django x Python 勉強中 #4 @Django Hackathon Disc.8

(昨日かくべきだった!)ユーザ登録以外の機能の大まかなところはできた. キモになるのは,urls.pyだな. モデルつくって,urls.pyでビュー関数指定して,ビュー関数でテンプレートに流す.おおまかな流れがわかったからHackathonは結構収穫だったかな.ま…

コピーコンストラクタとコピー代入演算子の自動生成を抑制する

C++

通常コンパイラが自動生成するコピーコンストラクタと代入演算子を生成させないようにする.Effective C++ 6項. // copyable.cpp #include <iostream> using namespace std; class User { public: User(){} User(const string n, const int a): name(n), age(a) {} ~U</iostream>…

const

C++

const なポインタはどっちがどっちだか混乱するなあ. * の左側に const があるとポインタが指し示すものが const になり,*の右側に const があるとポインタが const になるわけですよね. // const.cpp #include <iostream> int main() { int one = 1; int two = 2; </iostream>…

fork

C

forkさせると、プログラムの流れがどうなるのかいまいちわからん。 // fork.c #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sys/wait.h> #include <unistd.h> int main() { pid_t pid[10]; int count = 0; for (; count < 10; count++) { pid[count] = fork(); if (pid[count] < 0) { </unistd.h></sys/wait.h></sys/types.h></stdlib.h></stdio.h>…

exec

execl と execv の違いは引数の渡し方。 // exec.c #include <stdio.h> #include <sys/types.h> #include <unistd.h> int main() { printf("execl:\n"); execl("/bin/cat", "cat", "exec.c", NULL); printf("execv:\n"); char *argv[3] = {"cat", "exec.c", NULL}; execv("/bin/cat", argv); </unistd.h></sys/types.h></stdio.h>…

読了

ふつうのLinuxプログラミング読了した.読了とはいえ,コードあとで書いて確認しよーみたいなところはあったのでそこは後から戻りながら確認する. とりあえずあとでやる: forkとか socket サーバのほう(socket, bind, listen, accept) ふつうのLinuxプログ…

socket クライアント

daytimeに接続. #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <sys/socket.h> #include <sys/types.h> #include <netdb.h> int main() { struct addrinfo info, *res; int sock; FILE *f; char buf[1024]; int err; // ゼロリセット memset(&info, 0, sizeof(struct addrinfo)); // ip…</netdb.h></sys/types.h></sys/socket.h></unistd.h></string.h></stdlib.h></stdio.h>

関数ポインタ

C

#include <stdio.h> void call(void (*f)(const char *), const char *); void print(const char *); void greeting(const char *); int main() { call(print, "sotarok"); call(greeting, "sotarok"); return 0; } void call(void (*f)(), const char *msg) { f(msg)</stdio.h>…

可変長引数

C

printfとかで使われてるあれ。 「...」ってかわいいですね。 #include <stdio.h> #include <stdarg.h> void print_args(int nnum, ...); int main() { print_args(5, 1, 2, 3, 4, 5); return 0; } void print_args(int nnum, ...) { int i = 0, tmp; va_list arg; va_start(arg,</stdarg.h></stdio.h>…