TypeScriptで一回unknwonに変換するのはどういう意味があるのか

as unknown as ? as soon asは「できるだけ早く」で、中学生の時、喉が擦り切れるほどむやみに連呼していた記憶がある。 おかげさまで、この意味を30歳超えても忘れていない。 だが、as unknown asは知らなかった。 そもそもunknownってなに? unknownは型が分からないときに使用するらしい。 つまりそれってanyではと思うし、間違っていない。 その両方ともどのような値も代入することができる。 const any1: any = null; const any2: any = undefined; const any3: any = true; const any4: any = 0.8; const any5: any = "Comment allez-vous"; const any6: any = { x: 0, y: 1, name: "origin", }; const unknown1: unknown = null; const unknown2: unknown = undefined; const unknown3: unknown = true; const unknown4: unknown = 0....

投稿日 · 2024-10-27 · 更新日 · 2024-11-09 · 1 分 · nove-b

appearance-noneってなにか真剣に調べてみた

appearance-noneはOS レベルのスタイル制御するもの ウェブフォームのスタイル設定はOSレベルで設定されている。 そのため、コントロールの見た目のカスタマイズの問題の一部となっていた。 appearance-noneは適用したコントロールがシステムレベルのスタイルを使用することを可能な限り止め、 CSS を使用して自分でスタイルを構築できるようにするプロパティ。 フォームへの高度なスタイル設定ほぼこれに書いてあること、そのまま。 CSSの上書きと何が違うのか appearance-noneでは ボタンやフォーム要素のデフォルトスタイルを即座に取り除き、開発者がカスタマイズするベースを作ることができる。上書きだと個別に上書きするのは手間がかかかるので、その点便利なプロパティとのこと。 なんとなく使っていたので、はじめてその有用性に気が付いた。 ポエム 木こりのジレンマ 最近というか今更というか、木こりのジレンマなる寓話を思い出した。 ある日、森で一生懸命に木を切っている木こりがいました。彼は朝から晩まで休むことなく木を切っており、疲れ果てています。それでも、木を切るのにとても時間がかかっているため、彼はさらに焦っていました。 そこへ通りがかった旅人が木こりに話しかけました。 「あなたの斧はとても鈍くなっているようですね。少し休んで、斧を研いだ方がいいですよ。」 木こりはその言葉にイライラして答えました。 「そんな時間はない!見ての通り、木を切らなければならないんだ!斧を研ぐ暇なんてないんだ!」 旅人は木こりにもう一度諭しました。 「でも、斧が鋭くなれば、木をもっと早く、もっと簡単に切れるはずですよ。少し休んで斧を研いだ方が、結果的に仕事が早く終わるでしょう。」 木こりは依然として目の前の仕事に集中しすぎて、斧を研ぐことの重要性に気づかず、疲れ果てたまま非効率に仕事を続けました。 この寓話は、効率的に物事を進めるためには、短期的な忙しさに囚われず、道具や方法を改善する時間を取ることの重要性を説いている。 そしてこれの話がとても心に響いた。 プログラミング中、忙しい時は特にその場しのぎの解決策に飛びつき、特に考えることなく実装する。 結果的にその案件は完遂するけど、身につくものをいくつか取りこぼしている。 なのでこれからは、気になったことはどんどん調べ、ここに備忘録として残していく。

投稿日 · 2024-10-22 · 更新日 · 2024-11-09 · 1 分 · nove-b

マストドンのfaviconを変更する

