CLOVER🍀

That was when it all began.

2011-01-01から1年間の記事一覧

Scalaz ListW

少し間が空いてしまいましたが、今度はScalazのListWです。数も多いので、けっこう大変でした。 あと、モナドを使用するAPIは理解できていません。では、アルファベット順に。 元のListがNilでなければ、NonEmptyListが渡ってくるので、それに対して演算した…

Scalaz IntW

APIを見てみたら、意外と数が少なかったので勢いでそのままIntWもやってみました。 ordering 実行すると、Orderingトレイトのサブクラス、EQ、GT、LTが返ってきます。それぞれ、0、正の数、負の数にマッピングされている模様。 println("-10 ordering => " +…

Scalaz BooleanW

今月頭の更新で、Scalazをはじめましたと書きましたが、早々に仕事に忙殺されていたので、あんまり触れてませんでした。今後も忙しいので、それで終了!となるのもなんだかなぁという感じですので、合間に少しずつ遊んでいくことにします。よって、本当に更…

Gauche本の継続を、Scalaで書く

久々の更新です。先週末、先々週末は共に出勤だったため、さすがにブログ更新どころじゃなかったですからね…。今週末は、両方ともお休みです。まあ、次の週末が休みとなる可能性は、けっこう微妙なのですが…。さて、Gauche本を片手にScheme/Gaucheの勉強を…

Scalazを始めてみました

最近、日本のScala界隈で名前をよく目にするもので、Scalazというライブラリがあります。Scalaz http://code.google.com/p/scalaz/Scala標準ライブラリとJ2SEにのみ依存しているライブラリで、Scalaの標準ライブラリを補うことを目的に作られているっぽいで…

Gaucheでcat/grepを書いてみる

書籍「プログラミングGauche」を半分くらい読んだり書いたりしたので、ちょっとしたサンプルとして「cat/grep」もどきを書いて遊んでみたいと思います。イメージ的にはLinuxコマンドで $ cat [ファイル名] [ファイル名] [ファイル名] ... | grep [正規表現]…

Gaucheのコメント

これまでLispでコメントといえば「;」しか知らなかったのですが、3種類あるらしいです。知らなかったものほど便利なので、ちょっと書いておこうと思います。 コメントの種類 行コメント ; これはコメントです Lispでコメントといえば、個人的にはこれのイメ…

GaucheでHello World

前回インストールして、いくつかGaucheプログラミングをして遊んでいたので、ここらでほんの触りの部分を書いておきましょう。まずは、ともあれ「Hello World」から。スクリプトとして記述していきます。Schemeでは拡張子を「.scm」とするようで、この拡張子…

Gauche X Emacs

自分は簡単なプログラムを書く時には、たいていEmacsを使います。GaucheはLisp系のため、Emacsで書いた方が都合がいいっぽいので今回もこちらを使用。書籍「プログラミングGauche」を見ると、.emacsの設定が載っているのでこちらをそのまま利用。他のサイト…

Gaucheことはじめ

先日、書籍「プログラミングGauche」を購入しました。プログラミングGauche作者: Kahuaプロジェクト,川合史朗出版社/メーカー: オライリージャパン発売日: 2008/03/14メディア: 大型本購入: 22人 クリック: 713回この商品を含むブログ (244件) を見るGauche…

Scalaの限定継続に関するページ

後でまた戻ってくるつもりですが、限定継続を勉強しようと思っているので今の時点で参考になりそうなページをメモ。Scalaの論文 http://lamp.epfl.ch/~rompf/continuations-icfp09.pdfGaucheとScalaで限定継続を試している日記 http://d.hatena.ne.jp/einbli…

Scala Style Guide

いいですね、公式(もしくはそれに近いコミュニティ?)によるこういうコーディングスタイルのまとめが出てくると、非常に嬉しいです。Scala Style Guide http://docs.scala-lang.org/style/(大元)Community-driven documentation for Scala http://docs.s…

Scalaで継続モナド(Continuationモナド)を学ぶ

今年の6月くらいに買った以下のScala実践プログラミングなのですが、いくつかテーマ的には気になるものがありました。オープンソース徹底活用Scala実践プログラミング作者: 小笠原啓,尾崎智仁,関隆,水島宏太,今井敬吾出版社/メーカー: 秀和システム発売日: 2…

Mavenで使っている、依存ライブラリを指定のディレクトリに出力する

最近、アプリケーションのデプロイとかを考える時にしょっちゅう使うので、自分のためにメモ。Mavenで依存関係を定義した際に、その依存ライブラリを集めたい時に使います。WebアプリだとWARにすれば全部入りますが、バッチ系だとそうはいきませんからね…。…

Ubuntu 11.10にアップグレード

今日、Ubuntu Linuxをインストールした仮想マシンを起動したら、Ubuntuのアップグレードをサジェストされたのでインストールしてみました。結果、こうなりました。 スペックが微妙に足りない?ちょっと重い気がします。あと、ログイン後のUIが変わり過ぎてて…

JasperReports/iReportで、サブレポートを作成する

今回、JaperReportsをネタに出したのは、実はこれが理由です。サブレポートの扱いがよくわからなくて、仕事中に困っていたんですよね。サブレポートはiReport上の「Palette」で、文字通り「Subreport」Elementをドラッグ&ドロップすることで追加できます。…

JasperReportsを触る

仕事で、PDF生成のためにJasperReportsを初めて使っているのですが、仕事中にこれがあんまりよくわからなくなってハマりだしたので、休みを利用してちょっと勉強してみることにしました。なんか、調べてみてもあんまりブログとかの情報がヒットしないのです…

コップ本、第2版購入しました♪

2年前にScalaにハマるきっかけになったコップ本、その第2版が出ていたので購入してきました。Scalaスケーラブルプログラミング第2版作者: Martin Odersky,Lex Spoon,Bill Venners,羽生田栄一,水島宏太,長尾高弘出版社/メーカー: インプレス発売日: 2011/09/2…

MXBeanを作成してみる

今回で、JMX関連は1度終わりにしようかなぁと思います。最後は、MXBeanです。お題はやはり、以下のサイトのサンプルをScalaで書き直し。 http://www.javainthebox.net/laboratory/JavaSE6/userdefinedmxbeans/mxbean.html まあ、MXBeanのAttributeとかOperat…

MBeanを作成してみる

前はJMX Remoteを使用して情報取得をしてみたり、TomcatにValveを組み込んだりして遊んでいました。で、それでJMXの基礎はある程度やった気になっていましたが…よくよく考えると、MBeanを作成することをやっていませんでした。というわけで、今回はMBeanの作…

TomcatのValveを使用して、アプリケーションのアクセス時にモニタリングを行う

前回は、JMX Remoteを使用してTomcatが管理しているMBeanにアクセスし、セッション情報などを取得しました。が、このアプローチだとHttpSessionなどの情報を直接見れず、不便です。開発中の監視とかを行いたいので、やっぱりアクセスをトリガーとして動く仕…

JMXを使用して、Tomcat内のセッションIDと属性を取得する

JMXを使ったTomcatのモニタリングの一環です。TomcatのJMXに関する以下のページ http://tomcat.apache.org/tomcat-7.0-doc/monitoring.html#JMXAccessorInvokeTask:__invoke_MBean_operation_Ant_task を見ていた感じ、もしかしてこれってJMXで普通に呼べる…

TomcatをJMXで覗いてみる

仕事で、JMXを利用したアプリケーション監視をやることになりそうな感じです。今までJMXは情報自体は見聞きしていたのですが、実際にコードを書いたことはなかったのでこれを機にちょっと勉強したいと思います。監視対象はTomcatになりそうなので、最初からT…

sbtの依存関係管理をIntelliJから使用する

sbtを使うのなら、依存関係の管理はsbtに任せたいところですが、IntelliJにsbtで管理しているライブラリを認識させるには、一手間必要です。やっぱり、今回も使用するのはsbt-ideaプラグインです。 https://github.com/mpeltonen/sbt-ideaでは、実際やってみ…

sbtプロジェクトをIntelliJに取り込む

今回は、sbtで管理していたプロジェクトをIntelliJに取り込む方法を紹介します。というか、sbtでIntelliJの設定ファイルを生成するプラグインを紹介します、と言った方が正しいですかね。使用するのは、このsbt-pluginです。 https://github.com/mpeltonen/s…

IntelliJでfsc、sbtを使う

Scalaでコードを書く時は、最近は滅法Emacs+sbtなことが多いのですが統合開発環境を使う時はEclipseよりもIntelliJを使うことの方が多いので、IntelliJを使った場合のfscおよびsbtを使う手順を載せておきます。…自分のメモとして。まあ、このところは仕事の…

Scala 2.9.1.finalインストール

8月末に、Scala 2.9.1.finalがリリースされていました。 http://www.scala-lang.org/node/107802.9.0.1からのバグフィックスリリースらしいので、目立った新機能はないみたいです。まあ、とりあえずいつも通りインストール。 scala-2.9.1.final.tgz scala-2.…

Scalaのアノテーションの不思議

Scala Compiler Pluginを書いた時に、Scalaで初めてアノテーションを書いてみましたけれど、実はこの時Scalaでのアノテーションの使い方がよくわからずけっこう悩みました。んで、ちょっと調べてみたんですけど…まあ、ハッキリしなかったってことは変わらな…

Scala Compiler PluginでAST変換をやってみる

先週、Scalaの公式ページのDivByZeroプラグインを写経して、Scala Compiler Pluginを作成してみました。今度は、いよいよAST変換にトライしてみたいと思います。動機は、@BeanPropertyアノテーションと@BooleanBeanPropertyアノテーションで、これを毎度毎度…

夏休みの宿題は、JNI

特定の方向けのエントリです。経緯とかは端折るので、読みにくいエントリかもしれませんが、ご容赦を。さて、とある方から、JNIのサンプルコードを書いて欲しいという依頼を受けました。C/C++には詳しい方なのですが、Javaはそうでもない様子。で、「Java-J…