never meant

'Cause you can't miss what you forget

【GAS】Google カレンダーのイベント色付け係を作った

作ったもの

決まったキーワードがタイトルに入ったイベントの色を決まった色に変えるだけのGAS

f:id:cowai5:20211206135921g:plain

モチベーション

日々の記録をGoogleカレンダーに記録しており、活動のカテゴリに合わせて色を変えている。色を毎回手動で変えてたので、決まったキーワードくらいは自動で色変えてもらおうと思った。

コード

github.com

ハマったこと

Calendar APIサービスをclaspでどう追加するか分からなかった

結論:appsscript.jsonのdependenciesに書く

{
  "timeZone": "Asia/Tokyo",
  "dependencies": {
    "enabledAdvancedServices": [
      {
        "userSymbol": "Calendar",
        "version": "v3",
        "serviceId": "calendar"
      }
    ]
  },
  "exceptionLogging": "STACKDRIVER",
  "runtimeVersion": "V8"
}

appsscript.jsonをGASエディタ上に表示すれば、書くべきサービス名がわかります

f:id:cowai5:20211206140924p:plain
プロジェクトの設定 > 「appsscript.jsonマニフェスト ファイルをエディタで表示する をONにする

参考になりました

感想

GASのコードを書くよりも環境構築に時間が掛かった。

【GAS】GASライブラリを使わず、CDNから取得して使う方法

モチベーション

GASでDay.jsを使いたくなったけど、非公式なライブラリを使うことに違和感を感じたので調べた。

コード

function useDayjs() {
  const cacheExpire = 3600
  const dayjsCache = 'dayjsCache'

  let cache = CacheService.getUserCache()
  let cachedData = cache.get(dayjsCache)

  if (cachedData) {
    eval(cachedData)
  } else {
    var response = UrlFetchApp.fetch(
      'https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.10.7/dayjs.min.js'
    ).getContentText()
    cache.put(dayjsCache, response, cacheExpire)
    eval(response)
  }
}

// 呼び出し、実行例
useDayjs()
dayjs().subtract(15, 'minute').format()

参考元

stackoverflow.com developers.google.com GASにキャッシュサービスがあるなんて知らなかった

【Docker】Docker 101 Tutorial をやった

Docker 101 Tutorial をやった

Dockerを雰囲気で触ってたので、もう少し理解しようと思ってやった。

www.docker.com

今回のバージョンなど

% docker compose version
Docker Compose version v2.1.1

% docker version
Client:
 Cloud integration: v1.0.20
 Version:           20.10.10
 API version:       1.41
 Go version:        go1.16.9
 Git commit:        b485636
 Built:             Mon Oct 25 07:43:15 2021
 OS/Arch:           darwin/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.10
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.9
  Git commit:       e2f740d
  Built:            Mon Oct 25 07:41:30 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.11
  GitCommit:        5b46e404f6b9f661a205e28d59c982d3634148f8
 runc:
  Version:          1.0.2
  GitCommit:        v1.0.2-0-g52b36a2
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

日本語でやりたい人

MicrosoftVS Code ユーザー向けのDockerのチュートリアルを上げている。 中身は Docker 101 Tutorialと同じっぽい。

docs.microsoft.com

やってみて

  • 数年前に勉強したときよりも更に便利になっている気がした。ホストとコンテナ間のネットワークの繋ぐところとか苦戦した記憶がある
  • Docker Compose あらためて便利だな
  • どうせまた忘れる。使いそうなコマンドはメモしておいた。メモ用途の記事はまた今度書く。

【Docker】docker scan をして 400 Bad Request と返ってきたのは、synk のログインができてなかったからだった。

起きたこと

docker scan したらこけた。

% docker scan cowai/getting-started
Docker Scan relies upon access to Snyk, a third party provider, do you consent to proceed using Snyk? (y/N)
y
failed to get DockerScanID: bad status code "400 Bad Request"

対処

synk と Docker ID をつなげるためにログインする

% docker scan --login

Now redirecting you to our auth page, go ahead and log in,
and once the auth is complete, return to this prompt and you'll
be ready to start using snyk.

