最近はナレッジをScrapboxに書き溜めています

マネジメント・メンタリティ・広義のエンジニアリングに関するナレッジ類を最近はScrapboxのほうに書いている。 scrapbox.io EM(エンジニアリングマネージャー)の経験則や思考など、GPTに聞いたら出てくるような出てこないような不定な物事は書けるときに…

チームについての私見を書いた

経験から得た物事の芯を書き出すという試みをしている。 チームのリーダーをやったり、エンジニアリングマネージャーをやった経験から今回はチームについて。 scrapbox.io 最近は思考をScrapboxに書き出している。

シェルスクリプトで受け取った引数をnodeに渡すときダブルクオートで囲わないと引数が壊れる

タイトルがわかりにくすぎる。 なに cliツールを書いている。 bin/cli はシェルスクリプト。 bin/cli hogefuga --arg='volume 30' みたいなのコマンドを打ったときこのシェルスクリプトを経由して ./script.js $@ $@ の記述で、nodeのスクリプトに引数を横流…

Playwrightで2FA(二要素認証)が必要なサイトをテストする

2FA: two-factor authentication = 二要素認証/2要素認証 この記事では以下、2FAで記載する。 E2Eとセキュア問題 E2Eテストするサイトがログインが必要かつ2FAが必須というサイトが当たり前になりつつある。 で、E2Eテストするときにヘッドレスブラウザ上で…

nodeパッケージマネージャーの管理をcorepackに移行した&設定メモ

前置き この記事は2023-02-18 corepack@0.16.0 時点でのメモです corepackの進化に伴いこの記事は陳腐化する可能性が高いです。 移行した Node.js自体はasdfで管理しているのだけど、npmはnodeに付いてくるやつを使いyarnとpnpmはhomebrewで粗雑にインスト…

アジャイル開発のアジャイルとはなにか? について喋った

喋る機会があったのでアジャイルの本質を伝えたくて喋った。せっかくなのでブログにしておく。 speakerdeck.com お気持ち アジャイル開発を実践するあたって、いきなりスクラムとかリーンとかについて学んだりしても効率が悪いと思っている。順番が逆で、そ…

React hooks エラーハンドリング やりかた

タイトルが雑だし、こんな記事を書くのも変な話だけど、意外と書かれているのが少ない気がしたので書いておく。2023年以降になったらプラクティスがまた変わってるかもしれないけどそれはそのとき。 久しぶりにカスタムHooks書いていて、「Hooksの内部処理な…

他所のサイトのDOM elementに生えているEventListenerを調べる方法

人様のフロントエンドのDOMをいじるのが好きで、Listenerを調べたくなるときがある。 やり方知らなかったのだけど、ググったらあった。 stackoverflow.com Chrome限定になるけど謎のAPIがdevtoolsに生えていて、これで click だの mousemove だのリスナーが…

fishシェルで特定のコマンドがあるときのif文を書く

dotfilesの中にあるconfig書いているときに、「ビルトインじゃないコマンドを持っている環境の場合にこうしたい」みたいな気持ちになったのだけど、fishでいまいち書き方がわからなかったので調べた。 if…? if構文がこれなんだけど、『コマンドがあるとき』…

URLリンクの遷移先のドメインをルビで表示する実験

人の日記を読むのが好きで、色んな人の日記を読んでいる。 以前にr7kamuraさんが日記でこういうことを書かれていた。 https://r7kamura.com/articles/2022-02-20-diary 記事にリンクを埋め込むときの形式として、URLを見せるべきか、見せないべきかというの…

SolidJSの面白いところ、気になるところ

スマホのブラウザタブにいつなんで開いたかはわからないのだけどSolidJSのページがあって、妙に閉じずに見たほうがいいような気がしたので調べたり触ったりした。 とりあえず2022-03-13現在のメモを書く。なおバージョンはv1.3.0が最新なので1系について。 …

USキーボードでWindowsのキーバインドをMacと同じにしたかった

未完シリーズ。敗北したけど書いておく。 tl;dr Windows keybind hotkeys · GitHub 成果物。 で、結局うまく快適にならなかった。 このブログ書いてるときにこういうのを見つけてしまったので、これを使うのが早そうだけど疲れたので触ってない。たぶんこう…

AlexaでNature Remoを操作しようとすると「その操作には対応していません 」と言われた

技術っぽくない話。家電トラブルシューティング。 AlexaからNature Remoを通じて家電操作しようとすると、「その操作には対応していません 」と言われてうまくいかない問題に悩まされていた。 状況 具体的には天井のシーリングで、Phlips HueみたいなIoT公式…

2021-03-15

テスト書いてて、なんでかmockしてるメソッドのところで Cannot read property 'apply' of undefined って言われて困っていた。 散々悩んでよく見たら write が wrtie になっていただけだった。 しょうもなさすぎで声も出んとはこのこと。

TypeScriptでオーバーロード実装された関数を使う関数を書いていたら 「この呼び出しに一致するオーバーロードはありません。」TS(2769) と言われた

英語だと 'No overload matches this call' って言われると思う。タイトルが長い。 TS書いてて、関数の引数に Options なオブジェクトを受け取って、そのオプションのプロパティによって返り値が違うという関数を書いていた(hoge関数とする)。 で、hoge関…

yarn workspacesのnoHoistがうまくされないときあるいはnoHoist設定の罠

yarn workspacesでmonorepoを構成しているときに特定のpackageだけhoistの対象外にしたいというときがある。 そういうときにどうすればよいかというと、noHoistオプションを単に使えばいいのだけどなぜかちゃんと書いてあるつもりなのにnoHoistが効かなくて…

