Spring boot でサーバ別の properties ファイルを読み込む
この手の記事は日付に気を付けないとすぐに古くなる。これは2015/10の記事。
@PropertySourceを使う。下記が詳しい。
Spring @PropertySource - Jayway
今回の場合は /src/main/resource配下にconfigディレクトリを掘ったのち、
環境変数 SPRING_PROFILES_ACTIVE を指定して読み込む。
これは、サーバ別に設定を読み分けたい場合、application.properties も同様の環境変数を指定することによりproperties ファイルを読み分けられるから、そのついでということである。
Spring-Bootの設定プロパティと環境変数 - Qiita
STS での環境変数の設定は RUN->RUN Configurations -> Enviroment に書き込むと使える。
@Data
@Configuration
@PropertySource( "classpath:config/ServerConfig-${SPRING_PROFILES_ACTIVE}.properties" )
public class ServerConfig
{
@Value( "${config.server_name}" )
private String serverName;
というクラスを書く。ここはclasspath:であってfile:と書くとファイルねーよ、と言われる。
そして、config/ServerConfig-localhost.propertiesファイルを作る。
中身は
config.server_name=hogehoge
とする。
ここで躓いた。
Invalid property 'name' of bean class
とかエラーが出て何事かと思ったが
server_name=hogehoge
ではなく、大枠を指定する必要があり、
config.server_name=hogehoge
と書くと動作した。
前の記事にある、java 8の場合の項
@PropertySource("default.properties")
@PropertySource(value = "file:${CONF_DIR}/optional-override.properties", ignoreResourceNotFound = true)
これだと、環境変数無い場合のデフォルトを作れていいなあ
ショウメモ
- 簡単なものは右利きでやりやすいようにできている
- 受けに行かない
- 蹴りを先行させない、まずきちんと受ける
- 動くものと動かないものをきちんと理解する。
- 流水は動かない
- 目打ち中段を早く、テンポよく
- 目打ち後、きちんと握る
- 打ち受け突きはきちんと中に入る。腕、肩の間を弾く。付く、もう一度払う。
- 何故、をきちんと考える
- 仁王受けは大きな円と小さな円を描く
- つかまれたとき、左右(上下にも?)には動くので、寄り抜きの時には力を入れず横に逃がしつつ、鏡にする
- 両手の時は合唱から開いた手になる
- 中段は帯を狙う
- 八相は上段と中段を空ける、そのため目の横あたりに手の先が来る、合掌からの開いた手
- 上受け蹴りは転身せず、下がる、その方が蹴りやすい
- 手を切るとき円を考える、角度、目的先(親指下)を 変えると引きずる、
Material Design Lite の hide 機能
Google さんがなんか出してきたので、そちらに移行したいとこいう事になってしまった。
Materialize で出来た、ウインドウサイズによって隠す方法はどうやるんだろうと思っていたら、書かれていた。
mdl-cell--hide-desktop
mdl-cell--hide-tablet
mdl-cell--hide-phone
mdl-cell--hide-desktop
デスクトップモードの時に隠れる。
デスクトップモードってなんやねん。と思ったが、実際に動かしてみると cell が 9以上の時に隠れる模様。
mdl-cell--hide-tablet
タブレットモードの時に隠れる。
実際に動かしてみると、cellが 5以上、8以下の時に隠れる。
mdl-cell--hide-phone
フォーンモードの時に隠れる。
動かすと4以下の時に隠れる。
で、それぞれ互いに背反というか、同時には発動しない。だから、デスクトップ以下場合に隠したい要望がある場合は2つ指定する必要があるっぽい。
この項目に、「mdl-cell--N-col-phone
」とかあるが、例えばこの phone の場合、つまり cell が 4以下の場合に、実際は 6 にするとか、8にするとかいう機能がある模様。
この機能を使うと、Materialize で2重に書く必要があった、隠す部分と表示する部分の切り替えができるんじゃないかと思うが、とりあえずやってみるしかない。
Materialize のHiding Content が分かり辛いのでまとめておく
わかりづれーよ
hide-on-small-only
smallの時に隠れる
middle / large で表示される
hide-on-med-only
middleの時に隠れる
small / large で表示される
hide-on-med-and-down
small / middle で隠れる
large の時だけ表示される
hide-on-med-and-up
middle / large で隠れる
small の時だけ表示される
hide-on-large-only
large で隠れる
small / middle の時に表示される
で
smallの時だけ表示をごっそり変えたい場合は
small のコンテンツを「hide-on-med-and-up」で囲い、
middle/large のコンテンツを「hide-on-small-only」で囲う。
ショウメモ
- レの字立ができていない
- ⇒足幅を広くする、後ろの足も広くする
- ⇒鍵手の後はくずれてもいいが、前の足より後ろの足が下がることは無い
- 相手の足の爪あたりに引かれたら、引かれた後移動して、その後鍵手にもっていく
- 腕は伸びない、
- 手は開くか閉じるか
- ⇒中途半端な閉じ方をしない
- 型の意味を考える
- ⇒三角ならきちんと親指を切る
- 上のものは下へ、下のものは上へ
- ⇒雲竜
- 突きはそのまま相手の正面へ、下に落とさない
- ⇒最後にちょっと引く、ほんのちょっと。カーテンなどで当てて練習する
- ⇒目を払うときは小指から、その後握る
- 余計ない動きはしない
- 体重で落とす、体で動かす、小手先で動かない
- 添えるだけ、もしくは押さえるだけ。握らない
- 握らなくても技はかかる
- S字でちょっと内側へひっかける、ただし、どれがひっかかているはまだわからない。
- 手鏡、手の面は相手に向ける
- 引く手も正しく
Firefox add-ons のサンプルを動かしてみる
ここを見ながら適当に進める。
Python が必要らしいのでコマンドプロンプトで python と打つ
'python' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
ということなので、入れたことがないらしい。
3.xはいくつかのプラットフォームでサポートされてないよ、と書いてあるが、だからどうしろとは書いてない。とりあえず2.7を選択しておけばよいということなのだろうか。
2.7のmsiをインストール、適当にpathを通す。
SDK の zip ファイルを取得し解凍。
適当なフォルダに持っていく。コマンドプロンプトでbin/activateを実行
D:\ProgramFiles\addon-sdk-1.17>bin\activate
Welcome to the Add-on SDK. For the docs, visit https://addons.mozilla.org/en-US/
developers/docs/sdk/latest/(D:\ProgramFiles\addon-sdk-1.17) D:\ProgramFiles\addon-sdk-1.17>cfx
・・・
エラーが出たが、オプションが足りてないらしい。
サンプル通りに進める。
(D:\ProgramFiles\addon-sdk-1.17) D:\ProgramFiles\addon-sdk-1.17>mkdir my-addon
(D:\ProgramFiles\addon-sdk-1.17) D:\ProgramFiles\addon-sdk-1.17>cd my-addon
(D:\ProgramFiles\addon-sdk-1.17) D:\ProgramFiles\addon-sdk-1.17\my-addon>cfx ini
t
* lib directory created
* data directory created
* test directory created
* generated jID automatically: jid1-bgDBGFLflF7Weg
* package.json written
* test/test-main.js written
* lib/main.js writtenYour sample add-on is now ready.
Do "cfx test" to test it and "cfx run" to try it. Have fun!(D:\ProgramFiles\addon-sdk-1.17) D:\ProgramFiles\addon-sdk-1.17\my-addon>
さっきのフォルダ配下にいろいろと作られたらしい。
my-addonフォルダ配下にいろいろと作られている。
サンプル通りに lib/main.jsに記述を行う。
var buttons = require('sdk/ui/button/action'); var tabs = require("sdk/tabs"); var button = buttons.ActionButton({ id: "mozilla-link", label: "Visit Mozilla", icon: { "16": "./icon-16.png", "32": "./icon-32.png", "64": "./icon-64.png" }, onClick: handleClick }); function handleClick(state) { tabs.open("https://developer.mozilla.org/"); }
で、サンプルにあるicon-**.png を dataフォルダに入れる。
そして xcf runと実行する
なんか表示された。
押すとさっきのアドレスに新規タブとして開く。
ここまでは結構簡単に感じる。
つづく。