盡可能不設定 line-height 為 1 與 ellipsis 的原因
本文探討了為何在網頁設計中不建議將 line-height 設為 1,以及使用 ellipsis 時遇到的語言問題
本文探討了為何在網頁設計中不建議將 line-height 設為 1,以及使用 ellipsis 時遇到的語言問題
想跟大家分享一下自己接下來想要做的一些實驗,我進入軟體開發跟前端也已經快要邁入第一個十年了。經歷前端百花齊放的戰國時代,對於後續前端的變化和體悟都很有幫助。雖然部落格上已經分享了很多篇文章,但其實也還有很多想分享的事情沒有寫出來
本篇為 IT 2023 鐵人賽文章:與程式有關的遊戲三選 (1) – A=B
身為一位前端工程師,雖然我們不需要把全部的 HTML 標籤背得滾瓜爛熟,但是常見的 HTML 標籤與使用場景還是要有一定程度的了解,根據不同場景使用。 但是,使用語意化標籤的目的是什麼?我發現很多文章對於語意化標籤往往只停在表面,也就是討論某某標籤應該使用在哪裡,導致網頁上的標籤看似多彩繽紛,但使用者體驗卻沒有得到相對的提升。
電子報ウェブサイトの要件を検討し、最終的にウェブサイトの構築には Astro を選びました。この記事では他の静的ウェブページジェネレータとの比較および Astro を選んだ理由について検討します。
突然、面白いと思ったトピックを記録することに決めました。特に、視覚化できるものに関しては。余力があれば、毎日のトピックをメモに書き留めます。とにかく、私は Advent Of Code Day10 の問題がかなり面白いと思うので、一旦記録しておきます。
2017年に、HTML/CSSを使用して実現できるさまざまなレイアウトのテクニックについて共有された記事を読みました。初めて読んだ時、共感を覚え、当時知らなかったテクニックも学びましたので、皆さんにもおすすめです。JavaScriptはほとんどの問題を解決できますが、アクセシビリティの観点やパフォーマンス、バンドルサイズの観点から見ると、CSSで解決できる方が良いです。ただし、JSを使用しないことは完全に使用しないことを意味せず、両者にはいくつかの違いがあります。この記事では、再度上記の記事を読み直し、改善できると思われる点を指摘します。
CSSのレイアウトを行う際には、対応するCSSスタイルを使用して処理を行います。場合によってはJavaScriptを使用する必要がありますが、実際にはCSSには多くの疑似クラスが存在し、これらをうまく活用することでCSSを簡素化し、不要なJavaScriptの実装を減らすことができます。また、過去とは異なり、ごく少数のブラウザのみがサポートしていたということもなくなりました。
ブログをGatsbyからNext.jsに移行するプロセスと感想を記録しました。使用した技術や実装の詳細などが含まれています。
ただし、多くの人が「ああ、またフレームワークがあるのか」と感じるかもしれませんが、remixには確かに独自の特徴があります。ドキュメントを読んだり、最も明らかなものを追いかけたりするとわかるでしょう。
node.jsでは、ファイルの操作にはよくfsモジュールを使用します。ただし、高いスループットが必要な場合、IOに関連する操作は非常に注意が必要です。
現在、多くのウェブサイトでは、Web Vitalsの測定プロセスが導入されており、指標を定量化して改善すべき箇所を見つけることができます。しかし、あまり知られていないのは、Sentryが以前にもWeb Vitalsの統計機能を導入していたことです。この機能では、LCP、FP、CLSなど、Web Vitalsの各指標を統計することができ、開発者はバックエンドで関連するグラフを確認したり、平均値を表示することができます。非常に便利です。
UIの観点から見ると、フロントエンドとモバイル開発は似たような問題に直面することがあります。使用される言語や開発手法は異なるかもしれませんが、私たちは使いやすいユーザーインターフェースを作る必要があります。そのため、コンポーネントベースの開発、状態管理、データフロー、副作用の管理(APIまたはIOなど)など、私にとっては相互学習に適した領域です。
WebGLは、幅が1より大きい線をサポートしていません。Three.jsでも幅を調整できる線の実装はサポートされていません。そのため、独自の線の実装を開始しました。
ウェブページを閲覧する際、私たちはしばしばサブドメインを使用してサービスのコンテンツを区別します。ただし、ウェブサイトがサブドメインであるかどうか、または2つのウェブサイトがSameSiteであるかどうかを区別することは想像以上に簡単ではありません。
フロントエンドアプリケーションでは、よく他の値を組み合わせて計算された値を表示する必要があります。または、ある種の計算を行った後に画面に表示する必要があります。通常、このような処理は、useMemoを使用してコードを簡略化することができます。
shikiは、コードの構文をハイライトするためのパッケージであり、他のパッケージ(highlightjs、prismjs)と比べて比較的新しく、あまり知られていません。主な理由は、サポートされている言語の数が多く、設定も簡単であり、組み込まれているテーマも多いため、prismjsを置き換えるのに便利です。
本記事は、私の視点や考えを表現するものであり、同業者に対する批判の意図はありません。私は現在、フロントエンドの領域(ここではウェブ開発を指します)が徐々に成熟してきており、フロントエンドフレームワークはコンポーネントベースの中心思想とレスポンシブメカニズムを採用し、フレームワーク固有の文法や開発手法、哲学と組み合わせることで、ほとんどの使用シナリオに対応できると考えています。
Google Chrome 89では、Web Serial APIが導入され、ブラウザのAPIを介して外部デバイスと直接やり取りすることができます。これには、USBデバイスやシリアルインターフェースを持つBluetoothデバイスなどが含まれます。これにより、ブラウザはハードウェアと直接通信することができます。
この記事では、フォームタグがブラウザ上でどのように処理されるか、また JavaScript で FormData を使用してフォーム操作を簡略化する方法について説明します。
フォームはウェブページの一般的なアプリケーションで、プレーンテキストの転送だけでなく、ファイルのアップロードも可能です。しかし、フォームの振る舞いは他の伝達方法とは異なるため、疑念や誤解が生じることがあります。この記事では、仕様の詳細を理解し、フォームが最終的に何をするのか、フォームが他の転送方法とどのように異なるのかを理解し、最後に、フォームタグの背後でHTMLが何をするのかを説明します。
Svelte の核となるコンセプトから、Svelte はコンパイルプロセスからできるだけ多くの情報を取得し、ダイナミックのオーバーヘッドを削減したいと考えています。前回の記事では、Svelte のコンパイルからコード生成までの仕組みを説明しました。今日は、Svelte が生成したコードがどのように機能するかを見てみましょう。
スベルテの注目は年々高まった。この記事では、2022年にSvelteについて学ぶべきいくつかの理由を取り上げ、Svelteを使用する際の欠点についても説明します。
最終的なコードを生成するには、Svelte はコンポーネントを一度コンパイルして必要な情報を取得する必要があります。Svelte からビルドコードまでのコンパイルプロセスはいくつかの段階を経ますが、この記事ではそれらを 1 つずつ説明します。
この連載記事では、読者にSvelteのコンパイルメカニズムとコード生成についてより深く理解してもらうことを目的として、Svelteの原則の実装について探ります。Svelte のコンパイルプロセスにはコードの解析が含まれるため、この記事では抽象構文ツリーとは何かを説明し、さらに抽象構文ツリーの役割と重要性について説明します。
Turbolinks は Ruby on Rails で通常使用される JavaScript パッケージです (ライブラリとしてのみ使用できます)。主に HTML を取得して、リクエストと CSS を再送信するコストを回避します。実際、「JavaScriptを使用する必要がない」というのは完全に正しいわけではなく、JavaScriptはまだありますが、ライブラリで自動的に行われるため、JavaScriptを書かなくても開発できます。
linariaは、ランタイムなしでcss-in-jsを重視したライブラリです。styled-components に似た構文を使用できますが、コンパイル時に CSS を生成するため、スタイルを動的に変更する際のオーバーヘッドが軽減されます。
今回、このトピックを実装したいと思ったのは、ニュースやデータと比較的整合性のある関係を見て、スベルテ自体も昇進できると言って、彼は構想しながら実装されたからです。
ブラウザが Web ページをクロールすると、クローラーはページの HTML コンテンツをクロールしてコンテンツを生成し、それをデータベースにキャッシュして定期的に更新します。つまり、SSR が実装されていない場合、html ファイル自体は空白になり、JavaScript が解析されて実行されるまで、実際のページは表示されません。
Vue の作成者ユーユー・クリークは最近、RFC を提案しました。これは ref 宣言の構文に関するもので、JavaScript ラベルステートメントでさらに簡略化できます。この構文はSvelteに似ています。ここに自分の考えを記録してください。