yarn workspacesのnoHoistがうまくされないときあるいはnoHoist設定の罠

yarn workspacesでmonorepoを構成しているときに特定のpackageだけhoistの対象外にしたいというときがある。 そういうときにどうすればよいかというと、noHoistオプションを単に使えばいいのだけどなぜかちゃんと書いてあるつもりなのにnoHoistが効かなくて…

直接依存していない内部で利用しているライブラリが脆弱性を抱えているときにyarnで手動対応する方法について

タイトルが長い。しかもパッとわからない。 ので以下のストーリーを理解されたい。 ストーリー 脆弱性があると言われている GitHubでセキュリティアラートをONにしていると依存しているライブラリに脆弱性があったときにこんな感じに教えてくれる。 そしてDe…

PullRequestに書かれたIssueやPRを自動でプロジェクトの指定したカラムに動かすやつ

というのを、そういえばこないだ作っていた。 意味わからんと思うので、Gifを見るほうがはやいはず。 PRの本文に Issue という段落を作る 段落内に #1234 や https://github.com/<Org名>/<Repository名>/issues/1234 という記述形式でIssueや別PRを書く PRがcloseされたりマージさ</repository名></org名>…

TypeScriptでPromiseの返り値の型をNonNullableにする

表題の欲求が発生して、ハマったので色々調べていた結果のメモ。 こういう感じだった。 gist.github.com ようは、Utility型を使ってPromiseの返り値をゲットしてNonNullableにしてPromiseに戻す というそれだけのはなし。ConditionalTypeの解説はここではし…

VSCodeでonSaveしたときeslintとprettierの挙動がおかしいし重すぎるし死ぬかと思った

誇張タイトル。 そしてめっちゃくだらない内容です。 VSCodeのeslintエクステンションがv2へバージョンアップしてから "editor.codeActionsOnSave" を推奨するようになったので、その設定を適用していた。 まあ詳しくはこのQiitaの記事が詳しい。 qiita.com …

`eslint-plugin-summer`というeslintのpluginを作った

終わらないリントの夏 www.npmjs.com というものを作って遊んでいる。 様子 絶対に new Date() を許さない姿勢 いますぐインストール $ yarn add -D eslint eslint-plugin-summer .eslintrc にこういう感じのを書く { "plugins": ["summer"], "rules": { "su…

GitHub Projectのカンバンでカードのアサインを自動で変えるGitHub Actionをつくった

いつものごとくタイトルが長い。 3行 GitHubのカンバンで カードを作ったり移動したりすると 自動でカラムごとにアサインを変える というGitHub Actionをつくった。 GitHub Actions Auto-Card-Assign github.com これをつくった。 すでにマーケットプレイス…

Sentryにエラーレポートが送信される手前でなにかやりたい、あるいは200KB制限によるレポートロストの回避

タイトルどおり。 アプリケーションでエラーが出た場合にSentryにエラーレポートを飛ばしていたのだけど、送信する手前でなんかごにょごにょやりたくなったので調べた。 beforeSend Sentryのドキュメント、ものすごく目的のものを見つけづらい。 docs.sentry…

Auto AssignでPullRequestのreviewers, assigneesを自動割り当てする

チームのGitHubリポジトリへPRを出すときに毎回ポチポチReviewerとAssigneeをクリックするのがダルすぎたのでなんとかしたくて設定した。 要求事項としては 対象のリストのメンバーの全員をPRが作成されるたびにreviewerに自動アサイン PRのassigneeにはPRの…

React NativeでTouchableWithoutFeedback配下のScrollViewがなぜかスクロールできないときのメモ

めっちゃハマったので知見を忘れないように書いておく。 結論: onStartShouldSetResponder ScrollViewの内側のViewのPropsにonStartShouldSetResponder={() => true}する こうなっていればスクロールできるようになるはず。 <TouchableWithoutFeedback> <ScrollView> <View onStartShouldSetResponder={() => true}> {scrollableContents} </View> </ScrollView></touchablewithoutfeedback>…

VS Codeで複数行選択して各行にカーソルを置くやつ

なぜか憶えられなくていっつもやりかた忘れるので書いておくシリーズ これをやるショートカット ⌘+Shift+Lで できる。 環境によってはShift+Option+Iでもできるかもしれない。 終わり。

styled-componentsに独自のpropsを生やして値を渡したら怒られたときのメモ

2行 独自に生やしたpropsをまるごと渡してはいけない 分割代入でdomのattributesに定義がないpropsを間引く エラーメッセージ なんかこういう2種類のやつを言われる React does not recognize the `isAvailable` prop on a DOM element. If you intentionall…

Reactコンポーネントをsvg要素の内側に表示する

SVGの内側にコンポーネントを表示させようとして、やったらハマった。 普通にできるものだと勘違いしていたけれど、SVGの内側にはSVGが描画できるタグしか通常描画できない。なぜならSVGはSVG空間だから…。 結論 foreignObjectを使う。 developer.mozilla.or…

ZEITのnow(v2)でデプロイしたらドメインaliasを最新のデプロイに追従させる

nowでホスティングしていて、例えば『hogefuga-goyani001m.now.sh』みたいなユニークURLにaliasを貼って『awesome.hogefuga.jp』でドメイン設定してあるとする。 なんか変更があってnowコマンドで再度デプロイすると新しく『hogefuga-gree002w.now.sh』のよ…