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

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

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

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

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

はじめのうちしばらくは、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年後にまたレビューして、継続利用するか考える。

 

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

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

ReederでRSSから情報を取得する

このブログでも何度か紹介してると思う。

RSSリーダーGoogleリーダー終了以降、ずっとReederを使っている。

Reeder 5

Reeder 5

  • Silvio Rizzi
  • ニュース
  • ¥610

 

有料だが買い切りで、RSSだけじゃなくInstapaperやPocketをまとめて見れる点がとても気に入っている。

RSSはInoreaderに集約して、このReederで読んでいる。

www.inoreader.com

 

良記事に出会ったらトップページへ行って、Chrome拡張機能からInoreaderへ追加する。

chrome.google.com

 

フォルダ分けもできるので、DrupalとかSEOとかFrontendとかで適当に分けて突っ込んでいる。

無料版だと100フィードだか制限があったと思うが、不要なものは定期的に削除するので特に困ったことは無い。

 

iOSでは基本的にRSSの選り分けだけをしている。

左右スワイプにアクションを設定できるので、それぞれInstapaperとPocketに振り分けるというやや特殊な設定をしている。

プライベートな趣味等の記事はInstapaper、職場で共有する可能性のあるものはPocketという棲み分けだ。

これも思い切ってサービスごと分割してしまうことですっきりした。

 

Mac版のアプリも買って、あとで読むサービスに送った記事はこれで読んでいる。

Reeder 5.

Reeder 5.

  • Silvio Rizzi
  • ニュース
  • ¥1,220

 

最近テキストハイライトを無しにしたら、タイトルのみが一覧表示されるようになり、一画面でザッピングできる記事数がグッと増えた。

昔noteの方に書いた気がするが、毎日こうやってニュースフィードを読んでいると、いつの間にかそれが苦じゃ無くなってくるから不思議だ。今は読むものが無くなって困る時も多いから、気になるRSSTwitterアカウントはどんどん取り込むようにしている。

読む速度はどんどん速くなる|げんごろ|note

読むものが無くなると不安になる。活字中毒というやつらしい。

 

こんな感じでRSSを中心に、RSSが無いものはTwitter、あとは特に気になるトピックはGoogleアラートをセットしている。これにはDrupalとかAsanaとかGitLabとか、住んでる地域の名前とかが入っている。

Googleアラートは管理が楽なのでRSSは使わずメール通知を利用する。すると良い感じに記事をまとめて送ってくれる。

 

この習慣はもうしばらく大きく変わっていないので、ある程度誰にでもおすすめできると思って書いた。具体的に見てるRSSフィードとかも書いた方が良いのかな?

またそのうち。