恋するコンピューターサイエンス

コンピューターサイエンスをもっと楽しく、もっと本質的に!

恋するコンピューターサイエンス

コンピューターサイエンスをもっと楽しく、もっと本質的に!

メンバーシップに加入する

コーディングをしながら表現したいためのコミュニティである。

  • 数学で思考する、メディアアート

    ¥480 / 月
    初月無料

記事一覧

write関数を深掘りする。(STDOUT_FILENO

Q. write関数の write(STDOUT_FILENO, buf, n) のSTDOUT_FILENOの意味を説明せよ。 A. STDOUT_FILENOとは標準出力のこと unistd.hライブラリで定義されるマクロ。 STDOUT_…

42Tokyo Picine 最終日

ついに来てしまった。 最終日。 それにしても、驚異的だ。 0と1だけの信号処理が、文字列、数学、画像処理、さらには3dも表現できてしまう。とても不思議で、掘って…

42Tokyo Piscine(ピシン)17日目【習うより慣れろ】

Piscine(ピシン)も2週間程過ぎた17日目、自分のプログラミングの勉強法に致命的な欠陥を見つけてしまった。学生時代数学が得意だったこともあり、一行一行理解して数学…

42Tokyo Piscine (ピシン) 2日目

42の課題はテーマがあり、そのテーマを探り充てることが初心者プログラマーにとっての最初の関門である。テーマを探り当てるためには、その前提知識を理解することから始…

42Tokyo Piscine 0日目【Picine 開始】

42tokyoというプログラミングスクールがある。 入学試験である、一ヶ月続くピシンは今まで体験したどの入学試験よりも、ハードでだった。 試験を通過すれば全額無料だが、…

if (!変数)とは?

Q. ① if(0)はブロックに入るか? ブロックとは{}の事 ② if(!変数)は何を表しているか? A. ①入らない ②if(変数=='\ 0') と同じ意味である 解説) if のカッコの中…

C言語で透視図法を描画する

透視図法の描画は下記の図式で、図式化する事ができる。 これは透視投影変換 と呼ばれ、西洋絵画の基本となっている概念だ。 どういうことかというと、目の前にスクリーン…

42Tokyo Piscine (ピシン)7日目【リタイアするか迷う】

「私は鶏のように臆病であったが、ルビコン河を渡るような重大決心を自分に強いてきた。」 コルビジェ これは20世紀最高の建築家であるコルビジェの言葉だ。 どんな偉大な…

ポインタとは⓪

ポインタの理解を困難にさせている一因に、呼称の曖昧さがあるように思う。 下記2つの例を見てほしい *p    pをポインタ変数もしくはポインタと呼ぶ *を間接演算子と呼ぶ…

42Tokyo Piscine 11日目【42という学習スタイル】

それにしても不思議だ。 親切な先生もいなければ、卒業証書をもらえるわけでもない。 英語で書かれた数ページの課題が与えられて、その結果を機械採点に通すだけのシンプル…

ポインタとは何か②

Q.  int *x; *x = 10; 上記の違いを説明せよ A int *x; ポインタ変数定義 xがポインタである事を定義している *x = 10; 間接参照演算子  ポインタの参照先の値にアク…

ポインタとは何か①

Q, ポインタを一言で説明すると? A. ポインタとはアドレスを格納する変数。 ポインタとはアドレスを格納する変数です。 ポインタはURL、もしくはエイリアス、もしくはシ…

世界を目指せ!

Q 世界はどの位広いと思うか? A あなたが思うよりももっと広い。

42Tokyo Piscine 14日目【メソポタミア人の詩】

 きのう生まれたものがきょうは死ぬ  つかの間のうちに人間は闇に投げ込まれ  突然押しつぶされてしまう  喜びに歌を口ずさむときはあっても  たちまち嘆き悲しむこと…

42Tokyo Piscine 8日目 【初レビューを受けるか迷う】

無味乾燥な2進数の海に溺れそうになる、、いや既に溺れているのかもしれない、、 一体コードを書くことに何の意味、があるのだろうと我に帰る自分に言い聞かせる言葉を模…

42 Tokyo Picine 6日目(プログラミングの勉強の仕方)

