はてなキーワード: Perlとは
Joel氏の採用面接ゲリラガイドにもあるように、デキる開発者と一緒に仕事をしたいというのは、開発者なら誰でも思うことだ。
そこで、自分が面接する側だったら、初歩の初歩レベル、即ちプロとしてあり得ないレベルの人を足切りするような、くだらない質問を2つ考えてみた。
Java、VB.NET、C/C++、PHP、Perlといったオープン系では広く普及している言語で、ごく普通のPCやサーバで動作するコードを想定し、実装方法を考えてもらうというもの。
ここでポイントとなるのは「プログラムに正解はないが、明らかな間違いはある」という考え方。
つまり2つの質問に対して、明らかに間違った回答をしてきた人が失格ということ。
では上の問いで想定している明らかな間違いは・・・
どっちも教科書でよく見るやり方だけど、仕事でそれやるのは頭悪すぎて話にならないということで。
ちなみにそれぞれの質問で何を見ているか、デキる開発者には一目瞭然だと思うけど、説明すると
結局、コードを書くときに一番大事なのはそういう能力であって、間違っても努力や気合じゃないってこと。
東方同人サークルが無許可でボドゲをパクった挙げ句売り逃げる気満々
東方同人サークルあゆ屋が無許可でボドゲをパクった挙げ句売り逃げる気満々 まとめ - Togetter
知財関連なのでと経緯をいろいろと読んでたら法律関連が微妙に混乱してるように見えた。
気になったので、ちょっと突っ込んで調べてまとめてみた。
まず第1に、ゲームの「ルール」それ自体には著作権は及びません。
「ルール」はゲームの根幹を成すものではあるが、「著作権」は「表現」を守るものであって、「アイデア」を守るものではないからです。
ゲームの「ルール」と言うのは「アイデア」の部類に属すため、著作権法の対象外なんですね。
したがって、「遊び方を盗んだ」だけなら、少なくとも著作権では守れません。
では守る方法は無いのか?ですが。
「アイデア」を守るには、「特許権」「実用新案」などがありますが、
と言う事で、ゲームにはどちらもなじみません。
まぁ、これら二つとも基本的に産業振興のためのものであって娯楽は想定外ですから、この時点で登録の対象外になりますが。
と言う事で、事実上「ゲームのルール(遊び方)」と言うものには権利が無いんですね。
しかし、ゲームのルール「ブック」。つまり「遊び方の説明書」と言うのは「ルール(アイデア)の表現物」となり、これは著作権の対象となります。
そこで今回の状況をチェックしてみたのですが
eo お金ないんでルール読んで妄想遊戯: 東方版シャドウハンターズに、池田氏が困惑
説明書について、なんだか怪しそうです。
他のところも情報収集してると、一応、カードについてはそれっぽい変更を加えていたそうですが、それも微妙なようです。(URL失念。あゆ屋のブログ記事の消去されたものだったかな?)
と言う事で、どーもこの辺りで著作権法の二十七条翻訳権、翻案権等、を踏んづけているように見受けられます。
とはいえ、本格的にチェックするには実物で見てみないとなんともいえません。
そこまでやる気は無いのでルールについてはこれくらいで。
ところで、電源不用ゲームと言うのは、ルールだけで終りと言うものばかりではありません。
汝は人狼なりや?のように、ルールだけでも十分成り立つものもあります(カードでペルソナを決めるなどはフレーバーであって、ゲームルールの本質では無い)。鬼ごっこ、かくれんぼなども、ルールだけで成り立つものでしょう。
これとは別に、ルールが道具を使うことを前提としたものも大量にあります。トランプのゲーム各種のように。お手玉、あやとりなどもそうですね。他、福笑い、カルタ、人生ゲーム、囲碁、将棋 etc...ドイツボドゲを並べても面白そうだが、際限ないのでやらない。
今回のシャドウハンターズもそのように、いくつものカードやコマを用います。
そこで、問題となったものを見てみると
eo お金ないんでルール読んで妄想遊戯: 『シャドウハンターズ』 東方版
ボードのデザインがオリジナルとほぼ同じなんですね。手直しが若干入っている程度。
ボードのデザインと言うのは、言うまでも無く「表現物」です。よって、著作権法の対象となります。
そして、権利管理者が「アウト」をTwitterで明確に示した時点で、「完全にアウト」なんですね。
権利者が再販のために動いているたと言う話や、デザイナーと権利関係についてまとめるのに2年かかってるなども含めると、今回の行為を怒るのももっともかと。
以上のように、ゲームのルール(遊び方)それ自体は法律による権利としての保護対象にはなりません。
したがって、シャドウハンターズを「参考に」オリジナルでボード、カード、ルールブックを再構築した場合は、オリジナルゲームとして販売可能だったわけです。
ゲーム製作者は腑に落ちないでしょうが、これが法律の解釈になると考えられます。
実際に、ついこの前の釣りゲーの法廷でも、「創作表現(著作権が発生する)」であるのか、或いは「ルールの普遍的表現(著作権が発生しない)」であるかで争われています。「ルールについてのよくある表現である(表現ではあるが創作ではない)」と言う考え方な分けで、「ルール」が似てることが問題じゃないんですね。
そして今回はルールの問題よりも、ボードの表現がコピー改変なので、こちらで完全にアウトです。
ゲームに使用する表現物のコピーと言う意味では、任天堂花札をベースにキャラクターを入れ替えていたタイバニ花札騒動なんかが最近の参考になりますかね。
てな所で。
サーチ中に意匠「権」を想定して語ってる方が。しかしゲームのボードなどには「意匠権」を及ぼすことはおそらく無理です。
デザインの意味で「意匠」の単語を用いることは(知財関連を語る上では紛らわしいですが)間違いとはいえません。
しかし、特許権、実用新案権と同じく、意匠「権」となると、産業利用であることと、登録主義であるため、このような娯楽の場合、権利は無いと考えておくのが妥当かと。
今回はおそらく意匠登録は行われていないと思われますので、意匠権は発生していないかと。(理由修正)
著作権は「無方式主義」であるため、表現された物があれば自動発生します。
商標権は「既知の商標」と言う概念があるため、未登録でも認められる「場合があります」。Perl を第三者が勝手に登録したが無効化した!なんかが、最近あった例ですかね。コナミ登録商標問題はすでに過去かな。逆に認められなかったのが「東方Project」商標登録問題です。
と言う事で、特許権、実用新案権、意匠権の性格は、著作権、商標権とは若干違うので、法律として語る場合は注意しましょう。
http://anond.hatelabo.jp/20120906191656
突っ込み受けました。
ボードや駒でも意匠登録すれば権利受けられるよー……という事で、打ち消し入れました。
cf). Software Design 2010/01号
!#/bin/sh vmstat 5 2 | tail -1 | awk '{print $4,$5,$6}'
service agent_mem { socket_type = stream protocol = tcp wait = no user = nobody server = Monitor/agent_mem.sh only_from = 127.0.0.1 disable = no }
php の場合、fopen() でもいけると思うのだが、明示的に sockopen() を使う。うむ、perlよりも楽だわこりゃ。
<?php /* -*-java-*- */ /** * モニタリングクライアント * */ $fp = fsockopen( 'localhost', 11001, $errno, $errmsg, 30 ); if ( !$fp ) { echo "Error: $errno - $errmsg \n"; } else { echo date('Y-m-d H:i:s'). "\t"; $stmt = fgets ( $fp, 128 ); if ( preg_match( "/([0-9]+) ([0-9]+) ([0-9]+)/", $stmt, $regs ) ) { $total = (int)$regs[1] + (int)$regs[2] + (int)$regs[3]; echo $regs[1]."\t".$regs[2]."\t".$regs[3]."\t".$total."\n"; } fclose( $fp ); }
こいつをモニターとして走らせっぱなしに出来るようにする。
<?php /* -*-java-*- */ /** * モニタリングクライアント * */ function mem_monitor ( $host, $port ) { $fp = fsockopen( $host, $port, $errno, $errmsg, 30 ); if ( !$fp ) { echo date('Y-m-d H:i:s'). "\t"; echo "Error: $errno - $errmsg \n"; } else { echo date('Y-m-d H:i:s'). "\t"; $stmt = fgets ( $fp, 128 ); if ( preg_match( "/([0-9]+) ([0-9]+) ([0-9]+)/", $stmt, $regs ) ) { $total = (int)$regs[1] + (int)$regs[2] + (int)$regs[3]; echo $regs[1]."\t".$regs[2]."\t".$regs[3]."\t".$total."\n"; } fclose( $fp ); } } while( 1 ) { mem_monitor( 'localhost', 11001 ); ob_flush(); flush(); sleep( 30 ); }
さぁ?元ネタは『どう頑張ってもC++でも ポインタは使う』って話だったから
ライブラリを使いこなせば 頑張れば ポインタは 見かけ上使わない。(ライブラリの中は知らない。普通 自分が書かない部分は言及しないから)
という話であって
どう頑張っても という とこだけにもっと着目すれば 値コピーで十分な場合も多いから、頑張ればポインタは使わない。で いんじゃね?
ライブラリの中を見てしまえば、JavaだろうとPerlだろうと 実質的なポインタはどこかでは出てくることになるだろうからなぁ。
ポインタ、参照(リファレンス)、束縛(バインディング)、それぞれ似てるけど同様に語ると混乱の元ではないかと。
ポインタはメモリアドレスに型情報をくっつけたもの。加減算できる点が特徴で、それはメモリアドレスの概念由来だろう。
変数というメモリ上の記憶域を指すフィジカルに近い概念で、配列の運用(*p++で回すとか)、引数の参照渡し(コピー抑止、複数戻り値の実現)、メモリそのものの管理(malloc)あたりで、基本手作業による最適化のための仕組みという側面が近いと思う。
perlだと、変数はやっぱり記憶域ではあるけれど概念として一段抽象化されていて、メモリという連続した領域じゃなく独立した領域の集合となっているから、リファレンスの加減算はなし。
また、配列も単なるメモリの並びからより抽象化してリストもできたから、配列運用や複数戻り値もリストがあるのでリファレンスに頼ることはなくなる。
ただ、オブジェクトの概念があって、オブジェクトをオブジェクトとして入れる変数は用意せずリファレンスとすることで、文法上の変数の型を増やさない、コピー時のコンストラクタの問題を回避するなどのほか、オブジェクトの概念を援用して無名関数や無名変数、ファイルハンドルなども変数=引数として扱えるようにした。
で、pythonはもう一段推し進めて、今までの数値や文字、配列もオブジェクトとみなし、変数はすべてオブジェクトを指し示すもので、記憶域は変数としてあるのではなくオブジェクトとしてあり、変数にリファレンスという特別なものがあるのではなくなり、変数は記憶域をもっていて値が代入されるものではなく、既にあるオブジェクトに変数名という名前(ラベル)を付けて束縛する行為とされる。
見方を変えると変数はすべてにおいてリファレンスで、代入とは値そのものの代入でなく値へのリファレンスの代入で、引数も参照渡しであるが、引数に代入したところでリファレンスが変わるだけで元の値が変わるわけではなく、しかし他の演算などでは自動的にデリファレンスされており、単純な数値や文字列など、自身を変更する機構を持たない(できない)ものにとっては実質的に今までとの違いはないに等しい。隠ぺいといえば隠ぺいか。
java, javascript, rubyもおおむねこの考え方でよかったと思う。
ただ、phpは若干両者が混じったところがあって微妙なところがある。
参考
カネの力ねぇ。
デファクトになるにカネは必要だが、カネを得るには良い所がなきゃダメだろ。
つか、言語言語ってやる事出来る事は五十歩百歩だろ。要はやり易いか否か。
後は文法が単純単機能なことだな。言語としては単純で、標準ライブラリが多機能でそっちで何でもできる。それが一番。
無駄に文法多くて自由に書けるとかいったらカオスってクソになってくに決まってるだろ。
後付けライブラリが沢山、自由に選べる作れるってのもカオス。自由って何求めてるの?
C++はCの資産あるうちは良かったよ。でもそれだけ。あとに碌なライブラリ残さなかった。
javaはライブラリに力入れてたし、文法もまあまあすっきりしてる。PHPも近い所はある。
javascriptはダメだ。ただDOMがある、それだけだ。
pythonはライブラリがそこそこいい。ただ、言語自体は下手に色々ありすぎ。
それでもperlよりマシ。あれはCとshしかなかった時代だからこそのもの。
perlの後釜なんにするの?python以外あるの?つか、日本に選択権ないって言ってるじゃん。
つか、javascriptはDOMなきゃ意味ないし、javaはVMなきゃ意味ないし、PHPはHTMLなきゃ意味ないし、
C#はMicrosoftなきゃ意味ないし、Objective-CはAppleなきゃ意味ないし。
棲み分け出来てるのに、それ以外どうするの?
つか、SQLどうにかしろよ。
http://d.hatena.ne.jp/yamasawa8911/20120519/1337407233
だそうなので、俺が思うところを書いておきます。
基本的にMacのほうが羨ましいとは思うけれども(まあ、MacBookとかが欲しいんだよね、きっと)、でもきっとMacなんてフルスペックで使えるわけない。
周りの子に自慢したいとかいうのであるならば、あるいはどうしてもiOSアプリが作りたいというんだったら、それしか選択肢がないけれども、そうじゃないんだったら辞めましょう。
あとWindowsも、Windowsアプリとか、C#をいじりたいんです!っていう話であるならば、それに固辞するのも結構ですけど、そうじゃなくて、ITに行きたいなら、Windowsを捨ててLinuxにしましょう。
自分はGentooが好きですけど、ハードコアすぎるので、Ubuntuのほうがいいかと思う。
Linuxとか難しいんじゃないの……とか思うかもしれないですけど、Ubuntuは素晴らしいです。
Ubuntuは、知り合いの絵師のパソコンに入れたら、わりと好評でちゃんと使っていたので、それなりにパソコンが使えるならば、ちゃんと使えます。
プログラミング言語関係は、そのOSに依存するような環境を使いたいというわけではないのなら、Linuxにしておいたほうが、無難に使えます。
CとJavaでもいいとは思うんだけど、どちらもコンパイルが必要だし、コードを書くのに、ある程度の量(書きたいときに気軽に書くという感じではない、という意味)が必要なので、もう一つ言語を覚えた方がいいです。
PHP、Ruby、Python、Perl、Clojure、Haskell、お好きな言語をどうぞ。
ただ、PHPはどちらかといえばWebアプリケーションよりかな?という気がするので、PerlかRubyかPythonがいいかとは思いますが、お好みで。
自分はPythonのほうが好きですけど、Rubyのほうが割と見つけてもらえる確率は高いかもしれません。
あと、パブリックマンも「Railsでいこう!」というブログ名だったので、尊敬する人にあわせるならRubyのほうがいいんじゃないかと。
こわいおじさんににらまれたいならPerlのほうがいいでしょう。
ちなみに、Ruby on Railsは、割とWebサービスを作るのが楽になります。Herokuとかありますしね。Webアプリケーション周りということだったら、ついでにそのプログラミング言語で使われているメジャーなフレームワークとか調べながら勉強するといいかもしれません。
で、上記を踏まえて、エディタをちゃんと使いましょう。
パワーが有り余っているなら、総合開発環境であるところのEclipseでもいいんだろうとは思うんですけど、それはおっくう、というのならば、ちゃんとエディタの使い方を覚えましょう。
もう既にUbuntuを入れていると思うので、EmacsかVimを使いましょう。Vimのほうが好きではあるんですけど、キーバインドや、その他の癖を考えるとEmacsのほうがいいかなあという気がします。
Ubuntuを入れたなら、Geditというエディタも、Windowsのメモ帳の非じゃないくらい極まったエディタなので、それでもいいです。Windowsがそんなに好きなら、サクラエディタを使うといいでしょう。
あなたはどうやら貧乏だけれども、インターネットは使えているようなので、英語を読む練習をするといいです。
英語なんて全くわからない?ノープロブレム。そんなの適当でいいです。「なんとなくこういう意味かなー」とか、あるいは英語を読むだけでクラクラしない程度でいいと思います。
英語を読めると便利です。少しだけ多くの解説が読めるからです。
あと、英語が読めると「pdf Orailly」という魔法の言葉が使えたりするんですけど、何に使うかは想像におまかせします。
で、上記を踏まえてなんですが、コードを書きましょう。
コードなんて書いてなんぼです。「如何に優秀なハッカーになるべきか」という記事はゴロゴロありますが、そんなのは気休めに読むべきで、まずはコードを書きましょう。
なんだかんだいって、コードを書くのは経験がモノをいいます。量を書きましょう。そして躓きましょう。最初から質なんて無理です。
躓いたら、なんで躓くのか考えましょう。また、「こんなところが、コードを書く点で不満だなあ」と思うことがあれば、それも考えていきましょう。
偉い人がいろんなソリューションを考えてくれています。最初からそのソリューションがなぜ素晴らしいかなんて理解できないとは思います。躓いて始めて「ああ、だからこういう開発手法がいるんだ」ということを理解できるでしょう。
ついでに、コードで躓いたら、その躓いたところを、Twitterアカウントに積極的に発信していきましょう。
そのついでに、そのプログラミング言語を学んでいるTwitterアカウントをフォローしましょう。
あなたの呟いていることによっては、その人は興味を持ってくれるでしょうし、場合によっては手助けをしてくれるかもしれません。
あなたがサービスを立ち上げたら、積極的にRTをしてくれるかもしれません。
だいたいなれてきたところで、自分が作りたいものを作ってみましょう。そして公開してみましょう。できるならGithubで。
Githubに載せる理由は、ソースコードを公開したほうが、突っ込まれる率が高くなり、それに応じて勉強になるというところと、あとはGitというバージョン管理システムの勉強をしていたほうが、のちのちに便利だからです。SVNとかありますが。
あと、コードの引き写しに関しては、ブログに書くか、あるいはコードの断片を載せるという意味で、Gistに載せるという点もありますが、その辺りはご自由に。
VPSを借りてみましょう。あなたが貧乏だというのはわかっています。VPSとは、仮想専用サーバーのことです。
別に最初っから何でも揃ってるようなホスティングサービスでもいいんですが、サーバーを一から立てるという作業は、勉強にもなります。下手な技術書より余程勉強になったりします。
最初から借りると宝の持ち腐れとなると思うので、一つのWebサービスでもいいので、それを自分のマシン内でのみ見られるようなったら、借りるというのは一つの手だと思います。
VPSがつらいというのならば、Herokuとかもありかもしれないです。
コードを書くのが辛いなら、コードを読みましょう。人のコードはアイデアの山です。
自分の場合は、割と実例が無いと、挙動がピンとこなかったりするので、コードを読むことのほうが多いです。
特に、その言語で有名なライブラリとかいいかもしれません。ガンガン読みましょう。
あとは若さでなんとかなるでしょう。
ついでに、この文章を「テメーはなんにもわかってねえんじゃボケ」という言い方をして修正してくれる人もいると思うので、そういう人のアドバイスも真摯に受けとりましょう。
Eclipseがemacsやvimより優れている点を挙げてみよう。
・CVSリポジトリの構成を直接覗ける →redmineとかを使ったほうがいいんじゃないのか
・設定できる警告メッセージの種類が豊富。→警告そんなにいるのか
・復元機能が非常に充実している。 →バージョン管理ソフトがあれば普通だし
CVSのように以前の状態に復元すること、以前の状態の →diffじゃダメか、というかなんでいまどきCVSなの
ソースコードとの比較も容易。CVS(Eclipse標準装備)/Subversionプラグインにもこの機能は存在する。
・プラグインの数が豊富、膨大。 → 数があってもつかえるのは少ない
・プラグイン開発環境もEclipse自体に用意されている。 →開発環境を使って作る程のものでもなく、バッチファイルとかスクリプトでよくね
・ライセンス形態がCPLであり商用利用もしやすい。 →eclipse組み込んで出荷するの?
・上位版にWSADが存在する。 →WSDADってなに、WebSpereの残骸?
・Smalltalkで有名なVisualworksの影響を受けているため、
JUnitプラグイン(Eclipse標準装備)によるテストファースト、リファクタリングの他、eXtreme Programming環境が充実している。→Jenkinsのほうがよくね
・SubclipseプラグインによりSubversionにも対応できる。これはCVSよりも強力!→コマンドラインから実行するsvnコマンドを覚えておくとはターゲットでも動いて便利だよ
・Call Hierarchyプラグイン(Eclipse3.0から標準装備)によりメソッドの呼び出し階層を調べることができる。この機能は強力だ!→スタック見るだけのことじゃないの
・プラグインによってはURLを指定するだけでプラグインの自動ダウンロード、自動インストール、
自動アップデートができるためプラグインのインストールが非常に容易。→勝手に変わったら怖くない
・Eclipse上から直接Tomcat, JBossなどを再起動できるSysdeoプラグイン、JBoss-IDEプラグイン
という強力なプラグインが充実している。→えー、今頃Tomcat
・EclipseUML Omondoプラグインによりクラス図などを書いたり、
UMLによるModel Driven Architecture, リバースエンジニアリング
・RSSリーダープラグイン、MP3プラグイン、All The Newsプラグイン、
など様々なプラグインが充実している。→それ開発ツールじゃなくて携帯でやったほうがよくね
・PHP開発が可能なTruStudioプラグイン、Perl開発が可能なPerl E.P.I.C. プラグイン、
C/C++開発が可能なCDTプラグイン、AspectJ開発が可能なAJDTプラグインなど
他言語プラグインが充実している。→Java以外は所詮おまけだけどね
・そのほかにD言語プラグイン、C#プラグイン、Pythonプラグイン、JavaScriptEditorプラグイン、
CSSプラグイン, HTMLプラグイン, XMLプラグイン、(Jakarta)Velocity UIプラグイン、
Apache Antプラグイン(Eclipse標準装備)、非常に強力なApache Mavenを使うことができるプラグイン、
ゲームができるプラグイン、メーラとしてつかえるプラグイン、Wikiプラグイン、Hibernateプラグイン、
FindBugsプラグイン、CheckStyleプラグイン、Jalopyプラグイン、Sobalipseプラグイン、ソロプログラマープラグイン、
など様々なプラグインが充実している。→それぞれ単機能のソフトのほうが充実してるんじゃないの
どうしてもeclipseというなら止めないけど
はじめに僕はプログラムが苦手です。
ほんとに苦手です。
誰かがやってくれるんであれば絶対自分でプログラムしようなんて思いません。
寝る時もあーやってこうやったらこうなるとか考えてしまって睡眠不足になるし
9年くらい前のことです。
仕事でプログラムを使う必要があったので仕方なくparlの本を買ってきてシコシコやってました。
おなじみの「 hello world 」とかをモニターに表示させたりしました。
ものすごく簡単に理解してもらうためにこういう感じ書いてるんでしょうけど
ぶっちゃけ、本やネットの通り学習していくと大半の人が前半で飽きるか挫折します。
掲示板作ってどうするの?
自分に興味のないことをやるのって絶対続かないし覚えないんですよね!
僕もperlを学習したあとJavaを覚えようかなと本を買ってきて一通りやってみたんですけど
書かれてあるとおりに電卓とか作っても全く興味ないし作りたくもなかったので
全然頭に入ってきませんでした。
多分、すごい勢いでいろんなことを覚えていくと思います!(男ならw)
最近、そんなことをエロいWEBサービスを作りながら考えていました。
もうほんとに楽しくて、夢中になって自家発電・・いえ、プログラムしていました。
「はじめてのエロサイト」
「3日でできるエロ」
「できるエロサイト」
こんな感じのタイトルの本があったら僕だったら間違いなく買いますw
そんなわけでこれからプログラムを始めようと思っている人はエロい物をプログラムで作ってみてはいかがでしょうか?
そして、僕が今回作ったエロサービス(エロ動画検索兼ランキングサイト)
http://adultmovie-clip.com/ を作るのに必要だった知識について書いてみますので参考にしてみて下さい。
【今回作った物はどんなWEBサービスか?】
お気に入りの動画はログインなしでブックマークできるようにする。
人気ブログランキングのように外部サイトを登録できるようにし逆アクセスランキング機能をつける。
【必要な知識】
■html
http://www.tohoho-web.com/wwwbeg.htm
今回はhtml5でやってみた。
http://webdesignrecipes.com/semantic-html5-with-outline/
http://higashizm.sakura.ne.jp/jquery_first/
http://webdesignrecipes.com/jquery-beginners-guide-for-web-design/
http://helog.jp/javascript-2/jquery-javascript-2/1406/
■php
phpの基礎からできるからおすすめでかつデータベースの勉強もできる
エロデータの作成はスクレイピング(エロ動画データの収集)により行う。
例えば
該当ページをhtmlSQLで取得する。
http://tenderfeel.xsrv.jp/php/628/
http://plog.pya.jp/program/php/lesson11/sample01.html
ランキング部に利用、APIがあるのでリファラーでサイトのアクセス数をカウント
http://kota.oue.me/php%E3%81%A7google-analytics-api%E3%82%92%E3%81%84%E3%81%98%E3%82%8B%E3%80%82/
https://developers.google.com/analytics/resources/articles/gdataCommonQueries?hl=ja
■負荷対策
http://www.doyouphp.jp/tips/tips_apc.shtml
mod_evasive
DOS対策
http://www.makizou.com/archives/1341
mod_expires
http://www.ahref.org/tech/server/apacche/389.html
http://thinkit.co.jp/free/article/0707/2/6/
■サーバー関係
VPSを借りてこのサイトの通りやればWEBサーバーが構築できる。
できればメモリは1Gほしい。
無修正じゃなければKAGOYAのVPSでいいんではないでしょうか。
外部に公開しないのであればローカルでシコシコして下さい。
SSH・・・クライアント(Windows)からLinuxサーバーをリモート操作する
apache・・・WEBサーバー ※チューニング関係はググりまくって下さい。
mysql・・・データベース 全文検索を利用する場合、一旦mysqlは削除してsennaをインストール。インストールする順序に気をつける http://anond.hatelabo.jp/20110804021353
chkrootkit・・・rootkit検知ツール導入
■全文検索
経験上、サーバー代にもならないと思うので今のところ掲載しません。
以上です。
3月くらいから心身ともに疲れきっていたのでリフレッシュする意味で作ってみました。
エロサービスは以前にも何度か作っていてその時は非常に楽しくてわくわくしながらプログラムしていたので
それを思い出して、じゃあ作ってみようという感じです。
いろんな意味でw
学生が就職活動で、WEB系の会社で面接した時なんかにプログラムでどんなの作ったことある?と聞かれて
とか言っちゃうと「こいつできる」と思われるかもしれませんので(あくまで僕がそう思うだけですw)
これからプログラムをやろうと思ってる人はエロサービス作りで覚えてみて下さいw
きっとあっという間にできるようになりますw
さて最後になりますがこんなの作ってみたんでよかったら利用してみて下さい。
支えてくれる家族または友人がいない場合、社会的な制度が整っていない以上、今の環境を逃げようが結果的には死にたいであるから、さっさと今の辛い環境を受けいれろ
が理解できないからその帰結の理由を教えてほしいといっただけなのですが...論点がずれているようですね?
プログラマーとしてはどうなんだろう。
ぜひ上を
プログラマーとしては彼の著書を二冊ANSI Common Lisp、On Lisp、後半は2回読み直すと考え方が変わると思います
またLispでWebサービスを作る意義は当時はあったのだと思いますが、今ではメタ言語でプログラムを生成することが一般的になって
きておりマクロの有用性、Slimeの素晴しさ、最適化ヒントのための機構が言語に内包されている点以上に特別な認識はしておりません
ただリーダマクロを利用すると構文自体を拡張することが出来るためLispを書く人はすべからく言語設計者としての腕が試されるのだと思います
(といっても私は本物のLispプログラマーではなく初〜中級者の域程度のものと認識しているため上級者以上の方はまた違う見解なのだと思います)
正直なところ、一時期自分もLuaに感動して、Luaで(mod_lua?)Webアプリを書こうとしたときもあったけど、RailsやCake、Nodeのexpressみたいなのでさえ、多くのユーザーが書いている方法の方が同じ悩みにぶつかり、googleすれば誰かがstackoverflowで解決しているので、コピペで取り敢えず乗り切る可能性が高くなる。
が、mod_luaに関してはガチレスしますと、Apache のpre post filter, mod_rewriteの煩雑さ軽減、Access,Auth,UserCheckのpre post、CustomLog置き換えくらいに試作品として個人だったら利用すると思います(プロダクションレベルならば実際利用する前に検証すると思います) mod_luaでもいいですが文章は何が目的かをはっきりさせて書いてください
後半のRails、Cake、Nodeでも同じで、「形にすることが目的」であれば、コピペ出来るものを御自分でえらべばいいのじゃないのでしょうか?なにが主張したいのかよくわかりません
# ゲームなどのアプリケーション内で使う言語はシンプルが一番だ。それはBASICやTclのように、美的には醜いものでも正解になることが多々ある。
# lispを選ぶのは正解だと思う。
TclをVHDLのシミュレーションツールとして数年利用しましたが、美的に醜いものではありません そしてなによりもゲームと一括りにしておりますが近年のゲームプロダクションを「舐めないでください」???Lispを触りもしないのに正解だと思うなども???
そんなことを最近のApple製品やGoogle製品の苛立ちとともに感じ、自分の人生の終焉や世界の終わりに思いを馳せながら今日もコードを書くか、身辺整理をするか、絶望感を眠ることでかわす毎日を送るだろう。
現実ではなく煽り文章だと理解しているつもりなのですが、中身がよくわからず何を伝えたい文章で帰結はなんなのかが大変よくわかりませんでした
酷い会社に就職するとブール演算さえまともに理解していない人たちが、銀行や年金のコードを書いている日本の恐ろしさに驚かされる。
金に困って、私もときどきバイトを探すのだが、バイトで地方銀行のプログラミングとか書いてあるのが普通の日本はちょっとおかしい。
多分、証券会社とかの方がまともなコードを書いているのだと思うが、精神的にはキツい気がして門を叩いたことはない。
もう、年齢的にも限界なんでね。
テクノロジーや数字に対して無知な文章と思えるようなことを主張しているようにしか理解できないことがひっかかります。他人は他人ですし変えることは出来ません。ですが自分の考え方はいくらでも受けとめかたは変えられるのではないでしょうか?
別にPerlでなくても、シェルスクリプト、Cでも構わないけど、所詮CGIだし、正規表現とか文字列に明るいから、打算的な面もあったんだろうと思う。
考えてみれば、あの頃は負荷についてあまり考えてなかったよな。
根本的なコンピュータの仕組みの理解が食い違っている認識なのですが、当時負荷を考えたときスケールアップをしていた理由は、「1台」のマシンと「2台以上」のマシンを管理する方法がまったく別のスキル(コスト)を要求するからです 現在ではフェールオーバだけでなく、冗長化の考え方が広くオープンソースの世界でプロダクションレベルに適用されたためであって、当時から負荷自体については考えている所では考えていました
また所詮CGIという意味では標準入出力さえあればどの言語でも出来るのは事実かと思いますが一方Lispだから打算というのは異なるのではというのは上の文章を読んでいただければ
エッセイのどのことを示唆しているかは不明ですが「成功している理由」を考察していることはあっても(時系列でいう後ろから前への考察)、「こうすれば成功する」という考察(時系列でいう前から後ろへの考察)について伝えてる文章は知りません よろしければその文献情報はどこにあるのでしょうか?
あの頃に成功しなかった人(つまり、私)はもう浮かばれることはないだろうし、今、彼らが言うようにやったとしても、あまり夢がないというか、生きてくのもどうだろうという気がしてならない。
誰も失敗した人の発言には耳を傾けないからね。
人生というのは、確かに一定の年齢を過ぎると選択の幅が狭まるというのは事実ですが「なくなる」というのは嘘です そしてそもそもその歩いてきた道だけは変えることは出来なく、これからの道は落とし穴かもしれませんが90度直角に歩くことさえ出来るものだと思います
また失敗した人の発言に耳を傾けないわけではないと思いますよ?むしろ否定的な感情を表に出しすぎるために難しくなってるのではないでしょうか?
この考察はその通りだと思いますが合理的ではないでしょうか?前回もお伝えしたように株式会社なのであれば株辺りの利益を最大限にすることが目的です また会社というのは民主主義ではなく株主主義です それさえ理解すれば組織の維持=経営者が優先されるのは当然なのではないでしょうか?従いまして「人間的に正しい」の意味を理解していませんが、あなたのいうその「人間的に正しい」と「組織の目的」との間で落とし所をつけ提案することが本来の従業員の仕事に含まれると理解しています。
支えてくれる家族または友人がいない場合、社会的な制度が整っていない以上、今の環境を逃げようが結果的には死にたいであるから、さっさと今の辛い環境を受けいれろ
長々と書きましたが、上の内容を簡潔に聞きたいだけでして、ブール演算やらLuaなどの話は聞いていません ブール演算などは高校生に3時間でも教えれば理解する人はいるでしょう
http://d.hatena.ne.jp/nishiohirokazu/20120323/1332504404
最近、Webクローラクライアントを作るお仕事が増えた。WebクローラクライアントというのはHTTP(S)を介して様々なファイルをダウンロードして解析し、結果を溜め込むだけのプログラムである。ボットともいう。
クローリングの規模が大きくなると、クロール処理部と結果貯蓄部を分離する必要がある。クローラには様々なものがあるが、ものによっては特定のサーバに集中的にクローリングを行うこともある。このとき、1つのIPを使って集中的にクローリングを行うと、攻撃とみなされ一瞬でbanされてしまう。そこで、一見するとまったく関係なさそうなIPを複数確保し、それぞれにクローラーを仕掛けて走らせるのである。
結果貯蓄部は、要するにデータベースサーバであり、何を使用しても良い。クロール処理部とのやりとりに使用するプロトコルはRDB依存プロトコル(MySQL Socketとか)でもHTTPでもなんでもいいが、とにかくクロール処理部が解析した結果を随時溜め込めるようにしなければいけない。逆に言うと、まぁ、口さえできるのであれば何を使用しても良い。
問題は、クロール処理部に何を使用するかである。おおまかな要件は次の通りである。
これらの要件を満たそうとすると、ぶっちゃけJavaかPythonくらいしか選択肢が無い。
Java | Python | |
---|---|---|
HTTP(S) | HttpURLConnectionかApache HTTP Client | urllibかurllib2 |
環境依存性 | Write once, run anywhere (VMが最初からインストールされてるのはSolarisくらいのものだが、どんなOSでも大体はすぐインストールできる) | UNIXであればほぼ標準で入ってる、Windows用インストーラも用意されている |
キャッシュ機能 | JDK6にDerby標準搭載 | Python 2.5からsqlite3標準搭載 |
JavaとPythonの違いは山ほどあるが、簡単なことをやらせるだけならPythonはJavaよりも使用メモリが少なくなりがちなので、そういう場面であればPythonは(現時点においては)最強の座に君臨すると考えられる。
僕の記憶違いでなければ、はてなダイアリーは Perl で書かれた。
Ruby で書かれた tDiary に似ているので時々誤解されるけど、単にモデルにしただけのはず。
伊藤直也さんの当時のブログを見ても Perl の話題が非常に多いし、Perl Mongers などのコミュニティにも参加してる。今もかかわってるみたいだけど。
伊藤直也ははてなに入る前から、すごい人っぽいなーというオーラ出してて、個人的にすごく注目してたんだけど、まさかはてなの CTO になるとは当時想像できなかった。(なんとなく、はてなじゃなくて海外の企業に行くのかなって思ってた)あのころ、モダン Perl で書かれたプロジェクトとして知名度の高かったのが Movable Type で、そういうものに触れてると自然と耳に入ってきたのが伊藤直也や宮川達彦って名前だった。
田舎から上京して東京のとある著名な私大に在籍。その1年目にして叔父がまさかの倒産。両親が保証人になってたせいで、家族全体として多額の借金を背負う。学費稼ぎのためにコンビにバイトを始めるが、逆に単位を落としがちになり、その結果、育英会の奨学金が止まった。生活で精一杯のため大学を中退することにした。なぜか両親の逆鱗に触れ、勘当される。このとき2000年、成人式を終えたばかりの春だった。
大学中退は高卒扱いだ。学歴を武器に仕事しようと思っていたために、どうやって生きていけばいいのか目標を見失った。一人暮らしだから無職にもなれない。まずコンビニバイトをやめようと思った。
最初は新社会人の就職活動と同じような感覚でマイナビをひとしきり見てたのを覚えてる。ここで給料の相場観を掴み、フロムエーとかanで求人を探した。技術が身につくなら何でも良いと思っていたが、求人からIT技術者人口が相当薄いんだろうという事を感じた。その結果「IT企業で雑用ができる」「初心者歓迎」のような説明のある企業に応募することが多くなった。
IT企業ではないが「システム部門での雑用」ができる中小企業があったので応募。「残業できますんで働かせて下さい、中退した理由は色々ありますが、とにかく仕事がしたいんです」と素直に申し出たところ、賞与がないという条件付きで採用された。月給17万前後。新入社員歓迎の飲み会で全裸になったのが大ウケしたのが良かった。バカ田大学のバカが来たと言うような感じでバカにされながら仕事したが、それでも真面目に雑用をこなしているうちに徐々にシスアドの仕事ができるようになってきた。
DreamWeaverで【「更新情報」ページの更新】という作業を任され、HTML学習のキッカケになった。
「とほほ」を参考に、JavaScriptが少しずつ書けるようになった。
携帯向けサイトを作ることになり、無理してPHPもPerlも覚えた。画像の圧縮処理も覚えた。
PHPを覚えるとデータベースへのSQL発行もそれほど抵抗なく身に付いた。
Windowsネットワークの調整を進めるうちにActiveDirectoryの知識がついた。
中小企業なので専門のネットワーク技術者がおらず、Ciscoコマンドを勉強できた。
この結果、最終的には社内で使うサイトを構築から任されることになった。資格でもプログラム言語でもないが「仕事する人にとって使いやすいWebサイト(GUI)を作る」というデザイン技術は確実に身についたと思っている。
働き始めて2年目で初級シスアドと基本情報に挑戦して両方とも合格した。このとき情報シスアドも挑戦したが午前科目で不合格。これは翌年も挑戦して合格した。
コツコツ貯めたはした金で、株式にも挑戦する。ちょうど紙幣バラ撒きのパフォーマンスで有名な「あしぎん株」騒動に乗っかり、30万円の大損をする。ここで自分には儲けるセンスがないことを思い知る。しかし仕事に対するモチベーションを大きく上げることになったと思う。
この会社では色々な知識が入ってきてレベルに応じた仕事ができるいい環境だが、入社条件があるだけに、どんなに頑張っても昇給はなさそうだと考えるうちに将来が不安になった。クレジットカードのショッピング枠のリボ返済がきつくなり、返済に追われるように転職を決意する。2006年。
ここで参考にしたサイトは Re就活 と マイコミ。物は試しと色々なIT企業に面接に出向くも、ほぼ全滅。採用されたとしてもマルチまがい商法に参加するような会社だったりして、入社後すぐ辞めたりした。
面接に落とされた原因は恐らく4点。
例えば「ワン側の設定もできる?」「経験のあるフレームワークは?」と言われても曖昧な返事ばかりしてた。仕事場で身につけたノウハウと、その内容を指し示す用語が頭の中で全然リンクしておらず、チグハグな回答しかできないのである。それを説明するために専門用語があるのだ、と思いながらとにかく用語を勉強した。
活舌が悪いこと。
自分の声をマイクで録音し再生してみた。そしたら実際恥ずかしい活舌だった。こんな努力は誰にも見られたくないと思いながらも、とにかくマイクに録音して治す作業で、苦手なサ行を治した。まだ治りきっていないけれど、自分の声を聴いて「自分の声じゃないわぁ」と言っているうちは自分の声を理解してない、そう思うように頑張った。
人相が悪いこと。
まずマユゲを整えるようにした。知り合いに会うたび「印象変わったねー、マユゲ剃ってるーwwwおっかしーwww」と屈辱を受けるも、なんとか耐えた。そして、2ヶ月に1回は美容室に行き短髪にするよう心がけた。最初は入るの出るのも恥ずかしかったが、2回目、その美容室のお姉さまに「久しぶりー!伸びるの速いねー!」と可愛く言われたのが妙に嬉しくて、それ以降美容室に抵抗なく行けるようになった。あと、自分の顔はヒゲがあったほうがカッコいいらしいと言うことも分かる。第三者の意見は大事だと思った。
自分に自信がないこと。
高級デリヘルを頼んだ。即解決した。あの150分は今でも強烈に記憶に残っている。
今までやってきた仕事をどう面接で表現するのか、何が目的で働きたいのか、今から働こうとするその会社に対してどのような手段で貢献するのかを正しく話すことができれば、それだけでいいんじゃないか、と思うようになりました。その結果、会社のニーズとマッチしていないことが分かれば、素直に他あたるのも大事だなぁとも思うようになりました。
上場を目指す会社に運よく入ることができ、年収が1年目350万。しかし社内システム関連業務全体における役付きの地位がまわってきて、このご時勢で入社3年目にして900万まで伸びました。そして今に至ります。
片方にだけしか無い 言語に依存した機能って多くないだろ。 ほとんどが、 ライブラリに依存した機能だ。
しかもベースとしているECMA Scriptのバージョンが違うとかに依存する場合、バージョンが古いだけだし。
C言語で言えば、Win32組むのと、LinuxでX11組むのと、Macで組むのと 書き方は違うが全部C言語みたいなもので
Eclipseがemacsやvimより優れている点を挙げてみよう。
ソースコードとの比較も容易。CVS(Eclipse標準装備)/Subversionプラグインにもこの機能は存在する。
・上位版にWSADが存在する。
・Smalltalkで有名なVisualworksの影響を受けているため、
JUnitプラグイン(Eclipse標準装備)によるテストファースト、リファクタリングの他、eXtreme Programming環境が充実している。
・SubclipseプラグインによりSubversionにも対応できる。これはCVSよりも強力!
・Call Hierarchyプラグイン(Eclipse3.0から標準装備)によりメソッドの呼び出し階層を調べることができる。この機能は強力だ!
・プラグインによってはURLを指定するだけでプラグインの自動ダウンロード、自動インストール、
自動アップデートができるためプラグインのインストールが非常に容易。
・Eclipse上から直接Tomcat, JBossなどを再起動できるSysdeoプラグイン、JBoss-IDEプラグイン
という強力なプラグインが充実している。
・EclipseUML Omondoプラグインによりクラス図などを書いたり、
UMLによるModel Driven Architecture, リバースエンジニアリング
などを即座に実現できる。
・RSSリーダープラグイン、MP3プラグイン、All The Newsプラグイン、
など様々なプラグインが充実している。
・PHP開発が可能なTruStudioプラグイン、Perl開発が可能なPerl E.P.I.C. プラグイン、
C/C++開発が可能なCDTプラグイン、AspectJ開発が可能なAJDTプラグインなど
・そのほかにD言語プラグイン、C#プラグイン、Pythonプラグイン、JavaScriptEditorプラグイン、
CSSプラグイン, HTMLプラグイン, XMLプラグイン、(Jakarta)Velocity UIプラグイン、
Apache Antプラグイン(Eclipse標準装備)、非常に強力なApache Mavenを使うことができるプラグイン、
ゲームができるプラグイン、メーラとしてつかえるプラグイン、Wikiプラグイン、Hibernateプラグイン、
FindBugsプラグイン、CheckStyleプラグイン、Jalopyプラグイン、Sobalipseプラグイン、ソロプログラマープラグイン、
など様々なプラグインが充実している。
調べたら{}のないCみたいな感じじゃない?
perlやらrubyやらよりよほど書きやすそうだけど、なんでそんなに嫌われてるの?
オレはperlに挑んだけど掲示板とチャット作ったくらいで挫折したわ
すげー書きにくい、もうやりたくない
Pythonをかれこれ5年ほど使っているけれど、いい加減頭にきた。
大体頭に来るような内容というのは限られていて大体は
http://www.aoky.net/articles/steve_yegge/tour_de_babel.htm
本当にPythonを殺し、メインのスクリプト言語となる望みを、あるいは何であれメインの言語となる望みを絶ったのは、永久凍土の問題なのだ。人々はいまだ埋め込みインタプリタにTclを使っている。どのような面から見てもTclよりPythonの方が遥かに優れているというのに——ただし永久凍土の問題を別にすれば。
これに尽きる。
よく言われるが、インデントに縛りがあるのもselfが付くのも慣れてしまえばさほど気にならないし、むしろ魅力的とも感じる。
しかし、Pythonを本当の意味で糞たらしめて居るのはその言語を使っているコミュニティがあまりにも思考停止しているからだ。
インデントやselfが気に入らないなんて些細な問題を他の言語使いから散々文句を言われたがために、本当の意味で言語の弱点になっている部分が指摘された時にも「それは言語仕様が悪いんじゃない。言語仕様に沿って考えられないお前の頭が悪いだけだ」と言ってくる。
実際のところ、Pythonの仕様には言い逃れのできない仕様の穴は幾つもある。もちろんよく引き合いに出されるRubyやPerlにも仕様の落とし穴は山ほどある。仕様の穴そのものは実はそんなに深刻な問題ではない。
真に問題なのは、Pythonコミュニティはその仕様の穴を断じて穴と認めない事だ。
言語同士でdisり合いになったとき、何かその穴をつつかれた場合の各人の反応はおよそこんな感じだ。
Perl使い「そうだよね、そこの仕様は頭悪いよね。でもPerl6のこの機能使えばこんなに短く綺麗に書けるんだぜ(と全く読めないコードを出す)」
Ruby使い「うんうん、仕様の話題でもそこは殺人現場とか呼ばれてるね。コミュニティ的にはこっちの機能を使うことを推奨しててそっちはobsolatedだね」
PHP使い「それ言い出したらこっちにこんなに大きな地雷あるし、この地雷なんてもっと大きいぜ。ほんとPHPは地獄だぜ」
Python使い「お前の思考通りに言語が動くんじゃなくてお前の思考を言語に添わせるんだよ、言語の挙動すら理解せずに使おうとするんじゃねえ」
こんな感じに、まず最初に質問者へ人格攻撃を行う。インデント言語であることやselfの問題について未熟なプログラマからのどうでもいい指摘を散々受け流してきたPythonコミュニティは、言語仕様について文句を言われる事に慣れているためまず相手を攻撃する。初心者を寒波が洗礼するのだ。
言語仕様が汚くなっている事まではどの言語も一緒なのだけれど、Pythonコミュニティだけは欠点を認めず必死に(∩ ゚д゚)アーアーきこえないという態度を取る。
JavaScript って生き物っぽいって思ったのがきっかけだった。
なんか菌?に遺伝子いれてたんぱく質を生産させるやつ? Function は菌の細胞膜で prototype は遺伝子で、だから prototype に全然関係ない違う生物の遺伝子を生きてる菌に入れちゃったり。そうすると全然ちがうたんぱく質が生産されたり。prototype にべべーっとコピーして追加するのなんてまさしくそれっぽい。
だってプロトタイプベースって、生き物しかいない世界じゃない?基本的に。インスタンスってのは生き物じゃない設計図があってそれにしたがって出来た生き物がインスタンスってイメージあんだけど。プロトタイプベースの世界にはそんな設計図も生き物じゃないものもないよね?なのにわざわざインスタンスっていうのに何か違和感?ご都合主義的なもの感じる。クラスは型で、インスタンスを実体だとかなんとかって氾濫してるせいかな。多分この辺の用語が JavaScript をわかりにくくさせてる気がする。
僕の感覚では、オブジェクトってのは生き物で、クラスベースってのは神が設計図に基づいて生き物を生産してる世界で、インスタンスベースってのは生き物が生き物を複製してる世界のイメージだ。多分、原始の生物はインスタンスベースみたいな世界で、海の中にうようよしてたんだろうな、とか。
オブジェクトじゃないものは、生き物じゃない死んでるたんぱく質や RNA の破片みたいな。それだけじゃなにもできないみたいな。それだけじゃ命がないから、生き物の殻に詰めるってのが JavaScript のコンストラクタのイメージ。
Perl の bless したらこれはもう命入ったよ生き物だからねっあとは勝手にしてねってのも、Python の名前空間さえあればなんとかなるよねってのも、JavaScript のハッシュさえあれば世界作れるよねってのも、みんなどこか似ている。ちゃんと OOP を理解できてるかは別としてもこの三つはわりとすぐやりたいことができた。昔 Java の本を買ってきて挫折したのにくらべたら、なぜかずっとわかりやすかった。(bless という命名はすごく洒落てる)
全然関係ないけど、Django の日本語リファレンスは何か萌える。ラクダ本の日本語訳はむかつくのに。
プログラミングを始めたばっかりの時は、なんだか難しい用語の意味を理解しないと OOP がわからないと思ってた。それは僕らの住んでる世界とは全然関係のないプログラミングの技術ってやつだと思ってた。
でも多分違う。
世界が動く仕組みさえあれば、あとは作り手に世界の成り立ちを抽象化する表現力さえあれば、世界は勝手に表現されていくし、動き出してく。たまたま僕らの世界はオブジェクトなもので溢れていて、プログラミング言語が進化すれば世界に似るのも当然だろう。いや逆か。プログラミング言語が世界に似てきたから、オブジェクトなんていう世界に似た概念が出てきたってことか。なんだか難しい用語ってのは、その表現の一部分の技術に名前をつけてるだけなんだな、と。例えば何とか歌唱法や何々画法とか何とかレトリックとかパースの取り方みたいなのと同じ。それは表現を理解する手助けにはなるけど、その意味を知る事がイコール表現力をあげることにはならないんだよね。これに気づくのに遠回りしすぎたなあ。
(知識を得るだけで、100% 還元される人もいるかもしれないけど、そんなのは一部の天才だけだと思う。殆どの凡人はそうはいかない。とはいえ、元の錬度が低ければ、コツをいくつか教わるだけでいきなりうまくいくこともある。ただ、それをまるまんま実力だと思うのは、どんな分野でも危険だ。恋愛テクニックやらを必死に読んでる連中が男女間の深い人間関係を上手くやれてるとはちょっと想像できない!)
プログラミングで表現力を上げるにはどうすればいいんだろう。きっと他と同じだろうな。いい表現を沢山味わって、世界をよく観察して、どう成り立ってるかどう動いてるか、私達はそれをどう認知しているのか、考えることかもしれない。漫画家を志す人が美術解剖学を学んだり、優れた画家が絵筆で世界を生々しく描写するように、優れたプログラマは世界のなりたちをプログラムに写し取ったり、世界の仕組みを作る事が出来るのだと思う。