せっかくのおひとり様サーバーなので好き勝手実験したいということでまずはfaviconを変更することにした。 エックスサーバーVPSのMastodonアプリイメージを使用したので、どこにmastodon本体があるかわからなかったが、色々検索した結果、/home/mastodon/live/に存在することが分かった。 Remote - SSHを使用し、対象のディレクトリに移動後、faviconを置き換え、sudo systemctl restart mastodon-*を実行。 確認するけど、変更されていない。 ソースを見るとfaviconは変更されているけど、 <link href='/favicon.ico' rel='icon' type='image/x-icon'> <link href='/packs/media/icons/favicon-16x16-c58fdef40ced38d582d5b8eed9d15c5a.png' rel='icon' sizes='16x16' type='image/png'> <link href='/packs/media/icons/favicon-32x32-249409a6d9f300112c51af514d863112.png' rel='icon' sizes='32x32' type='image/png'> <link href='/packs/media/icons/favicon-48x48-c1197e9664ee6476d2715a1c4293bf61.png' rel='icon' sizes='48x48' type='image/png'> <link href='/packs/media/icons/apple-touch-icon-57x57-c9dca808280860c51d0357f6a3350f4d.png' rel='apple-touch-icon' sizes='57x57'> <link href='/packs/media/icons/apple-touch-icon-60x60-bb247db195d9ee9d8c687b2b048508d9.png' rel='apple-touch-icon' sizes='60x60'> <link href='/packs/media/icons/apple-touch-icon-72x72-799d90b81f5b28cea7355a0c0b356381.png' rel='apple-touch-icon' sizes='72x72'> <link href='/packs/media/icons/apple-touch-icon-76x76-015d73d770413d121873193153ae4ab5.png' rel='apple-touch-icon' sizes='76x76'> <link href='/packs/media/icons/apple-touch-icon-114x114-211e68807b8d15707666a8d326d338b1.png' rel='apple-touch-icon' sizes='114x114'> <link href='/packs/media/icons/apple-touch-icon-120x120-4c4e647d758bf1b2f47a53e2165a01d2.png' rel='apple-touch-icon' sizes='120x120'> <link href='/packs/media/icons/apple-touch-icon-144x144-ff3110f7772743bdd0c1c47fb7b2d4e0.png' rel='apple-touch-icon' sizes='144x144'> <link href='/packs/media/icons/apple-touch-icon-152x152-b12cbb1baaf4a6111d0efd391fd829c9.png' rel='apple-touch-icon' sizes='152x152'> <link href='/packs/media/icons/apple-touch-icon-167x167-6f21a68f6a05a8b5cf25b1729e553728.png' rel='apple-touch-icon' sizes='167x167'> <link href='/packs/media/icons/apple-touch-icon-180x180-a75559a0af48064c1b7c71b81f3bf7c6.png' rel='apple-touch-icon' sizes='180x180'> <link href='/packs/media/icons/apple-touch-icon-1024x1024-db6849588b44f525363c37b65ef0ac66....

投稿日 · 2024-10-20 · 更新日 · 2024-11-09 · 1 分 · nove-b

マストドンでおひとり様サーバーを立ち上げた

おひとり様サーバーに憧れる 2023年の11月。 つまりおおよそ1年前からMastodonを使用してきた。 ハロー・ワールドという本を読み、オープンソースのSNSという響きに憧れ開始した。 そのレベルの解像度なので何も考えずに有名で汎用的なhttps://fedibird.com/にお邪魔させてもらってきた。 それから1年経ち、なんだかんだ呟いたりしているうちに、自分のサーバーを持ちたくなった。 サーバーの立ち上げに興味を持つ いままでいくつかサービスを公開してきた。 vercel firebase aws cloud run 上記のようなサービスを使ってきたが、vercel、firebaseはgithubにデプロイするだけでサイトが公開されるし、awsとcloud runはコピペするだけでなんとか乗り切ってきた。 つまりサーバー何もわからない、エンジニアなのに。 これじゃいけないということで、vpsを借りて好き勝手出来る環境を作ってみようと思い立ち、それならMastodonを運用するのがいいじゃないかと天啓をひらめいた。 思い立ったが吉日、vpsを借りて立ち上げてみた。 MastodonをエックスサーバーVPSで立ち上げる そもそも必要な要件がわからない vpsを選ぶうえでいくつか候補があったけど、過去のブログでレンタルサーバーとしてお世話になったエックスサーバーを使うことにした。 前述したとおり、サーバー何もわからないので、「メモリ」「vCPU」「NVMe SSD」とかどのくらいを選べば適正に運用できるかがわからない。 調べてもよくわからないので、運用しつつ見定めていくことにした。 ということでとりあえず最小の2GBプランにしてみる。 2GBプランは メモリ 2GB vCPU 3コア NVMe SSD 50GB それぞれ簡単に調べてみた感じ、 メモリ(RAM) 役割: サーバーが一時的にデータを保存する場所です。たくさんの人が同時にWebサイトにアクセスしてもスムーズに動くようにします。 メリット: メモリが多いと、Webサイトが速くなり、同時に多くのアクセスを処理できます。 2. vCPU(仮想CPU) 役割: サーバーの頭脳で、リクエストを処理したり、ページを作ったりする仕事をします。 メリット: vCPUが多いと、Webサイトの処理が速くなり、アクセスが増えても遅くなりにくくなります。 3. NVMe SSD 役割: サーバーのデータ(ファイルや画像など)を保存する場所で、データの読み書きが速いです。 メリット: NVMe SSDが多いと、Webページの表示が速くなり、データベースも素早く動作します。 とのこと。 うーん、メモリとCPUの違いがよくわからない、いつか誰かに教えてもらいたい。 ドメインを用意しておく よくわからないけどvpsは契約したので、次はドメインを作成する。 このブログもサブドメインで運用しているので、同じようにサブドメインを作成し運用することにした。 Cloudflare Registrarでサブドメインを作成する。 ドメインのページに行き、DNS 管理で タイプ 名前 コンテンツ プロキシステータス TTL A social VPS情報のIPアドレス DNSのみ 自動 のように登録する。...

投稿日 · 2024-10-19 · 更新日 · 2024-11-09 · 1 分 · nove-b

【2024年8月、9月】とにかく仕事に追われる

