mike-neckのブログ

Java or Groovy or Swift or Golang

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

うらがみさんのアレにアレされて、Javaでフィボナッチ数を無限Streamで求めてみた

うらがみさんのアレにアレされて、無限Stream作ってフィボナッチ数を求めるやつやってみた。 import org.junit.Test; import java.math.BigInteger; import java.util.NoSuchElementException; import java.util.stream.Stream; public class Fibonacci { pr…

datomicチュートリアル9日目 #datomic

今日はデータの更新をやります。 データ更新のためのdata structure Datomicではデータの更新用のクエリーというかdata-structureというのはありません。 前回紹介したデータを追加するときのdata-structureをそのまま利用します。 具体的に書くと次のように…

gradleのカスタムタスクで他のタスクを実行する

こんなツイートがあったので、ちょっと調べてみた。 Gradleでカスタムタスクを書いているが、カスタムタスクから既存のタスクを呼び出す場合はどうすればいいんだ。def exec = new Exec(); exec.commadLine … みたいなことしたいが、こういう使い方はダメな…

datomicチュートリアル8日目 #datomic

今日はデータの追加をやります。 トランザクションのデータストラクチャー トランザクションをあらわすデータストラクチャーは次のような形になります。 [ [data-structure-list] [data-structure-list] ... ] あるいは [ {data-structure-map} {data-struct…

datomicチュートリアル7日目 #datomic

今日はdatomicと時間との関わりについてです。 Datomicのコンセプトは新しい事実が古い事実を更新しないということです。その代わりにすべての事実をトラッキングできるようにしてあります。 datomicでは次のようなデータを取得する手段を提供しています。 …

datomicチュートリアル6日目 #datomic

今日はルールについて書きます ルールとは クエリーが複雑になるにつれて:where句に内容の重複が発生してきます。その無駄を省くために再利用可能な条件式を定義できます。 ルールはいくつかの条件式を名前をつけてまとめたもので、:where句の中で利用するこ…

2015/04/01( #エイプリルフール )にサムライズムの社員になりました

本日(4/1エイプリルフール)をもってサムライズムに腫れて入射することになりました。 サムライズム社は社員全員コンテッサの椅子、フリードリンク、フリーおやつ、開発端末はmac、IDEはJetBrains製のもの、バランスボール・PS4・PS3・WiiU完備、大型スクリー…

datomicチュートリアル5日目 #datomic

今日は関数の話です セットアップ辺りのメソッドは前回掲載されたものを使っています。 variable type db datomic.Database 上記は断りもなく出てきます。ご了承ください。 関数 RDBMSの各種ミドルウェアでは組み込みの関数が提供されていますが、datomicも…

IntelliJ IDEAでStringJoinerを使ったtoString()のテンプレートを作った

表記の通り。 StringJoinerでtoString()を作るテンプレートが欲しかったので作った。 テンプレートは次のような感じ public String toString() { #set($i = 0) #foreach($m in $members) #if($i == 0) return new StringJoiner(", ", "$classname:[", "]") #…

datomicチュートリアル4日目 #datomic

今日はPreparedQueryのようにクエリにパラメーターを渡すチュートリアルをやります。 なお、今日からは@Beforeメソッド内でDatabase db = connection.db()の準備をしておきます。 static final String URI = 'datomic:mem://seattle' static final String DI…

datomicチュートリアル3日目 #datomic

前回の復習 前回のコメントから、KeywordがUtil.read(String)で取得できることがわかったので、最後のサンプルコードを修正してみます。 @Test void queryPullApiWithRelation() { Database db = connection.db() def results = Peer.query('[:find (pull ?c…

JSFでbacking beanの[at]PostConstructがいつ実行されるか、中途半端にまとめた

わかりやすいJavaEEウェブ システム入門のCDIの章を読んでたのですが… 別にロガーを@Injectしてもおもろくない FileUtilを@Injectしてもおもろくない という理由で、自作クラスを@Injectして遊んでたけど、JSF力なさすぎて一日潰したので、そのまとめ。 Abst…

datomicチュートリアル2日目

datomicのチュートリアル2日目。 今日はEntity APIとPull APIを試す。 Entity API 昨日もすでにさわっているAPIで、long型のentity idから想定されるentity mapに変換するAPIがEntity APIで、Database#entity(Object)から利用できる。 昨日と同じようなコー…

datomicチュートリアル1日目

前回のエントリーがなんか1日で5,000アクセス出てて、正直ビビった。 CRUDのUDいらんとか過激なことを言ったからだと思ってる。 これは、Thought Works tech Radar で append only datastore でdatomicのことを知ってて、若干それを意識していたのもあったた…

論理削除が云々について

今日朝イチで見たエントリーがこれでした。 RDB - DELETE_FLAG を付ける前に確認したいこと。 - Qiitaqiita.com 論理削除の弊害は色々なところで言われているけど、僕の足りない頭で理解している所によると、二つの値しか持たない削除フラグ的なものはカーデ…

html5のdateタイプのinputをConverterで変換する場合

chromeからはyyyy-MM-ddの形で届いているっぽい

JSFのConverterで見た闇の話

Converterのところで変なバグが出てて、1時間半くらいハマってたので、その記録。 先に結論を書くと、これ。 getAsStringのvalueがnullだった場合、nullを返さないといけないっぽい— もちだでしたが、衰退しました (@mike_neck) 2015, 3月 20 まず、選択肢用…

Enclosedと継承を使って特定のメソッドだけAfterとか実行させない

こんなのがあったから、マジクソレス。 眠いだけなので、害意はありません。 Kotlinの話と見せかけてJUnitの話をあげとく/ 【JUnit】出来るの?かもしれない@Aftrer処理をメソッド単位でSkipする方法 http://t.co/5YBT6r3M70— やんく (@yy_yank) 2015, 3月 2…

あまり必要ないけど、IntelliJ IDEA - Gradle - glassfish プロジェクトのテンプレート作った

表記の通りです。 JavaEEの本を読もうとしたら、プロジェクトを何度も作らなくてはいけなくて、前回のような作業を何度も繰り返すの面倒になったので、作った。 mike-neck/idea-gradle-javaee-templategithub.com あとはgit cloneしてgradle rmDummyして、bu…

いまさらのgroovyのList展開演算子のあれを試した

あーこういうことできるんだという記録 class Person { String name int age } def p = new Person() [[name:'my name'], [age:30]]*.each{p[it.key] = it.value} assert p.name == 'my name' assert p.age == 30

ツイッターで流れてきた算数の問題

図形の問題わからん的なツイートが流れてきたので、大人げなくマジレスする。 問題1 娘の算数の宿題が思わず難しかった。 これ、小4の問題か? 勿論、みんなは解けるよね?( ´,_ゝ`) pic.twitter.com/SRfG0bIjmX— Takuya (@STYLE_S_Takuya) 2015, 3月 16 1.…

儂のIntelliJ IDEAとGradle力が足りなくてJavaEEプロジェクトで困った件

JavaEEの本を読もうとしてIDEがNetBeansだけど儂のIDEAとGradle力で余裕で対応できるでしょうとタカを括っていたら、見事に挫折しました(´・ω・`) で、今日一日もかかって、気合でIntelliJ IDEAでもちゃんと開発できるようにbuild.gradle書いたので、そのメ…

SQLのUPDATE文と履歴系テーブル

大したことは書いてありません。 気付いたことのメモ程度です。 『理論から学ぶデータベース実践入門 ~リレーショナルモデルによる効率的なSQL (WEB+DB PRESS plus) 』を少し本屋で立ち読みしました。(ノットワーキングプアにあえいでいるので立ち読みしかで…

型引数からnewしたい時のおすすめの方法をためしてみた

数日前になぎせさんがツイッターで 型引数からその型のオブジェクトを作りたいときにはSupplierを渡すのがおすすめです 的なことをつぶやいていたので、試しにやってみた。 (どのツイートだったか探してたけど見つからなかったことは秘密です) 【2015/03/11 …

Java 8 で追加された StringJoiner が意外と便利っぽい

表記のとおりです。 java.util.StringJoinerはString.join(CharSequence, CharSequence...)などで用いられているクラスですが、そのまま使ってもなかなか便利そうです。 StringJoiner.metaClass.define { leftShift = {Object o -> delegate.add(o.toString(…

エクセルでPDFとか出力する人はちゃんとレビューするべき

ちょっと故あって、iTextでpdfをテキストに変換しています。 しかし、デフォルトのパーサーでExcelから出力されたであろうpdfファイルをテキストに変換すると、座標情報がまったく考慮されずにテキストになってしまうため、仕方なく座標情報を保持しつつテキ…

#JJUG ナイトセミナー 「Javaの今をクイズと書籍で知ろう」に行ってきた

こんにちわ、みけです。 表記の通りJJUG ナイト・セミナー「ビギナーからエキスパートまで、Javaの今をクイズと書籍で知ろう」に行ってきました。 その参加速報。 Javaエンジニア養成読本ができるまで 堀北真希さんファンクラブ会員番号11番のきくたろーさん…

それでも僕はGroovyが好きですけど、何か?

こんにちわ、みけです。 なんか、金曜日のデブサミでgroovyのアレでJavaに対するdisがあって云々かんぬんというツイートを見たのですが… JavaをdisしなくてもGroovyはいい言語なので、僕がGroovyを好きな理由2015年版を上げておきます。 ちょっとした下らな…

『実戦でのScala』に行ってきた #jissenscala

こんにちわ、みけです。 表記のとおり、『実戦でのScala 〜 6つの事例から知る Scala の勘所〜』に行ってきました。 ちなみにツイートのまとめはこちら。 実戦でのScala #jissenscala まとめ #scala 実戦でのScala #jissenscala まとめ #scala - Togetterま…

バランスボールのあるオフィスで効率よくトレーニング

こんにちわ、みけです。 某社にバランスボールを持ち込んで、毎日5分くらい体幹部を鍛えています。 ということで、バランスボールのあるオフィスに居るエンジニアにおすすめのトレーニングを1種類ほど紹介します。 ちょっとした筋トレにお立ち寄りください …