If you can't wait use this url:
https://snyk.io/login?token=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&utm_medium=Partner&utm_source=Docker&utm_campaign=Docker-Desktop-2020&os=darwin&docker=false

ブラウザが立ち上がるのでつなげる

f:id:cowai5:20211126012604p:plain f:id:cowai5:20211126012607p:plain

参考

forums.docker.com

【子育て】Cubo Ai Plusで子どもを見守る

Cubo Ai Plusを買いました

www.youtube.com

f:id:cowai5:20211025035231j:plain
見た目がかわいい
f:id:cowai5:20211025035228j:plain
生後0ヶ月の様子

購入までの流れ

  1. リビングにベビーベッドを置くしかないので、寝室から様子を見守りたい
  2. ベビーモニターが必要だな。調べよう
  3. パナソニックのやつ買おうか
  4. インターネットでCubo Ai Plusを見かける
  5. お、画像認識してスマホにいろいろ通知してくれるのか!子どもが歩き回るようになってからも使えそうやな!
  6. ちょっと高いな... せや、両親にねだろう
  7. 購入

ベビーモニターを買ってよかった

Cubo Ai Plus に限らず、ベビーモニターを買ってよかったです。寝ている子どもをモニターで見守りながら、別室で作業ができるので助かっています。

3ヶ月使ってみて

良かったこと👍と効果を感じなかったこと💭を書きます。

👍 専用モニターではなく、スマホから見守れる

妻と私がそれぞれアプリを使うことで、スマホから見守ったり、通知を受け取ることができるのが便利です。

たとえば、息子が寝てる最中に、私がお風呂に入りつつで見守り、妻が書斎で作業しながら見守ることができます。

👍 アプリからいろいろ通知してくれる

こういうときに通知してくれます。

  • 泣いたとき
  • 何かに顔に覆いかぶさったとき
  • その場からいなくなったとき
  • 温度や湿度が良くないとき
  • 寝返りしたとき(まだ経験してない)
  • 危険エリアに入ったとき(まだ経験してない)

妻は自宅、自分が近くに外出しているときに「泣いてます」と通知が来ると、早めに切り上げて帰ったり、アプリで様子を確認することができるのが良いです。 寝返りや動き回るようになったら、この通知機能はもっと効果を発揮すると思います。

💭 Amazon Echo Show から見れる

寝室においている Echo Show からもモニターを見ることができます。最初は「すごい!」と思いましたが、自分の生活の中では活用し切れていないのが本音です。

👍 睡眠分析をしてくれる

映像を解析して、睡眠を分析してくれます。 睡眠の記録は最初、ぴよログで取っていたのですが、寝かしつけに集中した結果「いつ寝たか」を記録し忘れることが多くなってしまいました。なのでCubo Ai Plusに管理を寄せました。

f:id:cowai5:20211025025907j:plain
泣いた時間や起きた時間、親が来た時間等も記録します

感謝しつつも要望が2点あります。

  • 睡眠時間の分析のUIは横スクロールじゃなくて、縦スクロールにしてほしい。横スクロールだと見づらい。
  • 睡眠の傾向を知りたいので、ぴよログみたいに一週間の実績をまとめて表示してくれると助かる。

💭 メロディ機能が使いこなせない

あの鳥からいろんな音が出せるんです。オルゴールの音だったり、ホワイトノイズだったり。 ただ、息子にはハマらず。効果は実感できてません。

くまのプーさんのメリーの音楽で足りてます。

👍 ナイトモードがきれいに見える

書いた通りです。困ることなく利用できてます。

f:id:cowai5:20211025030710g:plain

👍 素敵な写真を自動で撮ってくれる(自動フォトキャプチャ機能)

ベビーベッドの俯瞰写真を自動的に撮ってくれます。撮った写真はアプリに表示され、気に入った写真をダウンロードする流れです。

f:id:cowai5:20211025034849j:plain


今のところ、重宝してます🐣

【Vim】実践Vimを読んでVimに再入門する

同僚のVimさばきがかっこよかった

過去にVimに挫折したことがあったのですが、同僚のVimさばきがかっこよかったので、また挑戦しようと思いました。「かっこいい」は立派なモチベーション。

 過去の挫折を振り返る

