[programming]

Redmine: 子チケットの一覧にボタンを追加して、REST API経由で親子関係を外す(View customize plugin)

松谷 秀久 on Twitter: "@onozaty いつも難しいトピックで申し訳ありませんが、view_customizeでボタンを追加し、そのボタンがクリックされるとrest apiにより他のチケットを参照したり更新したりすることは可能でしょうか?" ということで、サンプルとして…

社内勉強会で「Lombokの紹介」というタイトルで発表しました

社内勉強会でLombokについて発表してきました。 Lombokの紹介 from onozaty www.slideshare.net Lombok便利ですよね!もぅLombok無しには戻れません。

Redmine 3.4.0、3.4.1 がリリースされました

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だけは動作確認済みですが、他のプラグインも後ほど確認…

Redmine: チケット一覧でカスタムフィールドの値に応じて行のフォントを太字に変える(View customize plugin)

カスタムフィールドの値に応じて行を装飾する方法について問い合わせをいただいたので、「カスタムフィールド1の値が'A'の場合には、行のフォントを太字に変える」をView customizeで行ってみます。 onozaty/redmine-view-customize - GitHub チケットの優先…

MyBatis にて size というパラメータ名を使うとintとしてマッピングされてしまう

追記@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でニュースの参照可否を制御する(patch適用)

Redmine 3.3時点では、ニュースの参照に関する権限が無く、一部のユーザにニュースを見せないということが出来ません。 @onozaty Feature #7068 が採用されればRedmine 3.4.0でロールごとにニュースの参照が制限できるようになります。 https://t.co/fXkrc4U…

Spring Boot で WebSocket (STOMPではなく、TextWebSocketHandler)を試してみる

こないだSTOMP over WebSocketを試してみましたが、今度はSTOMPを使わずに、TextWebSocketHandlerを使ったWebSocketを試してみます。題材も同じくチャットです。 sandbox-spring-boot/spring-boot-websocket at master · onozaty/sandbox-spring-boot · GitH…

Spring Boot で STOMP Over WebSocket を試してみる

Spring BootでSTOMP Over WebSocketを使って、試しにチャットっぽいものを作ってみました。 sandbox-spring-boot/spring-boot-websocket-stomp at master · onozaty/sandbox-spring-boot · GitHub 同じルームに接続しているクライアントに、同じメッセージを…

Lombokの@Builder(toBuilder = true)で、オブジェクトの複製を作成する

前回の記事の続きで。 @Builder(toBuilder = true)とすると、オブジェクトからBuilderを生成できます。 どういうときに使えるかというと、オブジェクトの複製を作成して、一部のプロパティのみ変えたいといった場合です。 package com.example.lombok; impor…

Lombokの@BuilderでBuilderを簡単に作成する

多数のプロパティを持つクラスを生成するときに、Builderが有用だと思っているのですが、普通に書くとそれなりにコード書く必要があります。そこでLombokの@Builderです。 package com.example.lombok; import lombok.Builder; import lombok.ToString; publ…

Lombokで生成されたメソッドに対してアノテーションを設定する

毎回調べているような気がするのでメモ。 Lombok+Jackson(Spring MVCやJerseyなどで使ってたり)を使っている場合に、@JsonIgnoreで一部のフィールドを対象外にしたい場合に、privateなフィールドに設定してもうまく動きません。 Lombokで生成したsetterまた…

Greasemonkeyでテキストエリアに入力補完を追加する

Redmineのtextile記法で、コードハイライトは<pre><code class="java"></code></pre>のような書き方をするのですが、これを入力するのが面倒になってきたので、Greasemonkeyを使ってテキストエリアで入力補完を行ってみました。 なお、Redmine 3.3 からは、ツールバーにコードハイライト用のボタン…

Spring Boot: Scheduledアノテーションを使用して、スケジュールされたタイミングでメソッドを実行する

Scheduledアノテーションを使うと、スケジュールされたタイミングでメソッドを実行することができます。 これで周期実行的なものは、簡単に実装できます。 Getting Started · Scheduling Tasks 34. Task Execution and Scheduling 実装方法 実行したいメソッ…

Redmine: リポジトリタブでデフォルト表示されるbranchを変更する(View customize plugin)