デスマーチから帰還する 気がついたら10月になっていた。 ここ最近、納期に追われて更新すらできなかった。 8月から始まったデスマーチは9月中の納品を目指し壮絶を極めた。 反省点が多い 何故デスマーチになったのか、後述するように会社都合でもあるのだが、自身の反省も多くある。 useSWR をラップしてCURDに対応させたこと form内のvalue定義をミスったこと コンポーネントを共通化しすぎたこと 共通処理をうまくまとめられなかったこと プルリクのマージレベルを下げたこと あげだすときりがない。 これにスケジュールの反省点もある。 これは重要なので今度まとめる。 裁量労働制という奴隷制度と文化祭前の高揚感 壮絶を極めたので、毎日帰宅は日をまたぎ、土日もほぼ出勤した。 しかしいくら仕事をこなしても裁量労働制なので残業が出るわけでもない。 しかもこの納期、会社の決算前に売り上げを上げたいという、こちら提示の納期なので、なぜか自分の会社に首を絞めれるという摩訶不思議な案件だった。 積る不満はいくつもあるが、案件としてはとても楽しかった。 立ち上げたサーバーに入り操作することも、バックエンドの人といろいろ最適解を探りつつ、勉強しつつ進めていくのがとても楽しかった。 色々なことを犠牲にしたが、その分成長できたし、わいわい楽しくできたと感じている。 脱落者がいないのもいい結果だった。 仕事は家庭を犠牲にする さて、色々なことを犠牲にしたと書いたが、特に犠牲になったは家族である。 日をまたいで帰る日は既にみんな就寝し、寝顔を見ることしかできない。 普段、家事を沢山しているわけではないが、この間ほぼなにも手伝えずで、妻がワンオペで乗り越えてくれた。 忙しく帰れないせいで妻が飲み会に行けなかったり、しかもすっかりそのことを忘れていたりと散々迷惑をかけた。 申し訳ないし、感謝してもしきれない。 その分給料とか還元されるものがないので、やっぱり少し納得いかない気もする。 みんな1歳歳をとった 家族の誕生日が8月末と9月初めに集中している。 さすがに誕生日に、とくに双子の誕生日に仕事に行っているわけにはいけないと、メンバーには申し訳ないが、家族写真撮影とアンパンマンミュージアムに行った。 カレーパンマン好きは遺伝する 双子のうち娘のほうがなぜかカレーパンマン好きで「かれー」とよく言っている。 あるいはカレーが好きなだけかもしれないけれど、どうやら世間的にカレーパンマンが好きな人は少数派らしく、妻に自分もカレーパンマン好きだったことを言うと驚いていた。 そんなことまで遺伝するものなのか、と。 そんなカレーパンマンに抱きしめれられてご満悦の娘と、いつもの姿からは想像できない素早さで動く息子を見ていると、やっぱりたくさん家に帰って、長い間子供たちを見ていたいと思うようになる。もちろんその分大変なことも多いのだけれど。 案件が終わった今、少しでもいろんなところに行き、たくさん思い出を作りたいと改めて思った。 今年はあと、昭和記念公園に行って、箱根に旅行に行きたい。 あと、おかあさんといっしょのファミリーコンサートのリセールにも当選したいし、ディズニーランドの予約もせねばならん。 来年からは妻の育休が明け、好きに遊びに行けなくなるに違いないので、それまでに存分に家族で楽しみたい。 ーー、のはやまやまなのだが、保活も仕事同様に壮絶を極め、いろいろ時間を浪費している。 保活について まず、うちは双子なので当然、2人分の枠が必要になる。 だがしかし、多くの保育園は1~2人という募集要項で、運よく2人だとしても双子で埋めていいものかという疑問が残る。 いや入れるのなら入るのだが、それが不利に働かないかと不安になる。 考えられることを国はしてくれているんだろうけれど、保活壮絶すぎるでしょう。 文句を言っても仕方ない。引き続き頑張る。 8月9月に読んだ本 毎月まとめている読んだ本だが、そんな通りなので、全然本が読めなかった。 8月と9月で1冊。しかもそれがあまり面白くなかった。 かなりや荘浪漫 廃園の鳥たち (PHP文芸文庫) ログによると なんか、序章って感じ。 何も始まってない、シリーズぽいけど、もう読まなくていいかな っていう感想だったらしい。 10月は本を読む。 今のままだとキンドルアンリミテッドに入っている意味がないし、なによりずっと大好きだった趣味を失いたくない。 Mastodonのクライアントアプリ Trunksというアプリを見つけ、使い始めた。 これが良いのだけれど、唯一の欠点が絵文字リアクションに対応していない。 なので、絵文字リアクションに対応したクライアントアプリを作りたい。 そしてそもそも自分のサーバーを建てたい。 まずは自分のサーバーを建てようと思う。 これは必ず今年中に実現する。と宣言してみる。

投稿日 · 2024-10-15 · 更新日 · 2024-11-09 · 1 分 · nove-b