バージョン管理って何だっけの図

[http://www.git-scm.com/book/ja/v1/:title=Pro Git]の「バージョン管理に関して」の冒頭部分を図解してみました。なんかせせこましい。もっと余白が必要なのかな…観測野帳の淡い青い線はちょっと調整するとすぐに飛ばせて便利でした。 野帳が飛ばせるなら…

ステートマシン図

久々に状態機械図を描こうと思って、UML2 Superstructureを眺めてみたら全然わからなかったので、書き写して日本語に書き換えて絵も入れてみた図。絵にしたらだいたいわかったけどdeferrableTriggerだけは解らなかった。状態の中に「ほげほげ / defer」て書…

サラ・ルイス 「あと一歩を大切にしよう」

サラ・ルイス: 「あと一歩」を大事にしよう | Talk Transcript | TED.comが響いて研修でこれの話をしようと思ったのだけれど、話せるほど頭で理解出来てなかったので整理してみたノート。

今年の抱負

「今年はアウトプット増やしたい」と呟いたらなんかしなきゃって感じになったので、公開絵日記始めてみます。描き慣れて毎日上げれるようになると良いな。

presentViewControllerで元の画面も見えるようにするのがうまくいかない

iPhoneのキーボードが表示されるように、自分の作ったViewControllerを表示させるやつです。ViewControllerを作成し、そのViewControllerのViewのBackgroundをClearColorにしてpresentViewControllerすれば行ける…と思ったのですが、トランジション中は透け…

もう3年かぁ

3年間の進歩 - uehaj's blog 過去のブログを見ていて、"10分でコーディング"という記事があったので、かつ内容を完全に忘れていたので、あらためてチャレンジ。問題はこちら。 自分もやっていたのを思い出しました。 懐かしかったのでやってみました。 def…

ファイル名の連番の桁数をそろえるスクリプト

Macは、連番の数字の桁数が違って file1.txt file2.txt file3.txt … file101.txt file102.txt … とかなっていても番号順に並べてくれるのだけれど、JavaのListFilesは文字列順に file1.txt file10.txt file100.txt … とかと並べてしまうのでちょっと具合が悪…

commonsのHttpClientを試してみた

3.1は古いけど、libに入っていたので3.1の呼び方を確認。 @Grab('commons-httpclient:commons-httpclient:3.1') import org.apache.commons.httpclient.*; import org.apache.commons.httpclient.methods.*; HttpMethod method = new GetMethod("http://www.…

GroovyでJAXB使うときには@XmlAccessorType( XmlAccessType.NONE ) する

JAXBの感触を確かめようとGroovyで弄ってみたら、ちょこっとハマりました。 さらっとバインディング対象のクラスを書いてマーシャリングしてみようって以下のようなコードを書いたんですが、 import javax.xml.bind.annotation.* import javax.xml.bind.* @X…

MacBook Air 11インチ欲しい!

Mac

MacBook Air 11インチ欲しい!キャンペーンに参加です。 13インチがもうあるじゃないかと各方面からツッコミをもらったけど、やっぱり欲しいのです。だって11.6インチならボディバックとかにも入りそうじゃ無いですか。13インチが微妙にはみ出すので使えなく…

GrabでJDBCドライバを読み込めない

Groovyのjiraにもあがっているのですが、GroovySQLを使うときにGrabでドライバを取ってこようとして @Grab('postgresql:postgresql:8.4-701.jdbc3') import groovy.sql.Sql Sql.newInstance('jdbc:postgresql://localhost:5432/database', 'user', 'password…

動的メソッド追加の謎

[GROOVY-3674] In Closure as injected method of Closure, delegate is not collect - jira.codehaus.orgを見て、少し実験してみました。Javaのクラスの場合、最初はメタクラスがないからグローバルなやつを使うんだよ、との事で。つまりメタクラス拡張を行…

Closureにメソッド足すにはExpandoMetaClass.enableGlobally()が必要

これはまぁ、{}でクロージャ作るたびにClosureのサブクラスが一つできるので当たり前なんですけど、エラーがちょっとわかりにくいんですね。メソッドが呼べない訳ではなくて、delegateが適切にセットされなくなる。 なんでdelegateを使わないメソッドを足す…

Closureリテラルのメンバにアクセスするときは、前の行にセミコロンが要る

ちょっと意味不明ですね。後置ifの例で行きます。 def executed = false; {->executed = true}.if('a' == 'A') assert executed == false; {->executed = true}.if('a'.equalsIgnoreCase('A')) assert executed == true なんか、セミコロンが不自然に入って…

Groovyで後置if

なんか後置ifがtwitter上で話題になってたのでやってみました。 文のうしろに「if ほげほげ」みたいに書くとほげほげが真の場合だけ文を実行してくれる、てやつですね。Groovy風にかくなら def executed = false; {->executed = true}.if('a' == 'A') assert…

MacBook Air SMC ファームウェア・アップデート1.2を実行すると「このアーキテクチャが対応していないので起動できません」と言われる件

Mac

ちょっとハマったので書いておきます。 えー、私は「パッケージの内容を表示」して、Unix実行ファイルを直接叩いて入れたんですが、そんな危なげな事は必要ありませんでした。入れ終わってから犯人が判明。 アップデートが終わって再起動してみると、すっご…

new Target(property: value) with assertionによる簡易テスト

懺悔します。私、これまで、Groovyの1ファイルスクリプト書くときテストをさぼってました。 だってテストしにくいんですもん。1ファイルで実行するだけのスクリプトを書いている時に、もう1個テスト用にファイルを作るのはとてもめんどくさいです。ファイル…

プリミティブはオブジェクトじゃないし、プリミティブと参照なんて区別はない

404 Blog Not Found:javascript - にはクラスはないの重箱の隅をつつきます。「JavaScriptにクラスはない」という表題の主張自体は合っていると思うので、重箱の隅。 最初気になったのは「参照」の間違いだったんですけど、調べるうちにいろいろと… 「JavaSc…

embeddedのgroovy-all-1.6.3.jarだけではGrabできない?

@Grabアノテーションを使うためには、embedded/groovy-all-1.6.3.jarの他にlib/ivy-2.0.0.jarが必要な様です。単に固め漏れなのか、あるいはなにかライセンス絡みで入れられなかったのかもしれません。わかりませんが… JFreeChartを試してみようといろいろし…

「topcoderの道1」をGolfで

これも実は2009-06-06 - uokumuraの日記する前にやっていたのだけれど、こっちはやる前にコードを見ちゃったのと、野球見ながらやっていたので時間が計れてないのです。 で、縮めれそうなのでGolfの方向でネタにする事にして縮めてみたら、(指定されてる範…

「10分でコーディング」に挑戦

ゲンゾウ用ポストイット: 10分でコーディング|プログラミングに自信があるやつこい!! だって。とか10分でコーディング - uehaj's blogとかはやってるみたいなのでやってみました。(もちろん自分でやってみるまではコードには目を通しませんでしたよ…

加重移動平均

移動平均 - uokumuraの日記で作った単純移動平均 List.metaClass.define { getAverage {-> sum() / size() } movingAverage {int n-> (1..<n).collect {delegate[0..<it].average} + (n..size()).collect {i->delegate[(i-n)..</n).collect>

移動平均

件のチーム防御率のグラフで、初期の成績がいつまでも影響してしまうと狩野捕手の成長が見えないので、移動平均を取りたくなりました。移動平均というのは、リストの先頭から1個ずつ後ろにずらしながらn個のデータの平均値を取ったリストのことで、リストl…

防御率計算DSLの強化

http://d.hatena.ne.jp/uokumura/20090427/1240854856で作った防御率計算スクリプトですが、成績の投入が [ "4/3": [[投手: "安藤", 捕手: "狩野", 投球回: 7, 自責点: 2], [投手: "ウィリアムス", 捕手: "狩野", 投球回: 1, 自責点: 0], [投手: "藤川", 捕…

割引キャッシュフロー計算

今コーポレートファイナンスを勉強中です。…ていっても1月以上かけて300ページちょっとしか読めてないんですけど… で、割引キャッシュフローを計算する問題がいっぱい出てきます。 0年 1年 2年 設備 -100 販促 -50 -30 -20 費用 -50 -100 -120 売上 150 300 …

できたよ!

Grails goes on: 惜しいリストの、 def merge = { x, y, r = [] -> x == [] ? r : merge(x-x[0], y-y[0], r+[[x[0] , y[0]]]) } まぁ記法がいいかどうかは別として, 意味は分かると思う. ところが Groovy1.5 でこれは動かないのだ. merge の定義中に再帰的に…

ややこしいのはthisではない:JS

続いて元記事JavaScriptのthisではまった - No Programming, No Lifeの方も。 JavaScriptのthisではまったのでメモしておきます。 とあるのですが、さきほどのid:katzchang氏も 元記事に対して「どのオブジェクト上で走るかの話で、javaのthisも同じっちゃ同…

ややこしいのはthisではない

thisはメソッドとフィールドで微妙に違う件 - @katzchang.contextsを見て。Javaのthisがややこしいという話なんですが、ややこしいのはthisではないです。 結論としては、メソッドとフィールドの扱いは違うっぽい。 メソッドを参照する場合、thisは実行時の…

チーム防御率とかの計算

最近阪神のチーム防御率がぐんぐんと良くなってます。狩野捕手がどんどん伸びているようで、頼もしい限りです。 というわけで、ちょっといろんな軸で切って防御率の計算をしたくなったのでした。 データの記述方法 DSL風味バリバリで、 [ 4/3: [安藤-狩野: 2…

破壊的?持続的?

単に私の解釈が間違ってるだけなのかもしれませんが… 「破壊的イノベーション」とは、今までとは違う全く新しい技術が使われている、という意味ではありません。既存の市場と比べて魅力の薄い、新たな市場を開拓するイノベーションを指すのです! …言い切っ…