ブログトップ 記事一覧 ログイン 無料ブログ開設

だから問題はコミュニケーションにあるんだよ by com-lab このページをアンテナに追加 RSSフィード Twitter

2016-06-12 プログラミング修行10日目

[]WEBサーバーを作った


2016/0611/0900

『実践としてのプログラミング講座』(清水亮/中公新書ラクレ)を読みながらのプログラミング修行10日目


今日はCSSとWEBサーバーである。CSSはまだ聞いたことがある。Cascading Style Sheetである。なんというか、Webページをデザインする、なんと言えばよいのか、やり方みたいなものだ。


これは


f:id:atutake:20160612095934p:image


要するにWebページ上で、どのように見えるか(=style)を定義することなのだろう。ここまでは昨日の延長線上だから、簡単である。次が今日の本題で、自分のパソコンをWEBサーバーにする(そうだ)。XAMPPというソフトを使う。


f:id:atutake:20160612095933p:image


XAMPPインストールして、プログラムを書く。今日こそ正真正銘のプログラムである。PHP言語である。これで履歴書に、使える言語「PHP」と書ける(わけがないが)。とにかく、これからは「うん、PHPなら知ってる。書いたことあるよ」と言っても嘘にはならない。


で、ゴニョゴニョやってみて、とにかく自分が書いた初めてのコードを表示させることができた。残念ながらMac環境だからか、最初は文字化けである。これを表示言語を変えると、一応見えるようになった。でも、プログラムの書き方のどこかに不備があったのだろう。本に書かれている通りにはならなかった。


こんにちは

今日は

