我が名はなんとか菜である!

主に技術系の記事を書きますが、ポエムも混入します。

メインPCのケースとマザボを交換したら完成まで1週間(と1か月)掛かった

そういえば書いてなかったので、年末なので記事にする。
なお、これは今年のまとめ的な記事の1トピックに含めようとしていたが、記事1つ分の分量になりそうだったので分割したものである。

うちのメインマシンは今年で4年目に入る。
以下がそれを組み立てた当時の記事。

happo31sprogblog.hatenablog.jp

途中、上の記事にもあるCPUを Ryzen7 2700X から Ryzen9 5900X に変えたことはあったので、どこからどこまでが「今の」メインマシンと同じ個体だといえるのかが微妙な話ではあるけど、自分の感覚では4年目ということになっている。

続きを読む

【VSCode】Windows版でタスクバー右クリック時に出るメニューで「最近使用したフォルダー」が出なくなったとき

結論からいうとこのメニューは

「設定>個人用設定>スタート」

「最近開いた項目をスタート、ジャンプリスト、ファイル エクスプローラーに表示する」

という設定をOFFにしていると出てこない。
ちなみに、この最近使ったファイルとかを表示するメニューのことを「ジャンプリスト」というらしい。

こんな画面

初期設定ではONのはずで、スタートメニューに最近使用したファイルがぞわっと並んでるのを見て「うわ何だこの設定キモッ」と思ってOFFにするということをすると、
これはすなわち「ジャンプリスト」を無効化することに等しいので、結果として「ジャンプリスト」を使って履歴を表示しているアプリ全てで「最近使用したフォルダー/ファイル」が表示されなくなる。

僕はわざわざ VSCode のファイル履歴を制御している部分のソースコードを読みに行って、ログに該当行のエラーが確かに出力されていることを確認して情報を得た上で色々ググってこの解決策に行き着いた。

罠がすぎる。

最近趣味でコードを書けていない

常々、自分という生き物は業務時間外であっても息を吐くように寝食を忘れてコードを書くものだと思っていたのだが、ここ2,3か月ほど趣味の時間でコードを全く書けていないことに気が付いた。

別に、最近コード書いてないなーという時期があったことは過去何度もあって、そういうときはどちらかというと「作りたいものが特にないので作業ディレクトリを作っては空のまま放置する」のようなことを手癖でやっているような状態だった。

最近はそもそもPCを立ち上げる余裕すらなくなっている。
PCを立ち上げてもテキストエディタを立ち上げていないことが多い。

草枯れるわ

これはまずいような気がする。

続きを読む

Galaxy Tab S8+ のレビュー的なもの

my new gear...してから大体1ヶ月ちょっと経ったので使用感をレビューします。

なぜ買ったか

生活からAppleバイスを排除したくなったから。
あと、 iPadOS 16 からいい感じのマルチタスクが出来るようになるらしいんだけど、M1じゃないうちの iPadPro(11インチ, 2018年モデル) は対象外らしい。これは S8+ を買ってから知ったんだけど、結果的にこのiPadProには未来がなさそうなので購入してよかったと思う。

続きを読む

電動アシスト自転車で異常距離を走るとたのしい

暑くなってきたので今年も貝になりたい。

今日は仙川湯けむりの里におります。

最近、こんな感じの距離を新しく買った電動アシスト自転車で走っている。



画像はGoogle mapsのロケーション履歴より。

知人がこれを見て「異常距離」と言っていてウケたので今回のタイトルにした。

続きを読む

【React】子要素によって親要素の状態を更新するコンポーネントの作り方

4月も半ばに近づきようやく春の陽気を感じられるようになってきましたね。

今日は珈琲館で書いてる。

前提

子要素によって親要素の状態を更新するコンポーネント とは、「そのコンポーネントを特定のコンポーネントchildren として渡すことで特別な処理を行うコンポーネント」のことです。

よく分からないと思うので以下に疑似コードを示します。

import { Tab, TabItem } from './my-handmade-tab';

const Component = () => {
  // 以下のようにして使うと、 "fisrt" と "second" というアイテムを持ったタブが生成される
  // タブがクリックされると中身が切り替わる
  return <Tab defaultKey="first">
     <TabItem tabKey="first" title="first">
       first tab content
     </TabItem>
     <TabItem tabKey="second" title="second">
       second tab content
     </TabItem>
  </Tab>
}

みたいなやつのことです。UIライブラリとかでよく見るやつですね。

実は最近まで「こういうのってどうやるといいのかなぁ」とは思いつつも、これを実現しているライブラリの中身を見に行くでもなくなんとなくモヤモヤした日々を送っていたところ、似たような処理を自前で実装する必要がとうとう出てきてしまい、ひええ~と思いながら頑張って考えた結果なんとか実現できたので、その成果を書いていこうと思います。

続きを読む

Linter や自動フォーマッターで修正できないコーディングルールは敷くべきではないという話

プログラムは芸術作品じゃないんだよ。

追記: 一気に書き終えたあとタイトルをあまり回収していないただの愚痴になってしまったことに気が付きましたが、色々疲れてたせいだと思うのでその点了承して読み進めてください

今関わってるプロジェクトで、謎のコーディングルールが敷かれている。

それは以下のようなものだ。

  1. すべての React コンポーネントは、 Component という名前で named export する
  2. すべてのモジュールは namespace import し、 named import は使わない
  3. ただし、 styled-components については default import してもよい

一つずつ問題点を書き出してみる。

続きを読む