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

アラカン"BOKU"のITな日常

人事評価と人工知能について考えたことがメインテーマです。

STS 3.8.3(Spring Boot 1.5.1)+thymeleaf 入力チェック:アノテーション定義を自分で作る。(再利用版)

Spring Boot +thymeleafの入力チェックで、@Patternを使えば、大抵のことができます。 arakan-pgm-ai.hatenablog.com その通りなのですが、前にも書いたとおり、このやり方にはちょっと欠点があります。 超わかりづらいことです。こんな感じの記述が、1箇…

STS 3.8.3(Spring Boot 1.5.1)+thymeleaf 入力チェック:@Patternと正規表現で独自チェックする。

入力チェックに使える標準アノテーションがあります。こちらの記事でその一覧表とかも掲載しました。 arakan-pgm-ai.hatenablog.com 種類は色々あるのですが、個人的にサンプルプログラム以外で使っているのを調べてみたら、@NotNull、@Size、@Patternくらい…

STS 3.8.3(Spring Boot 1.5.1)+thymeleaf 入力チェック:未入力時に空文字が渡される仕様を回避する。

String Boot + thymeleaf ・・というかSpring MVCでは、テキストボックスを未入力な状態で、Submitした時に、空文字(””)をセットする仕様になっています。 なので、@NotNullアノテーションをつけても、未入力の時にエラーになってくれないんですという話を…

STS 3.8.3(Spring Boot 1.5.1)+thymeleaf セッションを使って画面間で情報を受け渡す

StringBootで、Webアプリケーションには必須のセッション管理をやってみます。 HTTPは、ご存知の通りステートレス(クライアントとのセッション情報を保存しない)なので、複数の画面間で共有しなければならない情報は自前で管理しないといけません。 セッシ…

STS 3.8.3(Spring Boot 1.5.1)+thymeleaf 入力画面、ラジオボタンとラジオボタングループ

Spring Boot 1.5.1)+thymeleafで、ラジオボタンを配置した画面の処理をやります。 ラジオボタンは複数の選択肢のうち、ひとつだけを選ばせるのですが、普通に一箇所に固めた選択肢で選ばせる場合と、ページの中にとびとびに離れた場所に配置して、それでも…

STS 3.8.3(Spring Boot 1.5.1)+thymeleaf 入力画面、チェックボックスの単選択と複数選択

Spring Boot 1.5.1)+thymeleafで、チェックボックスを配置した画面の処理をやります。チェックボックスを一つだけつける場合と、いくつか並べて複数選択を可能にする場合の両方をやってみます。 なお、今回も、前回までの画面にこの2つを追加する形でやる…

STS 3.8.3(Spring Boot 1.5.1)+thymeleaf HTMLのタグを閉じ忘れると例外が発生するので注意!

入力画面で使う各パーツの使い方の確認をしていて、動作確認のためにHTMLを書く前に認識しておいた方が良いことがあるのに気づいたので、先にそれを書きます。 HTML5で静的HTMLを書いて、それにthymeleafのタグを適用して画面に流用するケースです。 thymele…

STS 3.8.3(Spring Boot 1.5.1)+thymeleaf 入力画面、プルダウンリストとマルチセレクトボックス

Spring Boot 1.5.1)+thymeleafで、単一選択のSELECTボックス(プルダウンリスト)と、複数選択可能なマルチSELECTボックスを配置した画面の処理をやります。 前回までの画面にこの2つを追加する形でやるので、コントローラクラスとかは同じものを使い、変…

STS 3.8.3(Spring Boot 1.5.1)+thymeleaf 入力画面、今度はテキストエリアで複数行入力させる

Spring Boot+thymeleafで、テキストボックスでの1行入力をやったので、今回はtextareaを使った複数行のテキストの入力をやります。 同じテキストなのですが、複数行=改行コードがはいるというだけで、単純にやるとうまくいきません。 今回は、その違う部分…

STS 3.8.3(Spring Boot 1.5.1)+thymeleaf 入力画面、まずはテキストボックスから

SpringBoot+thymeleafで、テキストボックスの入力とバリデーションをやります。 簡単なIDとパスワードとコメントを入力する画面にします。 最初にリクエストとレスポンスで受け渡しをする項目をFormクラスに定義します。以下のようなFormクラスを定義します…

STS 3.8.3(Spring Boot 1.5.1)+thymeleaf 多言語対応はできるようにはしとこう。

日本語しか使う予定はない!と言い切れる場合でも、多言語対応できるようにはしときましょう。 その場合、正確には多言語対応ではなく、メッセージの外出し(=プロパティファイルで管理)です。 メッセージを外出しするだけで、十分メリットがあります。 メ…

STS 3.8.3(Spring Boot 1.5.1)+thymeleaf 条件に一致した時のみHTML要素を出力する

