日曜プログラミング

休日趣味でやってるプログラミング関連記事をダラダラと

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

datomic チュートリアルを試す(1) - 導入・DB 作成・最初のクエリ実行

前振り 使う前に Datalog って何なんだろうと思って先に調べると、datomic のクエリ言語は Datalog をベースとして拡張したものらしく、特に独自に何か名前が付けられているわけではないようだ。 Datomic Development Resourcesちょっと勘違いしてたのだが d…

インピーダンスミスマッチ解決手法あれこれ

datomic がどんな位置づけになるのかの確認の為に他の要素技術をちょっと軽く見てみたくなった。インピーダンスミスマッチについて自分の中でもカッチリ定義できてるわけではないが、モヤっとしてあるのは SQL とホスト言語との相性ってどうも悪いよなあと言…

datomic を試してみる(番外) - SQL Database Storage 化失敗編

元々こっちを最初に試してたのだが、transactor から SQL DB への接続が上手くいってなないので途中で諦めた残骸。 結構な時間ハマって結局上手く行っていない。 誰かが助けてくれるかもと言う期待を込めてここに置いておく。 【失敗】SQL DB を Storage 化…

datomic を試してみる(2) - 導入

[datomic] datomic を試してみる(2) - 導入 データベースシステムならば、データ・ソース(datomic では storage と呼んでいるので以後そう書く事にする)をどう読み込むかってのとどうクエリを投げるのか*1と言う部分が第一だと思うので、まずはローカル PC …

datomic を試してみる(1) - datomic って何?

サブタイトルに datomic って何?と付けてるもののまだ試した事はないので紹介・説明に関しては以下の記事に譲る。 Clojureの作者が作ったデータベースサービス Datomic.com が凄い Datomicのアーキテクチャ Datomic情報モデル 一言で言うと、新しいデータベ…

JDK アップデート管理

さて、Java7 の update 45 がリリースされたようなので、ここで一度 JDK のアップデート管理をどうするか整理しておきたいと思う。Windows の JDK(JRE じゃなく)は実はオートアップデートできないと言うワナがある。コンパネの Java にオートアップデート有…

プロパティとバインドの感想

今回は使ってみたと言う記事ではないので悪しからず。JavaFX 関連の情報を見てると注目機能として上がってるっぽいバインド、言葉や概念だけちらっと聞いててもよー分からんかったのでひとまず使いたかった TableView をガシガシ試してた。SimpleStringPrope…

JavaFX 遊び TableView 編(5) - DB データを読み込んで表示してみる

前回で終わりと言っていたもののもう1回だけ。 個人的にやりたかった所の一つにようやく来た。これは既に公式チュートリアルにはもうないネタではあるものの、やる事は固定データか DB から持ってきたかの違いでしかないのでそんなに変わらないはず。Clojure…

JavaFX 遊び TableView 編(4)

公式チュートリアルをなぞった TableView 編は最後。 Using JavaFX UI Controls: Table View | JavaFX 2 Tutorials and Documentation Example 12-10 に相当。最後はセルの編集を可能にする。 実は公式だとベースクラス継承してより便利に編集みたいな例も残…

JavaFX 遊び TableView 編(3)

引き続き以下公式チュートリアルの TableView で残り試してない部分を試す。 Using JavaFX UI Controls: Table View | JavaFX 2 Tutorials and Documentation Example 12-8 に相当。今回は追加データ入力用のテキストフィールドを用意して追加ボタンを押すと…

シーケンスに特定の値があるか検索する

[Clojure] シーケンスに特定の値があるか検索して返す 元ネタ:data structures - Test whether a list contains a specific value in Clojure - Stack Overflow欲しいのはあるかどうかをチェックするだけでなく、あればその値を返して欲しいと言う Common L…

JavaFX 遊び TableView 編(2)

どうやら Map データも入れ込めるとの事で試してみる。 Using JavaFX UI Controls: Table View | JavaFX 2 Tutorials and Documentation上記 URL の Example 12-12 に相当。 途中の追加や編集をすっ飛ばしてるけどこっちに興味を持ったのでしょうがないw解説…

JavaFX 遊び TableView 編(1)

以下のチュートリアルに基本従いつつ Clojure を織り交ぜるとどうなるか試してみた。 Using JavaFX UI Controls: Table View | JavaFX 2 Tutorials and Documentationまずは Example 12-6 でやってる、固定データをテーブルに追加する所まで。 結論から言う…

点々マクロ(..)と Java メソッドチェーン比較

