読者です 読者をやめる 読者になる 読者になる

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

[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…

破壊的?持続的?

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

Groovyラムダ化計画の挫折

おとうさん、ぼくにもYコンビネータがわかりましたよ!を読んで試しているうちに、なぜか意識が明後日へと飛んでしまいました。…なんかこれ、プロパティーチェーンに見えない? プロパティの連鎖ならgroovyが理解出来ます。理解出来れば実行もできるやん!て…

「Groovyってどんな言語?」がちょっとおしい。

CodeZineにGroovyってどんな言語? JavaプログラマのためのGroovy入門 (1/7):CodeZineて記事が載っていたのですが、いろいろと気になる所が… 文章は読みやすく、7ページも使って結構おいしい所を一通り紹介しているのですが、それだけにちらほらと目につ…

数学パズルを解いてみる その1

ちょっと前にtwitter上で数学パズルがいくつか紹介されていて、groovyで解いてみたくなりました。 これ好き。問8.「AとBはそれぞれ、1以上1000以下の整数をひとつ考えて紙に書く。Aの考えた数がBのそれよりも大きい確率は?」 「スマリヤンの究極の論…

ベキ集合

とある数学パズルを解く最中にベキ集合を取得するための算出プロパティを書いたので、メモ。もっともそもそものパズルは設問を誤解していて、ベキ集合では不十分だったんですが… ArrayList.metaClass.getPowerSet = {-> if (delegate.size == 0) return [[]]…

それはJavaのパワー

[id:r_ikeda:20090331:oneliner]に、 動的言語なのでこんなのも書ける。 groovy -e '[Long,Integer,Short,Byte].each() { println it.MAX_VALUE }' と書いてあったのですが、これはJavaでも書けます。 for (Class c: new Class[]{Long.class, Integer.class,…

「hashMap」メソッド

jijixi's diary - 関数型脳になると、ちょっとイラっとする Ruby の要素 , ActiveSupport::OrderedHash に絶望したで、 例えば、あるハッシュをいじって別のハッシュを作りたいときがある。 関数型脳なんだから、当然のように元のハッシュを書き換えるんじゃ…

正の整数mの4乗を5倍したものの下2桁として現れる数をすべて求めよ

http://hiw.oo.kawai-juku.ac.jp/nyushi/honshi/07/t01-22p/3.html の問題が話題になっているようです。 正の整数の下2桁とは、100の位以上を無視した数を言う。たとえば2000, 12345の下2桁はそれぞれ0, 45である。mが正の整数全体を動くとき、5m^4の下2桁と…

ナベアツ算2号

「ナベアツ算の下書き。 - uokumuraの日記」からはだいぶ様変わりしましたが、とりあえず 200.まで { 3.の倍数.と(3.のつく数字).のとき(アホに) 5.の倍数.のとき(ナルシストに) 8.の倍数.のとき(人を捜してる感じに) }.なります() ができるようになったので…

ナベアツ算の下書き。

doukaku.orgの書きかけ。 1つは投げたんですが、sumimさんの「風変わりな実装」(世界のナベアツに Squeak Smalltalk で挑戦する(改訂) - Smalltalkのtは小文字です)に触発されて大改訂を初めてしまいました。 Integer.metaClass.の倍数 = {->(delegate..1…

metaClass.defineが凄い!

今日のGCRはustream参戦。途中で途切れてしまったり、音が聴こえなくなったりしてしまったもののパワポを見ながら眺めていたら結構勉強になりました。 中でも興味を引かれたのがdefine。 String.metaClass.define { foo { s-> println s + delegate } bar { …

ついったかうんたJS

結局JS版作りました。実はだいぶ前に作ってたんですが、ついった上でちょこっとつぶやいてそれだけになってました^^; このまま年を越すのもなんなので、年越し前にここにも書いておきます。 実は作ってすぐTLに流した時点ではsafariでしか動かなくて、ちょっ…

ついったかうんた その2

書き直したつもりが別エントリになってたので、そのまま別エントリとして書き直します^^;大幅に手直ししてWeb startも用意してみました。が、groovyがリフレクションを使ってる関係で無制限アクセスが必要なようで、証明書の警告が出てしまいます…大幅改定後…

ついったかうんた

ついったのポスト数カウントツールを書いたので、置いてみました。 タンブラーにちょこちょこメモりつつ書いてた物です。TwitterCounter.zip解凍したフォルダ直下にあるTwitterCounter.bat(windowsの場合)かTwitterCounter.sh(unixとかの場合)を叩くと起動し…

いい仕事した…かな?

昨日はサクサク進んでなんか調子良いなー、と思ってたら、 何のことはない、積み残しがぽろぽろとあって、結局今日穴埋め。 もともと今日にかかるとふんでた作業やから、差し引きちょっと足が出たでもまぁ、昨日今日と足場ならしと作業後の後始末のリファク…

はてなTouch

あんまり放置もなんやしってことで、はてなTouchを試してみる事にしました。 まずは試し打ち。

禁煙失敗

昨日昼頃、思い立って禁煙してみたんですが半日持ちませんでした。 今の一箱吸いきったらまた挑戦!今度は1日目標!(おい

追えない?...追えない!

id:nowokay:20080613#1213327527 をみて、ついったーで色々かきだしたらgdgdになっちゃったんで整理することにしました。 ...けど長過ぎ...ちょっとずつ推敲して整理しなきゃ...^^ゞ gdgdになった原因は単純明快で、 たちが悪いのは、オブジェクト指向だった…

弾丸.発射

@t_yanoさんの弾丸.発射に違和感があるというtweetを読んだ時は、よくある気持ち悪いオブジェクト指向らしさの話で「そうやなー」と思っただけでしたが、その後考えが変わりました。 ピストル.発砲の中で public class ピストル { public void 発砲() { 弾倉…