Vue.js で ToDo アプリを作る (Firebase Realtime Database 編)

前回の続き Vue.js で ToDo アプリを作る - kntmr-blog 前回作成した ToDo アプリはデータを LocalStorage に保存していましたが、今回は Firebase Realtime Database に保存するようにしました。また、Vuex の Plugins は使わず、mutations のところで stat…

AWS の10分間チュートリアルで EC2 インスタンスを起動してから HTTP アクセスするまで

AWS

試してみたついでに備忘録。 EC2 インスタンス作成&起動 EC2 インスタンスを作成して起動。10分間チュートリアルは以下。便利。 aws.amazon.com httpd インストール EC2 インスタンスに ssh でアクセスして、httpd をインストールする。 $ sudo yum install …

GitBook on Windows

GitBook の導入手順などをメモ。基本的なところはドキュメントに書いてありますが。 About this documentation · GitBook Toolchain Documentation 前提 node と npm のバージョンは以下の通り。 > node -v v8.11.2 > npm -v 5.6.0 尚、手元の環境が Windows…

Vue.js で ToDo アプリを作る

以前、PWA の学習を兼ねて、Firebase にデプロイしたアプリを PWA 化してみる計画を立てたのですが、対象のアプリがイマイチなので、その代わりに Vue.js で ToDo アプリを作りました。 今のところ ToDo のデータは LocalStorage に保存するようにしています…

Vue.js アプリを Firebase にデプロイしてみる

Firebase を使ってみようと思います。ひとまず、以下の続編としてアプリを Firebase にデプロイしてみようかと。 Vue.js でウィジェットっぽいもの (仮) その2 - kntmr-blog ソースコードはこちら。 github.com 以下、備忘録。 Firebase Console Firebase Co…

AWS導入ガイドセミナー2018年春編 〜クラウド移行のコツはポイントを押さえて効率よく〜 に行ってきた

AWS

先日、AWS導入ガイドセミナー2018年春編 〜クラウド移行のコツはポイントを押さえて効率よく〜 に行ってきました。簡単に所感をまとめます。 dev.classmethod.jp 所感など 各所で聞く話もありましたが、クラウドについては素人ということもあり、改めていろ…

git rebase メモ

Git

備忘録。基本的に svn を使うことが多いので、たまに Git を使うとコマンドを忘れている件...。 git rebase コマンドを実行する。-i HEAD~2 とすると直近2つのコミットが表示される。 > git rebase -i HEAD~2 そして、これを pick <commit_hash> hogehoge pick <commit_hash> fugafuga </commit_hash></commit_hash>…

JJUGナイトセミナー「Java SE 10 / JDK10 リリース特集」に行ってきた #jjug

先日、JJUGナイトセミナー「Java SE 10 / JDK10 リリース特集」に行ってきました。簡単に所感をまとめます。 jjug.doorkeeper.jp メモから抜粋。(資料が公開されたら貼っておきます ⇒ 2018/03/29 追加しました) JDKリリースモデル変更について 5/17 Java Day…

Spring の @Validated と Bean Validation の javax.validation.groups.Default と groups について

実際の挙動がイメージとちょっと違うのでメモる。 パターン1 バリデーショングループのインタフェースで javax.validation.groups.Default を継承しないパターン。 interface Group {} @NotNull private String foo; @NotNull(groups = Group.class) private…

SAStruts のフォワードとリダイレクトについて

Seasar/Struts チョットデキルマンのみなさんには常識かもしれませんが、@Execute の属性に redirect=true を指定してるのにフォワードで遷移することがあったり、イマイチそのあたりの挙動が分からず。備忘録。 デフォルトはフォワード Super Agile Struts - Anno…

JSUG勉強会 2018年その2 SpringとAPI時代の動く仕様への取り組み に行ってきた #jsug

JSUG勉強会 2018年その2 に行ってきました。簡単に所感をまとめます。 (2018/03/12) スライドのリンクを追記しました。 jsug.doorkeeper.jp Springのプログラムモデルと動く仕様~テスト編~ from terahide www.slideshare.net 「システム設計の謎を解く」 "…

Vue.js + Vuex + axios を使うときに考えたことや反省点など