tnoda さんが以前 このようなトピック を 挙げられていて基本的に賛成で、ここでは補足として Java と Clojure の書き方を並べてみる。 Java Clojure table.getColumns().clear(); (.. table getColumns clear) table.getColumns().add(firstNameCol); (.. t…

Clojure で可変引数を取る Java メソッドを呼び出す場合の注意点

Clojure の可変引数だとこんな感じで定義できて、 (defn my-max [& x] ; 処理割愛 ) こんな感じで使える。 (max 2 3) (max 2 3 0) (max 2 3 4 6 0) Java でも 1.5 から可変引数を使えるようになっており、 void Max(Integer... args) { // クラス & 処理割愛…

Clojure にはなぜ5つもクラス定義する方法があるのか

Stackoverflow に面白いトピックだったのでちょっと適当翻訳してみた。元トピック:Why does Clojure have 5 ways to define a class instead of just one? - Stack Overflow以下、翻訳 質問 Clojure でクラスっぽいデータ型の定義の方法として gen-class, r…

JavaFX + Clojure でのイベントハンドリング

GUIライブラリで気になる事と言えばやっぱりイベントハンドリングなので次はそいつを試してみる。以下の tnoda さんの所の記事を見れば大体の事は書いてあるんだけど実際に自分で試したのでメモ。 tnoda-clojure • Clojure で Java FX (5): FXML 情報として…

JavaFX でちょっとばかり遊んでみた(2)

結構前に JavaFX でちょっとばかり遊んでみた - 日曜プログラミング と言う記 事を挙げたが、その時結局 uberjar 後の実行ができなかったと言う宿題を片付ける。 JavaFX を Maven 管理下に置く やり方はちょっと前に上げたこちらで。 JavaFX のバージョン確…

バージョン確認方法

stackoverflow にまんまのトピックがあった。 java - How to get the version number of JavaFX? - Stack Overflowjfxrt.jar がある場所(大抵 %JAVA_HOME%\jre\lib)にプロパティファイル javafx.properties があ り、そこの javafx.runtime.version に記載さ…

コマンドライン引数を取る

コマンドライン引数を取る方法のメモ。 一言で言えば -main 関数の arg にベクタとして引数格納されてるのでそこで好きにしてと言った感じ。まずは検索。 まるでスクリプト言語のように使う方法 http://tnoda-clojure.tumblr.com/post/24969285880/clojure-s…

Maven リポジトリに登録されてない外部ライブラリを使う

前提として leiningen と Maven はインストール済とします。tnoda-clojure • Clojure で Java FX (1): Hello World上記 URL を参考にした。 手順としては Maven でローカルリポジトリ登録を実施するのみ。二の足を踏んでたのはこうした後 uberjar でちゃんと…

0.2.2.251に更新

xyzzy 0.2.2.251 リリースノート今更だけど久々に見ると結構更新されてた。更新するまでに使ってたのは0.2.2.240。ファイラの削除でエクスプローラに任せるようにしたのは結構良いと思う。確かに今は大量削除に関してはエクスプローラの方が速い。後は0.2.2.…

O記法のグラフイメージ

計算量とか計算オーダーとかとも言われる。 イメージを伝えるのに使われる為か厳密な定義で使われるような事もあまりない。そういう所もあり時々よく分からなくなるのでイメージグラフのあるブログ記事をペタリ。 中ほどにグラフイメージがある。 Big O Nota…

Project Euler 向け(?)ユーティリティ関数とか

Project Euler を解いて行くに当たって多分探せばどっかに転がっていそうだけど(math-numerictowerとか)何となく自作したもの。今日ググってたら同じようなの見つけて何とも言えない微妙な気持ちになって晒してみたくなりました。 自作分 (defn lcm [& nums]…

Project Euler 始めてみた

プログラミング Clojure 読んだ後は4clojure制覇したると思って 90 問くらいで挫折し、Joy of Clojure 読むものの英語苦手で中々進まず、昨日辺りは JavaFX 触ったもののやっぱりと言うかヘンな所で詰まってやる気萎えて、今日は今日で前から気になっていたP…

JavaFX でちょっとばかり遊んでみた

Clojure だと GUI ライブラリは seesaw 一択な感じなんだけど ここは敢えて JavaFX を Clojure から Helloworld してみた。 seesaw の作者が JavaFX に対応してくれると嬉しいんだけどねー。お決まりの Hello world Try! JavaFX! : JavaFX 2.0によるGUI開発…

補完候補のポップアップ

久々に Emacs の設定に手を付けるなあ。今時の開発環境だと補完は最早デフォルトで持っていると言っても良くて Emacs もデフォルトで持ってはいるんだが、追加キー操作必要なのはともかくとしてウィンドウ分割して別バッファに出す辺りが昔触っていた時も気…

プロファイル設定

Java さえ入っていれば Clojure を始める分には特に困らない leiningen だけど、 しばらく遊んでいるとプロジェクト作成時毎度同じような設定をする事がちょくちょく出てきたのでプロジェクトを作ったらデフォルトで設定してくれる方法を改めてまとめてみた…

マップにキーワードが無い時

キーワード使った検索って見つからない時のデフォルト値も指定できたのね。 user> (:a {:a 2}) 2 user> (:a {:b 3} 4) 4 clojure.core - Clojure v1.5 API documentation 上の get と同じ事らしい。

目次っぽいものを集める

PowerPoint で 100P 以上作成された資料があって更新する必要が出てきて、目次を手でズラして 更新するのは余りにもバカバカしいんでどうにかできんかちょっと調べてみた。以前は UWSC 使ってたんだが単純な操作記録の繰り返しだとマウス座標やオブジェクト…