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

rrule.js簡易メモ

icalのrruleから該当日付を計算してくれるjavascriptライブラリ。 超便利、だが色々問題があったのでメモ。 ビルド環境:node + bower + webpack ※BowerWebpackPluginでbower取得したモジュールはパス書かなくてもいいようにしている。 mainのパスが違います…

Javaで年号を追加する

POIを使って年号(元号、和暦)付き日付をExcelに出そうとすると少し面倒なことになった。 年号関連のセル書式判定がイマイチな処理になる上、Excelのバージョンが変わると仕様が変わるかもしれない。 そんなわけでJava側で処理した方がいいという考えになった…

iCalのrruleを必要な分だけ抜き出して使う

システム上でスケジュール情報を登録・保持するようにしたいが、一から考えるのは面倒、特に繰り返し条件が。 なのでiCalのrruleの仕様をそのまま踏襲することにするが、日本語情報がほとんど無い。 一番参考になったのがここ。 CalDAV(iCalendar)のrrule(…

SourceTreeアップデート(しても大差なし)

SourceTreeダウングレードしたかったが、する時間などもちろん無く、その間にバージョンアップ通知が来たのでバージョンアップしてみる。現在は1.9.6.1。 ツリー表示は復活して見やすくはなったが、フォルダ内のファイル全選択ができないのでポチポチ選択し…

SourceTreeが1.8でヘタレになった

SourceTreeをバージョンアップ(1.7.0 → 1.8.3)したら、ファイルのツリー表示できなくなった。 おかげでフォルダ内全部の選択ができずに、1ファイルずつポチポチ選択しないといけない。 どうも新UIはバグが多く評判悪い様子。大きな変更するならバージョン番…

JPA的なもの(回顧)

Javaがまだ1.3とか1.4で、自分も駆け出しのペーペーだった頃、社内製品の開発に携わったことがあった。 そこで使われていた自作フレームワークにはO/Rマッピングや自動mergeなどの機能が実装されていた。 あの頃に比べれば、Javaのバージョンも上がりライブ…

Underscore.jsおさらい6(Utility、Chaining)

noConflict _.noConflict() underscoreは「_」がデフォルトだが、他のライブラリで使っていると衝突するので衝突防止。 var underscore = _.noConflict(); identity _.identity(value) 引数自身を返す。f(x) = xの処理。underscoreのiterateeデフォルト判定…

Underscore.jsおさらい5(Objects)

keys _.keys(object) keyの一覧が配列で返る。 _.keys({one: 1, two: 2, three: 3}); => ["one", "two", "three"] allKeys _.allKeys(object) prototypeも含めて全キーが返る。 function Stooge(name) { this.name = name; } Stooge.prototype.silly = true;…

Underscore.jsおさらい4(Functions)

bind _.bind(function, object, *arguments) 関数のオブジェクト束縛。関数を変数にして引き回せるJavaScriptならでは。 Javaな自分には最初理解できなんだ。 関数内のthisをオブジェクトに割り当てる。 今は標準でbindが実装されているが、実装が曖昧という…

Underscore.jsおさらい3(Arrays)

first _.first(array, [n]) 先頭の要素を返す。shiftと違い非破壊的。 nを指定すると先頭からn個分の要素を配列で返す。 initial _.initial(array, [n]) 最後の要素を除いた配列を返す。 nを指定すると後ろからn個分除いた残りを返す。 _.initial([5, 4, 3, …

Underscore.jsおさらい2(Collections)

※サンプルソースは本家ドキュメントから拝借。分かり辛いものだけ加筆・修正。 each _.each(list, iteratee, [context]) いわゆるforEach。 配列の場合はiterateeの引数に(element, index, list)が、オブジェクトの場合は(value, key, list)が使える。 _.eac…

Underscore.jsおさらい1(概要)

Underscoreのドキュメントを見直していたら、「これ使えてたわ」ということがあったので、機能一覧ぐらいは頭に叩き込むためにおさらいする。 参考 Underscore.js 遅すぎたUnderscore.js入門 - 全体像 - Qiita 全体概要 Underscoreはいわゆる便利系関数のJav…

Backbone.Validationが空文字を許してくれない

Backboneでvalidateを簡単にしてくれるプラグインBackbone.Validation。 GitHub - thedersen/backbone.validation: A validation plugin for Backbone.js that validates both your model as well as form input 正規表現で入力値をチェックできるpatternを…

まーしゃる

先のエントリーにあるメソッドmarshalの意味を調べる。 marshal:(名詞) 元帥 なんだそりゃ、と思ったが動詞だと「(人・軍隊を)整列させる、整頓する」という意味らしい。 だから元帥なのね。 戦いの意味合いを持っているなら、マーシャルアーツのマーシャル…

Jersey(MOXy)でJSONバインドをカスタマイズする

JSONをリクエストで投げてJersey(MOXy)でPOJOとして受ける際に、Integerのフィールドに空文字が来ると「0」に変換される。 0じゃなくてnullで受けたい、というように変換をカスタマイズした場合はXmlAdapterを継承したadapterを作る。 参考:JAXBのXmlAdapte…

BeanManagerを取得する on Weld, Tomcat

Weld 2.3.1 + Jersey2.22.1 Tomcat8 発端はEntityに登録者IDや更新者IDを埋め込みたかったが、Entityで@SessionScopedなBeanを@Injectできなかったから。 EntityListener使ってみたり紆余曲折あったが、時間が無いので経過は省くとして結局BeanManagerを取得…

backbone.validationメモ

参考:thedersen/backbone.validation · GitHub backbone 1.2.0 backbone.validation 0.11.5 backbone自体にvalidation機能はあるが、処理をいちいち書かないといけないし複雑化すると後から読むのも大変。 なのでbackbone.validationプラグインを使ってスッ…

ポート番号8888

「昨日アップされたソース取り込んで動かしたら変なサイトに飛ぶんだけど」 いやそんなの仕込んだ覚えないし。でも本当に「free-merchants.com」というサイトに飛ばされている。それに自分のローカル環境では起きない。 「chromeのプラグインが悪さしてんの…

JPQLのfetch その2

JOIN (≠JOIN FETCH) JPQLはJOIN FETCHではなくJOINだけでも書ける。 @NamedQuery(name="Find", query="SELECT DISTINCT t FROM Team t JOIN t.members m") SELECT DISTINCT t1.ID, t1.NAME FROM member t0, team t1 WHERE (t0.teamId = t1.ID) 1 Aチーム SEL…

JPQLのfetch その1

タイトルの通りだが勉強不足でハマったのでメモ。 Java8 + JPA2.1 + eclipselink2.6 テーブル team id name 1 Aチーム 2 MP member id name teamId 1 ハンニバル 1 2 フェイス 1 3 B.A. 1 4 マードック 1 101 リンチ 2 102 デッカー 2 103 フルブライト 2 En…