ページ

2011年10月30日

node.js/socket.ioをインストール

JavaScriptは好きではないのですが、諸般の事情でちょっとだけ触る羽目になりました。まあ、websocketのちょとした調査です。のメモ。

node.jsのインストール
brew install node.js

npmのインストール
curl http://npmjs.org/install.sh | sh

socket.ioのインストール
npm install socket.io

chatを動かすための諸々のインストール
npm install express
npm install stylus
npm install nib
npm install jade

socket.ioのサンプルのchatを動かす
cd node_modules/socket.io/example/chat
node app.js

ブラウザでhttp://localhost:3000/にアクセスしてチャット開始。開発ツールでネットワークをモニタするとhttp://localhost:3000/socket.io/1/websocket とお喋りしているらしい。

今日はここまで。

2011年10月26日

Ubuntu 11.04に入れたOracle XE 11gを11.10で動かす方法

Ubuntu 11.04にOracle XE 11gに入れて、Ubuntuを11.10にバージョンアップすると、Oracleは動かなくなります。このフォーラムによると、バイナリエディタでバイナリを書き換えれば大丈夫だよ、って恐ろしいことを書いています。ありえないです。なので、会社の@buzztaikiの指導のもと、動くようにしました。

症状
まず、11.10にアップグレードした状態でsqlplusで接続すると
ERROR:
ORA-12514: TNS:
リスナーは接続記述子でリクエストされたサービスを現在認識していません


ユーザー名を入力してください:
と表示されます。oracleユーザになって、sqlplus / as sysdbaとすると、
アイドル・インスタンスに接続しました。
と表示されます。そのままstartupと実行すると
ORA-00845: MEMORY_TARGET not supported on this system
とエラーになります。

対策
sqlplus / as sysdbaで接続して、次の文を実行します。
create pfile='/tmp/iyan.pfile' from spfile;
/tmpにiyan.pfileが出来ているので、*.memory_targetの値を0に変更して保存します。sqlplus / as sysdbaで接続して、次を実行して起動できるか確認します。
startup pfile='/tmp/iyan.pfile'
無事起動できたら、shutdown immediateして一旦、Oracleを落とします。そして、次を実行します。
create spfile from pfile='/tmp/iyan.pfile';
さて、これでstartupすると、ちゃんと起動できます。めでたしめでたし。

でわでわ

2011年10月22日

今更Googleの音声認識を試す

Siriのせいで音声認識が流行っている今日この頃ですが、みなさん、いかがおすごしでしょうか? Siriの盛り上がりも、みんなそろそろ飽きてきた頃だと思いますが、音声認識で英語の発音の練習が密かなブームらしいです。どこでブームになっているかは知りません。

さて、今日はCTOとランチを食べているとき、音声認識の話になりました。 Googleの音声認識でちゃんと認識してくれないとか。ちなみに、僕は通じればいいやと思っているので下手くそな発音です。子供にも「ママの英語はうまいけど、パパの英語はいまいちだね」って言われます。で、CTOは僕と違って発音に気を遣っているのでちゃんとしています。で、彼が言うには"take"がちゃんと認識するとか、しないとか・・・。で、家で試してみるとGoogleの音声認識でちゃんと認識してくれます。たぶん、CTOは何かを誤解しているんだと思います。

さてさて、それで僕は「シー」の発音が苦手です。歯並びが悪いせいだと学生の頃に達観してしまったので、上手くなるはずもありません。で、「rice」って言うと、うーん、認識してくれないですね。「rights」になっちゃいます。おかしいですね。「lice」って言うと「lights」になっちゃいます。何かがおかしい。「see」っていうと「c」になります。これはいいです。で、「nice」って言うと、「night」ってなちゃうことを期待しましたが、これは、「nice」です。訳わかんなくなってきました。「rice」は10回ぐらいがんばると、やっと認識してくれました。うーん、難しいですね。

印象としては、Siriの方が僕の英語を認識してくれるようですが、単語単位か文として認識するかの違いかもしれません。愛の違いかもしれません。 Siriに「I want to eat rice」って言うとちゃんと認識してくれましたが、Googleの方だとriceはrightsになっちゃいました。まあ何にせよ、ちょっと離れて見てみると区別がつかないかもしれませんが、liceにならないのでいいですね。変なものが好きなCTOならliceも食べちゃうかもしれませんが、僕はriceしか食べません。

