プログラム

Eclipse BIRTのレンダリング時にReport Parametersによって読み込む固定ファイルを変更する

シナリオ レポート生成ツールとしてEclipse BIRTを利用している 多数のCSVファイルが存在する BIRT Serverへのリクエスト時に引き渡す値によって異なるCSVファイルを読み込んで出力したい CSVを読み込むには 以下、BIRT用のEclipse Designerを利用しているこ…

Eclipse BIRTでできる事を書いてみた

仕事で既にそろっているデータを元にして自動的にレポート生成をしたいことがあった。 色々探してみると、既にある仕組みを探してみるとEclipse BIRTがちょうど良かった。日本語の資料としてはかなり古いバージョンの2系を中心にしたものはあるけど、最新の4…

意外と使われていないけど便利なCommons

Javaを仕事で書いている人なら、大半の人が知っていると思うApache Commonsですが、折角プロジェクトでCommonsが使えるのにメソッドを使わないという事例をよく見るので、少し便利な物を書き連ねてみようかと思います。あ、主旨は何が何でもCommons使えー、…

Functional PowerShell

PowerShellで色々書いてて、折角Foreach-ObjectやWhere-Objectがあるので、もっと関数型言語っぽく書けないものかと思って、仕様をいくつか調べてみた。

Boost.Graphを使って巡回セールスマン問題を解いてみる

この記事はC++ Advent Calendar 2012の10日目の記事です。 はじめに Boost.Graphでは様々なグラフの問題を扱うことができます。 例えば、グラフの経路探索を抽象化した、幅優先探索や深さ優先探索、最短経路問題を効率よく解くためのA*アルゴリズムや、平面…

Start Haskell2 に行ってきました

すごいHaskellたのしく学ぼう!の読書会としてStart Haskell2に行ってきました。すごいHaskellたのしく学ぼう!作者: Miran Lipovača,田中英行,村主崇行出版社/メーカー: オーム社発売日: 2012/05/23メディア: 単行本(ソフトカバー)購入: 25人 クリック: 58…

Haskell Day 2012に行ってきました

Haskellについてもっと知りたい! と思い、Haskell Day 2012に行ってきました。すごいHaskellたのしく学ぼう!作者: Miran Lipovača,田中英行,村主崇行出版社/メーカー: オーム社発売日: 2012/05/23メディア: 単行本(ソフトカバー)購入: 25人 クリック: 580…

第4回プログラミングの基礎読書会まとめ

5.3〜6章終了まで。 5.3 これは先にテストを直すべきじゃないのかな? 5.4 手続き型言語を知っているが、関数型言語を学ぶ価値として式と文を明確に意識するようになる点が挙げられる。 なので、 if (hogehoge) { hoge = true; } else { hoge = false; }みた…

第2回プログラミングの基礎読書会まとめ

2.3〜4.2まで。 別途議論した点のみ記述。 2.3 (^);; string -> string -> string = (+);; int -> int -> int = となり、型が違うので文字列を(+)で連結できない。 2.4 bool型の比較関数を調べると(&&)の他に(&)もある*1。 (&)ってもしかして短絡評価? と思…

正規表現=正規言語?

