オンラインプログラミング学習サイト、LARACASTS

Vue.jsの勉強をしようと思っていいリソースはないかと探してみつけた、LARACASTSのLearn Vue 2: Step By Stepという動画。
本来は有料のようだけれど、45カリキュラムの大半を無料で公開されてる。動画の作りがとてもしっかりしていて、Lynda.comやPluralsightとそん色ない出来。
世界的にプログラミング学習熱が高まりで、海外ではこういった学習サイトが次々と出来てる印象。比較すると、日本は質、量ともにだいぶ遅れてるなという感じがする。

サーバ機の組み直し

うちのサーバ機の組み直しをしてる。
コンパクトなMini-ITXのマザーボードだけど、組んでて一番感じるのは、電源ケーブルの取り回しの悪さ。
太くて固く、長さが合わない。
多分、多くの電源はATXやMicro-ATXを想定してケーブル長を設定しているのだろうけど、Mini-ITXだとケーブルが長すぎて余る。
余ったケーブルがケース内のスペースを圧迫する。
Mini-ITXは拡張性が低いけれど、ゲーム向けにディスクリートGPUカードを使う場合以外、つまりほとんどの場合はオンボードないしUSB増設だけで事足りるはず。
Mini-ITX向けにケーブルの取り回しをよくした電源があればいいのになって思う。

build-pc-1

build-pc-2

build-pc-3

プログラマー歴40年以上

この前、ある海外のニュースサイトの掲示板に、Stack OverflowのDeveloper Survey(stackoverflow.com/research/developer-survey-2016)についてのトピックがあった。
そのコメントの中に「私は40年以上プログラマーをしていて、私や私の知り合いはStack Overflowは一切利用しない。Q&Aでイチイチ調べなくても知っているから」みたいな書き込みを見つけた。
40年以上というのは本当ならすごいと思うけど、Stack Overflowを使わないというのはおかしい。
ひょっとするとCOBOLなど極めて古い言語やNDAが厳しいシステム環境についてはネット上に情報がないかもしれないけど、今の時代のほとんどのプログラマーにとって、Stack OverflowやQuora、Github、Hacker News辺りは必須の情報源だろう。
その人は.NET系の開発者でWPFのアプリを作ってるそうだけれど、MSDNしか見ないのだろうか?
今は新しいライブラリーやAPIが次々に出てきて、プログラマーはそれを使いこなす必要がある。
これらのソフトウェアは個人の開発者によるオープンソースも多く、未成熟で、仕様の記述がドキュメントにない事が良くある。
(だから、もしかすると、昔、ベンダー主体でソフトウェア開発していた時代はベンダーの提供する1次情報だけに頼れば良かったのかもしれない。)
そういう仕様を全部自分で検証するのは大変すぎる事で、適時Stack Overflowのようなサイトで他の人の検証結果だったり意見を参考にした方が良い。
確かにこういうサイトには間違った情報も多いと思うが、大量の情報の中から素早く正確な情報を探し当てる。
今、ソフトウェア開発の現場というのは、そういう能力が重要な時代だろう。

PHPの作者、ラスマス・ラードルフ

PHPの作者、ラスマス・ラードルフ氏が来日してるらしい。
技術評論社のサイトに掲載されているインタビューが凄く面白い。
gihyo.jp/news/report/2015/12/1401

PHPは他の言語ユーザから批判される事多いけど、個人的にはスクリプト言語の中では一番好きだ。
(コンパイル型の言語も含めれば、C#だけど。)
PHPに、HTTPリクエストデータ(クエリパラメータとか)を参照する為の変数$_REQUEST、セッション情報を管理する為の変数$_SESSIONが導入されたのは、PHP4.0やPHP4.1からだったはず。
凄いのは$_REQUESTや$_SESSIONを単なる連想配列にしたという事。しかも、何の手続きも宣言もなしに、プログラム内のどこからも呼べるスーパーグローバル変数。
普通の言語作者なら$_REQUESTや$_SESSIONをオブジェクトにしていたはず。
PHP4.0がリリースされた2000年位にはすでに「オブジェクト指向=格好いい、正義」という風潮が存在していたから。これをきっぱり拒絶してる。凄い。
もしPHPが$_REQUESTや$_SESSIONをオブジェクトにしていたら、現在のPHPの成功はなかったろうと思う。
困ったらprint_r($_REQUEST)すればいい。それで問題はたいていの場合、解決する。
もし、それで解決しないような難しい問題なら、そもそもスクリプト言語みたいなアドホックな手段を選択した事こそが間違いと思う。
ラスマス・ラードルフ氏のプログラミングに対するアプローチ。大いに共感する。

古い光学ディスクを処分する (1)

家の整理をする為、古い光学ディスクを処分する事にした。

1枚目は、VineLinuxのインストールCD-ROM。2000年に多分5000円位で、多分秋葉原で購入。
当時は国産のLinuxディストリビューションがいくつもあり、中でもVineLinuxは日本語対応に優れていると評判だった。
lessやviが日本語対応してるとか、manが日本語で読めるとか。当時はこの程度でも貴重な存在だった。
VineLinuxは無償のディストリビューションだったと記憶しているけれど、そういう無償ディストリビューションでもインストールディスクはPCショップで有料で販売されてた。
まだブロードバンドなインターネット回線が普及する前、ISOファイルをダウンロードしてCDを作るのが大変で、インストールディスクに需要があった。
多分、このインストールディスクはカーネルバージョンが2.0だったと思うけど、その後、どんどんバージョンアップしていって陳腐化してしまい、使わなくなった。
買わなければ良かった。

2枚目は、多分、1997-8年位に購入したLinuxの解説本の付録だったもの。
当時、Macにインストール出来るMkLinuxというLinuxの亜種があった。
今のMacはWindows PCとほぼ同じハードウェアアーキテクチャだけれど、この頃のMacはCPUはPowerPCで、拡張スロットや各種IOがPCとは大きく異なっていた。まだ68kなMacを使っている人も多かったかも。
RedhatやDebianはすでに存在していたと思うけど、Macにインストール出来たのはMkLinuxだけだったはず。当時家にPCがなく、Macしか持ってなかったので貴重なOSだった。
自分の場合、MkLinuxで初めてUNIX系OSにまともに触れた。シェル操作やブートの仕組み、プロセス管理だとか。Apacheなんかも、これで動かしてみたかもしれない。もう覚えてないけど。
そうすると、今の仕事に繋がる重大な1枚だったんだなと思えてくる。

old-optical-discs1old-optical-discs2