2017-01-01から1年間の記事一覧
v1.0.2を公開しました。 Online Bookmark Incremental Search for Firefox – Firefox 向けアドオン 変更点は下記の2件です。 入力欄でリターンキーを押下した場合にリロードしてしまう(submitしてしまう)問題修正 アプリケーションを開くためのショートカッ…
オンラインブックマーク(Google Bookmarks, Pinboard, はてなブックマーク)をインクリメンタルサーチする拡張機能を公開しました。WebExtensionsに対応したものとなり、Firefox57以降でも使えます。 Online Bookmark Incremental Search for Firefox – Firef…
この記事は、Redmine Advent Calendar 2017 - Qiitaの5日目の記事となります。 更新@2017-12-29 チケット一覧でエラーが発生していたので、コードを少し変更(対象のIDが存在しない場合、何も処理しない)しました。 前田さんの下記スライドみて、Redmine 4.0 …
RedmineからRocket.Chatに通知するプラグインを調べていたところ、redmine_messenger というプラグインがよさそうに見えました。ちなみにWebhook使っているのでSlackでも同じです。 GitHub - AlphaNodes/redmine_messenger: Messenger plugin for Redmine wi…
大量のテキストからトークンを切り出す場合(形態素解析など)に、同じ内容のトークンが大量に発生することがあります。 このトークンが不変なオブジェクトであるならば、同じ内容のトークンは1つのオブジェクトを使いまわす、すなわちキャッシュすることによ…
CSSのcolumn-countなどを使って段組した場合、要素の途中で折り返しをして欲しくなくて、break-inside: avoid;を指定していました。 break-inside - CSS | MDN Chromeはこれで意図した動きになりましたが、Firefox(確認したのはFirefox 56)ではサポートされ…
ShortcutKey2URL for Chrome という、Google Chrome向けの拡張機能を公開しました。 ShortcutKey2URL は、ショートカットキーを使用してURLを開いたり、移動したり、JavaScriptを実行できる拡張機能です。 スタートアップキー(デフォルトはCtrl+Period、Mac…
FirefoxのWebExtensionsで、ショートカットキーはmanifest.jsonのcommandsで定義します。 commands - Mozilla | MDN "commands": { "toggle-feature": { "suggested_key": { "default": "Ctrl+Shift+Y", "linux": "Ctrl+Shift+U" }, "description": "Send a …
SKIP LOCKED SKIP LOCKED は PostgreSQL 9.5 から入った新機能です。 What’s new in PostgreSQL 9.5 - PostgreSQL wiki PostgreSQL: Documentation: 9.6: SELECT これを使うと、FOR UPDATEの際に別トランザクションによって行ロックが取得されているレコード…
Redmine 3.4 では、長いテキストに対して「ワイド表示」というオプションが追加されていて、長いテキストを見やすく表示することが可能になりました。 Redmine 3.4 新機能紹介 | Redmine.JP Blog 上記機能だと、表示位置が説明欄の下に来てしまうので、今回…
下記のようなコードを書くと、Jackson 2.8.7 だとエラーとなります。 public class JacksonExample { public static void main(String[] args) throws IOException { ObjectMapper mapper = new ObjectMapper(); User userBefore = new User(1, "Taro", "pas…
えの on Twitter: "@g_maeda 他の開発者の方の用途もありますので一概には言えませんが、注記の編集から送信までの間の要素が増えたため、2枚目の画像のような感じになると嬉しいです。 Shift+Alt+Eのようなショートカットが各ボタンやドロップダウンにある…
松谷 秀久 on Twitter: "@onozaty いつも難しいトピックで申し訳ありませんが、view_customizeでボタンを追加し、そのボタンがクリックされるとrest apiにより他のチケットを参照したり更新したりすることは可能でしょうか?" ということで、サンプルとして…
社内勉強会でLombokについて発表してきました。 Lombokの紹介 from onozaty www.slideshare.net Lombok便利ですよね!もぅLombok無しには戻れません。
Redmine 3.4.0、3.4.1 がリリースされました。(3.4.0が7月2日、バグフィックスで3.4.1が7月9日) Redmine 3.4.0 リリース | Redmine.JP Blog Redmine 3.4.1 リリース | Redmine.JP Blog View Customizeだけは動作確認済みですが、他のプラグインも後ほど確認…
カスタムフィールドの値に応じて行を装飾する方法について問い合わせをいただいたので、「カスタムフィールド1の値が'A'の場合には、行のフォントを太字に変える」をView customizeで行ってみます。 onozaty/redmine-view-customize - GitHub チケットの優先…
追記@2017-07-02 下記Issueで既に対応していただいています。次のバージョン(3.4.5)に入る予定です。 When the parameter name is "size", it is always mapped with integer · Issue #1030 · mybatis/mybatis-3 · GitHub MyBatisのSQLへのパラメータ埋め込…
Redmine 3.3時点では、ニュースの参照に関する権限が無く、一部のユーザにニュースを見せないということが出来ません。 @onozaty Feature #7068 が採用されればRedmine 3.4.0でロールごとにニュースの参照が制限できるようになります。 https://t.co/fXkrc4U…
こないだSTOMP over WebSocketを試してみましたが、今度はSTOMPを使わずに、TextWebSocketHandlerを使ったWebSocketを試してみます。題材も同じくチャットです。 sandbox-spring-boot/spring-boot-websocket at master · onozaty/sandbox-spring-boot · GitH…
Spring BootでSTOMP Over WebSocketを使って、試しにチャットっぽいものを作ってみました。 sandbox-spring-boot/spring-boot-websocket-stomp at master · onozaty/sandbox-spring-boot · GitHub 同じルームに接続しているクライアントに、同じメッセージを…
POPSPRING 2017 幕張公演に、嫁さんと2人で参加してきました。フェスは初参加です。 GOLDチケットだったので、とても余裕もって見れました。最初は前の方にいたのですが、逆に人が密集していてみずらかったので、途中からちょっと後ろ目で見ていました。それ…
前回の記事の続きで。 @Builder(toBuilder = true)とすると、オブジェクトからBuilderを生成できます。 どういうときに使えるかというと、オブジェクトの複製を作成して、一部のプロパティのみ変えたいといった場合です。 package com.example.lombok; impor…
多数のプロパティを持つクラスを生成するときに、Builderが有用だと思っているのですが、普通に書くとそれなりにコード書く必要があります。そこでLombokの@Builderです。 package com.example.lombok; import lombok.Builder; import lombok.ToString; publ…
毎回調べているような気がするのでメモ。 Lombok+Jackson(Spring MVCやJerseyなどで使ってたり)を使っている場合に、@JsonIgnoreで一部のフィールドを対象外にしたい場合に、privateなフィールドに設定してもうまく動きません。 Lombokで生成したsetterまた…
Redmineのtextile記法で、コードハイライトは<pre><code class="java"></code></pre>のような書き方をするのですが、これを入力するのが面倒になってきたので、Greasemonkeyを使ってテキストエリアで入力補完を行ってみました。 なお、Redmine 3.3 からは、ツールバーにコードハイライト用のボタン…
Scheduledアノテーションを使うと、スケジュールされたタイミングでメソッドを実行することができます。 これで周期実行的なものは、簡単に実装できます。 Getting Started · Scheduling Tasks 34. Task Execution and Scheduling 実装方法 実行したいメソッ…
View customizeで『「リポジトリ」タブをクリック時にデフォルトで表示されるブランチをmasterではなく、ある特定のブランチに設定したい』といった問い合わせをいただいたので対応してみました。 onozaty/redmine-view-customize - GitHub 画面をJavaScript…
MyBatisには、org.apache.ibatis.type.ArrayTypeHandlerがあって、java.sql.Arrayとのマッピングを行ってくれますが、パラメータ設定時と、結果取得時でマッピングが異なるので注意が必要です。 実際のコードを見たほうがわかりやすいので、現時点のコードを…
Spring Bootのspring-boot-starter-webのデフォルトだとTomcatがサーブレットコンテナとして組み込まれますが、設定を変えればJettyに切り替えられます。 70. Embedded servlet containers configurations { compile.exclude module: "spring-boot-starter-t…
ISBNから書籍の情報を取りたかったので、Amazon Product Advertising APIを使ってみました。 必要な情報 Amazon Product Advertising API を使うためには、下記の情報が必要になります。 アソシエイトタグ アクセスキー シークレットキー アソシエイトのアカ…