タグ

ブックマーク / azukiazusa.dev (8)

  • おまえら禁じられたインデックスアクセスを平気で使ってんじゃねえか!わかってんのか?『ランタイムエラー』が生まれたのは人間がコンパイラオプションに甘えたせいだろうがよ!

    おまえら禁じられたインデックスアクセスを平気で使ってんじゃねえか!わかってんのか?『ランタイムエラー』が生まれたのは人間がコンパイラオプションに甘えたせいだろうがよ! 2022.06.25 TypeScript 4.1 から noUncheckedIndexedAccess オプションが追加されました。このオプションは上記のような配列のアクセスやオブジェクトのプロパティのアクセスをより厳密にします。 具体的には、配列に対するインデックスアクセスやインデックスシグネチャを通じたプロパティのアクセスは常に `undefined` とのユニオン型となります。

    おまえら禁じられたインデックスアクセスを平気で使ってんじゃねえか!わかってんのか?『ランタイムエラー』が生まれたのは人間がコンパイラオプションに甘えたせいだろうがよ!
  • 技術の素振りのために記事を書く

    技術の素振りのために記事を書く 2024.02.20 技術の素振りを、ここではある特定の言語やフレームワークに対する理解を深めるために、その技術を使って何かしらの成果物を作成することと定義します。素振りの目的としては、ドキュメントからは読み取れない Pro/Con を得ること、その技術が実際のプロジェクトで使えるかどうか調査するといった事項があげられるでしょう。ただ素振りするだけではぼんやりと頭に知識が入っている状態になりがちですが、他者への説明というアウトプットを意識することで、コードを書くことによって得られた知見を整理できるようになります。 技術の素振りを、ここではある特定の言語やフレームワークに対する理解を深めるために、その技術を使って何かしらの成果物を作成することと定義します。素振りの目的としては、ドキュメントからは読み取れない Pro/Con を得ること、その技術が実際のプロジェ

    技術の素振りのために記事を書く
    Windymelt
    Windymelt 2024/02/21
    自分も素振り中に読んだ文献は全部参考コーナーに置いてる。読者が「そう思ったのは何故?」と思ったときの手助けになるし、どういう文脈で書いたのかも明らかにできる。人間がリンクを貼ることに意味がある、的な
  • 初心者向けの単純なルールを作る

    初心者向けの単純なルールを作る 2024.02.19 新しい物事を始めるときは複雑な理屈は抜きにして、単純なルールが規定されていることが初心者にとって大切です。この理屈は開発時の設計やコーディングルールにも当てはまると思います。単純なルールとして lint を設定したり、コンポーネント化して複雑な部分を隠蔽することですべての開発者にとってコードをコミットしやすくなります。 最近趣味でポーカーを始めました。その中で感じたのは、なにか新しい物事を始めるときは複雑な理屈は抜きにして、単純なルールが規定されていることが初心者にとって大切だということです。多くの初心者向けのルールは「やってはいけないこと」であったり、「複数の選択肢を単純化する」ということに主眼が置かれています。 具体的な例として、ポーカーの初心者に向けて以下のような守るべきルールがあげられています。 コツ①参加する回数を減らす コツ

    初心者向けの単純なルールを作る
    Windymelt
    Windymelt 2024/02/20
    完全に関数型プログラミングの入門にも通じる話だ > "初心者に対していきなり複雑な理屈を含めて教えようとすると、自分が参入するには過度に困難なゲームだと思われてその場でリタイアされてしまう可能性が高い"
  • CSS で絶対に最前面に表示したい要素には z-index:calc(infinity) を指定する

    いつの時代にも z-index の管理には頭を悩ませます。z-index の値には 1 以外の値を許可しないなどの管理方法がありますが、外部のライブラリを使用してる場合に勝つことができません。 そこで z-index の値に calc(infinity) を指定すると、絶対に最前面に表示させることができます。 infinity は calc() の中で使用できる特殊な値です。名前の通り最も大きな値を表します。 そのため、どんなに大きな z-index の値を指定されても、calc(infinity) が最も大きな値になるため、最前面に表示されるわけですね。

    CSS で絶対に最前面に表示したい要素には z-index:calc(infinity) を指定する
    Windymelt
    Windymelt 2024/01/26
    z-indexにinfinity指定できるのか・・・
  • 静的サイト向けの全文検索エンジンと UI ライブラリの Pagefind

    デモとして、このブログに Pagefind を導入してみました。ヘッダーの検索アイコンをクリックすると検索フォームが表示されるので、キーワードを入力して検索してみてください。 使い方 Pagefind は構築済みの UI ライブラリと、CLI コマンドとしてインデックスを作成するためのツールから構成されています。まずは UI ライブラリの部分から見てみましょう。 UI ライブラリ Pagefind の UI ライブラリは、検索フォームと検索結果を表示するためのコンポーネントから構成されています。この UI は以下のコードを追加するだけで簡単に利用できます。 <link href="/pagefind/pagefind-ui.css" rel="stylesheet" /> <script src="/pagefind/pagefind-ui.js"></script> <div id="s

    静的サイト向けの全文検索エンジンと UI ライブラリの Pagefind
    Windymelt
    Windymelt 2024/01/08
    面白そう。しかし直接その場に検索結果が出てくるUIに慣れてなくて(algoriaとかもそう)、手癖でエンター押してしまうのだよな。
  • Kubernetes用語集

    Kubernetes用語集 2021.03.06 仕事kubernetesを学ぶ必要が出てきました。 筆者のレベルは、Dockerkubernetesの概念・必要性をやんわりと理解している状態です。 勉強をすすめる上で、わからない用語が次々と出てきたて頭の中がパンクしそうになったので、簡潔に随時まとめることとしました。 はじめに 仕事kubernetes を学ぶ必要が出てきた。 筆者のレベルは、Dockerkubernetes の概念・必要性をやんわりと理解している状態である。 勉強をすすめるうえで、わからない用語が次々と出てきたて頭の中がパンクしそうになったので、簡潔に随時まとめることとした。 基用語 k8s kubernetes の別名。k + 8 文字 + s から。 IaC (Infrastructure as Code) インフラ構成管理をコード化すること。 再利用や

    Kubernetes用語集
  • テストコード内では条件分岐を書かないようにする

    テストコード内では条件分岐を書かないようにする 2023.01.21 誰でも読める愚直なコードであることの 1 つの目安として、テストコードの中に if 文や三項演算子などの条件分岐が入り込んでいていないことが上げられます。if 文が存在するコードはアンチパターンであるといえます。実際に if 文がテストコードの中に入り込んだ例を見てみましょう。 テストコードは誰でも読める愚直なコードであることが求められます。テストコードにはある種のドキュメントのような、コードの仕様を説明する役割が求められているためです。テストの期待結果が変数になっていて、定義元までジャンプしないと値を確認できないだとか、条件分岐やループが入り込んでいて複雑性が上がっている状態ですと、素直に読みやすいとは言えません。 コードの中では重複排除をするためにさまざまなテクニックを駆使することがありますが、これは単にテストコード

    テストコード内では条件分岐を書かないようにする
  • Web フロントエンドの実装において本来の機能を損なってはいけない

    Web フロントエンドの実装において来の機能を損なってはいけない 2022.12.24 データの取得・ルーティング・フォームの値の管理に至るまで JavaScript で制御するようになった結果、来備わっていた機能を損なう形で実装されるような間違いが起きるケースも発生してしまいました。見た目上操作に不都合がないのですが、修飾キーが有効でなかったりと、とある要素が当然に持っているべき機能が失われていることがよくあります。 昨今の Web フロントエンドの開発においては、ReactVue.js などを利用した SPA を採用することが多くなりました。従来の MPA と比較して、リンククリック時やフォーム送信時にページリロードを挟まないので、高速な画面遷移を実現できるため、快適な操作を実現できます。 一方データの取得・ルーティング・フォームの値の管理に至るまで JavaScript

    Web フロントエンドの実装において本来の機能を損なってはいけない
    Windymelt
    Windymelt 2022/12/25
    良い記事
  • 1