突然、異世界に放り込まれて、その世界の住人が分けのわからない言語を話していたら、どのように立ち回れば生き残れるだろう。Picine は私にとってそのような体験であった…

write関数を深掘りする。(STDOUT_FILENO

Q.
write関数の
write(STDOUT_FILENO, buf, n)
のSTDOUT_FILENOの意味を説明せよ。

A.
STDOUT_FILENOとは標準出力のこと
unistd.hライブラリで定義されるマクロ。
STDOUT_FILENOを1と書いても同じ意味。

凡人: write(STDOUT_FILENO, buf, n) っていうコードで、STDOUT_FILENO っ

もっとみる
42Tokyo Picine 最終日

42Tokyo Picine 最終日

ついに来てしまった。

最終日。

それにしても、驚異的だ。

0と1だけの信号処理が、文字列、数学、画像処理、さらには3dも表現できてしまう。とても不思議で、掘っても掘っても新しい発見がある。

コードを書いていくうえで、プログラミングの考え方やアプローチを学べた。何よりも問題解決スキルや論理的思考力も鍛えられた。プログラミングの本質に近づくことができたような気がする。

正直なところ、何度もリ

もっとみる
42Tokyo Piscine(ピシン)17日目【習うより慣れろ】

42Tokyo Piscine(ピシン)17日目【習うより慣れろ】

Piscine(ピシン)も2週間程過ぎた17日目、自分のプログラミングの勉強法に致命的な欠陥を見つけてしまった。学生時代数学が得意だったこともあり、一行一行理解して数学の定理を証明するようにコードを書いていたが、この方法だと一行書くのに人より何倍も時間がかかってしまう。プログラミングは、数学のような論理的な思考力やアルゴリズムの設計が必要な面があるが、同時にプログラミング言語自体の独特な文法の習得

もっとみる

42Tokyo Piscine (ピシン) 2日目

42の課題はテーマがあり、そのテーマを探り充てることが初心者プログラマーにとっての最初の関門である。テーマを探り当てるためには、その前提知識を理解することから始まる 。 プログラマー経験のある生徒なら、ははーんこれはこの意図をもって作られた課題だなと、即座に理解する事ができるが、残念ながら未経験者にとって、課題文を読んでも最初は??でしかないのだ。そもそも何かを理解するとは既にある頭の中の知識とネ

もっとみる

42Tokyo Piscine 0日目【Picine 開始】

42tokyoというプログラミングスクールがある。

入学試験である、一ヶ月続くピシンは今まで体験したどの入学試験よりも、ハードでだった。
試験を通過すれば全額無料だが、丁寧に教えてくれる先生はいない、自力で課題を解いていくだけというなんともスパルタな学校に入学することができる。(16歳以上で入学試験を受けることができる。)
受験者の顔ぶれは若者(16〜20)大学生、そして私のような若干のオッサン

もっとみる

if (!変数)とは?

Q.
① if(0)はブロックに入るか?

ブロックとは{}の事
② if(!変数)は何を表しているか?

A.
①入らない
②if(変数=='\ 0') と同じ意味である

解説)
if のカッコの中身は評価(真、偽を判定する)というのが基本だ。

つまり

if(0) bool値におけるfalse
if(1) bool 値におけるtrue
がまず基本だ。

