モノラルログ

マツオ ( @matsuoshi / monaural.net ) のざっくりしたブログです

Vue.js で、フォームの初期値を html側で設定する

f:id:matsuoshi:20190913113449p:plain

インターンの子が困ってたので、一緒にしらべたやつのメモ

  • Vue.js でフォームを扱う
  • 入力フィールド (input や textarea) の初期値は、Vue.js 側ではなく、html にあらかじめ埋め込んだ値を設定したい (この場合は laravel の blade で入れたかった)

でまあ、インターンの方はいろいろ試してて

  • props を使う?
  • created? mounted? あたりで DOMを読み取る?
  • v-model? v-bind?

最終的に、こんな感じでうまくいきました

<div id="app">
  <textarea id="defaultField" v-model="foo">ここに初期値が入る</textarea>
  <p>{{ foo }}</p>  
</div>

<script>
new Vue({
  el: '#app',
  data: {
    foo: document.getElementById('defaultField').value
  }
});
</script>

単純だった

props も created, mounted も使わず、ふつうに Vue.js 側の data の初期値に、DOM読んで取ってきた値を入れてやる

それだけなんだけど、ちょっと時間使っちゃったのでメモでした (もっと Vue.js らしい上手なやり方とかあるのかな…)

↓Codepen で試したの、こちら

See the Pen vue.js default value by h.matsuo (@matsuoshi) on CodePen.

Googleの検索結果から、日本語ページを対象外にしたり、日本語のみを対象にしたりするブックマークレット

f:id:matsuoshi:20190904151149p:plain

Qiitaに書いた記事の続き

qiita.com

英語のみでググりたい

技術系のことをググるとき、検索対象を英語のみにしたい(というか、日本語ページを除外したい)場合が多い

検索結果画面の「ツール」のところからだと

  • すべての言語
  • 日本語のみ

の2つしか選べない。

「すべての言語」を選択しても、日本語のページがけっこう混ざってくる。日本語以外だけを、対象にしてググりたいんだよな〜〜

ブックマークレットを作った

ということでブックマークレットを作った

Googleの検索結果表示を「日本語を除外」←→「日本語のみ」に、さくっと切り替えられます

こちらです。

javascript:(()=>{u=new URL(location);u.searchParams.set('lr',(u.searchParams.get('lr')=='-lang_ja')?'lang_ja':'-lang_ja');location.href=u.href;})()

使い方

ググったあとの画面で、このブックマークレットを呼び出してください。

呼び出すたびに、表示が「日本語を除外」←→「日本語のみ」と切り替わります

技術系のことをググるときなどにたぶん便利

やっていること

クエリパラメタとして lr=-lang_ja などの値をつけているだけです

lr=lang_ja だと日本語のみが対象、値の前に - をつけて lr=-lang_ja とすることで日本語が除外されます

ところで JavaScript でURLを操作するのに、URL オブジェクトが便利でした

developer.mozilla.org

コードは展開するとこんな感じ

(() => {
    let u = new URL(location);
    u.searchParams.set('lr', (u.searchParams.get('lr') == '-lang_ja') ? 'lang_ja' : '-lang_ja');
    location.href = u.href;
})()

スマホ連動の体重計 "Mi Body Composition Scale" を買った

スマホ連動の体重計を買ったのでメモ。

Mi Band (以前の記事) に引き続き Xiaomi製の、"Mi Body Composition Scale" です

matsuoshi.hatenablog.com

なにができるの

体重計/体組成計です。乗るだけで

の10項目を測定してくれます。

結果はスマートフォンの Mi Fit というアプリに連動され、自動的に記録されます。過去の履歴とか、今週の平均とか、前回からどれだけ増減があったかとかを見せてくれるので、自分の体の変動が一目瞭然。

f:id:matsuoshi:20190830084431p:plain

見た目もこの手のガジェットにしては、かなりすっきりデザイン。

めっちゃ楽だった…!

とにかく初期設定が楽でした。

アプリ入れてアカウント作って、体重計と接続開始〜 体重計に乗るだけ。あとは常にデータは連動されます。

面倒なことを考えず、体重計に乗るだけ。乗る際にスマホ側でアプリ開いてないとダメとかではないし、ほんとに乗るだけ。

オートでロギングされるって、やっぱり楽だな〜

f:id:matsuoshi:20190830085032j:plain

こんな感じです (ちょっとパーソナルデータすぎて恥ずかしかったので数字は隠しました)

そして習慣づけの強い動機になりますね。先月はこうで、先週はこうで、今週はどうだ、っていう変化を、視覚的に見せてくれるというのは。なんか最近ヤバそうだから体に気をつけよう、みたいな気持ちになります。

惜しいところ

スマホ連動しないと、体重しか分からないんですよね。乗っても本体に表示されるのは体重のみ。他の項目を見るには、スマホを開くしかありません。

あとスマホへのデータの同期は、完全にリアルタイムというわけではないかも。たまに、タイムラグがあるときもありますね。まあそこまで気になりませんが。

いまのところ、買ってよかった

生活習慣を気にする、というか習慣づけの動機になる、という意味では、安い買い物だと思います。お値段6,000円弱です。

なんせ「習慣づける」というのが、食生活にせよ運動にせよ睡眠にせよ、難しいじゃないですか。お金ではなかなか解決しにくいところじゃないですか。それが、こういったトラッキングツールひとつで、しかも単に乗るだけという手軽さで意識づけられるのであれば、ぜんぜん払う価値あったな〜という感じです。

「アドレナリン・ジャンキー」など、デマルコの本を再読した

お盆あたりの時間で、久々にトム・デマルコの本を読み返したり、読んでなかった「アドレナリン・ジャンキー」を初めて読むなどしたのですが

やっぱりおもろい…… めっちゃためになる……

なんというか、プロジェクトのあるあるパターンを紹介した(86個も!) というものなんですが、身につまされるものが多い

そして、twitter にデマルコの名言bot もあったのでフォローしました

しびれるぜ

GitHub の無料プランで作れるプライベート・リポジトリの制限について

f:id:matsuoshi:20190815123212p:plain

2019年1月から、GitHubの無料プランでもプライベートリポジトリが作れるようになりました。歓喜

github.blog

ただ、無料版だと一部機能的な制限があるので、それをまとめておきます。

GitHub の Freeアカウント + プライベートリポジトリでは使えない機能

困りそうなのは

コラボレータは3人までとのことなので、4人以上必要なら素直に課金っすね。もしくは 5人までなら bitbucket を使う感じか。

その他、ぼっち開発で困りそうなのは

  • wiki
    • READMEファイル使うか、別のドキュメント管理サービスを使うか
  • GitHub Pages
    • Netlify があれば問題なさそう

wiki をどうするかっすね〜

あとはまあ、個人開発だと使わない機能だったり、あったら嬉しいけどそこまで困るってわけでもないかな

結論

ありがたく使わせていただいております 🙏

Projects機能あたりが Private で使えるのも超ありがたい……!

参考

https://github.com/pricing

(以上は2019.08 時点での情報です)