Spring Boot + thymeleafで、前回一覧表出力をやったのですが、今回は、条件に一致した時のみHTML要素を出力するのをやってみます。 受け渡されたPersonオブジェクトの出力データの値(Value)を得点ととらえて、得点によって5段階評価(A,B,C,D,E)のイラス…

STS 3.8.3(Spring Boot 1.5.1)+thymeleaf 一覧表の出力をやってみる

Spring Boot + thymeleafで、基本的なデータ出力画面を構成する方法をもう少し覚えていこうと思います。 前回で単純なStringデータを表示するのはやったので、今回はオブジェクトをListで渡して一覧表を表示するのをやってみます。 で、せっかくなので、一覧…

TensorFlowの使い方をざっくりと理解する。今度は、Numpyと併用してみる。

TensorFlowが「データフローグラフを使用した数値計算用のオープンソースソフトウェアライブラリ」であるという部分をもう少し見てみます。 本家のサイトにAPIのリファレンスのページがあります。 https://www.tensorflow.org/api_docs/python/ ここで、モジ…

TensorFlowの使い方をざっくりと理解する。まずは足し算と掛け算から。

とりあえず、TensorFlowの基本を理解しないと始まらない・・のですが、日本語の本とかはまだ少ないみたいです。 こちらが本家のサイトです。 www.tensorflow.org ちょっと翻訳して引用してみます。 TensorFlowとは、データフローグラフを使用した数値計算用…

おもちゃディープラーニングのPythonソースコードをGitHubにアップしました。

一旦ケリをつけたので、勉強の為に作った「おもちゃディープラーニング」をGitHubリポジトリに公開しました。 github.com 以降に、補足説明をしますが、今回の記事は、内容的に、pythonおよびGitHub、ディープラーニング等についての知識がある程度ある方で…

tensorflowを使うことにしたので、インストールしました。

ディープラーニングの自作は一旦ケリをつけて、フレームワークを使うことにします。 フレームワークは、グーグルのtensorflowにしました。 ディープラーニングのフレームワークも色々ありますが、今のところtensorflowが、一番デファクトスタンダードに近づ…

今更ですが、ハノイの塔をやってみました。

ハノイの塔というパズルがあります。 なんか誰でも知ってるレベルの有名なパズルみたいです。が・・・、恥ずかしながら知りませんでした。 下の図のように、3本の柱があって、一番左端(A)に何枚か(例では3枚)の円盤がささっているところからスタートしま…

STS 3.8.3(Spring Boot1.5.1) + EntityManagerでネイティブなSQL文を実行する

JpaRepositoryを使ったデータアクセスは非常に楽です。 でも、どんなシステムを作るにせよ、どこかで複雑なSQLが必要になることが全く無いとも思えません。その時に困らないように、やり方を確認しておこうと思います。 方法は色々あります。が、あれもこれ…

MNIST(手書き数字)データを変形させて、バリエーションを作ってみた

MNISTの手書き数字画像データを、ずらしたり回転させて、バリエーション画像を作ってみました。 ディープラーニング実装の正解率をあげるアプローチで必要になって作ったのですが、pythonで数字を入れ替えるだけで、画像が加工できるというのは、ちょっとお…

STS 3.8.3(Spring Boot 1.5.1) + JPA + MySQLでデータアクセスする

Spring Boot + JPA + MySQLで簡単なデータアクセスのサンプルを作ってみます。 プライマリキーが一つの単純なテーブルばかりではないので、後のことも考えて、簡単と言いながら、ちょっとだけ実用を意識します。 今回の目標は、以下にします。 複数キーを持…

STS 3.8.3(Spring Boot 1.5.1)で単体テスト(JUNIT4)する方法

String Bootに慣れるため、簡単なクラスを作って、JUNITで単体テストまでやってみます。 ソースがごちゃごちゃするので、パッケージに階層をつけてファイルを分類できるようにします。 調べた限り、Spring Bootでは、特にパッケージ構成の縛りはない様なので…

STS 3.8.3(Spring Boot 1.5.1)+thymeleafでとりあえず動かす

Spring Bootで簡単なサンプルを作ってみます。”Hello world"ですね。 ただ、文字を表示するだけじゃ面白くないし、参考にならないので、最低限として以下を確認事項とします。 なお、Viewの部分はJSPではなく、tymeleafを使います。そっちが「推奨」らしいの…

STS 3.8.3(Spring Boot 1.5.1)のインストールと日本語化

Spring Bootフレームワークを使ってみます。 理由は、開発生産性が高いJAVAフレームワークだからです。開発終了したSAStruts(Seaser2)にイメージが近い気がして、とっつきやすさを感じたということもあります。 試してみないと細かいことはわからないのです…