そんなこんなで、英語の勉強と称して海外ドラマを見るのでした。英語の勉強だって言っているのに嫁には「ヒマだね」って言われます。とほほ。

 

でわでわ



2011年10月20日

お得なWeb+DB Press総集編

発売前に届いていたのですが、書くのを忘れていました。技評からWEB+DB PRESS 総集編 [Vol.1~60]
を貰いました。一度でも記事を書いておくと総集編をタダで貰えるので、とってもウハウハになります。

さて、この本は10年分の記事がpdfでDVD-ROMに入っています。 pdfが手に入れば、本棚の雑誌は一気に処分できて、本棚的にもうれしいです。技評はWeb+DB Pressに限らず定期的に総集編とかで記事をpdfにしてくれるので、とってもいいです。

僕はDVDにあるpdfをMacの中にコピーしています。さすがに、pdfになったものを何もないときに読み返すことはないですが、spotlightの検索対象になるので、それだけでも便利です。紙の媒体だと埋もれてしまう情報にもアクセスできます。まあ、現実にはアクセスして読むことはたまにしかないんですが、 それでも読むのは簡単に見つけられるからです。しかも、それを持ち歩けます。

総集編の雑誌の中に何か記事が載っていたような気もしますが、DVDからpdfをコピーして、それで満足してその何かの記事は読んでいません。ごめんなさい。

もうちょっと言えば、僕はDVDはiMacからしかアクセスできないので、できればネットワークからダウンロードできるとうれしいかな。

Web-DB PressやSoftware Design(こっちは1年ぐらいごとにpdfにしたものが雑誌に付いてきている気がする)の総集編はとってもお得なので、 それだけでも買っといた方がいいんじゃないかな?

 

でわでわ 



2011年10月19日

Ubuntu 11.10にバージョンアップ

会社の開発環境はUbuntuを使っています。一応、このご時世ですのでIEは無視できないです。そのためIEの動作確認用にWindowsはVirtualBoxの中で動いています。

Ubuntuはつい先日11.10っていうリリースがありました。僕はリリースされたその日にアップデートして使っています。仕事の環境が壊れても、本当に必要なデータはローカルにはないので、数時間で復旧できます。そのため、何も考えずに作業しちゃいます。

で、11.10。 このリリースからUnityと言うのがすべての人に強制されます。11.04の頃は、最初は喜んで使っていましたが、いまいち使いにくいので昔の表示に戻してしまっていました。そして、11.10はその昔の表示のやつがいなくなってUnityだけになってしまいました。デフォルトはね。

このUnity。Ubuntuを全否定したくなるほど中途半端というか、使い勝手が良くないというか・・・。Ubuntuを含めたLinuxのデスクトップ環境を使うのは変態だけです。いやいや、コンピュータに詳しい人だけです。それでもgconf-editor(Windowsでいうレジストリエディタ)とか使わずに普通に設定を行いたいわけです。でも、ほとんどの設定項目がありません。デスクトップのフォントを変更すらgconf-editorを通してでないと出来ません。Unityのランチャのバー(なんて言うのかしらない)のサイズ変更も位置の移動も簡単には無理です。10年以上前に戻った錯覚すら憶えます。

メニューの位置はまあいいとして、通常の状態ではメニューの項目が隠れています。僕は隠さないで欲しいです。 それから、アプリの起動の方法も中途半端だし・・・。

ちょっと前まで普通に出来ていたことが出来なくなります。あまりにも悲しいです。本当の初心者を相手にするなら、フォントの項目は入らないかもしれませんが、大多数のユーザは変態です。そんな変態たちにいろいろな設定項目を隠すのは間違っています。

ちょっとだけ我慢して使いましたが、あまりにも使いにくいので、xfceにしちゃいました。快適です。

でわでわ。 



2011年10月18日

pythonでhttpのファイルアップロード

とりあえず、何も書かずにどんどん過ぎたってしまうので、Pythonでファイルをアップロードするコード。日本語のファイル名もそこそこちゃんと扱ってくれるはず。

#! /usr/bin/env python

import mimetypes
import os.path
import random
import sys
import urllib
import urllib2

OS_FILESYSTEM_ENCODING = sys.getfilesystemencoding()

FORMENCODE_HEADERS = {
     "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
     "Accept-Language": "ja",
     "Accept-Charset": "utf-8"}

