Closure Libraryはイントラのアプリ作るのにはいいかもと思った

jQueryで色々プラグインを入れると管理が大変だし、イントラになんか作るときにはclosureみたいにしっかり管理できるライブラリがいいのかなと。ちなみに一昨年の年末に購入した本だった。

ProductName Google API Expertが解説する Closure Libraryプログラミングガイド
伊藤 千光
インプレスジャパン / 3570円 ( 2010-12-10 )


Closure Libraryが得意とするのは、もちろんインタラクティブなWebアプリケーションの開発です。Googleのアプリケーションほど大規模でなくても、GUIを中心とするデスクトップライクなWebアプリケーションには効果的です。

そう思うが、ライブラリ特有のお作法を学ぶコストがかかるのかなぁと感じたのであった。

本書は全体を通してTiny WordっていうWebアプリを作ってGAE/Pにデプロイするところまでカバーしている。一通り写経してみたんだけど、理解しながら読み進めたというよりは欠かされている感があったかも。javaなヒトのほうがすんなりと理解しやすいのかなぁと。

個人的にはClosure LibraryのツールバーがWAI-AREA規格に対応していてキーボードショートカットがさくっと実装できるあたりや、特に企業のイントラアプリに必要そうなウィジェットが揃っているのが気に入った。職場でwebアプリを作るときには第一選択肢にしようっと。

写経してたときに気になったのはコードが断片すぎてコードを追いにくかった。メソッドも断片だったのでgogle cpdeのレポジトリの参照は欠かせなかった。

おまけ

Closure Libraryを利用したwebアプリがなかなか見つからないんだけどchemoinformatics関連ではちょくちょく見かける。というのは化学構造エディタをweb上に実装したいっていうニーズがあるからかなぁと。

ケミストだったらタブレットでさくっと書けるエディタとELNのセットが欲しいだろうしね。

これなどおもしろそうですね。 そもそもGoogle Closure - Building Complex Applications with JavaScriptで興味を持ったので買った本なんだけどね。製薬企業とかケミカルな会社のコミュニケーションツールの構築にはいいライブラリなんじゃないかなぁと。

実際に使っている製薬企業あるのかなぁ?

第三回HTML5読書会をやります

今回は富士市のコミュニティfでやります。

ProductName HTML5&CSS3実践入門 最新Web標準を使いこなす (The Pragmatic Programmers)
ブライアンP.ホーガン
インプレスジャパン / 2940円 ( 2011-07-08 )


みんな大好きCanvasとAudioタグまわりを広く浅くな感じでざざっとやりますので、初心者でもわかりやすい安心安全な内容になると思います。

もちろんそろそろ発売される予定のHTML5 Canvasのウォーミングアップのために参加するのも良いでしょう。

ProductName HTML5 Canvas
Steve Fulton
オライリージャパン / 3360円 ( 2012-01-21 )


僕は原著読みましたが、Canvasを深く知りたいならおすすめです。

懇親会は今までの串エクスプレスや上腕二頭筋からは趣向を変えておしゃれ系の野村食堂でやります(富士駅から近いので帰りが楽)。懇親会だけ出たいというヒトがいたら、@kzfmまで連絡下さい。オシャレ要員としてカウントさせて頂きます。

追記 120113

それから、欲しい本があったらtweetしておいてください。

手打ちそばの疑問に答えていただいた

かなり腑に落ちた。

そばを打つということはどういうことなのか?どこをゴールにすればよくて、それぞれの過程にはどういう意味があるのか?

っていうのは蕎麦を打っていると普通に沸き上がってくる(とめどなく?)疑問なんだけど。

小麦粉を扱う(うどんや餃子の皮を作る場合)と違って蕎麦は水回しに気を使うわけですが、それは蕎麦は水溶性蛋白質を多く含むからだそうだ。

蕎麦粉の性質

小麦粉のような粘性を示すグルテインは含まれず、水溶性タンパクであるグロブリン. アルブミンが主となっています。

それから割粉の役割は粘性らしい。

切ってる時に麺帯の向こうがだらし無く伸びてしまう理由もわかったので精進しよう。

一度はちゃんとしたそば打ち教室にでも入門するのがいいいかもしれんなぁ。

closure libraryはクラシカルな継承を実装してた

closure libraryを試している。

inheritsメソッドってクラス指向だよなぁと思いながらソースコード読んだら(1442行目)、javascpriptパターンでいうところのクラシカルパターンそのものだった。

goog.inherits = function(childCtor, parentCtor) {
  /** @constructor */
  function tempCtor() {};
  tempCtor.prototype = parentCtor.prototype;
  childCtor.superClass_ = parentCtor.prototype;
  childCtor.prototype = new tempCtor();
  childCtor.prototype.constructor = childCtor;
};

テンポラリのオブジェクトをかましていて継承関係はこんな感じになっているんだが、javascriptパターンの6章を読むとクラシカルなパターンの導出過程がわかりやすく書かれているのでオススメです。

classical

ちなみに図はblockdiagで書いてみたのだけど、クラス図っぽくないですね(あとでちゃんと書き方を調べる)。

ProductName JavaScriptパターン ―優れたアプリケーションのための作法
Stoyan Stefanov
オライリージャパン / 2940円 ( 2011-02-16 )


○のない大人×だらけの子ども

自己肯定感が足りないってことで170ページ引っ張った本

ProductName ○のない大人 ×だらけの子ども (集英社新書)
袰岩 奈々
集英社 / 735円 ( 2011-03-17 )


イマドキの学生は、お互いに意見をすり合わせていくというより、特定の一人の意見を選ぶために、それ以外の意見を捨てていくというやり方で合意に達する方法を好むらしい。

アサーティブネスとかどうすんだろうね。

