SIerだけど技術やりたいブログ

5年目のSIerのブログです

Vuejs APIアクセスはcreatedとmountedのどちらで行う?

created と mounted はざっくりした理解だと、こんな感じ。 created インスタンスの初期化が済んで props や computed にアクセスできる状態 mounted created + DOMにアクセスできる状態 APIアクセスは created と mounted のどちらで行う? APIアクセスはほ…

Multibranch Pipeline の成果物の保存数を指定する

Muitibranch Pipeline のプロジェクトを利用すると、ブランチごとにジョブが作成される。デフォルトだと、各ブランチごとの成果物の保存数は上限がない。 そのため、成果物が溜まってしまう。各ブランチごとの成果物の保存数を指定するには、Jenkinsfile内で…

Vuejs vue-router クエリパラメータの一部だけを取り除く

vue-router のクエリを一部のみ取り除く バージョン "dependencies": { "vue": "^2.5.2", "vue-router": "^3.0.1" } やりたいこと 検索したらURLにパラメータが付与される。 ボタンを押したらパラメータが一部だけ削除される ソースコード <template> <div> <div> <form @submit.prevent="$router.push({query: {q: q, type: type} })"> <input type="text" v-model="q" /> </form></div></div></template>

Vuejs Axiosで共通的な例外をあつかう

Vuejsと一緒に利用されることが多いHTTPクライアントライブラリのAxiosでは、interceptorsの仕組みを利用することでレスポンスに関する共通的な処理をはさみこめる。これを利用してVuejsで共通的な例外をあつかう。Axios interceptors GitHub - axios/axios:…

Vuejs vue-router利用時にはアクティブなリンクに自動でクラスを振ってくれる

タイトルでほぼ説明終わり。 "dependencies": { "vue": "^2.5.2", "vue-router": "^3.0.1" },コンポーネント内にrouter-viewタグがネストしている場合に、アクティブなリンクにcssのスタイルを適用したいとする。Vuejsだけの知識で解決しようとすると、以下…

Vuejs利用時に <button type="reset"> は使わないほうがいい

button type="reset"とは? HTMLのButtonのひとつで、Formを自動でクリアしてくれるやつ。 button 要素 - HTML | MDN <html> <body> <form> <input type="text" placeholder="username" /> <input type="password" placeholder="password" /> <button type="reset">reset</button> </form> </body> </html> resetボタンをクリックするとFormが自動でクリ…

今年のふりかえり(ブログの運営について)