MULTIPART_HEADERS = {
     "Content-Type": 'multipart/form-data; boundary=',
     "Accept-Language": "ja",}


        
def is_multipart(postdata):
    for value in postdata.values():
        if isinstance(value, file):
            return True
    return False

def encode_postdata(postdata):
    getRandomChar = lambda: chr(random.choice(range(97, 123)))
    randomChar = [getRandomChar() for x in xrange(20)]
    boundary = "----------%s" % ("".join(randomChar))
    lines = ["--" + boundary]
    for key, value in postdata.iteritems():
        header = 'Content-Disposition: form-data; name="%s"' % key
        if hasattr(value, "name"):
            name = value.name
            if isinstance(name, str):
                name = name.decode(OS_FILESYSTEM_ENCODING)
            header += '; filename="%s"' % os.path.split(name.encode("utf-8"))[-1]
            lines.append(header)
            mtypes = mimetypes.guess_type(value.name)
            if mtypes:
                contentType = mtypes[0]
                header = "Content-Type: %s" % contentType
                lines.append(header)
            lines.append("Content-Transfer-Encoding: binary")
        else:
            lines.append(header)

        lines.append("")
        if hasattr(value, "read"):
            lines.append(value.read())
        elif isinstance(value, unicode):
            lines.append(value.encode("utf-8"))
        else:
            lines.append(value)
        lines.append("--" + boundary)
    lines[-1] += "--"

    return "\r\n".join(lines), boundary



def open_url(url, postdata=None, headers = None):
    encoded = None
    _headers = None
    if postdata:
        if is_multipart(postdata):
            encoded, boundary = encode_postdata(postdata)
            _headers = MULTIPART_HEADERS.copy()
            _headers["Content-Type"] = _headers["Content-Type"] + boundary
        else:
            encoded = urllib.urlencode(postdata)
            _headers = FORMENCODE_HEADERS

    request = urllib2.Request(url, encoded)
    if _headers:
        for key, value in _headers.iteritems():
            request.add_header(key, value)
    if headers:
        for key, value in headers.iteritems():
            request.add_header(key, value)
    opener = urllib2.build_opener()
    response = opener.open(request)

    return response


if __name__ == "__main__":
    url = "http://example.com/post"
    postdata = {"key": "value",
                "file1": open("somefile.txt", "r+b")}
    resp = open_url(url, postdata)
    print resp.read()

2011年10月15日

おっ! Siriを試す

iPhone4sのセットアップも一通り終わったので、噂のSiriを試してみました。とりあえず、リストされている言語の中で使えそうな英語なので、英語(アメリカ合衆国)に設定します。ちなみに、僕はJapanese accentな英語です。

 まず、「I love you.」って言うと浮気するな、みたいなことを返してくれるらしいので、ここから始めます。すると、「I hope you don't say that to those other mobile phones, Hiroki.」って言ってました。Hirokiっていうのは僕の名前ね。もう一度「I love you」って言うと、「Oh, stop.」って言います。ちょっとはいろいろ考えているみたいです。

「I love you.」で通じたので、僕がいつも音声認識で試す「I want to eat Hambargar.」って言います。あんまり意味はないです。大昔のロータス時代の名残です。すると、「Sorry, Hiroki. I can't look for restrants in Japan.」 っていわれます。日本語を認識しないだけじゃなくって、日本に関する情報が登録されていないようです。「How can I go to XXX station?」って言うとやっぱり、 「Sorry, Hiroki. I can't look for placesin Japan.」って言われます。日本語がわかってくれないだけじゃなく、Siriは日本を知らないらしいです。道に迷ったときに渡辺謙に話しかけるみたいに話すと案内してくれると思ったのに、ダメそうです。

で、Siriって何ができるの?そんなことは彼女に聞いてみます。「What can you do?」すると、「You can ask things like:」ってでて、いろんな例文が出ています。それじゃ、と言うことで、例文通り「How can I get home?」って言うと、Which home for Ohtani Hiroki?ってでてアドレス帳にある僕の住所から、どっちかを選べ、って出ます。なぜ、僕にhomeが二つあるんだ?と思いつつ片方を選択すると、I can't find xxxって言われて、やっぱり僕の家を見つけてもらえません。

とりあえず、日本語だけじゃなく日本じゃまだ、使えなさそうなので、Siriをオフにします。電気もたくさん食いそうだし・・・。

 

でわでわ 



iPhone4sを手に入れる