View customizeで『「リポジトリ」タブをクリック時にデフォルトで表示されるブランチをmasterではなく、ある特定のブランチに設定したい』といった問い合わせをいただいたので対応してみました。 onozaty/redmine-view-customize - GitHub 画面をJavaScript…

MyBatisのArrayTypeHandler使用時の注意点

MyBatisには、org.apache.ibatis.type.ArrayTypeHandlerがあって、java.sql.Arrayとのマッピングを行ってくれますが、パラメータ設定時と、結果取得時でマッピングが異なるので注意が必要です。 実際のコードを見たほうがわかりやすいので、現時点のコードを…

Spring Bootのspring-boot-starter-webでTomcatではなくJettyを使う

Spring Bootのspring-boot-starter-webのデフォルトだとTomcatがサーブレットコンテナとして組み込まれますが、設定を変えればJettyに切り替えられます。 70. Embedded servlet containers configurations { compile.exclude module: "spring-boot-starter-t…

Spring Boot DevToolsを使って、コードを修正して確認といったサイクルを短くする

Spring Boot DevTools を使うことによって、コードを修正して確認といったサイクルを短くすることができます。 http://docs.spring.io/spring-boot/docs/current/reference/html/using-boot-devtools.html 使い方 build.gradleやpom.xmlで依存関係を追加する…

MyBatisのMapperはGroovyで書くことにした

MyBatisのMapperでSQL書くにあたって、複数行に渡るSQL書くのにヒアドキュメントが使いたくて、まずはKotlinを試しました。 ただ、ElicpseでKotlinを書こうとすると、importの自動補完が効かず、ちょっと面倒だったので、Groovyを試しました。(本当は、Kotli…

Spring BootでのDBアクセス方法(JDBC、JPA、MyBatis)について

Spring BootでのDBアクセス方法として、下記の3パターンを試してみました。 JDBC(spring-boot-starter-jdbc) JPA(spring-boot-starter-data-jpa) MyBatis(mybatis-spring-boot-starter) なお、それぞれの全体のコードは、下記に配置してあります。 https://g…

社内勉強会で「Spring Bootを触ってみた」というタイトルで発表しました

Spring Bootが楽しいので、社内勉強会で「Spring Bootを触ってみた」というタイトルでLTしてきました。 Spring Bootを触ってみた from onozaty www.slideshare.net 内容が薄くなってしまったので、もっと使い込んだら、もう少し長い時間でやりたいなぁと思っ…

Spring Boot がとても楽しい

Spring Boot を勉強し始めて、いろいろ楽しいので、いったんここにまとめてみます。 ここで書いている内容は、下記のリポジトリで試している内容になります。(今後もいろいろ試すので、リポジトリの内容はどんどん変わっていくかもしれません…) onozaty/spri…

Eclipseで「Class 'springfox.documentation.swagger.web.ClassOrApiAnnotationResourceGrouping' is marked deprecated」って警告が出る

下記の構成で Spring boot + Swagger のサンプルを作ってみたところ、 Eclipse 4.6.0 Spring Tool Suite(STS) 3.8.2 SpringFox 2.6.1 下記のような警告が出ました。 Class 'springfox.documentation.swagger.web.ClassOrApiAnnotationResourceGrouping' is m…

Redmine: チケットの説明欄を非表示にする(View customize plugin)

GoogleグループのRedmine Users (japanese)で、チケットの説明欄を非表示にするにはといった質問があったので、View customize pluginで対応してみました。 onozaty/redmine-view-customize - GitHub 画面をJavaScript/CSSで簡単にカスタマイズできるRedmine…

Redmine: 一部のカスタムフィールドを説明の下に移動する(View customize plugin)

@onozaty 色々とご相談ですみません。特定のカスタムフィールドを、説明欄の下に移動させるにはどうすればいいですか。JQueryのmanipulationを使えば出来そうな気がするのですが、上手くいってません。よろしくお願いします。— 松谷 秀久 (@mattani) Novembe…

Tomcat8をインストールするAnsibleのRoleを書きました

onozaty/ansible-tomcat: Install Tomcat Tomcat8をCentOS7にインストールするためのRoleを書きました。 最初はAnsible Galaxyにあがっているものを試してみようと思いましたが、やっていることが理解できない部分も多かったので、勉強もかねて自分で書いて…

Tomcat8で、デフォルトだとローカル以外からmanagerが表示できない

Tomcat8をインストールして、managerを見ようとしたところ、403 Access Denied となったので、画面に表示されていた通りtomcat-user.xmlにmanager-guiというロールでユーザを追加します。Tomcat6の時は、managerだったのが、Tomcat7以降で変わったようですね…

Redmine: コンテキストメニューからステータスを変えた際に、対象バージョンも変更する (View customize plugin)

How can I set default value when I change the status_id to refused in the issue list context menu? · Issue #4 · onozaty/redmine-view-customize-scripts · GitHub Issueとして、コンテキストメニューからステータスを却下(6)に変えたときに、対象バ…

Redmine: チェックボックスのカスタムフィールドを横並びで表示する (View customize plugin)

Redmine Users (japanese) - Google グループで、チェックボックスを横並びにしたいといった要望が出ていたので、View customize でやってみます。 onozaty/redmine-view-customize - GitHub 画面をJavaScript/CSSで簡単にカスタマイズできるRedmineプラグイ…

jQueryの関数をフックする

jQueryオブジェクトの各関数ですが、jQuery.fnに定義されています。 なので、jQueryオブジェクトの各関数をフックしたい場合には、jQuery.fnに定義されているものを差し替えます。 たとえば、showメソッドをフックして、他の処理を入れたい場合には下記のよ…

Java7、8で入った機能で知っておいた方がよさそうなもの

Java8でコードを書くことが増えたので、Java7と8の新機能で知っておいた方がよさそうなことを、いまさらながら書き出してみます。 重要度は、自分自身が使う頻度が多かったもので判断しているので、あまりあてにならないかもしれません…たとえば、Date and T…

JavaのparallelStream

JavaのparallelStreamについて思いつくままに。 Java8から入ったStream APIで、parallelStreamを使うと簡単に並列処理が書けますが、streamとparallelStreamを使い分けるという感覚じゃなくて、並列処理を書きたい場合にparallelStreamを使うといった形で使…

社内勉強会で「30歳過ぎてもエンジニアでいるためにやったこと」というタイトルで発表しました

30歳でアウトプットを意識するようになって、エンジニアとして大きく変われたと思っているので、それについて社内勉強会で発表してきました。 30歳過ぎてもエンジニアでいるためにやったこと from onozaty www.slideshare.net 10年間これがしっかりで…

同じ条件のStreamを繰り返し作るためのビルダーを書いてみた

同じ条件のStreamを繰り返し作るためのビルダーを書いてみました。まったく使いどころが見いだせませんが、、とりあえず書いたので晒しておきます。 onozaty/streamer Streamの中間処理の流れを定義しておいて、、 Streamer<String, Integer> streamer = Streamer.create(Stri</string,>…

Redmine: チェックボックスのカスタムフィールドを2列で表示する (View customize plugin)

Redmineの複数チェックボックスで、項目を2列に並べる方法無いでしょうか。cfの1列表示化により、広大な空白が出来て見映え悪過ぎ。— y503Unavai (@y503Unavailable) 2016年8月24日 チェックボックスを2列で表示したいとのことなので、ちょっと考えてみまし…

Redmine: チケット一覧の進捗率欄に値も表示する (View customize plugin)

Blogへのコメントで、チケット一覧の進捗率で数値も表示したいといったコメントをいただきました。 View customize pluginを使って以下の様なことをしようとしていますが、うまくいきません。宜しければアドバイス頂けないでしょうか? ・やりたいこと: Redm…

Redmine 3.3 で"+"ボタンを有効にしながら、「新しいチケット」タブも表示する (View customize plugin)

Redmine3.3で追加された"+"ボタンはとても良いと思うのですが、「新しいチケット」タブが消えるといったところは、それなりにインパクトが大きいようです。 Redmine 3.3 で導入された"+"ボタン - Enjoy*Study だったら両方有効にすれば、、、ということで…

Redmine 3.3 で導入された"+"ボタン

Redmine 3.3新機能紹介: 作成画面へ1クリックで移動できる+ボタンが追加 | Redmine.JP Blog Redmine 3.3 で"+"ボタンが追加されて、さまざまなオブジェクトの作成が、一か所にまとまりました。 個人的には、メニューに統一感が出るのと、ニュースやバージ…

Redmine: ステータスに応じて、カスタムフィールドの表示を切り替える (View customize plugin)

How can I define to show issue_custom_field_values_1 field, when the issue_status_id is 6( Refused) · Issue #2 · onozaty/redmine-view-customize-scripts ステータスが却下になったら、カスタムフィールドを表示したいといったIssueがあがっていたの…

AnsibleでテンプレートエンジンのJinja2を使う

AnsibleではテンプレートエンジンのJinja2が使えます。 Jinja2 filters — Ansible Documentation Template Designer Documentation — Jinja2 Documentation (2.8-dev) なので、for文やjoin、mapなど使えるので、結構柔軟な記述ができたります。 単に一部のプ…

Redmine 3.3.0 リリース

Redmine 3.3.0 がリリースされましたので、いつも通りAltasにboxをあげておきました。 下記ですぐにRedmine 3.3.0が試せます。 vagrant init onozaty/redmine-3.3 vagrant up Redmine 3.3.0のCHANGELOG 日本語訳 | Redmine.JP Blog いろいろ良さそうな機能が…

Redmine: チケット作成時に処理を行う (View customize plugin)

「チケット作成時に、カスタムフィールドの値を使って他の項目の値を変えたい」といった相談をいただいたので、View customizeで書いてみました。 onozaty/redmine-view-customize - GitHub 画面をJavaScript/CSSで簡単にカスタマイズできるRedmineプラグイ…

Arduino関連リンク

回路図 Fritzing Fritzing 電子回路設計ツール Fritzing | Make. リファレンス Arduino - Reference Arduino 日本語リファレンス

Redmine: チケット一覧のコンテキストメニューをクリック時に処理を挟み込む (View customize plugin)

チケット一覧のコンテキストメニューからステータスを変更しようとした際に、アラートを出したいといった質問があったので調べてみました。 単にイベント差し込めばいいよねと、簡単に考えていましたが、コンテキストメニューを表示しようとしたタイミングで…

GitHubのリポジトリ名変更で、元リポジトリへのアクセスはリダイレクトされる

GitHubでリポジトリ名を変えた場合、元リポジトリに対してのアクセスもちゃんとリダイレクトして新リポジトリに方に飛ばしてくれます。 なので、公開済みのリポジトリの名前を変えてしまって、各種URLが変わってしまっても、とりあえずエラーとなることはあ…

Redmine: View customize plugin の v1.1.4 をリリースしました

View customize plugin の v1.1.4 をリリースしました。 onozaty/redmine-view-customize - GitHub 画面をJavaScript/CSSで簡単にカスタマイズできるRedmineプラグインを作成しました (Redmine view customize plugin) - Enjoy*Study リリース内容 バグ修正 …

Ansibleのdefault(omit)

default(omit) を使うと、未定義の場合にその項目自体の指定が無かったことにできます。 Jinja2 filters — Ansible Documentation - name: touch files with an optional mode file: dest={{item.path}} state=touch mode={{item.mode|default(omit)}} with_…

Vagrant+Ansibleで環境を配布する(Windows)

Vagrantで必要なものがインストール済みのboxを配布するにはAtlasを使うと楽ですが、外部に公開されることになるので、ものによっては適さない場合があります。 Discover Vagrant Boxes | Atlas by HashiCorp イントラネット内の共有フォルダなどにboxをおい…

Redmine: カスタムフィールドを連動させる(親の値に応じて、子を絞り込む) (View customize plugin)

カスタムフィールドを連動させられないかといった質問があったので、View customize pluginでやってみました。 onozaty/redmine-view-customize - GitHub 画面をJavaScript/CSSで簡単にカスタマイズできるRedmineプラグインを作成しました (Redmine view cus…

Redmine: プロジェクト一覧からの各プロジェクトのリンク押下時のリンク先を変える(View customize plugin)

プロジェクト一覧の各プロジェクトのリンクを押下時のリンク先は、プロジェクトの概要ページとなっていますが、ここを変更したいといった要望があったので、View customize pluginでやってみます。 onozaty/redmine-view-customize - GitHub 画面をJavaScrip…

GitのGUIクライアントSourceTreeがおすすめ

今までGUIのクライアントは使ってなかったのですが、最近SourceTreeを使い始めました。Gitの導入コストを下げるのに、GUIのものを使うのはどうかなぁと試してみたのがきっかけです。 Free Mercurial and Git client for Mac and WindowsMercurial and Git cl…