タグ

ブックマーク / nowokay.hatenablog.com (16)

  • Javaオブジェクトを永続化させるEclipse Storeがよさそう - きしだのHatena

    Eclipse Storeというのをみつけて、これはJavaオブジェクトを永続化するものなのだけど、トランザクションもあったりPostgreSQLなどのDBをバックエンドにできたり結構よさそう。 https://eclipsestore.io/ MicroStreamがEclipseに寄贈されてオープンソース化したものみたいですね。Eclipse Selializerとセットです。 https://github.com/microstream-one ということでGetting Startedをみてみます。 https://docs.eclipsestore.io/manual/storage/getting-started.html 組み込み版を使うのでこんな感じのdependencyを追加 <dependencies> <dependency> <groupId>org.eclipse

    Javaオブジェクトを永続化させるEclipse Storeがよさそう - きしだのHatena
  • 電子ペーパーAndroid端末BOOX Nova2を買って不要になった端末たち - きしだのHatena

    電子ペーパーAndroid端末であるBOOX Nova2を買いました。 BOOX Nova2,7.8インチ,電子書籍リーダー,Android,Einkタブレット メディア: 2021/4/29追記 いまはNova3が出てます BOOX Nova3,電子ペーパー,7.8インチ,E Ink,Android10,電子書籍リーダー メディア: 4年前にBOOX C67ML Carta2を買ったのだけど、メモリが512MBで安定して動いてなくて、そんなもんかーとあきらめていた。 それがなんか新しいBOOXは 結構ちゃんと動くっぽいという話で、メモリも3GBになってるし使えるやろーということで買ってみた。 そしたら想像以上によくて、いろいろなものが不要になったのでまとめてみる。 重さはほぼカタログ通り。 Kindle Paperwhite まず完全に用途がかぶるKindle Paperwhiteは完全

    電子ペーパーAndroid端末BOOX Nova2を買って不要になった端末たち - きしだのHatena
  • 作って理解するDIコンテナ - きしだのHatena

    DIコンテナ使ってるけど、アノテーションってなんなの!って聞かれて、作ってみたらわかるよと答えてみたので、自分でも作ってみました。 よくわかった。 「DIコンテナ使うと何がいいの?」ということも、作ってみるとわかります。あと「DIって何がいいの?」に関しては、「DIはちょっとコードを書くのが楽になるだけで、それだけあっても仕方ない、大事なのはコンテナ」と答えるようにしてますが、コード比率からもそれがよくわかります。 続編としてWebフレームワークも作っているので参考まで。 作って理解するWebフレームワーク - きしだのHatena まずはコンテナを作る とりあえず1ソースの状態で。 こんな感じで、管理する型を登録できるようにします。 static Map<String, Class> types = new HashMap<>(); static void register(String

    作って理解するDIコンテナ - きしだのHatena
  • 英単語帳を買ったら思いのほか面白かった - きしだのHatena

    プログラム作業中に困ったときに検索してひっかかった英語技術文書を読む程度だと、辞書をひくことなく英語が読めるのだけど、技術解説になるとちょっとつらいし、ブログにのってる意見になると知らない単語が増え、ニュースになると知らない単語の頻度があがって、そして問題は、技術とは関係ない普通の文章になると知らない単語だらけ、っていう感じの単語力なので、これはどうにかしないとなーと思ってたのでした。 で、この2月のエントリで 「読解にある程度困らない語彙数というのは、8000語程度」 「とにかく、8000語程度は何も考えずに覚えてしまったほうがいい」 とあったので、時間ができたらやろうと思ってたのだけど、やっと時間ができる可能性がでてきたので、紹介されてたアルクのSVLというのを基準にした単語のを探して買ってみた。 時間のない人のための、気の英語学習法 - アスペ日記 Amazonで探すと、頻出1

    英単語帳を買ったら思いのほか面白かった - きしだのHatena
  • Sencha Touchの本を書きました - きしだのHatena

    JavaScriptリッチクライアントフレームワークのSencha Touch解説を書きました。 Sencha Touchではじめるモバイルアプリ開発―無料で使える「HTML5」&「JavaScript」開発フレームワーク (I・O BOOKS) 作者: きしだなおき出版社/メーカー: 工学社発売日: 2012/11メディア: 単行購入: 1人 クリック: 24回この商品を含むブログ (7件) を見る 表紙になぜかコーヒーカップとJavaって書いてあるのは、ぼくの管轄外です・・・。あと、キャプチャ画面、もすこしいい感じのを使ってもらうことはできなかったのか・・・。ただ、実物の色合いはもうすこし落ち着いています。 Amazonでは15日発売だけど、公式サイトによると19日発売、らしいです。どっちが正しいかは、まだ聞いてません・・・ ともあれ、目次はこちらから。 ���Ҿ�����Senc

    Sencha Touchの本を書きました - きしだのHatena
  • SwingアプリでホットリローディングできるJaveleonが便利 - きしだのHatena

    Webアプリだとホットリローディングできるフレームワークがあったり、NetBeansが勝手にビルド・デプロイしてくれたりして、ソースコードのビルドなどを気にしなくてもいいようになってきてるんですが、Swingアプリではホットリローディングができるというのはなかなかなかったわけです。 で、このJaveleonというのが、Javaアプリケーションでホットリローディングできるようにするツール。 http://javeleon.org/ ライブラリじゃないので、普通に作ったSwingアプリなどでホットリローディングできます。 ここではNetBeansプラグインとして使いますが、javaコマンドにパラメータ付加するだけなので、Eclipseなどでも使えるようです。 インストール NetBeansのアップデートセンターに、次のURLを追加します。 http://javeleon.org/javeleo

    SwingアプリでホットリローディングできるJaveleonが便利 - きしだのHatena
  • JavaFX2.0のWebViewを使って、JavaでWebサイトの画面キャプチャをとる - きしだのHatena

    昨日のエントリでは、JavaFX2.0を使ってブラウザをJava画面に組み込んでみました。 あれ、おとといのエントリだよ?っていうツッコミもあるかもしれませんが、ただいま27日31時30分なので、問題ない。 Javaでブラウザが表示できるようになるよ! とはいえ、JavaFX2.0でWebKitラッパのWebViewができたといっても、JavaFXを使ってクライアントを作る機会がないと思ってる人は「だからどーしたの?JavaFXフロントエンド作らないから関係ないよ」とか思ってるかもしれません。 けれど、JavaでWebKit相当のレンダリングができるというのは、サーバーサイドでもメリットがあると思います。 ということで、サーバーサイドでやりそうな、Webサイトの画面キャプチャをとってみました。 「リンク先のキャプチャとってサムネイル出したらかっこいいよねー」とか思ったことある人、結構いる

    JavaFX2.0のWebViewを使って、JavaでWebサイトの画面キャプチャをとる - きしだのHatena
  • JBoss Cache改めInfinispanを使ってみる - きしだのHatena

    といっても、起動してみた程度だけど。 Infinispanってなに? Infinispanは、JBoss Cacheを前身とする、「データグリッド」プラットフォームです。と書いてあります。わかりやすい言葉でいうと、キャッシュサーバーです。 http://www.jboss.org/infinispan 今回は、Downloadからたどってinfinispan-5.0.0.BETA2-all.zipを落としました。 使いかたは、このgetting startedがわかりやすいです。 Getting Started with Infinispan とりあえず使う とりあえず使ってみます。zipを展開したところにあるinfinispan-core.jarとlibフォルダのすべてのjarをクラスパスに通します。 import org.infinispan.Cache; import org.inf

    JBoss Cache改めInfinispanを使ってみる - きしだのHatena
  • Google App Engine/Java標準のセッション消去サーブレット - 2010-02-09 - きしだのはてな

    GAEには標準でセッション消去用のサーブレットが用意されているらしい。 こんな感じでサーブレットをweb.xmlに登録。 <servlet> <servlet-name>SessionCleanupServlet</servlet-name> <servlet-class>com.google.apphosting.utils.servlet.SessionCleanupServlet</servlet-class> </servlet> で、サーブレットマッピングも追加。 <servlet-mapping> <servlet-name>SessionCleanupServlet</servlet-name> <url-pattern>/admin/sessioncleanup</url-pattern> </servlet-mapping> そしたら、/admin/sessionclea

    Google App Engine/Java標準のセッション消去サーブレット - 2010-02-09 - きしだのはてな
    caretta2
    caretta2 2010/02/09
  • Google App Engine for Javaでのメール受信コード - 2009-10-24 - きしだのはてな

    Google App Engineで受信メールの処理ができるようになった。 具体的な手順はこちら。 http://code.google.com/intl/en/appengine/docs/java/mail/receiving.html 手順はこう。 まず、appengine-web.xmlに次の設定を追加 <inbound-services> <service>mail</service> </inbound-services> そうすると、string@appid.appspotmail.comにメールが来たら /_ah/mail/<address> というURLが呼び出されるようになる。 なので、次のようなサーブレットマッピングをweb.xmlに追加してサーブレットで処理をする。 <servlet> <servlet-name>mailhandler</servlet-name>

    Google App Engine for Javaでのメール受信コード - 2009-10-24 - きしだのはてな
    caretta2
    caretta2 2009/10/28
  • おとうさん、ぼくにもYコンビネータがわかりましたよ! - 2009-04-09 - きしだのはてな

    やっと、Yコンビネータが何を意味するものなのか、どういう意義があるのかがわかりました。 名前を使わず再帰ができますよ!というだけのものじゃなかったのですね。 まずλありき 関数の話をしたいのです。 そのとき、いちいち hoge(x) = x * 2 としてhogeを・・・、とか名前をつけて話を進めるのがめんどうなので、関数を値としてあらわすと便利ということで、λという値を定義するのです。 そうすると、上のhoge関数なんかはλ(x)(x*2)などとあらわせますが、引数をあらわすのに()を使うといろいろまぎらわしいので、 λx.x*2 のように表記します。 というのがλ。 このとき、λになにかわたされたら、引数としてあらわされる部分を単純におきかえます。 (λx.x*2)y とあったら、xの部分をyでおきかえて (λx.x*2)y → y * 2 となります。λの引数部分を与えられた引数で置

    おとうさん、ぼくにもYコンビネータがわかりましたよ! - 2009-04-09 - きしだのはてな
  • プログラムの書き方の本 - きしだのHatena

    今回は、プログラムの書き方の。プログラムの宣言的な側面を扱うためのとでも言うか。id:t_yanoおまたせ。 ただ、こっち側はほんとに勉強を始めたばっかりなので、ちょっと目を通しただけで読んでないもばかりだし、自分でもちゃんとわかってない部分も多い。そういうのを割り引いて見てもらえれば。 で、まずは、論理。プログラム書かなくても読んでほしい。 論理学 作者: 野矢茂樹出版社/メーカー: 東京大学出版会発売日: 1994/02/18メディア: 単行購入: 24人 クリック: 175回この商品を含むブログ (80件) を見る これは全部読んだ。 この読むと、かしこさが15くらいあがる。日語がうまくなる。考えるとき、間違った結論をださなくなる。議論するとき、議論の骨子をみつけて、議論からそれる部分を省くことができるようになる。 1章「命題論理」2章「述語論理」を読めば、あとはヤル気が

    プログラムの書き方の本 - きしだのHatena
    caretta2
    caretta2 2009/03/20
  • Javaの乱数 - きしだのHatena

    最近、乱数について興味があって、いろいろ調べてたら、java.util.Randomはひとつめの値が乱数としては使い物にならないくらい偏りがあるらしい。 試しにこんなプログラムを書いてみます。 public class RandomRange { public static void main(String[] args){ Random r = new Random(); double min = Double.MAX_VALUE; double max = Double.MIN_VALUE; for(int i = 0; i < 1000; ++i){ r.setSeed(i); double x = r.nextDouble(); if(x > max) max = x; if(x < min) min = x; } System.out.printf("min=%.4f max=%

  • 画像同士の距離がとれたら近い画像マップができるよね - きしだのHatena

    CCVで画像同士の距離が取れたってことは、画像同士どれが近いかというマップができるよね。 ソースはこんな感じで import java.awt.*; import java.awt.geom.Point2D; import java.awt.image.BufferedImage; import java.io.*; import java.util.*; import java.util.List; import javax.imageio.ImageIO; import javax.swing.*; public class ColorCoherenceVectorMap extends javax.swing.JFrame { /** Creates new form ColorCoherenceVectorMap */ public ColorCoherenceVectorMap(

  • Color Coherence Vectorで画像検索を作ってみた - きしだのHatena

    ということで、昨日のColor Coherence Vector使って、似た画像を検索するプログラム作ってみた。 ちょっと簡単に似た画像を求めたいときには、なかなかよさげ。 左側がキーになる画像 ソースはこんな感じで。最初のパスには、画像のフォルダを入れてください。 画像のパスをテキストフィールドに入力して「検索」ボタンで探します。 import java.awt.*; import java.awt.image.BufferedImage; import java.io.*; import java.util.*; import java.util.List; import javax.imageio.ImageIO; import javax.swing.*; public class ColorCoherenceVectorSearch extends javax.swing.JFr

  • Java5以降でXPathを使う - きしだのHatena

    メモ //TestXpath.java import java.io.StringReader; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.xpath.XPath; import javax.xml.xpath.XPathConstants; import javax.xml.xpath.XPathFactory; import org.w3c.dom.Document; import org.w3c.dom.NodeList; import org.xml.sax.InputSource; public class TestXpath { public static void main(String[] args) throws Exception{ String xml = "<ro>" + "

    Java5以降でXPathを使う - きしだのHatena
  • 1