前回挑戦したときはvimtutorをやっただけ。vimtutorをやるだけでは、通常のエディターを超えるパフォーマンスを出せませんでした。マクロもドットコマンドも知らなかった。

毎回ググってる余裕もないし、無知の知というか、「どんな素敵なことができるか」を知らない状態だったのもあります。身近にVimmerがいて、タイピングを近くで観察したり相談できたら、挫折せずに済んだかもしれません。

『実践Vim』にはvimtutor卒業後に知りたいことが書いてあった

『実践Vim』には実践的なテクニックがたくさん書かれてあり、TIPSを読み進めるたび「すごい!」「なるほど〜」と言いながら学ぶことができました。1.5ヶ月くらいで読み切れました。

道具の使い方が分かれば、いろんな使い方が連想できるって感じで、正規表現を学んだときと似た感覚がありました。

自分の使い方

IDEプラグインとしてVimを利用しています。自分は、道具をキンキンに磨いて、完璧に使いこなすタイプではないので、Vimオンリーで使うのはハードルを感じていました。なので、プラグイン利用くらいがちょうどいい。

VSCode Neovim

VSCodeでは、VSCode Neovimを利用しています。実践VimVSCodeで進める際、VSCodeVimの方が動かないテクニックが多かったからです。

入れたプラグインはこちら

Plug 'tpope/vim-commentary'
Plug 'tpope/vim-repeat'
Plug 'thinca/vim-visualstar'
Plug 'tpope/vim-surround'

EasyMotion も触ってみましたが、一旦保留しました。ひとまず / ? f t で頑張ってみて、物足りなかったら試そうと思います。

dotfilesもそうですが、他人の設定を理解せずに入れまくって使いこなせなくなる...という失敗を経て、必要な分だけ入れるスタイルになりましたです。「Vimで◯◯したいときはどうしたらいい?」と相談できる人脈ができたから、そういう思考になったのかも。

【ライフハック】子育てが始まり、まとまった時間がとれなくなった。細切れの時間をみんチャレで有意義に使う

子育てが始まり、まとまった時間がとれなくなった

ミルクやおむつ、抱っこ、寝かしつける等、こういう作業が一日に不定期に何度も起きるので、 まとまった時間が自然となくなってきました。時間が分裂し始める。

育児作業が不定期で割り込む
  ↓
時間が分裂する
  ↓
だらだらとスマホを見てしまう(どうでもいいことをする時間も大事だけど)
  ↓
細切れの時間を有意義に使えずモヤモヤする

こんな感じです。「なんとかせな」と思い、みんチャレを始めてみたら、自分に合っていた。

他人の目を気にする心理を利用する

minchalle.com

チームメンバーと一緒に習慣化に取り組むサービスです。

今まで習慣化の目標を立てても一人で挫折するばかりだったのですが、チーム制のおかげで続いてます。 他人と一緒にやってるから気を抜けない という思いがあります。

やっている習慣

  • 英語
  • 読書
  • ギター
  • プログラミング(手を動かすことを重視)
  • 運動
  • イデアを考える訓練
  • 作品鑑賞(映画、漫画、アニメなど)

自分が入っているチームは「1分/1回やればOK」というものばかりです。 スキマ時間を見つけてコツコツやる。小さくても毎日続けることが今の自分には大事

育児と同時並行でやろうと工夫し始める

面倒くさがりなので、育児と習慣アクションを並行してやってみよう!という気持ちになってきました。

  • バランスボールの上で子どもをあやしながら、読書をする
  • 子どもを抱えながら、スクワットをする
  • ミルクをあげながら、英語のフレーズ暗記に練習する
  • スキマ時間にNetflixでドラマ観る(5分だけでも...!!)

こんな感じです。制約がある中で試行錯誤しながら自分に合ったやり方を探すのは楽しい。アジャイル開発のマインドセットが活きています笑

育児休業中だからできてる

チャレンジしてる習慣が多いので、ちりつもでそこそこ時間になります。あと夜勤中にまとめてやっているものもある。

育児休業中だからできるとも言える。育児休業が終わったら、状況も変わるだろうけど、また試行錯誤して習慣を作り直せばいいと思ってる。