Parasitic Design

vvvv.org Parastitic Designで遊んでみる企画 第一弾 Hello color! 秋の芋カラー。

generative art with vvvv

すんごい昔に伺い、インストールだけしていたものの手つかずだったvvvvで遊んでみることにした。 generative artは自らの発想を超えた形が作られそうでおもしろい。 ↑ctrl + 2でスクショするとポインタが入ってしまう…generative artといえば、pinterestで検…

高K血症は高細胞内K血症とかんがえる

・ECGの話 "高カリウム血症では、心筋の興奮からの回復時間が短くなり、QT間隔が短縮するとともに、特徴的なテント状T波が出現しますー心室内の伝導障害を反映してQRS波の幅が広くなります。幅広QRS波の徐脈から心停止に至ることがありペーシングが必要にな…

Pset6 Web Server

ボストン時間では未だ提出が間に合うけれど、certificationを得られればよいので多少のバグは許容することにした。 顔本のフォーラムも新年だからか過疎ってるしね...参考サイト、他にもたくさんあったのだけど残っているのはこれだけ ファイル入出力 strcpy…

2017年 明けましておめでとう

充実した一年になりますように。おまけ 提出・採点の済んだPset5まで、grade 1(=100%)だったやっほい。 Psest6、滑り込みで提出したものの…check50で引っ掛かるバグが2つ残っている。 80%取れればいいかな、合格ライン(60)は越えているとおもう。

あと半日

大慌てでCS50x 2016のPsetsを提出ちゅう。0-3のshort formsが地味に難しい。 Pset1 Pset2 Pset3 Pset6間に合うかなー…

Pset5 - Mispellings - questions.txt

やっと...!Pset5おわったよーう(T^T)!例によって、コードを書き始めてからちまちまと1週間かけちゃった。スタッフの速度に若干及ばなかったけれど...q9にあるように修正してみたものの速度が変わらなかったし、誤差の範囲内だろうし、だいたい綺麗なコード…

const char*

const char* の意味 C言語編 - char *とconst char *は違う to make sure you don’t alter the array of characters (not the pointer for it, it is changable) stored in const char*. 「const char *」というデータ型は、書き換えできない(読み取り専用の…

Pset5 - tips

In speller.c, we’ve put together a program that’s designed to spell-check a file after loading a dictionary of words from disk into memory. strcpy C言語講座:文字列版の大文字小文字変換 6.メモリ領域の動的確保 "free関数を使い忘れてもプロ…

scanf

scanf使い方 C言語 scanf 使い方 | C言語関数一覧~bituse~scanfのバッファーオーバーフローネタ http://d.hatena.ne.jp/eel3/20090720/1248017333 対策として%の後ろに最大フィールド長と呼ばれる数字をつけて「%10s」と指定すると、 10文字だけ読み込む…

Pset5- Why use fgetc instead of fscanf?

questions.txtの5問目。cs50.stackexchange.com “words in that file will not always end with a space or line return. Many will be followed by a period or comma, for example, which fscanf will see as being part of the word.”“fgetc() reads char…

Problem Set 5 - debugリスト

やっつけ仕事の元のコード dictionary.c · GitHub dictionary.h · GitHub (おまけにコンパイル前でたくさんエラーあり。ざっと目を通しただけでも直すべき箇所を以下に) #include ”dictionary.h”をどこに入れるか hash関数をdictionary.cで定義してもOK、glo…

Problem Set 5 - Makefile

Makefileのメモ、箇条書きspeller: コロンの前は新しくできるファイルの名前 speller.oとdictionary.oを基にして新しいファイルができる。 上の2つこいつらに使われるのがdictionary.h$@は:の前に書いてあるものに展開される(=置換される)=spellerのことmake…

Pset5に合わせたコンパイラ考察

hash関数のhash_itをdictionary.hに定義したとする。複数の.c fileでheader file (今回は、dictionary.h)をincludeすると... コンパイラはhash_itを2つ生成してしまう。(☆)その理由を詳しくみてみる。コンパイルという過程は以下の4つからなる: 1) プリプロ…

Problem Set 5 - check, unload

#2. checkc言語、string同士の比較に "ABC" == "ABC" 出来ないとは...!いちいち、strcmpを使わなければならないなんて...! あくまでstring = char*はポインタだからということか...確かに、そう考えればmakes senseではあるが...#4. unload free freeは、m…

