【MySQL 入門】既存 DB を作成するコマンドが欲しい場合

何の記事??

既存の DB があって、この DB を作成するコマンドをパパッと手に入れる方法を紹介します。


やりかた

コマンドを紹介します。

SHOW CREATE DATABASE DB名前

これだけです笑

これで結果に create 文が出力されるので、それを打てば完璧です!


最後に

dump をとる方法もあるのですが、テーブルロックとかかけちゃうイメージ(本当にあくまで僕のイメージです)があってオプション指定するのを忘れるのも怖いので、僕はこのコマンドを多用してます。

個人的な使い訳としては、dump は、人に定義やデータ毎渡したい時とバックアップで残したい時に使ってます。

細かい使い訳がよく分からないので、是非コメントにて教えていただければと思います。

もし、この記事が誰かの役に立てれば幸いです。

【Java 入門】可変長引数のとりかた

何の記事??

Ruby で書いたプログラムを Java で書き換えようと思った時に可変長引数でつまずきました。配列で回避する方法で対処していたのですが Java にも可変長引数があったので備忘録


可変長引数とは

関数やメソッドやマクロの引数の数が固定ではなく任意の個数で呼び出すことができる引数のこと


Java における可変長引数

Java では定義の際に仮引数の型に "..." を足すだけで実現可能

public static void exec(String... msg){
  for(String str:msg){
    System.out.println(str);
  }
}

最後に

Java で簡単に可変長引数を実現することができました。最近 Ruby から Java に移行し始めている・・・仕事の関係ですかね笑

【Java で Webアプリ開発入門】コントローラーからビューにHTMLを渡す(Thymeleaf)

何の記事??

Spring Boot のテンプレートエンジン Thymeleaf でコントローラーからビューに HTML を渡す方法です。


本題

先述の通りコントローラーから HTML を渡したくて以下のようなコントローラーを書きました。

public ModelAndView index(ModelAndView mav){
  mav.setViewName("index");
  mav.addObject("msg","<h1>dummyyyy</h1><hr />");
  return mav;
}

Thymeleaf には

<p th:text="${msg}">message</p>

と書きました。しかし、表示には HTML がエスケープされていて HTML コードがそのまま出力されてしまいました。

解決策は、 th:utext を使用するだけ!!

Thyeleaf 側で th:text 部分を変えるだけでできました(笑)

<p th:utext="${msg}">message</p>

これでブラウザに HTML が解析された結果が表示されます。


最後に

きちんと調べれば早く済んだのに。。。無駄に試行錯誤重ねていました(笑)

しかし、th:utext は「値に HTML タグが含まれると、それがそのまま機能する」ためユーザから送信された情報をもとにテキストを作成する場合、XSS などの攻撃の対策が必要ですね。実務ではどのように使っているんだろう・・・??