周りにせかされて、先週予約したiPhone4sですが、今日、入手しました。

昨日の夕方、受取時間の確認の電話が来て、受け取れる一番早い時間を聞くと9時と言うことでした。と言うことで、その時間に予約を入れました。場所は川崎のビックカメラです。この時間につくためには、いつもより遅い時間に家を出ないといけません。なので、いつもよりゆっくり家でくつろぎました。

到着すると、「システムが8時20分頃に止まってしまって、30分には復旧するはずが、まだ、何の連絡もありません。いつ復旧するかわからず、前の人がいるので復旧してから30分はまたないといけません。」って言われました。サーバが悲しい悲鳴を上げるのはいつものことです。その辺の期待値は地に落ちているのでなんとも思いません。いつ普及するかわからないので、夕方に予約を入れ直して、会社に行きました。ちなみに、ソフトバンクの方は賑やかでしたが、auのほうはほとんど人がいませんでした。

サーバがまだ普及していだろうと思いつつ4時30分ぐらいに再度来店しました。やっぱりまだ、システム障害中です。予約の段階ですらトラブルがあったのに、実際の販売でシステムにトラブルが起きないはずはありません。期待を裏切りません。顧客の期待通りにするソフトバンクは優秀です。 サーバが落ちているので、実際の開通は後日と言うことで、ぶつだけを支払いとともに受け取りました。開通は「明日ぐらいになります。ひょっとしら明後日になるかもしれません」と。まもりに入ったいいわけです。「その間、電話は古い方にかかってきます」って言われます。友達がいないので、電話はかかってきません。大丈夫です。「ネットワーク機能も使えません」って説明されます。Pocket Wifiがいるので大丈夫です。ちなみい、3GSにはSIMは刺さったままです。いえーい。

ビックカメラ川崎ではソフトバンクの方は当日発売分はありませんでした。でも、auは優秀です。僕の行った5時前後の時には、au iPhone4sは白はすべてのモデル、黒は32Gのモデルが在庫ありの状態です。手続きの窓口も2,3人並んでいるだけです。SoftbankからSoftbankへの移行ならわかるんですが、docomoからSoftbankにやってくる人もいます。auの方が速いらしいので、みんなauにいってソフトバンクの回線を開けてあげましょう。 

と言うことで、うきうきしながら帰りました。 

でわでわ 




2011年10月13日

初めてのIkeaに一人でお使い

嫁がしょちゅうIkeaに行って何かを買ってきます。なぜ、そんなにIkeaに行きたがるのか、ずっと疑問でした。かなり前にこんな記事が載っていたのですが、そうは行ってもついつい何かを買ってしまうのは意思が弱いからだと思っていました。行ったこと、なかったんですけどね。一緒に行くと速く帰りたがるので連れて行ってもらえませんでした。

まあ、そんなこんなだったのですが、PC用の机を買い換えたくなり、さらに諸般の事情で僕が一人で買いに行くことになりました。横浜の港北のIkeaです。車で大体1時間ぐらいの距離です。

開店と同時ぐらいに店に着きました。必要なものだけを買って帰ろうかと思ったのですが、どんなところか一通り見て回りました。ただ、おっさんが一人でじろじろ見て回ると怪しまれるんじゃないかとか、いらぬ心配をしながらさっさと歩いて見て回りました。まあ、もともとじっくり見るつもりはないですが・・・。 そして、必要なものをさっと買って帰りました。途中、サボテンを買っちゃいそうになりましたが、そんなことをしたら嫁になんて言われることか・・・。負けちゃいけない(何に?)と思ってじっと我慢です。

まあ、ざっと見てまわった感想は、「これは女の人が好きなはずだ! ついつい買っちゃうよね」と。きっととっても楽しんでしょう。僕は楽しめても10分ぐらいですが・・・。

さて、そんなこんなで、おうちのお仕事(?)スペースはこんな感じになりました。机と横のキャビネットで1万6千円ぐらいです。

IMG_1163.jpg 

でわでわ。 



2011年10月11日

RX-8生産終了なのか・・・

先週はiPhone4sの発表があったかと思うと、ジョブズの訃報でニュースがリンゴ一色になったりしましたが、その陰でこっそりRX-8が生産終了というニュースがありました。多分、車が好きじゃない人にはなんのことかわからないと思いますが・・・。僕にとってはこちらのほうが悲しいお知らせです。ロータリーエンジンって子供の頃の憧れだったので、将来は乗ってみたいエンジンでした。20代ころはそんなにお金がなかったし、あっても東京に住んでいたので車は必要なかったり。30代になると、子供がいて4人しか乗れない車は必然的に対象から外れます。だから憧れだけでした。