Problem Set 5 - load - Hash function/ hash table

#1. load #1-1. Hash function hash functionのsource https:www.reddit.com/r/cs50/comments/1x6vc8/pset6_trie_vs_hashtable/ ありがたくスタッフの旦那さんが作ってくださったものを拝借する。#1-2. Hash table まずhash tableのbucketsをNULLに初期化す…

Problem Set 5 - load - not trie, but hash (fscanf)

trie木使ったるぞ!おー!と宣言した矢先。 「トライ木って現実には使う機会ないんですよね(^_^;)」と耳にしたり、ネット上でも同様のコメントをちらほら見つけてしまった...結局、pset5はhash tableで実装することに。#1. load 1単語を連続して読み取るため…

Problem Set 5 - speller.cのアタマ、何故undefしているのか

既に聞いてくれているひとがいたよ。 cs50.stackexchange.com次に私が感じた疑問は... #undef getrusageだとヘッダファイルで定義されているgetrusageの定義もundefされないの?どうしてそれは無事なのかしら? この答えは、 cs50.stackexchange.com“The #und…

Problem Set 5 - Mispellings

タイトルからミスペルッてるね。この課題は…与えられたtext中の単語のスペルが合っているか、spell checkを行うプログラムspeller.cを完成させるもの。speller.cは変更せず、インクルードしているdictionary.hやdictionary.cを書いていく(あとMakefileも手を…

malloc

malloc mallocは成功時、「確保したメモリブロックを指すポインタ」を返す。

Hash tableとは

Hash tableについて直観的にわかりやすいサイトがない...ため、まずWikiでbackground informationを得る。 ハッシュテーブル - Wikipedia ハッシュ関数 - Wikipediaその上でこのサイトを読み読み。Cell**辺りからわからんくなったから週末に考えよう。 お気…

const hoge* xとポインタを宣言した場合

前提: typedef struct hoge { int i; } hoge; とhoge型を宣言しておく①const hoge* xとポインタを宣言した場合 (xの型がconst hoge*) xの住所はいくらでも変えられる。 (x = 1000, x = 1001, x = 1002, …という感じに)!!*xはconst hoge型 const hoge型という…

char* ptrかchar *ptrか

表題にかんして殴り合いの喧嘩になった。①char* pは… ・型名がchar* = intみたいなもの、と考えて良い ・char*型のポインタ(の変数名)がp 尚、 char*p; char *p; char* p; char * p; 4つ全て同じ意味!!今世紀最大のびっくり、しゃっくり…どれも変数pを宣言し…

Singly linked list

分かりやすいページをみつけた: 線形リスト

arrayとlinked list

array: 作成時にcontiguous(接触する・隣接する)memory が確保されるため、要素を増やすことが出来ない。 linked list: node(次の要素を指し示すポインタ)で繋げ変えれば良いので、簡単に要素の増減が出来る。mallocでallocate the memory→値を格納→繋ぐ、で…

define, undef

#define A B define AだからAを定義する=AをBと定義する #define A (無) Aが無に置き換わる #undef A それ以降に現れたAが置き換えられなくなる。置き換えられないため、以後Aとして存在する。

ポインタと文字列

ポインタと文字列 一番上: は、 「普通ポインタを用いるときには、配列などのアドレスをポインタに設定して用いますが、 文字列の場合には、アドレスを使わずにメモリ上に取られた文字列を直接ポインタに指定することができます。」 と同義。

Problem set 5 - Makefile

Problem Set 5: Mispellings Pset5, Makefile がいかにしてmakeにhow to compile (speller)を教えているかの詳細な解説があり..."Know that you’re welcome to modify this Makefile as you see fit. In fact, you should if you create any .c or .h files …

無限ループはwhile(1)で

recoverで参照したサイトまとめ。①無限ループ ループの常套手段②jpegのsignatureを判断するのに使った関数たち memcmp memchr③printfさながらにarrayに値を格納したいなら、sprintfを使うほか無い。 (C言語、不便すぎる) sprintf④###.jpgをどうやって表示す…

GDBとValgrindを使ってみた

意外に簡単だった、記念のスクショ。①GDB 基本的には、gdb ファイル名→run→より細かいbugの場所を調べるため、bt(backtrace)のコンボ。②Valgrind(memory leakがないか調べる) resize recover 基本は、コンパイル→valgrind 実行 でよろし。 All heap blocks w…