とあるプロジェクトで Vue.js + Vuex + axios を適用してみました。調べたことや自分なりに考えたこと、反省点を残しておこうかと。 前提 それぞれのバージョンは以下の通り。 "dependencies": { "axios": "^0.17.1", "es6-promise": "^4.1.1", "vue": "^2.5…

vue-cli の webpack テンプレートでテスト環境向けにビルドしたい

※手元の環境は vue-cli@2.9.1 です。 細かく言うと、dev.env.js や prod.env.js の他に、テスト環境向けの config が欲しいということです。ちなみに「テスト環境」とは、ローカル以上、プロダクション未満のような環境を指しています。 で、stg.env.js のよ…

ES2015 で空のオブジェクトを返すアロー関数を書いてハマる

es6 で空のオブジェクトを返す関数書こうと思って () => {} って書いたら undefined が返っちゃって30分くらいハマってしまった...— kntmr (@knt_mr) 2018年1月9日 普通に考えれば当たり前なんですが、最初なにが起きてるのか分からなくてハマりました...。 …

2017年のふりかえりと2018年のこと

賀正。 2017年の行動指針 - kntmr-blog 2017年の初めにこんなエントリを書いていたので、これのふりかえりと2018年のことでも書いてみようかと。 『基本的に毎日勉強することが目標。』 これはさすがに無理でしたね。全然だめでした。圧倒的にだめでした。就…

Avoriaz で filters や methods の中身を差し替える

前回の続編。用途があるか不明ですが、こんな感じでできそうという話。 kntmr.hatenablog.com filters を差し替える 例えば、こういうコンポーネントがあって、期待する値が出力されるかテストするパターン。ここでは、グローバルフィルターが設定されている…

Avoriaz と Sinon.JS で methods のメソッドが呼ばれたことをテストする

このあたりを調べたときのメモ。 avoriaz@6.3.0 sinon@4.0.0 例えば、こういうコンポーネントがあって、ボタンクリック時のイベントハンドラを methods のメソッドにバインドしているものとする。 <template> <div> <button @click="onClick">Submit</button> </div> </template> <script> export default { name: 'AvoriazTest', method</script>…

コンポーネントの props で required を付けるときは default を定義した方がよさそう

小ネタですみませんが、Vue.js #4 Advent Calendar 2017 の15日目が空いてたので書きます。最近、Vue.js を実案件で使い始めました。Vue.js 歴は浅いです。 タイトルの通りなんですが、誤りや本来はこうあるべきというのがあればご指摘いただけますと幸いで…

Spring Fest 2017 に行ってきた #jsug

簡単に所感をまとめます。 springfest2017.springframework.jp What's New in Spring 会場に到着したらすでに翻訳機がなくなってたのでスライドから雰囲気だけ感じ取る。内容は Spring 5 と Spring Boot 2.0 について。Spring MVC ではこう書いていたコード…

JJUG CCC 2017 Fall に行ってきた #jjug_ccc

簡単に所感をまとめます。セッション資料はどこかで公開されるはず。 www.java-users.jp Selenide or Geb? あなたはそのときどちらを使う? Selenide Java製WebDriverラッパー DSLによるjQueryライクなセレクタ IDEの補完を活用できる Ajaxなどの非同期処理…

Vue.js でウィジェットっぽいもの (仮) その2

前回の続き Vue.js でウィジェットっぽいものを作ってみる (仮) - kntmr-blog 続編として今回は以下をやってみようかと。 Webpack で出力するファイルをまとめる ウィジェットにパラメータを渡せるようにする 任意のタグ/キーワードで表示できるようにする W…

Vue.js でウィジェットっぽいものを作ってみる (仮)

Qiita Widget : Qiitaの投稿を表示できるブログパーツ こんな感じのウィジェットっぽいものを、Vue.js と Veux の学習を兼ねて作ってみようかと。今回は Qiita の Vue.js タグを表示するもの。 github.com 以下、備忘録。 vue-cli vue-cli の Webpack テンプ…

今さらながら Selenide を使ってみる

今さらながら使ってみたけどいい感じ / Selenide: concise UI tests in Java https://t.co/IDTaRXqICV— kntmr (@knt_mr) 2017年10月5日 簡易なテストページを作って試してみました。 サンプルコード 以下、備忘録。 各ブラウザの WebDriver をダウンロードし…

JJUGナイトセミナー「メッセージングミドルウェア特集」に行ってきた #jjug

先日、JJUGナイトセミナー「メッセージングミドルウェア特集」に行ってきました。簡単に所感をまとめます。 jjug.doorkeeper.jp メモから抜粋。(資料が公開されたら貼っておきます) 実運用して分かった Rabbit MQ の良いところ・気をつけること オープンソー…

JSUG勉強会 2017年その7 〜 俺たちのマイクロサービス に行ってきた #jsug

JSUG勉強会 2017年その7 に行ってきました。簡単に所感をまとめます。 jsug.doorkeeper.jp 今回のテーマはマイクロサービスです。メモから抜粋します。 無理をしないマイクロサービス マイクロサービスアーキテクチャは手段 組織や体制に合うやり方でこれま…

java.lang.IllegalArgumentException: Comparison method violates its general contract!

自作の Comparator でリストをソートしたら初めて見るエラーメッセージが。 java.lang.IllegalArgumentException: Comparison method violates its general contract! 再現コード ※Java 1.8.0_92 です。 なかなか再現できずいろいろ試した結果、以下のように…

Spring の Bean Validation でエラーメッセージにフィールド名を埋め込む

Bean Validation と書いたが、メッセージにフィールド名を埋め込むのは、正確には Spring が提供する機能らしい。 サンプルコード アノテーションは以下の通り。 @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) @Constraint(validatedBy =…

Bootstrap と Vue.js で簡単なモックアップを作る

以前、Bootstrap ベースのモックアップについて書きました。 Bootstrap を利用して簡単なモックアップを作る - kntmr-blog で、今回は Bootstrap + Vue.js 版のモックアップを作ってみました。モックアップとしての内容は Bootstrap 版と同じです。Vue.js と…

Oracle 認定資格デジタルバッジ

8月から Oracle 認定資格を保有していることを証明する電子証明書『デジタルバッジ』の提供が開始されたようです。保有資格をオンラインで公開できるものらしい。 education.oracle.com というわけで、Oracle Certified Java Programmer のデジタルバッジを…

サービスインと切り戻しについて

先日、お客様サイドで新規システムのリリース対応がありました。 が、新規システムに正しくデータが連携できなったようで、長時間の作業も虚しく、残念ながら切り戻しとなりました。ちなみに、切り戻しと言うのは、新規システムのリリースを取り止めて旧バー…