ひびのログ

日々ではないけどログを出力していくブログ

2023-01-01から1年間の記事一覧

型引数が整数かどうか調べる型関数

を作ったのでご紹介。 先人がいそうだけど、自分なりに考えて作ったので残しておく。 コード Playground Link type Num = `${1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0}` type Token = `${Num | "-" | "+"}` type IsInt<N extends string> = N extends Num ? true : N extends `$</n>…

スペルを間違えやすいやつ

エンジニアたるもの、こういうところにも気を配って然るべき やりがちなのでメモの意味も込めて togetter.com JavaScript, TypeScript Firefox Facebook YouTube Twitter Homebrew ESLint Stylelint GitHub callback(一般名詞) Salesforce Datadog UI Flow…

Git Hooks を複数実行したかった

何がしたかったのか Git でコミットをする前に、コミットに使われるユーザーの名前を表示したかった。 なぜ? 会社の PC で、会社のリポジトリだけでなく自分の個人リポジトリにもアクセスしている。 具体的には、dotfiles を GitHub で管理しているのでそれ…

「エンジニアリング組織論への招待」内容まとめ&感想

今回読んだ本はこれ エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング Kindle版 - Amazon アフィリエイトリンク Chapter 1 - 思考のリファクタリング 個人の話 「エンジニアリング」とは 「実現の科学」といえる 要求に含…

コードレビューの複雑度を数値化しようとしている

コードレビューをするときに、「これは明らかに一回のコードレビューで見られる量じゃない」という PR が飛んでくることがある。 いい感じに評価できないかと思って、いい感じの計算式を作ってみた。 PR の複雑度を減らしたほうがいい理由 レビュワーの負担…

SolidJS に入門した

いつもは Vue.js をやってるけど、たまには他のものも触ってみたい。 React も触ってるけど、もっといい感じのやつがほしい。 と思っていたところにいい感じのやつを発見(前から知ってたけど)。 SolidJS とは View ライブラリ。 React みたいに JSX を使う…

個人振り返りを毎月やっている話

まえがき 仕事をしていく中で、「先週何やってたっけ」や「何か改善したかったんだけど忘れた」と思うことが多々あった。 そこで、「毎月振り返りをやる」というアクション案が出た。 個人でやったことを振り返り、思ったことなどをメモしておこうという作戦…

ドキュメント作成がうまくなるための情報まとめ

エンジニアとして仕事をする中で、ドキュメントを書くということが非常に重要であると度々感じていた。 これまでドキュメントライティングを学んできた中で役に立った記事や書籍、そしてキーワードとおすすめの学習順を紹介する。 キーワード ロジカルシンキ…

WCAG 超まとめ

WCAG 2.1 を読んで超短縮してまとめたものです Abstract WCAG とは Web Content Accessibility Guidelines の略 このガイドラインには、ウェブコンテンツをよりアクセシブルにするための推奨事項が載っている なぜ WCAG があるのか このガイドラインに従うと…

フロントエンド開発の流れ

フロントエンドのコードをいじるときは、だいたいこういう流れでやるとよさそうというのを書いたものです。 あくまで「自分はこう思う」という一例です。 特にフロントエンド開発をするとき固有の事情について記載してあります。 フレームワークは Vue.js で…

英語入門

「英語の学び方」を学ぶ記事。 エンジニア向けに作ったけど誰にでも刺さる内容になってた。 いちばん大事なこと 楽しむ 「勉強」と捉えてしまうと楽しくない。 そして続かない。 後述するが、英語学習は日々のトレーニングが重要なので、モチベーションを保…

CSS ではショートハンドの使用には注意しなければいけないという話

CSS

複数のプロパティをまとめて指定できるショートハンド。 自分も気軽に利用していたが、詳しく調べてみると気をつけなければいけない仕様が結構あり、なるべく使わないほうがいいのではないかと感じた。 対象 あらゆるショートハンドプロパティ。 all, animat…

GAS のスニペット

基本的にほとんどコピペで動くようになっているはず Slack に Webhook 通知する const sendWebhook = (webhookUrl, payload) => { const options = { method: 'post', contentType: 'application/json', payload: JSON.stringify(payload), } UrlFetchApp.fe…

BFF(Backend for Frontend)とはなんなのか

BFF(Backend for Frontend)という言葉を気軽に使っているが、結局なんなのか分かってなかったので、ちゃんと本を読んで理解してみた。 読んだ本 マイクロサービスアーキテクチャ 第2版 単行本(ソフトカバー) - Amazon アフィリエイトリンク 雑な要約 「1…

本の読み方

国語の教科書のように最初から最後まで本を読んでいると、一冊読むのに凄まじい時間を消費してしまう。 そんなことをせず、効率的に本を読んで知識を仕入れるための方法を解説する。 忙しい人は「TL; DR」だけ読んだらいいけど、全部読んだほうが時短できる…

「ソフトウェアテストの教科書」内容まとめ&感想

本 【この1冊でよくわかる】 ソフトウェアテストの教科書 [増補改訂 第2版] 単行本(ソフトカバー) - Amazon アフィリエイトリンク TL; DR ソフトウェアテストの目的 ソフトウェアの欠陥を取り除く ソフトウェアがユーザーの要求を満たせるようにする ソフ…

シェル芸ロードマップ

シェル芸(シェルコマンド)の使い方を覚えるための課題を作ってみた。 内容は「自分はこんな感じで学んでいったような気がする」という完全なる主観。 課題 ファイル一覧を出す ls とよく使うオプション a, l, t, 1 ls のヘルプを見る ls --help, man ls ls…

mp3 ファイルのメタ情報に入っているタイトルを CLI で一括変更

iTunes で複数の関連する CD を取り込んだのだが、曲のタイトルが統一されていなかった。 具体的には、「[CD 番号]-[トラック番号]」みたいになってほしかったのに、1 つの CD だけ「トラックxx」みたいな形式でインポートされてしまった。 ファイル名を変え…