if(変数)if(!変数)if(NU

もっとみる

C言語で透視図法を描画する

透視図法の描画は下記の図式で、図式化する事ができる。
これは透視投影変換 と呼ばれ、西洋絵画の基本となっている概念だ。
どういうことかというと、目の前にスクリーンを設定し、プレイヤーから視線(光線)をりんごに向かって飛ばしてスクリーンとの交点がモニターに映し出されるという手法である。

りんごは複数個あるのでスプライトの数だけ反映させるの描写の実装が必要だが、まずは一個の上図におけるりんごを描写す

もっとみる
42Tokyo Piscine (ピシン)7日目【リタイアするか迷う】

42Tokyo Piscine (ピシン)7日目【リタイアするか迷う】

「私は鶏のように臆病であったが、ルビコン河を渡るような重大決心を自分に強いてきた。」
コルビジェ

これは20世紀最高の建築家であるコルビジェの言葉だ。
どんな偉大な業績を残した人でも暗中模索の中、前進する時には鶏のように臆病なのだ。

軽い気持ちで参加した、42であったが思いのほかの困難さにリタイアしようかと迷う。

Piscine 7日目コルビジェの言葉が頭をよぎる。

ポインタとは⓪

ポインタの理解を困難にさせている一因に、呼称の曖昧さがあるように思う。
下記2つの例を見てほしい
*p   
pをポインタ変数もしくはポインタと呼ぶ
*を間接演算子と呼ぶ。

p = &a
pをポインタ変数もしくはポインタと呼ぶ
&をアドレス演算子と呼ぶ。

上記表記の仕方が違えどp自体をポインタもしくはポインタ変数と呼んでいる事がわかるだろうか

多くのプログラミング用語は英語を日本語に訳してい

もっとみる

42Tokyo Piscine 11日目【42という学習スタイル】

それにしても不思議だ。
親切な先生もいなければ、卒業証書をもらえるわけでもない。
英語で書かれた数ページの課題が与えられて、その結果を機械採点に通すだけのシンプルなシステム。

そんな単純なシステムに参加者皆、前のめりになって学習している。

問題を解くための知識はすでにYouTubeやブログに氾濫していて、各々必要な情報を個人でネットで検索する。それでも理解が追いつかない場合は学習の進んでいる他

もっとみる

ポインタとは何か②

Q.
 int *x;
*x = 10;
上記の違いを説明せよ

A

int *x; ポインタ変数定義
xがポインタである事を定義している

*x = 10; 間接参照演算子 
ポインタの参照先の値にアクセスしている
参照先(ポインタが指している)変数の型がintである事を宣言している。

解説)(ポインタ理解の盲点)

int *x;(ポインタ変数宣言)のアスタリスクと、
*x = 10;のア

もっとみる
ポインタとは何か①

ポインタとは何か①

Q,
ポインタを一言で説明すると?

A.
ポインタとはアドレスを格納する変数。

ポインタとはアドレスを格納する変数です。
ポインタはURL、もしくはエイリアス、もしくはショートカットアイコンとイメージすると分かりやすい
URL のリンクをクリックするとWebサイトに飛べる。
つまりURL の情報(アドレス)を格納しているのがポインタ変数ということだ
上記が原則なのでポインタの理解に手こずったら

もっとみる

42Tokyo Piscine 14日目【メソポタミア人の詩】

 きのう生まれたものがきょうは死ぬ
 つかの間のうちに人間は闇に投げ込まれ
 突然押しつぶされてしまう
 喜びに歌を口ずさむときはあっても
 たちまち嘆き悲しむことになる
 朝と夜とのあいだに人びとの気分は変わる
 ひもじいときには亡骸のようになり
 満腹になるとその神とも張り合い
 ものごとが順調にいっているときには天にも昇るなどとしゃべるくせ
 に困ったときは地獄に落ちそうだとわめく

メソ

もっとみる

42Tokyo Piscine 8日目 【初レビューを受けるか迷う】

無味乾燥な2進数の海に溺れそうになる、、いや既に溺れているのかもしれない、、

一体コードを書くことに何の意味、があるのだろうと我に帰る自分に言い聞かせる言葉を模索しながらPicineも既に 8日目となる。

とにかく一度提出してみよう、
上位集団は既にC言語の課題に突入しているらしい、、
自分も途中ではあるが、 とりあえず提出、自分のコードをレビューしてもらうことにしてもらった。

しかしレビュ

もっとみる
42 Tokyo Picine 6日目(プログラミングの勉強の仕方)

42 Tokyo Picine 6日目(プログラミングの勉強の仕方)

突然、異世界に放り込まれて、その世界の住人が分けのわからない言語を話していたら、どのように立ち回れば生き残れるだろう。Picine は私にとってそのような体験であった。私が異世界の住人とコミュニケーションを取るための工夫を下記3点まとめてみた。

□少しずつ理解して理解の幅をひろげていく。

→最初からいきなり全てを理解をするのは無理なので、1行だけ理解できたら、もう1行というように、限られた範囲

もっとみる