print(date ("西暦Y年n月j日 Ah:i));

?>

です


f:id:atutake:20160612095932p:image


でも、遂にMacBook ProがWEBサーバーになった。実際にはどうなっているのかが、さっぱりわかっていないのだけれど、そういうことらしい。次はどうなるのだろう。


タグを使って書いた元原稿の部分が、ブログの画面上で表示されないのは、タグが効いているということなのか。謎である。



昨日のI/O

In:

『実践としてのプログラミング講座』

京都の平熱』

『販促ミーティング:チラシアンケート」

Out:

昨日の稽古:

ジョギング

2016-06-11 プログラミング修行9日目

[]教養としてのプログラミング


2016/0611/0900

『実践としてのプログラミング講座』(清水亮/中公新書ラクレ)を読みながらのプログラミング修行9日目


今日はJavaScriptである。これは、確か正真正銘のプログラミング言語のはず。つまり今日をもって、めでたくプログラマーデビューである(などと書くと、正真正銘のプログラマーの方から怒られるだろうけれど)。


f:id:atutake:20160611094039p:image


何をやるのか。昨日、HTML言語で作ったウェブページに動的な要素を加える。例えば「こんにちは」という表示が飛び出すようにする。これをポップアップと呼ぶらしい。


JavaScriptでは次のように書く。

alert("こんにちは") </script>


f:id:atutake:20160611094038p:image


もう一つ書いてみる。

name=prompt("お名前は?") document.writeln("こんにちは"+name+"さん") </script>


これで「お名前は?」と尋ねられ、自分の名前を打ち込んだところ、サイト上に「こんにちは竹林さん」と表示された。これって、かなり、おもしろくないですか?


f:id:atutake:20160611094037p:image


たった4行、JavaScriptを書くだけで、こんなことができるなんて、不思議ではないですか。これは、かなりワクワクします。というか、ほとんどテキストを書くことと、ウェブサイトを見るだけにしかMacBook Proを使っていないなんて、もったいなさ過ぎませんか。などと思った。


プログラムを書くことができれば、何かが必ず変わる。そんな予感がする。



昨日のI/O

In:

『実践としてのプログラミング講座』

京都の平熱』

市内某社研究所取材

Out:

某原稿下書き:8枚

昨日の稽古:

2016-06-10 プログラミング修行8日目

[]教養としてのプログラミング


2016/0610/0910

『実践としてのプログラミング講座』(清水亮/中公新書ラクレ)を読みながらのプログラミング修行8日目


いよいよキーボードによるプログラミングである。最初はHTML、といえば昔はベタ打ちで………という話になるのかもしれない。今から20年ぐらい前には、ホームページはこうやってHTMLを書いて作っていたのだ。それからしばらくしてホームページビルダーとかDreamweaverなどのソフトが出てきた(ように記憶する)。


f:id:atutake:20160610094536p:image


HTMLプログラミング言語ではないらしい。マークアップ言語と呼ばれ、ハイパーテキスト記述言語の略称だという。ハイパーテキストとといえば、その昔Macに標準で搭載されていたソフトがあったような記憶がある。記憶はうろ覚えである。何しろ20年以上前のことだから仕方がない。


そのHTMLを使ってイベントの告知ページを作る。ここでカギとなるのが「タグ」らしい。要するに「< >」で囲まれた部分で、ここに何を指示するかによって、文字が大きくなったり、色が変わったり、リンクを張ったりできる。


f:id:atutake:20160610094535p:image


本のP100からの指示に基づいて、元々あったソースを少し改変してみる。だいたい本に書いてあるようにできたのだが、1カ所だけリンクを張る部分がうまくいかないようだ。


コードでみると、この部分である。

著者のtwitter


どうしてでしょう?


f:id:atutake:20160610094534p:image


ともあれ、HTMLで使われるタグはそれほど多くないようだ。で、これでウェブサイトのデザインをきれいに作り上げるのは、至難の業であることがよくわかった。Jimdoとかができてくれた良かったと思いました。



昨日のI/O

In:

『実践としてのプログラミング講座』

大人にならずに成熟する法』



Out:

某原稿下書き:8枚

昨日の稽古:

ジョギング套路

2016-06-06 プログラミング修行7日目

[]教養としてのプログラミング


2016/0606/0850

『実践としてのプログラミング講座』(清水亮/中公新書ラクレ)を読みながらのプログラミング修行7日目


今日は「chapter3:続・教養としてのプログラミング講座」を読む。プログラミングとは、何か。プログラマーの仕事とは何か。


部品と部品とのコミュニケーションを設計することがプログラマーという仕事の真髄なのです(同書、P70)


ここで目からうろこが一枚。なぜ、部品と部品をコミュニケーションさせるのか。何かを創る(動かす)ためだ。「部品」を「人」に置き換えれば、プログラマーの仕事の本質が、よりはっきりするのではないか。だから、著者は次のように記している。


成功する経営者と失敗する経営者の二者を乱暴に分ければ、それは計画を立てられる人物か、立てることができない人物か、ということになると思います(同書、P71)


さらに理系と文系については、理系とは基本的に一つの価値観、もしくは一つの結論しか認めないと説く。従って、理系は、究極的には人工知能に取って代わられる可能性がある。そうなった時に求められるのは、多様な価値観や結論を認める、文系学問だと主張する。


「こうした高度な知性(AI※筆者注)を扱うために、感情の機微を捉える文学、意識とは何かを考える哲学人工知能との共存を可能とする新しい社会学、そうした存在が、以前よりずっと重要性を増すはずです(同書、P77)」


これからの世の中を生きていくための基礎学力として、プログラミング的思考力が必要。そう言われれば確かにそうかもしれない。それは具体的に、何かプログラミング言語を書ける、ということではない。要は考え方であり、考え方は学ぶことができる。


それにしても高校生(もしかすると中学生か小学生)の頃に、万有引力の法則を理解するために、こんなプログラムを作ってしまえるというのは、やはり特殊である。それでも、コツコツと学んでいけば、考え方は身に付けることができるはずだ。いよいよ、次からはキーボードを使ったプログラミングである。


f:id:atutake:20160606093735p:image


昨日のI/O

In:


なぜ、あなたの仕事は終わらないのか スピードは最強の武器である

なぜ、あなたの仕事は終わらないのか スピードは最強の武器である


Out:

某原稿下書き:8枚

某原稿修正:7枚

昨日の稽古:

なし

2016-06-04 プログラミング修行6日目

[]インディアンポーカー


2016/0604/1300

『実践としてのプログラミング講座』(清水亮/中公新書ラクレ)を読みながらのプログラミング修行6日目


「瞬間プログラミング」その2はゲームである。インディアンポーカーを作る。テキストには「今回のプログラミングでも「変数ブロック」と「代入ブロック」を使うのがポイントになっています(同書、P42)」と書かれている。


ここで注意したいのは「「変数ブロック」と「代入ブロック」を使うのがポイント」と書かれていること。だから、いきなり「変数ブロック」を見に行っても、そこには最初に必要な「テキスト」ブロックはない。「テキスト」は「パペットブロック」の中にある。


f:id:atutake:20160604133413p:image


実は、この本には前編にあたる『教養としてのプログラミング講座』がある。それを読んでいる方には「パペット」「ビヘイビア」などについての説明があるのだろう。前編を読んでいないので、そのあたりの概念がわからないまま本書を読み、書かれているとおりにやろうとすると、ちょっと悩まれる方もいるかもしれない。


といっても「テキスト」ブロックはどこだっけ? と探してまわれば「パペット」の中にあることがわかる。わからなかったら探せば見つかる。で、順番に組んでいくだけでインディアンポーカー・ゲームが出来上がる。ただし、これはパソコンでは遊べない。


f:id:atutake:20160604133412p:image


みんなのスマホにゲームをダウンロードしてもらって、遊びましょうということらしい。そろそろ、もうちょっと複雑なことをやってみたくなってきた。この本の後半には、キーボードを使ったプログラミングもある。早くそこまで行ってみたい。


f:id:atutake:20160604133411p:image



昨日のI/O

In:

Out:

某原稿下書き:8枚


昨日の稽古:

ジョギング・筋活