読者です 読者をやめる 読者になる 読者になる

Combination の計算する程のことのない単純なペアの処理

単純にリストの項目を要素2個のペアで、全組み合わせの処理をするのに、数式 nCr に相当する処理を書いていたので 沢山の処理になってしまう。要素2個のペアの処理を全組み合わせを単純に行いたい。サンプル List<String> list = Arrays.asList( "a", "b", "c", "d</string>…

1行の table (HTML) を Java で解析する手法について

HTML 表(tableタグ) の1行もしくは数行の tr-td タグの文字列から単純に td の body に書かれた内容をJavaで抽出したいだけなのだが、 わざわざ、それだけの処理で SAXParser インスタンスや DOM インスタンスをつくって重くなるのが嫌になっ…

表の編集

前回の投稿、入力フィールドでよく使いそうな jQuery 処理のメモ http://oboe2uran.hatenablog.com/entry/2016/12/18/113206 と、 右クリックコンテキストメニューの基本サンプル http://oboe2uran.hatenablog.com/entry/2016/12/11/161826 右クリックコンテ…

入力フィールドでよく使いそうな jQuery 処理のメモ

HTML 入力フィールドでよく使いそうな jQuery 処理をまとめる。 /** * input-support.js */ /* for 全角数字入力→ 半角数字 */ var numberConvert = function(value){ var str = new String(value); var han = str.replace(/[0-9]/g, function(s){ return …

input タグ type="number" のスピンボタンを非表示

CSS

input タグ type="number" のスピンボタンを非表示にするCSSChrome と Safari input[type="number"]::-webkit-outer-spin-button, input[type="number"]::-webkit-inner-spin-button{ -webkit-appearance: none; margin: 0; } IE input[type="number"]{ -…

java.util.regex.Matcher とリスト置換

テンプレートのような、ある文字列の特定の文字をパラメータ文字列リストに置き換える処理は簡単だと思ってたが 以外と難しい。java.util.regex.Matcher を回した時に、置換メソッド実行していけば良いと思ってたが、 Matcher に、replaceFirst か replaceAl…

textarea 横スクロール

CSS

HTML textarea の wrap 属性って気が付けば wrap="off" は、もう使用しないんですね。横スクロールが自動で出るように wrap="off" を使うのではなく、 wrap="soft" と指定する。 もしくはCSSで、 textarea{ resize: none; white-space: pre; overflow-wra…

右クリックコンテキストメニューの基本サンプル

jQuery で右クリックコンテキストメニューを表示するのに気に入って使うようになったもの https://github.com/swisnl/jQuery-contextMenuhttps://swisnl.github.io/jQuery-contextMenu/以前、これを使用する時のアイコンを変える方法を書いた。→ コンテキス…

リスト順のままのグルーピングカウント

リストをキーによってカウントする=グルーピングしてカウントするのに変な要求の題を突き付けられました。 例えば、以下のようなクラスのObjectのリスト、(内部にカウンタを持ちグルーピングカウントの結果を持つもの)とします。 public class Item{ publ…

Arrays.asList が固定長のリストを返すことを忘れてはならない

訳あって String を確実に作れるカンマ区切りの文字列と単独の宣言済の String 数個 から 単独の宣言済の String を先頭に、String を作ることに少し悩みました。例えば、、 String str = "a,b,c"; String h1 = "1"; String h2 = "2"; String h3 = "3"; Stri…

GROUP_CONCAT を書く時の注意とメモ。

SQL

たまにしか書かない、GROUP_CONCAT の書式をよく忘れるのでメモ。 GROUP_CONCAT( 列名 [ ORDER BY 順序つける列名 ] [ SEPARATOR 区切り文字] ) 注意しなければならないのは CONCAT対象の列の値が NULL の場合、 SEPARATOR を指定しても区切り文字もつかず全…

MySQL Error code 1418 , ストアドFUNCTION 作成で、

MySQL で ストアドFUNCTION 作成で、 Error Code: 1418. This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators…

リストの比較、ListDiff

6年も前は、リストを比較して処理するのに、ブログ投稿したことを考えてたhttp://oboe2uran.hatenablog.com/entry/2010/07/01/121003http://oboe2uran.hatenablog.com/entry/2010/07/01/121003 http://oboe2uran.hatenablog.com/entry/2010/06/26/132425htt…

CSV書込み(2)

CSV書込み、(1) - Oboe吹きプログラマの黙示録のつづきです。net.sf.csv4j.CSVWriter を使い、ヘッダ行もデータ行も呼び出し側の与えるデータの問題だと割り切って考えて以下の関数型インターフェースを用意すれば、とても簡潔になる。 import java.io.Ou…

CSV書込み、(1)

5年も前に CSVを生成する Javaプログラムコードを、csv4j を使って書いていた。 2011年 3月 http://oboe2uran.hatenablog.com/entry/2011/03/19/101643CSV書き込み(1) - Oboe吹きプログラマの黙示録http://oboe2uran.hatenablog.com/entry/2011/03/22/21…

Wicket 6.x→7.x でファイルダウンロード時のファイル名の注意

Wicket でファイルダウンロードのファイル名を日本語を使用する場合、Wicket 6.x では URLエンコードしていた。 Wicket 7.x 移行では必要ないことに気がついた。 scheduleRequestHandlerAfterCurrent を使う場合。。 try(IResourceStreamWriter writer = new…

Jasperreports のコンパイル実行を、Stream 処理でまとめる

Jasperreports のコンパイル実行を、Stream 処理でまとめてみました。 /** * @param directoryPath jrxmlを置いたディレクトリPATH * @return Map<String, Throwable> key=コンパイル処理実行のjrxmlファイルPATH、value=コンパイルエラー発生のThroawble */ public static Map<String, Throwable> </string,></string,>…

stopPropagationの例、checkbox を td セルのクリックでも制御

JavaScript stopPropagationの例、メモ。テーブルタグに配置したcheckbox を td セルのクリックでも制御 class="sample" の 配下の tableで、、1列目に checkbox ある場合、、 $(".sample td").click(function(){ if ($(this).parent().children("td:nth-ch…

Jasperreports 5.6.0 で Java8 LocalDate を出力するには

Jasperreports 5.6.0 で、Java8 LocalDate を出力するには、Jassperreports がテンプレートを読んで実行するコンパイラ を別に用意しないとならなに。もう、Jassperreports が Java 8 に対応しないからだ。 コミュニティを探した結果。Eclipse の jdt コンパ…

iReport5.6.0 起動しない時、JDKパスを指定する

PDF 作成の ツール iReport もう サポートも終了しまったが、保守などでそれでも使うことがある。 Java 8 のPCで起動しなくなった。使用できるようにするには iReport インストールしたディレクトリの下に、 etc フォルダがあり、 C:\Program Files (x86)\…

Stream で LocalDateリストを生成

最終目的は、jQuery ui の datepicker 等を使用しないで、Javaからカレンダーを作成してスケジュールを 描画編集すること。DBに用意するデータと連携するために jQuery だけじゃ苦しいので Java でベースになる 日付のリストを先ず生成する。 簡単なものか…

Linux MySQL dump → Windows 復元

MySQL ダンプを復元するとき、通常は、 mysql -u ユーザ名 -p データベース名 < ダンプファイル でも、Linux の MySQLでダンプしたものを Windows で復元を同じコマンドで実行してしまうと、 Unknown command '\'' と、エラーになってしまう。当然と言えばそ…

jQuery カラーピッカー plugin で補色計算してみた。

jQuery カラーピッカー plugin を使う機会があったので、サンプルを作って「補色」を求めたら興味深いことが出てきました。 ColorPicker - jQuery plugin を使います。昔からあるピッカーで有名なもの。 HTML をサンプルとして以下のように準備しました。C…

ListView に配置した Formフィールド 受信

Wicket の ListView でリストの中に TextField やフォーム送信するものを配置することが時々ある。送信後、どうやって受け取るか以前はよく悩んでたもので、getRequestCycle().getRequest().getPostParameters() から取得する力技をよく 書いてたものだ。 そ…

table で複数行の sortable

テーブルの Sortable 去年書いたけど、書き直す。ドラッグした後に、きちんとハンドルを外す。sortable の stop オプションで、ui.item.data('multidrag') で取得した移動対象を移動後に ui-selected を外してやります。HTML <table id="sortable"> <thead> <tr><th>header-1</th><th>header-2</th></tr> </thead> <tbody> <tr><td>Item-1</td><td>aaa</td></tr> <tr><td></td></tr></tbody></table>…

Wicket scheduleRequestHandlerAfterCurrent 使用の書き方を見直す

Wicket の WebPage でファイルダウンロードさせる1つの方法である RequestCycle の scheduleRequestHandlerAfterCurrent を使用する時、そのまま以下のようなことを書いていた。。 getRequestCycle().scheduleRequestHandlerAfterCurrent(new ResourceStrea…

Java で横長カレンダーを書くための処理

先日、jQuery で横長の帯状のカレンダーを書くための処理を書いて 横長カレンダーを書く - Oboe吹きプログラマの黙示録 、では Java だったらどう書く? と思ったので書いてみました。例えば、 LocalDate start = LocalDate.parse("2016-12-22"); LocalDate …

横長カレンダーを書く

横長カレンダーを書く jQuery ソース・・・メモ。 moment.js http://momentjs.com/ を使うことにした。jQuery は、2.x系で書いた。moment-with-locales.js を使う。 /* datetext = yyyy/MM/dd 日付 * predays = 前方日数(datetextの日付を含まないカウント)…

カスタムデータ属性で CSSを効かせる

CSS

HTML5 のカスタムデータ属性で CSSを効かせる方法、例) td タグに、data-date="2016/09/04" にある場合、 td[data-date="2016/09/04"]{ background-color: #ffc0cb !important; } のように書く。data 属性の値はプログラムで動的に付与していくケースが…

label の CSS でチェックされてる時の指定

CSS

チェックされた radio ボタンに対する label の CSS の書き方を忘れてしまいそうなのでメモ。 input[type="radio"]:checked+label{ background-color: #afeeee; }

fontello の利用でアイコンフォントを追加する時、

CSS

アイコンフォントを導入するのに便利な、http://fontello.com/ を利用した時、さらに使用するアイコンを追加する時、 どうしたら良いか?最初にダウンロードした中に、config.json というファイルが含まれているはずなので、これをサイトにもう一度アップロ…

プログレスバー、画像を使わずに。

画像を使わないでCSSで描画させるプログレスバーを探したらありました。red-team-design.comこれを jQuery の $.ajax で通信した時に、進捗率を表示させます。これに、バーの中央に(%)進捗率を表示させたいので、以下のようにHTMLを書いて、 <div id="preogress_bar" class="progress-bar stripes"> <span style="width: 0%"></span><p>0 %</p> </div> 次…

groupingBy で chunk

grouping by のメモ Map<String, Long> countmap = authors.stream().collect(Collectors.groupingBy(t->t.level, Collectors.counting())); Map<String, List<Author>> mapAuthors = authors.stream().collect(Collectors.groupingBy(t->t.level, Collectors.mapping(u->u, Collectors.toList()</string,></string,>…

mybatis foreach の index を使う

MyBatis の foreach の index を使えば、Multiple INSERT を実行するとき foreach のカウンタを挿入する行の 列の値にすることができる。 <insert id="insertEmployee" parameterType="map"> INSERT INTO employees ( employee_name , employee_no ) VALUES <foreach collection="e_list" item="e" separator="," index="index"> ( #{e.dummy}, #{index} ) </foreach></insert>

リストから順序を維持した Pair を作成する

文字列でもなんでも良いのだが、"a","b","c"... リストの順序に従った「ペア」を順序にしたがって作りたい要求があったとする。"a" と "b" "b" と "c" "c" と "d"のように順にペアを作る。ペアは、AbstractMap.SimpleEntry を継承したクラスとする。 public …

コレクションの比較→ BiConsumer に index と比較結果

先日、2つのオブジェクトの比較、equals がそのまま使えること、"" 空文字=すなわち存在しないことと null を同義とみた処理で書いてた。 ・・・・実質、String と Integer にしかそのまま使えないけど、それしか目的にしてなかったのでそういうつもりで …

Wicket セッションに格納できる最大サイズ

Wicket のセッションに格納できるサイズのMaxを調べてみる。WebApplication のメソッドより、getStoreSettings() を WebApplication の中で実行する。 単位は、キロバイトか、MBで確認、double型で返ってくる。 double kilobyte = getStoreSettings().g…

BiConsumer を比較処理の記述で使う

2つのオブジェクトを比較処理するものが大量にある時、if 文をたくさん書くのが嫌になり if文を隠ぺいして差がある時の処理を Consumer と Biconsumer で書くことを考えた。 public static <T, U> boolean parse(T t, U u, Consumer<T> delete, Consumer<U> add, BiCons</u></t></t,>…

Stream でインデックスを求める

リストに存在するオブジェクトが何番目=インデックスを求める方法、Java8 Stream で求める。 見つからない場合は、-1 が返れば良しとする。という要求で、サンプルを書くと。。。 List<String> list = Arrays.asList("a", "b", "c", "d", "e", "f"); /* このリス</string>…

CSS の nth-child

CSS

CSS の nth-child の書き方、解ってるんだけど、ちょっとパターンが複雑になると 迷うことがあるのでメモ td:nth-child(odd){ background-color: #ffffcc; } 奇数 1 2 3 4 5 6 7 8 9 10 11 td:nth-child(even){ background-color: #ffffcc; } 偶数 1 2 3 4 5…

Wicket ListView のイテレータ を無理やり Stream で処理してみる

Wicket の ListView が提供する itarator メソッドは、以下のような使い方もできる。無理やり、イテレータを Stream に変換して処理してみた。 final WebMarkupContainer listViewContainer = new WebMarkupContainer("listview_container"); listViewContai…

AjaxTabbedPanel 内に配置した入力フィールド値をタブ切り替え時に受け取る

Wicket の AjaxTabbedPanel を使った時に、タブの中に配置した入力フィールドの値をフォーム送信ボタンによる受信ではなく、 タブのクリック=タブ切り替えのタイミングで受け取る方法に悩んだ。org.apache.wicket.extensions.markup.html.tabs.TabbedPanel …

Apache POI Excel 入力規則の読み込み(2)

Apache POI Excel の入力規則を参照するのに、前の記事、 Apache POI Excel入力規則の読み込み(1) - Oboe吹きプログラマの黙示録 このように毎回書いてはいられない。そこで、XSSFSheetオブジェクトを渡して後から何回でも問い合わせするクラスを書いてみ…

Apache POI Excel入力規則の読み込み(1)

Apache POI で Excel の入力規則によるプルダウンの情報を読み取る場合、同じシート内のセルで入力規則の値を格納していないと読み取れない。このように同じシート内にある入力規則の情報を参照するコードサンプルを書いてみた。 (ただし、このサンプルは縦…

リストを作る時の fromJson 書式

Google gson でリストを復元する時の fromJson の書き方をよく忘れるのでメモ Gson gson = new GsonBuilder().serializeNulls().create(); List<Foo> list = gson.fromJson(string, new TypeToken<Collection<Foo>>(){}.getType());</collection<foo></foo>

Reloading this page will cause modal window to disappear を回避

Wicket の モーダルウィンドウを閉じる時に、ページ遷移 setResponsePage を何も対処せずに実行すると、、 Reloading this page will cause modal window to disappear が発生してしまう。 これを回避するには、モーダルウィンドウを設置するページで初期処…

GSON でjson生成時の null を処理する(2)

先日書いたGSON使用時の String型のNULLパターン { "aaa": "null" } でなくて、 { "aaa": "" } にするための TypeAdapterFactory を書き直しました。 import java.io.IOException; import com.google.gson.Gson; import com.google.gson.TypeAdapter; import…

GSON でjson生成時の null を処理する場合、

google GSON でJSONを生成する場合、そのままだと、nullオブジェクトは無視(出力されない)なので、GsonBuilder の serializeNulls() を呼び出して、 { "a": "null" } のように出す。 しかし、String オブジェクトの結果として、{ "a": "" } が欲しい場合が…

Wicket AjaxButton onSubmit の前に JavaScript を差し込む

Wicket の AjaxButton onSubmit の実行前に処理したいJavaScript がある場合、 わざわざ jQuery で $( ボタンセレクタ ) .click( function(){ ...} ); のソースを用意して JavaScriptHeaderItem.forReference で読み込ませる方法にするか、 生成したAjaxButt…

GSON と LocalDate / LocalDateTime のシリアライズ・デシリアライズ

Java7をやめてJava8で開発するようになり、java.util.Dateを使わなくなり、 Google gson で LocalDate / LocalDateTime をシリアライズ・デシリアライズするのに 簡単に書ける方法を探すのに苦労したのでその過程と結果です。 GsonBuilder の registerTypeAd…