ふとしたツイートがきっかけで正規表現について調べてた。 問.先頭文字が任意の文字aで、その後にaがn回続く文字列とマッチする正規表現は作れるか。 実は、2つ解があって、正規表現をどちらの意味に取るかによって異なる。 A1. できない。(正確には、アル…

2/23 勉強メモ

少し久々になっちゃったけど勉強。 Programming Haskellの第6章の演習問題。 https://github.com/a-hisame/FunctionalPractice/blob/prac6/prac6.hs んー。さすがにこのあたりの基本はプログラミングの基礎と合わせて普通にできるようになってきた感。 常時…

良さげなソースコードを記述するための3つの簡単な事

お仕事を始めて、だいぶ多くの人のソースコードを見るようになりましたが、首をかしげたくなるコードに出会うことが多かったです。 そこで、主観的にココさえ守ればせめて読みやすい、といった点を書き出してみることにします。 とりあえず公開しますが、殴…

2/17 勉強メモ

プログラミングHaskell 5.5のシーザー暗号をHaskellで解いてみた。 https://github.com/a-hisame/FunctionalPractice/blob/prac5/prokell5.5.hs および、5章の練習問題を解いてみた。 https://github.com/a-hisame/FunctionalPractice/blob/prac5/prac5.hs …

2/16 練習メモ

プログラミングHaskell 5.5 シーザー暗号をOCamlで解いてみた。 OCamlの文字列周りはライブラリを見るとsetとかがあるので、mutableな実装として提供されてるのかな? しかしながら、string -> char listや、その逆関数ぐらいはあってもよさそうなものだけど…

2/13 夜会話

隣の人からラムダ式の定義とかモロモロについて語ってもらった。 内容のまとめなので、間違い多々ある気がする。 ラムダ式(参考:Wikipedia) 記号の加算無限集合identifier*1を定義する。 この時、次のラムダ式eは次のように定義される。 1. e∈identifier な…

2/10 練習メモ

Haskellのλ式 add :: (Num a) => a -> a -> a add = (\ x y -> x + y) 型クラスを用いる場合は、 関数名 :: (型クラス[, 型クラス...]) => (関数の型)という宣言の仕方になる。 型クラスのところがJavaのみたいなもの (Thanks rf0444). Ocamlでは無名関数はf…

2/9 練習メモ

Ctrl + D -> terminalを落とす。screenの時とか。 git: git checkout -b [branch name] ブランチを作って移動する。 現在のworking状況(addやcommitしていないファイル)を引き継いでブランチを移動。 単相性限定っていうものがあるらしい。 なんかこわいらし…

2/6 夜会話

サモンナイト風タイトルの忘備録。 map (+) ってどんなの返ってくるの? ...というのをつらつらと書き連ねていたことからスタート。 今回は分かんなかったので、これは後々の課題。ここでは話を簡単にするために(+)はOCamlの(+)int->int">*1のみとして考えて…

IE8でDOCTYPEを書かずにgetElementByIdを使った場合の挙動

久しぶりの日記です。 仕事で情報処理してると色々な場面がありますよね。 自分じゃ絶対使わないけど、IEでの挙動を確かめなければいけなかったり。 そして、そんなIEを使ってる時に遭遇した問題に関して一言。 http://d.hatena.ne.jp/seiunsky/20100209/126…

発表できなかったところの補足

オマケではありますが、聞きたかったという人がありがたい事にいて下さったので補足説明をしておきます。 結構長いので注意。 あ、あくまでスライドの補足です。

2011/05/28 わんくま勉強会

名古屋Dayと言う事で発表してきました。 発表資料はこちら https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0B3nNi1KZf_eCM2RlYWRlZjYtMTJiMC00YjQwLWEzNjMtNThiNDlhMmY2YzVi&hl=jaうん、発表練習はやはり1度しておくものですね。 つい…

Graphviz Memo

暫定的に。 dotは階層表示であり、ノード位置を自動調整 neatoは全体をバネ計算アルゴリズム見たいなのを使って、程よく配置する ただし、ノード・エッジが標準ではかなり重なる。 Graphのパラメータの設定で回避可能 overlap = false; - ノードの重複を禁止…

ScalaでF#の順次パイプライン

旧タイトル:パイプ処理みたいなScalaの記述 例えば、ある数を2倍する関数twiceがあるとする。 コレを2回実行しようとすると、scalaコードでは多分こう書く。 def twice(n: Int) = 2*n val num = twice( twice(10) ) 何だかあまり嬉しくない*1。 twice twic…

謹賀新年

あけまして、おめでとうございます。 プログラマ書き初め大会をやったら面白いんじゃないかと思った。プログラムで「謹賀新年」を出力するってやつ。出力先はコンソール、Windowsフォーム、ブラウザなんでもあり。もちろんFlashやCanvasを使った動的な視覚化…

Set + Tuple = ?

この記事はScala Advent Calendar (http://atnd.org/events/10683)の27日のものです。 簡単な記事です。 さて、以下の式はどの様な結果を生成するでしょうか? Set() + (1,2)

HashMap/Setにまつわる2つの事

この記事はJava Advent Calendar(http://atnd.org/events/11000)の延長戦(28日)です。 prev: http://d.hatena.ne.jp/cactusman/20101227 ※以下の2つの記事にはほとんど関連はありません。 ミュータブルな値を持ったHashデータ構造 Scalaスケーラブルプログラ…

Boost.勉強会#3関西に参加して発表してきました

Boost.勉強会#3関西に参加してきました。http://kokucheese.com/event/index/4335/当日の発表資料はこちら。 "Boost.GraphとC++初心者な私(pptx)" "Boost.GraphとC++初心者な私(pdf)" まあ、色の微調整とネタなどを仕込んだだけなんですけどね。事前資料との…

Boost.勉強会 #3 関西で発表します。(事前資料置き場)

Boost.勉強会#3関西にてBoost.Graphのセッションをすることになりました。 http://kokucheese.com/event/index/4335/ 一応現段階の(勉強する内容の)プレゼンテーションをおいておきますので、 必要な方はどうぞご参照下さい。https://docs.google.com/file…

名古屋Hackathon(ラムダ村)に参加して来ました

@mzpさん主催の名古屋Hackathonに参加して来ました! http://atnd.org/events/7945 自分はScala組(member:@papamitra,@maeda_,@a_hisame,@RKTM,@fumokmm)に参加。 参加表明時に@RKTMさんが「ScalaでWebアプリケーション」と言っていたのが面白そうだったので…

Codeforces Beta Round #31参加記録

最近Topcoder SRMに参加していますが、Codeforcesなる存在も知ったので、参加して来ました。 http://www.codeforces.com/contest/31 なお、IDはa-hisameにて参加です。 感想 今回は「問題になれとけ」この一言に尽きました。 英文の「any」を「任意(の全て)…