まあ、世の中の流れ的には仕方ないのはわかるんですが、ロータリーエンジンを市販している会社だから多少安っぽくても(値段相応とも言いますが・・・)Mazdaの車を乗っていたのですが、うーん、残念です。まあ、Mazdaにはまだ、ロードスターがいるのでそれで我慢しましょう。あと、15年ぐらいは買えないけど・・・。 まあ、そのころには、水素エンジンの車として復活しているかもしれません。

なんか、一つでもとんがったところがあると、他の多少悪いところにも目をつぶったりすることもあるものです。とんがったところがあるから、ファンが増えたり、裾野が広がったりすると思うんですが、それがなくなるとどうなるんでしょう?まあ、そのとんがったところのファンって実はそんなに多くなかったりして・・・。

それはそれとして、今週末はちゃんとiPhone4sは手に入るんでしょうか?また、ソフトバンクのサーバは悲鳴を上げるんでしょうか?

でわでわ 



2011年10月8日

iPhone4sとUltra Speed


iPhone4sの予約が始まりました。周りからの「もちろん予約するんでしょ!」という無言の圧力?に屈して、予約してしまいました。僕の使ってきた3GSの電池の持ちが悪くなってきたと言うこと以外は、本音としては特に不満があるわけでもなく、iPhone5を待ちたいところです。そうは言っても買ってから2年を過ぎれば割高感があるわけで、乗り換えたいというのもあります。

まあ、そんなこんなで予約しました。最初はBicCameraの有楽町で予約しようと思っていたのですが、すごく並んでいるとか、予約は開始早々終わってしまったとか、ウソか本当か分からない情報があって、結局帰り道にある川崎のBic Cameraで予約しました。藤沢にするかも迷ったのですが、なるべく会社に近いところ、と言うことで。

で、金曜の夕方に行ってみると予約するための予約券だけを配っています(Softbankの方ね)。「今日の手続きは終わりました」って。と言うか、サーバが混みすぎて出来ないとか・・・。おいおい。予約ごときで・・・。回線だけじゃなくサーバも弱いのか?ちなみに、auの方は3人ぐらいならんでいるだけで、粛々と予約しているようです。渋谷などは至る所で並んでいるって聞いていたのですが、川崎は穴場なんでしょうか? 

と言うことで、日があけて今日、予約の予約券をもって予約しに行きました。ソフトバンクの売り場は予約の予約券を持った人で一杯です。そして、予約の手続きで忙しそうです。当日は200台ぐらいは、入荷するそうです。それ以上はよく分からないらしい。auは、「発売日当日にはお渡しできないかもしれません」という張り紙とともにがらがらです。想像していたのとは全然違いました。

さて、そんなことはどうでも良くって、パケット定額の話を聞いていると、2段階定額の方だと、Ultra Speedが月額2500円ぐらい + 最初に9000円ぐらいで利用できるらしいです。Ultra Speedって42Mのサービスで1.5G Hzの方を使うので、まだ、がらがらに空いているやつです。iPhone4sに4G的なものが付かなかったので、これはとっても魅力的です。WiMAXより素敵かも。エリアもemobileのやつも3Gも使えるし。auよりはるかにお得じゃないか?これならiPhoneでテザリングがなくても許せます。まあ、都会じゃ3Gは速度が遅くって使い物にならないって言うことの代替だとは思いますが・・・。これだけ見ると、auって全く魅力がなくなります。あっ、僕はほとんど電話はしないので、そこの品質はどうでもいいです。

auに全く魅力を感じませんが、みんなauに行きましょう。

 




2011年10月6日

iPhone4sでしかなかったけれど・・・

事前の噂で勝手に大きく期待して、直前の噂でなかばあきらめ、正式発表で「結局iPhone5はいつなんだよ? iPhone4s買っていいの?」という微妙な状況になりました。でも、僕が持っているのは3GSなので2年も過ぎているので買い換え時です。iPhone5がでたらまた検討すればいいので、iPhone4sは買うことになります。

