Drupal 開発ディレクター兼エンジニアが仕事、育児、本など雑多に書くブログ

1日の時間を 金/銀/鉄/鉛 で分類する

↓この本を読んでいる。

独学界隈では結構有名な本らしい。

はじめの章から、印象的な言葉に出会った。まずはそのまま引用しよう。

頭の仕事にとって、朝は金の時間である。ただし食事をするとたちまち鉄の時間になる。昼食前は銀の時間。食後は鉛の時間になるが、夕方の腹のすいているときはまた銀の時間がやってくる。夕食後は鉛の時間を通りこして、夜も十時以後ともなれば医師の時間である。

タスク管理を試して、突き詰めていくと、「自分に完璧に最適化された今日のタスクリスト」が欲しくなってくる。

特にタスクシュートやマニャーナの法則といった手法ではそれが顕著だが、「今日やること」からもう一歩踏み出して、「この時間にやること」まで分類できるとよりフォーカスできるだろう。 「今日やること」のリスト(クローズ・リストと呼ばれる)が有用なのは今日以外の時間軸を一旦忘れて集中できるからで、そう考えると「この時間にやること」まで用意しておけるとさらに目の前の時間に集中できるようになるだろう。

こういったリストを考える際に、この文章は役に立ちそうだ。 時間割として分類すると、概ね下記のようになるだろう。

  • 起床〜朝食:金の時間
  • 朝食後〜10時頃:鉄の時間
  • 10時頃〜昼食:銀の時間
  • 昼食後〜14時頃:鉛の時間
  • 14時頃〜夕食:銀の時間
  • 夕食後〜:石の時間

この本ではさらに、金の時間を増やす一つの方法として朝飯抜きを提示している。 朝飯抜きは半日断食法などでも提唱されている方法で、実践してみた身としてもかなりありな習慣だと思う。

最近はマニャーナの法則を取り入れたクローズ・リストを作成しているので、この時間割を取り入れてみようと思う。

そんな感じ。

結局ポモドーロはアナログタイマーに落ち着いた

最近またポモドーロを取り入れている。

常に回しているという訳ではなく、時間を区切って集中したい時だけ使う比較的緩いポモドーロだ。

常時ポモドーロは自分には合わなかった。細々としたすき間時間を上手に活用する必要がある現代で、短いスパンで集中 ⇔ 休憩を繰り返すのがポモドーロの役割だ。

はじめのうちしばらくは、Focus To-Doというアプリを使っていた。 Mac/iPad/iPhoneすべてでアプリが用意されており、よくできている。

Focus To-Do: ポモドーロ技術 & タスク管理

Focus To-Do: ポモドーロ技術 & タスク管理

  • Shenzhen Tomato Software Technology Co., Ltd.
  • 仕事効率化
  • 無料

デジタルなのでタスクに紐づけて時間を記録し、良い感じにレポートもできる。 受験勉強など、何にどれだけ時間を割いているか監視したいケースでは有用かもしれない。

とても良いツールだが、いかんせん画面移動が多くめんどくさくなってしまった。 特に仕事では会社用のタイムトラッキングツールがあり、こちらを押してさらにポモドーロを押して、ポモドーロが終わったらポモドーロを止めて、さらにタイムトラッキングツールへ戻って、、、としていると無駄に脳を疲弊させてしまう。

そんなわけでずっと気になっていたアナログのタイマーを購入してみた。 dretecの「勉強タイマー」というもので、その名の通り受験生や小さい子どもが集中するために使うもののようだ。

2週間ほど使って、結局はこれに落ち着いている。この文章を書いている今も、20分のタイマーをかけて「今この20分は書く!」と決めて書いている。

アナログによる利点は大きく、まず無駄な画面遷移が無くなる。Macbookで常時起動するアプリは、一つでも少ない方が良い。

時間は20分を基準にしている。25分だとやや長すぎるというか、例えば会議の合間が30分あったとして、コーヒーを入れてお手洗いに行くと1ポモドーロが微妙に入りきらないといった問題がある。 逆に15分も試したが、これだと調子が出てきたタイミングで作業が止まってしまうので、20分くらいがちょうど良い。

何回ポモドーロを実践したとか、何にどれだけ時間を使ったかは計測できないが、思えばそんなもの必要ないのだ。 たくさん時間をかけたから成長するわけでもなく、それよりはちょうど良いタスクに没頭できる回数を増やして、集中を繰り返していたら一日が終わったというのが最も良い。

一日の中でやることに迷わない仕組みは別途必要かな?これは「Todoist × マニャーナの法則」が割と上手くいきだしているので、またそのうち。

そんな感じ。

乳児にナッツは食べさせてはいけない

このところ、何度も同じことを妻に聞いて諭される機会が多い。申し訳ない。書けば忘れないので書く。

消費者庁によると、3歳頃までは食べさせるべきではないと記載されている。

Vol.386 豆やナッツ類は3歳頃までは食べさせないで!

まず一つに誤嚥や窒息に繋がること。誤嚥はごえんと読むらしい。

確かにぶどうやミニトマトも小さく切る必要があるし、ナッツは乳児には少し大きい。 口の水分も奪われるので、飲み込みにくいのは想像に難くない。

次にアレルギー反応が出やすいこと。これはやや疑問が残るところではあるが、重篤な症状に繋がることも多いらしい。

とはいえ早く食べはじめた方がアレルギー回避に良いという話もあり、もう少し大きくなったらペーストするなりして取り入れていけば良いか。

