Problem set 4 - fread/fwrite

fread(&bf, size, number, inptr): 1つ目の引数は、読み込んだデータを格納する場所(readで読んだものを一時的に格納するポインタ)。 readを行うと、&bfの中にデータが格納される 格納されたあとは、.なんとかでデータのさらに細かい部分にアクセスできる re…

Problem set 4 - resize

biSize total size of image (in bytes) includes pixels and padding BITMAPINFOHEADER 構造体のサイズが格納されており、Windows ビットマップの場合は 0x28 である。 (注意!! resizeしてもbiSizeを変えてはならず、biSizeImageをupdateさせること。これ、…

Problem set 4 - stdint.hつづき

whodunitのquestionsで幾つか気になったものをpickup.①What’s the point of using uint8_t, uint32_t, int32_t, and uint16_t in a program? 整数型に対応するビット数は、マシン&コンパイラ毎に異なる。よって、全ての人(マシン&コンパイラの組み合わせ)が…

Problem set 4 whodunit - stdint.hとintN_t

stdint.hとintN_tに関するメモ、箇条書き stdint.hについて intN_t: stdint.hにおいてtypedef 〇〇 intN_tで定義される。〇〇はint, long等既存の型(と言うより、正確には基本的な型としてコンパイラの中に存在する型)のこと。 intの表す数字の範囲はパソコ…

Problem set 4 - bmp.hを読み解く

まずお決まりの参考サイト C言語/データ型と変数 - Wikibooks 整数型 - Wikipedia Wiki、ありがとう。以上を参考にしpset4 bmp.hのcommon data typesを読み解くと typedef uint8_t BYTE; →unsigned char型にBYTEtypedef uint32_t DWORD; →unsigned int(又はu…

Problem set 4 - bitmap

Bitmap、学ぶこと多すぎか。だけど、このサイトは分かり易く、興味深く読みふけった。 michisugara.jpBMP stores these triples backwards (i.e., as BGR), with 8 bits for blue, followed by 8 bits for green, followed by 8 bits for red. ビット深度 = …

Problem set 4 - ポインタ・bitとbyte・メモリ領域・16進数

ポインタとは: ポインタ, C言語講座>第6章 C言語のポインタ ~ & と * を使ってみる ~ 「ポインタとはアドレス変数、つまり変数のアドレスを記憶する変数のことです」 ...ポインタの一つ目の(宣言時の)*とその後の*は意味合いが違うの?(ぎもん) パソコ…

Problem set 4 - struct

参考になったリンク集 struct: 納得C言語 [第14回]構造体 - ほぷしぃ 補遺 1) structはデータ型の一種である。よって、 struct studentと宣言すると studentはstruct nameとなる。又、struct studentでint(等他のデータ型)と全く同じように使用出来る。 例え…

Problem set 4 - Fileの扱い

Pset4は演習より調べて学ぶことが多い。それだけにメモが溜まってきているから分割して投稿。 mp3, txt, jpeg... fileの種類は多々あるが、 コンピューターの中では全て同じ「0s and 1s」の集まり。 FILE*: Fileがディスク上に存在するそのポインタのこと fi…

Problem set 3

Pset3... binary searchに辟易したけれど、ようやく終わっ(てい)たよ。 arrayの長さはカウント出来ない! びっくりしゃっくり。パイソンたんではリストの長さ、len()一発で取得出来たやん...なんなのじゃ、C言語〜 原理としては、strlen(string長を取得する)…

Week12 Lecture

コンテンツはWeek11 Lecture, continued at Yaleと同じ、Harvard版というだけだった。CS50 lecture 終わっちゃったよー...! さて、感慨に耽る暇もなく今後の予定について。目標: 7月…Pset3, 4 8月…Pset5, 6(夏休みのうちに最大の山場であるP6までやりたい) …

Week11 Lecture, continued

This was CS50!哀愁誘うオープニング...CS50も残すところあと1 lecture. 今回は余興だった、、、めーっちゃ楽しそう( ; ; )リアルタイムに参加出来る、Harvard/Yale生羨ましい〜!!

Week11 Lecture

Minimax with Alpha-Beta: わかるようなわからないような この当時AIはprofessional go player には勝てず、good amateur levelなんだとさ。でも、遂にアルファ碁が勝ったのだね… 途中までウンギィィィィプギャアアアアAIわからねぇとなっていたのだけど、無駄に大きい…

Week10 Lecture, continued

Davidに代わり、Yaleの先生がAIのお話。 ゆっくりなので分かりやすかった。JIBOかわいい。 JIBO(ジーボ) |原始的AIのELIZAが出てきたのだけどあんな単純なコードなのね。AIって頭そんなに良く無い?でも、囲碁で人間に勝つんだよね...そしたら頭の良さの定…

Week10 Lecture

トピックはセキュリティ。 セキュリティのメカニズムでなく、どうすれば安全な通信を行えるか、のお話。途中まで慣れた内容で分かり易かったのだけど、最後難しくて集中力切れてしまってbeyond my understanding…

Week9 Lecture, continued

前半: JS, Ajaxのつづき。 後半: 考古学の先生がゲストでいらしてピラミッドの再構築のお話。普段のDavidのlectureのが断然おもしろい...

Week9 Lecture

JS, JQuery, Ajaxのお話。Ajax、こっちかと思いきや...short for asynchronous JavaScript and XML だってさ。

Week8 Lecture, continued

SQLのお話。データ管理するのに使える言語らしい。学年でQBや模試を購入するときにこれを使って自動で纏められたら便利だろうな。PHPを書くときに気をつけないとズルをされてしまうよ、という例。 ソースコードがこうだと こうなってしまう 常にpasswordがtr…

Week8 Lecture

PHPつづき css = comma separated valuevery low level (fundamental) languageであるCはスプーン、upper language なPHPはシャベルという例えがおもしろかった。スプーンではちまちまと地面を削り、シャベルはごっそり取れると(使い方の簡易さの例え)。

Week7 Lecture, continued

うにをお供にPHPのお話。6-7割くらい分かった。 痛風こわい。

Week7 Lecture

HTMLとCSSのお話。 ul: unordered list <img src="uni.gif" alt="sea urchin"/> Give me an image whose source is uni.gif. alt以下は画像が表示されないときに代わりに表示されるテキスト iframe= inline frame <link href = “css-2.css” rel = “stylesheet”/> Hey browser, go and get the contents of the file called “css-2.css”. The rela</link>…

Week6 Lecture

前半はPset4のお話。そして、いよいよ...! Let's move on from the command line world of C to the web based world of PHP, JS and so on!Webの仕組みについて。結構面白かった(理解度は5-6割くらいか...)。 TCP/IP: TCPは、packets を正しく目的地に送る…

Problem Set 3 Searching

長くなりそうなので記事を分ける。①備忘録(makeの内訳説明) ②CS50すげえ…ぐぐったらなんでも出てくるやないか… m.reddit.com m.reddit.comところでCtrl+Dとは、 連載UNIXの教科書〜標準入出力とリダイレクション〜 | HPE 日本 "標準的なターミナルの設定では…

Week5 Lecture, continued

Week5 相変わらず難しいよ...後でWalkthroughs, Section, Shortsで補えるかな...もっと慣れてきたらもう一度見るべき動画。 Jack learns the facts about queues and stacksのビデオ Buffer overflow binary search tree: よく使うアルファベットはより短い…

Week5 Lecture

いよいよわけわかめになってきた...要点のみめも。 ぽいんたのつづき CS50 library のGetString()の解説、malloc() struct arrayよりも、pointerとintの組み合わせの方がダイナミックさがある。一方3倍のメモリを食う・時間がかかる。

CS50 IDE Debugger

今日はPset3のbubble sort, selection sort, insertion sort, merge sort 及びDebuggingのビデオを見た。 Terminal windowでdebug したい時はgdbというコマンド(debugger?)を使用するらしい。当面は使わないだろうけど。 CS50 IDEにはgdbより遥かに便利なDeb…

Pset2 補遺

argv is an "array" of strings. argc is an int that equals the number of strings that are in argv, so you’d best check the value of argc before opening a locker that might not exist! Ideally, argc will be 2. Why? Well, recall that inside of…

Problem Set2 Hail, Caesar!/Parlez-vous français?

Parlez-vous français?で苦しめられる。①どう頑張っても当初、おかしな結果が出力された下記のコード gist.github.com原因は... C言語の仕様でmainの引数は書き換えてはいけない(ことになっている) mainの引数 = mainに代入される値のこと。ここで言えば、ar…

Week 4 Lecture, continued

今回はポインタがメインのお話。難しい、難しい…このlectureは、再度見直した方がよさげ。最後にpointerの説明のおそらくわかりやすいであろうクレイアニメもついてたし(多分わかりやすい、でも集中力切れてた)。 pointer: the address of the first charact…

Problem set 2 - Initializing

toupper(): 文字を大文字にする string: pointerであり、string の初めの文字がcomputer上にstoreされている場所(=番地、位置情報を表す数字、ということ)をしまっている。 string[i]とすると、最早これはpointerではなくなり、character(int型)になる。 “ ”…