iPhone4sは順当なバージョンアップですが、4Gと呼ばれているモノが載っていないのが残念です。他のAndroidがWiMAXなりUltra Speed(?)が載っているので、それに比べるとすごく見劣りがします。Androidにはなじめないので、iPhoneを使い続けることになります。

今回はSoftbankとauから出ます。こんな記事もありますが、 auはこんなに素敵な回線速度らしいので、惑わされずにみんながauに行けば、Softbankの回線があいて快適になるはずです。みんなauに乗り換えましょう。僕はいろいろめんどいので、Softbankのままです。どうせ、イーモバイルのWifiルータもあるしね。 



2011年10月5日

在宅勤務するとき、どんな感じ?

以前、何回か書いていますが、僕の働いている会社では在宅勤務できます。と言っても、ずっとじゃなくって週何回かと言うルールはあったかもしれません。それ以外にも若干のルールはあります。自宅で働いた翌日に作業時間を報告しないといけません。これは社員を信用していないとか、そういう話じゃなくって、社員を働かせすぎないようにするためものです。あとは、メールなどで連絡がとりやす状況にすることとか。僕も時々自宅で働きます。子供がいると仕事が出来ないので、子供の夏休みなどはしませんが・・・。ただ、かなりの開発の人は自宅である程度働くことができるのですが、一部の人を除いて自宅で作業しようとしません。みんな、会社が好きなんでしょうか?

週末にテレビを見ていたらテレワークとかに関する番組をやっていました。 内容は、まあ、それなりです。slashdotにも在宅勤務についての話題がありました。アリエルが出来たときは、数ヶ月はずっと自宅で働いていたりしたので、そのとき分かったことです。

まず、平日の昼間に自宅の周辺をうろちょろしていると近所の住民に怪しまれます。大体、失業中って思われます。おばちゃんと立ち話をすると、段々主婦の気持ちなるかもです。

最近は自宅で働くときはお昼ご飯は自分で作りますが、10年前は食事に外に出かけていました。ほとんど外に出なくなるので、外にでて気分転換するのは大切です。

で、先の記事だと、在宅勤務するとあまり働かなくなるんじゃ?と。一般的なことは知りませんが、僕の知っている限られた世界ではあまりは働かなくなるんじゃなくって、 働きすぎるように思います。自宅で働く場合、僕は8時ぐらいから働き始めて、18時ぐらいまで。それから子供が寝てから12時ぐらいまで働きます。まあ、働いているのか遊んでいるのかは微妙なんですが・・・。

それから、服装。まあ、会社に行くような服装で働きます。とは言っても、会社に行くのもばっちい服なので、どれくらいちゃんとしているかは疑問ですね。外にそのまま出てもいいような格好じゃないと、僕は仕事をするっていう気分がのらないです。

それから、残念なところは家の方が会社より開発環境がちゃんとしていたり、快適だったりすることです。で、机がいまいちかっこ悪いので、今は新しい机を物色中です。

でわでわ 



2011年10月1日

今度のありえるえりあ勉強会はJavaScriptです


会場の都合がつかず、ちょっと間が開いてしまいましたが、今度のアリエルエリア勉強会はJavaScriptです。多分、サーバサイドのマニアックなものじゃなく、クライアントサイドの方です。それ以上詳しいことはまだ、未定だったりもしますが・・・。10月13日の19時開始です。こちらから申し込みください。 

今回は、しゃべる人もほぼ決まっているんですが、講演して貰う人の講演内容はまだ決まっていません。この状態で申し込めって言われても困るかもです。タイトルに「大規模開発」って書いていますが、あんまり関係ありません。ある程度のコード規模(たとえば数千行とか)の開発はどうなのか?とか、どう設計するのか?とか、メンテナンスしやすいコードにするにはどうすればいいのか?とか、複数人での分業はどうなるのか?とか、かもしれません。もしくはなんかのライブラリの紹介かもしれません。

さて、今回はアリエルのCTOが「パーフェクトJavaScript (PERFECT SERIES 4)
」 を出版したらしいので、それにあわせています。僕は読んでいませんが、ちまたの噂ではいい本らしいので、買ってあげてください。でも、CTOは「JavaScript嫌いなんです。静的型付け言語がいいです」って宣っていました。この本を書いた人はJavaScriptが嫌いなんだと思いながら読むと、また別の感想を持ているかもしれません。

JavaScript勉強会を開いておきながら、僕もJavaScript嫌いです。でも、大きな声で言うと若者にバカにされるので、秘密です。

 

でわでわ