Panda Noir

JavaScript の限界を究めるブログでした。最近はいろんな分野を幅広めに書いてます。

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

zshのプロンプトに直前のコマンドの終了ステータスを表示する

zsh

zshのprompt内で%?を指定すると直前の終了ステータスを表示させることができます。 PROMPT='[%n@%m]%?# ' ↑これで[user@host][last_status]#というプロンプトが表示されます。 ただ、これだと正常終了のときにも表示されて煩わしいので、正常終了のときには…

ApolloClient でカスタムフェッチを使う

いっつも書き方を調べてるのでここにメモを残しておく。 import { StrictMode } from 'react'; import { createRoot } from 'react-dom/client'; import App from './App.tsx'; import { ApolloClient, InMemoryCache, ApolloProvider, HttpLink, from, } fr…

シンプルにToastを実装する in react

import clsx from 'clsx'; import { PropsWithChildren, createContext, useContext, useState } from 'react'; const ToastContext = createContext<(message: string) => void>(() => {}); export const useToast = () => useContext(ToastContext); expor…

access(obj, 'foo.bar.baz') みたいにパスを指定してアクセスしたい

発端: ApolloClient の useQuery の data と error をいい感じに扱うために getOrThrow(data, error, 'path.to.field') みたいなユーティリティ関数が欲しくなった 欲しい関数 const {loading, error, data} = useQuery(query); const fooBar = getOrThrow(d…

コマンドラインの内容を vim で編集できるようにする

zsh で control-o を押すと vim が立ち上がってコマンドラインの内容を編集できる関数を(ChatGPTが)作ったので紹介します。 (要件を伝えたら ChatGPT が目当てのものを一発で生成したので、かなりビックリしました。すごい。) デモ動画 youtu.be デモ動画で…

zellij のなかで neovim を開くと色がおかしくなる

結構試行錯誤したのでメモ ↑こんな感じで、結構色が違って表示されたので調べて修正しました。 結論 なぜか neovim の background オプションが "light" になってたのが原因でした。 set background=dark を明示的に書いたら解決しました。 調べたこと zelli…

幾野直人 (ikuno naoto) 自己紹介

諸事情(実名で検索すると他人の顔写真しか出てこない)のため、自己紹介記事を書くことにしました。目的を達成したら消したい。 プロフィール 名前: 幾野直人(ikuno naoto) 身長: 178cm (2024年4月現在) 体重: 72.4kg (2024年4月現在) BMI: 22.85 得意な言語:…

vim でテキストオブジェクトを追加して [] を簡単に扱いたい

() や {} は dab や yiB みたいに b/B で操作できますが、 [] は da[ と打たないといけません。煩わしいのでエイリアスを設定したいですよね。 というわけで r で [] を選択するテキストオブジェクトを追加しましょう!やり方がこちら↓ vim-textobj-user を…

クレジットカード情報の入力時になぜ有効期限も入れなければならないのか?

ネットでクレジットカード払いをする際、カード番号以外に有効期限も入力が求められます。これはなぜなのか疑問になりませんか?疑問になりますよね。 今回はそれについて考えてみました(完全に推測で書いてます) abst (created by ChatGPT) クレジットカー…

TypeScript の infer は同じ名前を指定できる

(ただし有用な場面はそんなにないです) infer に同じ名前を指定すると、ユニオン型になる 基本的に、infer に同じ名前を指定すると、それらをうまく満たすようなユニオン型になります。 以下の X1,X2,X3 はすべて number | string です。 type X1 = [number,…

デスク環境2024

去年までのもの→デスク環境変遷まとめ (2020/5 ~ 2023/1) - Panda Noir あとから見返す用に年1くらいでデスク環境を紹介したいなと思い立ったので書きます。あと、多分ウェブフロントエンドエンジニアとしては珍しく mac と windows の二刀流構成なので、他…