まぁ自己肯定感の足りない大人に育てられたら、減点主義の物事考える子どもができるのは自然だよなぁと思ったので子どもと向き合うスタンスは考えさせられたかな。

難解な本を読む技術

難解な本だけでなく、(難解な)論文を読んだり、速読をする際にも役に立つ内容だった。

ProductName 難解な本を読む技術 (光文社新書)
高田 明典
光文社 / 861円 ( 2009-05-15 )


本には「閉じている<->開いている」の軸と「登山型とハイキング型」の軸がある。後者の軸はわかりやすくて登山型っていうのは要するに論理を積み上げていき高みを目指すタイプの本であり、ハイキング型はハイキング型です。

前者の閉じている開いているは読者に自己決定を促すか否かということであり、ウンベルト・エーコの「開かれ」の概念に由来して名付けられている。

これから読む本が上記のどのタイプに当てはまるのかを予め知っておけば、どういうスタンスで本に臨むかが明確になるし、読み飛ばしてオッケーな本なのかどうかもわかる。

また、読書ノートをつけていくことで、

  • 用語、概念が不明確
  • 論理展開が不明確
  • 本文で扱おうとしている問題が不明確

の場合にどうやって解決していくかも書かれているので、論文読むときにも参考になるが、自分の場合はマインドマップと付箋で解決している。

アルゴリズム系の論文の場合は理解した時の達成感は格別だからね。

Node.jsでAmazon Product Advertising APIをさわる

静岡デベロッパーズつくる会#4お疲れ様でした。最終的に5人でしたが、いままでで一番黙々度が高かったような。Node.jsの情報交換も出来てなかなか有意義だったですね。

昼はカフェプレアーテでつけナポリタン。スープの酸味がマイルドでなかなか美味かった。

1326098364

個人的にちょっとつくりたいものがあったので、ntwitterで遊びつつ、ExpressにoAuth認証を実装して、Node.jsからAmazon Product Advertising APIをさわるとこまでやりました。

var util = require('util'),
    OperationHelper = require('apac').OperationHelper;

var opHelper = new OperationHelper({
    awsId:     '####',
    awsSecret: '####',
    assocId:   '####-22'
});

opHelper.execute('ItemSearch', {
    'SearchIndex': 'Books',
    'Keywords': 'Node.js',
    'ResponseGroup': 'ItemAttributes,Offers'
}, function(error, results) {
    if (error) { util.print('Error: ' + error + "\n"); }
    for (index in results.Items.Item) {
    util.print( results.Items.Item[index].ItemAttributes.Title + "\n"); 
    }
});

実行結果

Node Web Development
Node: Up and Running: Scalable Server-Side Code with JavaScript
Getting Started with GEO, CouchDB, and Node.js
Hands-on Node.js
Programming Node.js
The Node Beginner Book
JavaScript Patterns
Supercharged JavaScript Graphics: with HTML5 canvas, jQuery, and More
Eloquent JavaScript: A Modern Introduction to Programming
What Is Node?

あとはExpressに取り込んで、Initializrのテンプレートをかぶせて早めに公開したい

それから今月末にもHTML5読書会があるので興味があれば参加すると良いです。Canvasタグの章をやる予定

今日の畑(120109)

ベランダのラディッシュが膨らみ始めた。

1326098044

葉も結構増えてきてた。もう少しで収穫できるかな。

1326098047

それから畑で人参を収穫してきたが、なかなかの出来だった。

Node.jsでtwitterのストリームをgrowlで通知する(改)

静岡デベロッパーズつくる会#4やってます。

前に作ったやつがうごかなくなってるのでリハビリがてらなおしてみた。

twitter-nodeってのが新しくなってntwitterになっているのとnode-growlのAPIが変わってた。

#!/usr/bin/env node

var twitter = require('ntwitter');
var growl = require('growl');

var twit = new twitter({
               consumer_key: '####',
               consumer_secret: '####',
               access_token_key: '####',
               access_token_secret: '####'
               });

twit.stream('statuses/filter', {track:['#shizudev','#shizuru']}, function(stream) {
        stream.on('data', function (data) {
                  growl("@" + data.user.screen_name + ": " + data.text);
              });
        });

ProductName Node: Up and Running: Scalable Server-Side Code With Javascript
Tom Hughes-croucher
Oreilly & Associates Inc / 2877円 ( 2011-09-22 )


新書がベスト

小飼弾さんによる新書のススメ

ProductName 新書がベスト (ベスト新書)
小飼 弾
ベストセラーズ / 780円 ( 2010-06-09 )


part3の新書レーベルめった斬りが参考になった。ヴァイナルだったらレーベルコンセプトとかはっきりしてるんだけど本のレーベルに関しては大雑把だと思っていたので面白かった。

  • 複数の本を同時に読むことの最大の理由は「本に読まれない」ためです
  • 中公新書の「物語〜の歴史」
  • 裏付けのない論理のみで構成されている本(は批判的に読む)

子どもに本を読ませたいなら、まず親が読め

part1でふれられていたが、これは本当にその通りだなぁと。読書習慣は伝染りますね。娘は年長だけど小学校低学年向けの80ページくらいの本を普通に読んでて、3冊/weekくらいはこなしている。

図書館にいくたびに、娘にとって「スラスラ読める <-> ちょっとチャレンジング」かつ「内容が娘にヒットしそうなもの」を5,6冊選んでいるんだけど、思い通りにヒットさせるとちょっと楽しい。

最近だとカーリルも活用していて、面白そうな本を予めピックアップしておいて、図書館の棚の番号を頼りに目的の本を探し当てるのが宝探しみたいで楽しいようだ。

子供用のbooklogみたいなのないかなぁ