ナッツは体に良さそうだが、脂質が多いので食べすぎると体に負担がかかる。乳児にとって必須のものではないので、特に急ぎすぎず機会があれば食べさせれば良い。

それはそうと、高知県で食べた生落花生の塩茹では格別だった。今日は田舎のメリットを一つ見つけてしまった。うーむ。

www.sirogohan.com

preg_quoteで文字列をエスケープ処理する

PHP関数の一つ。 www.php.net

渡した文字列の中から正規表現特殊文字を探してエスケープ処理してくれる。 以下が定義されている特殊文字

正規表現特殊文字は、次のものです。 . \ + * ? [ ^ ] $ ( ) { } = ! < > | : - #

preg_quote($keywords, '/')のように後ろにデリミタをつけることで、スラッシュもエスケープさせて使うのが一般的。

preg_matchする時にこれを組み合わせれば、入力された文字列に関係なく正規表現が通るようになるので便利。

正規表現自体は、うーんなかなか難しいです。

はてなブログのpタグ余白をCSSで調整する

どうすれば良いか調べて調整した。

まず 設定 > 詳細設定 でhead要素が書けるので書いてみる。これは上手くいかなかった。 CDNからはてなブログCSSが呼び出される前にstyleタグが入り、上書きされてしまう。 このフィールドはあくまでメタ情報追記等に使う想定ということだろう。

次にデザイン > カスタマイズ > デザインCSSに記述する。これで上手くいった。

CSSの書き方はいろいろ出てきますが、結局MDNを参照するのが理解も深まるし良かった。

margin - CSS: カスケーディングスタイルシート | MDN

CSSはきっちり入門〜応用まで勉強しきれてないので、一度全体通して読んでおきたいとは思っている。

Drupal: Webformにバリデーションを実装する

まとまった情報はそのうち会社のブログに書くとして、忘れないうちにメモ。

Webformのバリデーションについて調べてみると、まずWebform Validationというモジュールに行き着く。 https://www.drupal.org/project/webform_validation

Drupal 7ではこのモジュールが多く使われていたようだが、Drupal 8, 9へ対応したバージョンはアルファ版に留まっている。

続いてたどり着くのはこのページ。DrupalのWebformへバリデーションを実装する手順が記載されている。
https://www.drupal.org/docs/8/modules/webform/webform-cookbook/how-to-add-custom-validation-to-a-webform-element

hook_webform_element_alter()を使用した実装はOld wayとなっており、対比してHandlerを使った実装方法が紹介されている。

この実装で必要な手順は大きく4つ。

  1. webform/src/Plugin/WebformHandler/HogehogeWebformHandler.phpを作成
  2. validateForm()メソッドを実装
  3. 上記メソッド内で使用するvalidateHogehoge()メソッドを実装
  4. Webform管理画面からハンドラーを追加

1,2は概ねサンプルを見ながら書けば良い。
3に具体的なバリデーションロジックを書く。
用意したバリデーションを4でWebformに紐付ける。

hookを利用した実装と違うのは、バリデーション機能をハンドラーとして個々のWebformとは完全に切り離して実装できる点だろうか。

つまり、Handlerではどのフィールドにどういうバリデーションを実装するかだけを書いて、具体的にどのフォームで使うかということは考えなくて良い。
こうすることで、Webformが増えた際は管理画面からハンドラーを追加するだけで対応できるようになっている。
hookでWebformの種類をチェックして処理する実装だと、Webformを追加した際にコードを書き加える必要が出てくる。

ちなみに簡単なバリデーションはWebformのフィールド編集画面から追加できるため、まずはそれで対応できるかを考えた方が良い。

エンジニア一年生でもなんとかコードを書いてるので、Drupalの抽象化された仕組みは凄いな〜と思う。

Apple Musicを契約した

遂にApple Musicを契約した。年払いで9,800円。月額に換算して800円ちょっと。

 

音楽のサブスクは結局どうすべき、というのはこの記事が参考になった。

leica-q2.com

 

サブスクサービスと個人のライブラリを両方持ちたいというニーズに答えられるのは、まだまだAppleのみといったところだ。SpotifyAmazon Music Unlimitedではなく、iTunes MatchとApple Music両方契約するのが最も固い。この点はいろいろ試してきたこそ腹落ちする。

 

実際KICK THE CAN CREWが聴きたくてApple Musicを契約したものの、再結成前の音源はほぼ無いといって良い。これをSpotifyApple行き来しながら聴き分けるのか、一つのアプリでまとめて聴けるのかは大違いだ。

 

Apple Musicと自分が持つミュージックライブラリは厳密には同じものでは無いが、ライブラリへ追加すると概ね同じように扱える。共通のプレイリストも作れる。この点は魅力だ。

一見高く感じるが、デジタル音楽を年間10,000円分買う可能性があり、かつそのアーティストがApple Musicで聴けるものなら、むしろ入った方がお得だということになる。もちろんApple Musicを解約すると聴けなくなるんだけど。

 

個人的には最近また新しい音楽を聴きたいという気持ちが増えてきたので、気に入って使えそうだ。1年後にまたレビューして、継続利用するか考える。

 

コロナ後、流行りの新譜について語らう機会も減り、カラオケに行く機会もまったく無くなってしまった。音楽がより個人的な趣味になったと言えるだろう。これからはより広く深く、個々人が掘り下げて聴き、楽しむ時代になった。

そんな音楽ライフのインフラとして、サブスクが上手く機能してくれると良いなと思う。