December 2008
18 posts
ついったかうんたJS →
結局JS版作りました。実はだいぶ前に作ってたんですが、ついった上でちょこっとつぶやいてそれだけになってました^^; このまま年を越すのもなんなので、年越し前にここにも書いておきます。 実は作ってすぐTLに流した時点ではsafariでしか動かなくて、ちょっとドタバタしました^^ゞ即指摘をいただいたf1atさん、daisu_kさんに感謝です。 現時点ではMac…
Dec 30th
“「動いたものを説明して分かってもらい、使ってもらうところまで来てやっと完成なのに」ってのは、まぎれもない「敗北宣言」”
– エンジニア的発想は危険な気がしている - 矢野勉のはてな日記
Dec 25th
“一般の人が直感的に簡単に使えるソフトウェアを作るためにプログラマが泥臭い作業をやらないといけないとしても、それがプログラマの矜恃だろ”
– エンジニア的発想は危険な気がしている - 矢野勉のはてな日記
Dec 25th
カードソーティング:何人のユーザでテストすべきか →
このカードソーティングって言うの、良さそう。覚えとかなきゃ。 以下冒頭部分をはしょりつつ引用。 ざっと概要 ウェブサイトやイントラネットのデザインにおける最も困難な課題は、情報アーキテクチャの構築だ。 単に自社の組織図を反映させるのではなく、ユーザの視点を反映した情報アーキテクチャを構築するほうが、ユーザビリティの最適化をよりよく行える。 ユーザの視点に立った情報空間と各アイテムの行き先をどのようにして調べればよいのだろう。このようなメンタルモデルを調べる代表的な手法がカードソーティングだ。 て感じで書いてあって、 そのカードソーティングて言うののやり方 主な項目の名前(できれば簡単な説明も)をカードに書く。そう、紙のカードにだ。 ...
Dec 21st
2 notes
“「僕はイノベーションを起こしたい」の後に「新しいものを作りたい」が来るような〜イノベーションというのは「新しいもの」だという暗黙の前提があるから上記のような言葉が...”
– 2008-12-15 - tanigonの日記より。 イノベーションは何か新しい物ではない。覚えとかなきゃ。
Dec 21st
git-osx-installer - Google Code →
macなgitはこれっぽい。これは前にもリンク取った気もする… /usr/local/gitにインストールされるので、 ln -s /usr/local/git/bin/* /usr/local/bin とかする。(/usr/local/binが既にあって、パスが通ってる前提) guiツールを使うにはdmg直下にある「2 - Setup git PATH for non-terminal programs.sh」てのも叩く必要がある? git-xとかやとどうなんやろ…
Dec 21st
msysgit - Google Code →
winなgitと言えばこれらしい。
Dec 21st
Windows XP へ自動ログオンする
microsoftのWindows XP 活用ガイドの記事より。 コンピュータがドメインの一部でない場合、Windows XP を設定して、ログオン プロセスを自動化することができます。 [スタート] から、[ファイルを指定して実行] をクリックし、control userpasswords2 と入力します。 [ユーザーがこのコンピュータを使うには、ユーザー名とパスワードの入力が必要] チェック ボックスをオフにします。 [適用] をクリックします。 自動ログオン時に利用するユーザー名とパスワードを入力し、[OK] をクリックします。 再度 [OK] をクリックすれば終わりです。 判りにくい所に有るなぁ… でも助かった。
Dec 14th
Kent Beckの「実装パターン」が出るよ →
kakutani: 12/22発売予定。208ページ、2,310円(なんと原著の半額ぐらいで買える!!)。Amazonにはまだ書影がないけど、版元のピアソン・エデュケーションの紹介ページで確認できる。目次もあります。複合メソッド。二重ディスパッチ。… 出たら買うのだ。
Dec 8th
1 note
[プログラミング][Groovy][Twitter]ついったかうんた →
ついったのポスト数カウントツールを書いたので、置いてみました。たんぶらにちょこちょこメモりつつ書いてた物です。 TwitterCounter.zip 解凍したフォルダ直下にあるTwitterCounter.jarが実行可能jarになっているので、javaがインストールされていればたいていダブルクリックで起動します。 ダブルクリックで動かない場合は、解凍して出来たフォルダ内で java -jar TwitterCounter.jar とコマンドを実行すれば起動できるかと思います。 Web startも用意してみましたが、groovyがリフレクションを使ってる関係で無制限アクセスが必要なようで、証明書の警告が出てしまいます… 実行すると こんな感じです。 …
Dec 6th
googleChartの棒グラフのY軸ラベル
googleChartってY軸のラベルがデータ数より少ない場合に、 折れ線グラフならグラフ全体に広げてくれるのに棒グラフだと個々の棒に対するラベルとして扱ってしまって左端に固まってしまうんですね。 で、棒1本1本にラベルをつけるととてもじゃないけど読めないので、適度にラベルを間引くためのスクリプトも書きました。 String thinOut(list, count) { def result = [] list.eachWithIndex{it, i-> if ((i % count) == 0)result += it else result += "" } return "|${result.join('|')}|" } これを使って、例えば def format = new...
Dec 5th
GroovyでGoogleChartのsimpleEncodeスニペット
GoogleChatの簡易エンコードを作るスニペットが データ エンコード用 JavaScript スニペット 実際のデータを Chart API データに変換するには、手作業でなくプログラム的に行った方が簡単です。 次の JavaScript スニペットは、データ セットを簡易エンコードにエンコードします。データ セットは、正の数の配列として指定する必要があります。正数でないデータ セット値は、アンダースコア (_) を使って、欠落している値としてエンコードされます。 var simpleEncoding = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; function simpleEncode(valueArray,maxValue) { var chartData...
Dec 5th
TwitterCount
ちょっとGroovyでTwitterAPIを叩いてみたの続編です。 とりあえずAPIを叩いて過去の発言を取って来れるようになったので、 取れるだけとって日毎にPOST数を集計してみました。 なんだかAPIが400を返すようになったり(IPベースのAPI制限?)と変な手間が有ったのですが… まずはeachStatusの手直し これをしたら何度でも取れるようになりました。 無茶をさせすぎると止められる?んでしょうか?良くはわかりませんが… 加えたのは、指定したcount数分のpostが帰ってこなければそれ以降は取得しない、という処理です。 最後のページの判定のつもりで入れたんですが、どうも17ページ(取得上限?)以降を指定すると空のリストが帰って来るようで、17ページに入ると止まります。 def eachStatus = {user, pages, cls -> ...
Dec 5th
WritingTestableCode - テストできるコードの書きかた →
(via kakutani) まだ訳しかけ?注目!
Dec 4th
1 note
GroovyでかんたんPoi
仕事でpoiを使うにあたって、GroovyConsoleで試しながら思い出した軌跡をメモします。 コード中のパスは省略してます。長ったらしいので。 まず、GroovyConsoleのクラスパスにpoiを入れます。 getClass().getClassLoader().addClasspath("poi-3.0.1-FINAL-20070705.jar") 以上でまずはRun。 -cpで入れたりlibに放り込んでも良かったんですが、まぁせっかく見つけたので使ってみました。これは便利。 で、poiを使ってみます。 import org.apache.poi.hssf.usermodel.* としてHSSFのモデル一式をimportします。 あと、DateFormatで放り込むDateオブジェクトを作るので import java.text.* def...
Dec 4th
ちょっとGroovyでTwitterAPIを叩いてみた
TwitterのREST APIが結構お手軽な感じだったので、ちょっと叩いてみました。 とりあえず、 def eachStatus = {user, pages, cls -> def slurper = new XmlSlurper() (1..pages).each{page-> def url="http://twitter.com/statuses/user_timeline/${user}.xml?count=200&page=${page}" slurper.parse(url).status.each(cls) } } て感じで指定したページ数x200件のstatusを取得して、クロージャに渡す事はできました。 ちなみにstatusの中には ...
Dec 4th
Dec 2nd
Dec 2nd