年の瀬でやる気もでないので、2017年をふりかえろうと思います。技術要素はゼロです。面白さもゼロです。 アクセス数 2016年から始めたブログですが、1年前と比べると2倍強のアクセス数になりました。 日本の総人口は1億2670万人らしいので、このペース(1年…

Tomcatのリソース設定(maxThreads,maxConnections,acceptCount)の違い

リファレンスだけを読んでも違いがわからなかったので、調べた。Apache Tomcat 8 Configuration Reference (8.5.24) - The HTTP Connector maxThreads リクエストを処理するスレッド数(workerスレッド)の上限 1リクエスト処理するために1workerスレッドを消…

Vuejs URL切り替え時のコンポーネントライフサイクルについて

vue-routerのリファレンスに以下の記述がある。動的ルートマッチング · vue-router ルートのパラメーターを使う際に特筆すべき点は、ユーザーが /user/foo から /user/bar へ遷移するときに同じコンポーネントインスタンスが再利用されるということです。 両…

Spring Securityで特定ヘッダーがついてるときだけ認証をパスさせる方法

以下、Basic認証を例に取り上げる。 何をしたいか? アプリケーションに認証をかける。 $ curl -i -u 'user:pass' localhost:8080/api/sample HTTP/1.1 200 X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Cache-Control: no-cache, no-s…

こわれたHTML構造でもFormでEnter押下時のimplicit submissionをサポートする方法

通常はformタグ内に input type="submit" 要素があれば、implicit submissionが有効になる。 <html> <body> <form> <input type="text" name="id" /> <input type="text" name="password" /> <button type="submit">submit</button> </form> </body> </html> Enterを押下したらPOSTされることがわかる。 が、たまに、以下のようにこわれた構造のHTMLを書くときがある。 Bootst…

Vuejs formタグ内のテキストフィールドでEnter押下時に、メソッドを実行する

SPAの場合はformタグに任せてデータをPOSTすることは稀で、通常は自身で定義したハンドラを呼び出してAjax通信を行う。以下は、ボタン押下時にexecメソッドを実行する例。 <template> <form> <input type="text" placeholder="username" /> <input type="text" placeholder="password" /> <button type="submit" @click="exec">submit</button> </form> </template> <script> export default { name…

docker-composeを複数起動する

$ docker -v Docker version 17.06.1-ce, build 874a737 $ docker-compose -v docker-compose version 1.16.1, build 6d1ac21docker-composeは複数のコンテナを手軽に扱うためのツール。yml形式でコンテナに関する設定ができ、 sample]$ ls docker-compose.y…

なぜ Spring Boot は Tomcat のログをアプリケーションから管理できるのか

Tomcatにwarをデプロイして運用することに慣れ親しんでいる自分はTomcatのログは conf/logging.properties で設定する Apache Tomcat 8 (8.5.23) - Logging in Tomcatと思っていましたが、Spring Bootから制御できています。 . ____ _ __ _ _ /\\ / ___'_ __…

Javaアプリケーションのログ出力

Javaアプリケーションで考慮すべきログはだいたい3パターンに分類できると思う。 標準ロガー系 Commons Logging や SLF4J などのファサードでなんとかなるやつ 独自ロガー系 Apache Tomcat の JULI などの独自のルールに従わないといけないやつ 標準出力/標…

Javaのビルドの基礎知識

Javaのビルド関連の知識については、Java学習初期にこんなコード書いて終わり、あとは便利なビルドツール(mavenやらgradle)に任せようって感じで知識が薄かった。 $ cat Sample.java public class Sample { public static void main(String[] args) { System…

Vuej.sでSPAを実現するときは注意してsetIntervalを使おう

setIntervalとは 一定の遅延間隔を置いて関数を繰り返し実行したいときに利用する。例えばポーリング。 developer.mozilla.org1秒ごとにコンソール出力する例。 <html lang="ja"> <script> window.setInterval(function(){ console.log("polling"); }, 1000); </script> <body> </body> </html> setIntervalの生存…

Spring 抽象クラスに定義したアノテーションは引き継がれるのか

以下のコードの実行結果からわかるように、引き継がれる。はい終わり! @EnableAsync //非同期処理を有効化する @SpringBootApplication public class InheritApplication { public static void main(String[] args) { new SpringApplicationBuilder(Inherit…

Spring 非同期タスクの同時実行数を制限する方法

Springには非同期処理を実行するための@Asyncアノテーションがある。 34. Task Execution and Scheduling kimulla.hatenablog.com この非同期タスクの同時実行数を絞るための方法をメモる。デフォルトだと非同期処理の実行にSimpleAsyncTaskExecutorが使われ…

「mvn clean test」みたいに実行するコマンドと「mvn checkstyle:checkstyle」みたいに実行するコマンドとの差を理解したい

「:」なしで実行できるコマンドと、 mvn clean test 「:」でつないで実行するコマンドとの差を理解するのが目的です。 mvn checkstyle:checkstyle 動作確認環境 mvn -v Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T20:57:3…

Vuejsでdataプロパティに値を動的に追加する方法(といいつつJSの基本を理解してなかったという話)

Vuejsのバージョン この記事はVuejs v2.3.3 で動作確認をしました。 ... "dependencies": { "vue": "^2.3.3", "vue-router": "^2.6.0" }, ... Vuejsのdataプロパティ Vuejsはdataオブジェクトのプロパティをリアクティブな値として扱う。つまり、dataオブジ…

Jenkinsジョブ(ビルド~テスト)をDockerコンテナ上で実行する ~Docker Pipeline Pluginを使ってみる~

ビルドやテストなどの一連の作業をJenkinsで自動実行することを考える。 通常これらのジョブはJenkinsのmasterやslaveで実行されることになり、ビルドに必要な環境構築(例えばjavaのインストールやmavenのインストール)はJenkinsのmasterやslaveに対して、…

PostgreSQLのDockerイメージの使い方

ホスト環境を汚さずにいろいろなバージョンのミドルウェアを構築するために、Dockerは非常に有効な手段だと思います。 この記事は、PostgreSQLのDockerイメージを使うために試行錯誤したときのメモです。 動作確認環境 PostgreSQLの起動 PostgreSQLへの接続(…

SpringのContextHolderいろいろ

Springには、…ContextHolderというクラスがある。スレッドローカルに値を保存しておくことで、情報をいろんなところから参照できるようにする。スレッドローカルは…まあスレッド固有の値ですよね。(あたりまえ)TomcatなどのAPサーバはリクエストごとにwork…

jenkinsのpipeline入門(jenkinsfile)

本記事について、Jenkinsのpipelineが最近(2017/2/20時点で)DSLがごっそり入れ替わった(declarative pipeline)っぽいので内容が古いです。以下はscripted pipelineの書き方です。 Jenkins2では、Groovy DSLを用いたpipelineの記述ができるようになったらしい…

makeのshell関数の実行タイミングは直感と異なる

makeのshell関数の実行タイミングは直感と異なる Makefile作成時にshell関数の実行タイミングが直感と異なっていてハマったのでメモ。 やりたかったこと これ。 www.rhoboro.comsphinxドキュメントをビルドするときに、なるべくビルド環境を汚さず、CIツール…

ブロッキングとかノンブロッキングを理解したい

Spring Framework5では「Reactive」対応が目玉だと言われているが、そもそもその前段のブロッキングやノンブロッキングというのが何なのか、いまいちしっくりこなかったので基本から調べた。(今回は特にネットワーク部分に絞って調べた)また、tomcatの実装で…

Springの@RequestScopeや@SessionScopeは結局どこに保存されるのか?我々は真相に迫った

ある日の出来事 我々は真相に迫った まずはデバッグ Javadocを読んでみる 結論 追加 ある日の出来事 SpringのBeanのスコープ、便利ですよね。ライフサイクル管理を任せられるのはDIコンテナを利用するメリットの大きなところだと思います。いつもは何も考え…

Springの@Asyncで非同期処理をする

この記事の内容 DataSourceTransactionManagerはスレッドごとにTx管理するので、@Async使うときはトランザクションが分かれることに注意しよう。 この記事の内容 @Asyncアノテーション サンプルコード スレッド生成ルールのカスタマイズ WEBシステムで使うと…

Spring Framework で同一アプリ内でのイベントを扱う(ApplicationEvent、EventPublisher)

なぜイベントを使うのか デフォルトで提供されているイベント Listenerの実装方法 ApplicationListenerを実装する方法(~spring4.1) @Eventlistenerアノテーションを使う方法(spring4.2~) カスタムイベントの実装方法 サンプルアプリの題材説明 Application…