並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 41件

新着順 人気順

POSTDの検索結果1 - 40 件 / 41件

タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。

POSTDに関するエントリは41件あります。 performance開発フロントエンド などが関連タグです。 人気エントリには 『CDNは5時間で開発できる | POSTD』などがあります。
  • CDNは5時間で開発できる | POSTD

    「CDN」(content delivery network)という言葉からは、Googleのような大企業がいくつもの巨大なハードウェアを管理し、1秒当たり何百ギガビットものデータを処理する様子が想像されます。しかし、CDNは単なるWebアプリケーションです。私たちのイメージとは違いますが、それが事実です。8年前に買ったノートパソコンを使って、コーヒーショップの席に座りながらでも、きちんと機能するCDNを構築できます。この記事では、これから5時間でCDNを開発しようとするときに、直面するかもしれないことを紹介します。 まずはCDNの機能を明らかにしておきましょう。CDNはセントラルリポジトリ(通称:オリジン)からファイルを吸い上げ、ユーザーに近い場所でコピーを保存します。初期のオリジンはCDNのFTPサーバーでした。現在、オリジンは単なるWebアプリとなり、CDNはプロキシサーバーとして機

      CDNは5時間で開発できる | POSTD
    • 人材マネジメント🤯 | POSTD

      初めて会社を起業する人のほとんどは、集団をマネジメントする方法を学ぶ間に、創業当初の従業員を燃え尽き症候群にさせてしまうと思います。 筆者のアドバイスがそのようなケースを減らせるなら、ここに書いておく価値があるでしょう。 筆者は小規模なチームやスタートアップ企業のマネージャーのためにこの記事を書きました。 ほとんどのアドバイスは、大規模な企業のマネジメントには当てはまらないのではないかと思います。 なお、急成長している企業に入社する人への全般的なアドバイスについてはこちらをご覧ください。 筆者について 中・小規模のエンジニアリングチームを数チーム管理した経験あり On DeckのCTO CoinListの元エンジニアリング担当VP AngelListの元リモート責任者 Product Huntの元CTO それでは始めましょう。 マネージャーはすべての失敗に責任を負う 分かります……とても前

        人材マネジメント🤯 | POSTD
      • あまり知られていないPostgreSQLの機能 | POSTD

        あなたが知らない既存機能があるかもしれません! マイクロソフト社は2006年、Microsoft Officeの新バージョンで追加してほしい機能について、顧客調査を実施しました。驚いたことに、ユーザが希望した機能の90%以上はすでに実装されており、その存在が知られていないだけであることが判明しました。機能の「見つけにくさ」の問題の解決策として同社が考案したのが、現在のMicrosoft Office製品でおなじみの「リボンUI」です。 この問題はOfficeに限ったものではありません。日々使用するツールの機能をすべて把握している人はほとんどいません。PostgreSQLのように大規模なツールであればなおさらです。数週間前にPostgreSQL 14がリリースされたばかりなので、この機会にPostgreSQLのあまり知られていない機能に注目してみたいと思います。 この記事では、Postgre

          あまり知られていないPostgreSQLの機能 | POSTD
        • フロントエンドのテストは皆のためのもの | POSTD

          テストとは人によって反応が分かれるものの1つであり、大喜びする人もいれば、見ないようにして去ろうとする人もいます。あなたがどちらの側であるにせよ、ここではフロントエンドのテストは皆のためのものであるということを説明します。実際、テストには多くの種類があり、それがテストに対して初めに恐れや混乱を感じる一因なのかもしれません。 この記事では、特に有名で広く利用されている種類のテストを扱います。なかには目新しいものはないと感じる読者の方もいらっしゃるかもしれませんが、少なくとも復習にはなるでしょう。どちらにせよ、筆者の目標は、この記事を通じて世の中のさまざまな種類のテストについて理解を深めてもらうことです。ここではユニットテスト、統合テスト、アクセシビリティテスト、ビジュアルリグレッションテストなどを一緒に見ていきます。 さらに、Mocha、Jest、Puppeteer、Cypressなど、各種

            フロントエンドのテストは皆のためのもの | POSTD
          • JavaScriptのバンドルとトランスパイルが不要なモダンWebアプリ | POSTD

            筆者はES6以前のVanilla JSがあまり好きではありませんでした。 そこで、バニラJavaScriptをなるべく書かなくていいように、2000年代を通じてさまざまなアプローチを追求してきました。最初はRJS(Ruby-to-JavaScript)、次はCoffeeScriptでした。どちらのアプローチも、バニラJavaScriptより楽しく書けるソースコードを、ブラウザが実行できるバージョンのJavaScriptへトランスパイルするものです。ある程度は、うまくいっていました。 とはいえ、これは明らかにその場しのぎの手段に過ぎず、ブラウザがより洗練されたJavaScriptを理解できる日を待ちわびていたのです。ただ、そんな日が来ることはなく、永久にその場しのぎでやり過ごすのかと思われる時期がしばらく続きました。 しかし、幸いなことにJavaScriptは改善を続け、2015年にはES6

              JavaScriptのバンドルとトランスパイルが不要なモダンWebアプリ | POSTD
            • テストピラミッド万歳 | POSTD

              クイックサマリー:「テストピラミッド」は、自動テストをUI、サービス、ユニット単位に整理することで、開発に自動テストを組み込む方法を示すために作成されました。2012年に定義されて以降、このモデルは次第に使われなくなってきたように思いますが、本当に廃れてしまったのでしょうか。この記事では、最新のテスト戦略を紹介するとともに、今日のソフトウェア開発におけるテストピラミッドの関連性を検討します。 筆者の同僚であるジャン・フィリップ・ピエトルチェクが、かつてコードを書く開発者の責任について、次のように述べました。 none「我々の仕事の成果を最終的に使用する人々は、(中略)我々がただ最善を尽くすだけでなく、実際に機能するものを作ることを期待しているのです。」 — ジャン・フィリップ・ピエトルチェク 彼の言葉は、私たちが書くコードをそれに依存する人々の観点からとらえている点で非常に印象に残りました

                テストピラミッド万歳 | POSTD
              • React Server Componentsの仕組み:詳細ガイド | POSTD

                React Server Components(RSC)は、ページの読み込みパフォーマンスやバンドルサイズのほか、Reactアプリケーションの書き方に近い将来大きな影響を与えることになる、素晴らしい新機能です。 Plasmicでは、Reactのビジュアルビルダーを開発しており、Reactのパフォーマンスには大きな関心を持もっています。 当社のクライアントの多くは、Plasmicを使用して高いパフォーマンスが求められるマーケティングサイトやECサイトを構築しています。 したがって、RSCはまだReact 18の初期実験機能ですが、Plasmicではその仕組みを詳しく調べています。 このブログ記事では、これまでに分かったことを紹介したいと思います。 Plasmicのメンバーによるツイートまとめもご覧ください。 React Server Componentsとは何か サーバサイドレンダリングとの

                  React Server Componentsの仕組み:詳細ガイド | POSTD
                • Qwikの紹介 – HTMLファーストのフレームワーク | POSTD

                  Builder.ioは、強力なビジュアルエディタにより、開発者ではない人が超高速なサイトを開発・編集できるようにしています。 私たちのビジュアルエディタが優れている点の1つは、AngularからWeb Components、 そしてその間にあるすべてのフレームワークに至るまで、 さまざまなツールで同じサイトを生成できることです。 出力されるコードは速度が最適化されています。 私たちのツールで作成されたサイトは、手作業で作成されたサイトの大部分よりも高速です。 私たちはこれを心から誇りに思っています。 私たちの製品は、スピードがとても重要であるeコマースに焦点を当てています。 優れたTime to Interactiveの実現は困難 どんなにコードが最適化されていても、静的HTMLのみを提供していない限り、 eコマースサイトがPageSpeed Insightsで100点中100点のスコアを

                    Qwikの紹介 – HTMLファーストのフレームワーク | POSTD
                  • POSTDをGatsby.jsベースに変更しました | POSTD

                    POSTDの運用がリクルートからニジボックスに移管される際に、デザインのリニューアルと同時にコードベースをGatsby.jsに変更しました。 本記事では、運用移管に至るまでの過程を踏まえつつ、現在のPOSTDの構成を紹介します。 移管前のPOSTD 前述の通り、POSTDは株式会社リクルートのインキュベーション部門Media Technology Lab.(現新規事業開発部)で運用されていました。 最後に公開した記事は、2019年3月28日の「PHPはもうダメだ、PHP万歳!」となっています。 もともとはWordPressによる運用が行われていましたが、運用体制の関係で静的HTMLをFirebaseで公開する形式になっていました。 ニジボックスへの引き継ぎに伴い、記事の翻訳を始めとしたサイト運用を再開することになり、改めてCMSの形式に変換する必要が出てきます。 Gatsby.jsを選ぶ

                      POSTDをGatsby.jsベースに変更しました | POSTD
                    • Rustのビルドを高速化する方法 | POSTD

                      Rustコードのコンパイルが遅いことは誰でも知っています。しかし筆者は、世の中のほとんどのRustコードはコンパイルをもっと速くできると強く感じています。 例えば、つい最近の記事にこのように書かれていました。 一方、Rustでは、プロジェクトやCIサーバーの性能にもよりますが、 CIパイプラインの実行に15~45分かかります。 これは筆者には理解できません。GitHub Actions上にあるrust-analyzerのCIの所要時間は8分です。しかも、これは100万行の依存関係に加え、20万行の独自コードが記述されたとても大規模で複雑なプロジェクトでの話です。 確かに、Rustは根本的な部分で非常にコンパイルが遅いのは間違いありません。Rustはジェネリクスのジレンマにおいて「遅いコンパイラ」を選び、全体的な設計思想としてコンパイル時間よりもランタイムを優先しています(この点に関する優れ

                        Rustのビルドを高速化する方法 | POSTD
                      • モダンWebにおけるキャッシングのための新HTTP標準 | POSTD

                        一般ユーザー向けの大規模なWebサイトや、モダンWeb上で動作するWebアプリケーションを運営する場合、CDNなどのキャッシングサービスによって静的コンテンツをキャッシュすることが極めて重要です。 しかしこうしたサービスは、非常に複雑で分かりにくいものです。 幸い、IETF(Internet Engineering Task Force)のHTTPワーキンググループがこの状況を改善すべく、HTTPの新標準策定に取り組んでいます。 最近、同ワーキンググループでは、キャッシングのデバッグとキャッシュ設定の管理を容易にすることを目的とした、HTTPヘッダに関する2つの新標準案の発表に向けて活発な動きがありました。 このことが何を意味し、どのように機能するのか、そしてWeb制作に携わる開発者全てがなぜ注目すべきなのかについて見ていきます。 新標準 この記事で取り上げる標準案は以下の2つです。 Ca

                          モダンWebにおけるキャッシングのための新HTTP標準 | POSTD
                        • Next.jsを4年間使用してたどりついた、エンタープライズアプリケーションのフロントエンド開発・構築手法 | POSTD

                          はじめに 目まぐるしく進化するフロントエンド開発の世界では、常に最新の知識や技術をいち早く取り入れることが、エンタープライズアプリケーションの開発を成功させる上で欠かせません。Tailwind CSS、TypeScript、Turborepo、ESLint、React Queryなどを含む強力なツールキットとNext.jsを4年間使用してきた結果、開発に役立つさまざまな知見やベストプラクティスが得られました。この記事では、大企業向けフロントエンドアプリケーションのパフォーマンス、保守性、拡張性を最大限に高める設計・構築手法を紹介したいと思います。 注記:ここに記載する内容はあくまでも個人的な見解であり、筆者が推奨する手法が必ずしも適さない場合もあります。 効果的なエンタープライズ向けフロントエンドアーキテクチャの基本原則 エンタープライズ規模のアプリケーション向けにフロントエンドソリューシ

                            Next.jsを4年間使用してたどりついた、エンタープライズアプリケーションのフロントエンド開発・構築手法 | POSTD
                          • React Server Componentsを理解する | POSTD

                            私も年を取ったと感じるのは、今年Reactが10年目を迎えたからです。 混乱していた開発コミュニティにReactが初めて紹介されてから10年、以来いくつもの進化を遂げてきました。Reactチームは、急進的な改革ということに関しては躊躇しませんでした。問題に対して、より良い解決策が見つかれば、それを実行してきました。 数か月前、Reactチームは最新のパラダイム・シフトであるReact Server Componentsを発表しました。史上初めて、Reactコンポーネントがサーバーでのみ実行できるようになったのです。 このことに関連してオンライン上では、きわめて大きな混乱が起きています。それが何なのか、どのように機能するのか、利点は何か、そしてSSR(Server Side Rendering)などとどのように連携するのか、多くの人が多くの疑問を抱いています。 私はReact Server

                              React Server Componentsを理解する | POSTD
                            • フォント読み込みの影響を軽減するための新しい方法:CSSフォントディスクリプタ | POSTD

                              クイックサマリー ‐ Webフォントは往々にしてWebのパフォーマンスをひどく低下させており、この問題に対して特に効果的なフォント読み込みの戦略は存在しません。しかし、今後公表されるフォントのオプションによって、フォールバックフォントを最終的なフォントに合わせやすくなるかもしれません。 フォントの読み込みはWebのパフォーマンスにとって長年にわたる悩みの種であり、これを解決する良い方法はありません。Webフォントを使用する場合は基本的に、フォントをダウンロードするまでテキストが表示されないFOIT(Flash of Invisible Text)か、最初はフォールバック用のシステムフォントを使用し、ダウンロードが済んだらWebフォントに更新するFOUT(Flash of Unstyled Text)のどちらかを選ぶ必要があります。正直に言って、どちらの選択肢もあまり満足の行くものではなく、

                                フォント読み込みの影響を軽減するための新しい方法:CSSフォントディスクリプタ | POSTD
                              • アクセシブルなフロントエンドコンポーネントの完全ガイド - 前編 | POSTD

                                クイックサマリー ‐ 私たちは一連の短い記事で開発者とデザイナーにとって有用なツールやテクニックを紹介しており、直近の記事ではCSS監査ツールとCSSジェネレータを取り上げました。この記事ではタブやテーブルからトグルやツールチップまで、信頼性の高いアクセシブルなコンポーネントを見ていきます。 目次 以下にすべてのアクセシブルなコンポーネントをアルファベット順に記載しました。目次をスキップするか、スクロールして1つずつお読みください。 :focus styles autocomplete buttons carousels "close" buttons content sliders checkboxes color systems color palettes comics component libraries cookie consent prompts dark mode data

                                  アクセシブルなフロントエンドコンポーネントの完全ガイド - 前編 | POSTD
                                • tscをGoに移植 | POSTD

                                  筆者はTypeScript型チェッカーtscをRustではなく、Goに移植しようと思います。拡張可能なRustプラットフォームSWCの作者の発言としては、奇妙に聞こえるかもしれません。理由を説明したいと思います。 なぜtscを移植するのか TypeScriptの普及が進むにつれて、大規模プロジェクトではあるジレンマに直面しています。型チェックは、ワークフローの中で最も時間がかかるプロセスの一つになっているのです。開発者は、イテレーションのサイクルを遅らせることなく、型安全を保証することを望んでいます。 tsc(TypeScript Compiler)は、型の妥当性をチェックし、コードをJavaScriptにコンパイルします。コードの量が多いほど、コンパイルには時間がかかります。中規模から大規模のTypeScriptプロジェクトでは、このコンパイルに膨大な時間がかかります。開発者はワークフロ

                                    tscをGoに移植 | POSTD
                                  • アクセシブルなフロントエンドコンポーネントの完全ガイド - 後編 | POSTD

                                    ※前編がこちらにあります 目次 icon links inputs keyboard navigation navigation menu modals prefers-reduced-* “skip” links SVGs tabs tables toggle switches tools tooltips video/audio players アクセシブルなインプット 2019年、WebAIMは上位100万件のWebサイトのアクセシビリティを分析し、エラーがないページの推定割合は1%未満というショッキングな結論に到達しました。アシスティブテクノロジー(支援技術)に頼っている人にとってインクルーシブで使いやすいサイトを作成するには、セマンティックHTMLの基礎を正しく理解する必要があります。Oscar Braunertのインクルーシブなインプットに関する記事は、彼の「小さく始めて共有・

                                      アクセシブルなフロントエンドコンポーネントの完全ガイド - 後編 | POSTD
                                    • 中身のないnpmパッケージ「-」が70万回以上ダウンロードされる— その理由とは | POSTD

                                      名前が1文字の「-」という謎めいたnpmパッケージは、2020年にレジストリで公開されて以来、70万回以上ダウンロードされています。 さらに、このパッケージには有効なコードが含まれていません。では、一体なぜこれほど多くダウンロードされているのでしょうか? npmパッケージ「-」の中身 「-」というnpmパッケージは、2020年初めにnpmレジストリで公開されてから、約72万回もダウンロードされてきました。 パッケージのバージョンは0.0.1のみで、ファイルは3つです。 tar tvf 0.0.1/--0.0.1.tgz package/dist/index.js package/package.json package/README.md これらのファイルは主にマニフェスト(package.json)とindex.jsで、特に面白い点はなく、スケルトンコードが書かれているだけです。 マニフ

                                        中身のないnpmパッケージ「-」が70万回以上ダウンロードされる— その理由とは | POSTD
                                      • Core Web VitalsはWebを高速化したか? | POSTD

                                        Core Web Vitals(CWV)は2020年5月に発表されました。Googleはこの発表の中で、「より良いWebのためにページエクスペリエンスを評価する」と述べています。特に重要なのは、この評価がGoogleの検索順位アルゴリズムの一部を構成することでした。つまり、高速なWebサイトは、同等の遅いWebサイトよりも順位が上になり、Google検索によるトラフィック(ほとんどのWebサイトにとってWebトラフィックの最も大きな部分を占める)が増えます。 Webパフォーマンスコミュニティは、Webパフォーマンスのビジネス上のメリットを売り込むことに関して、常にSEO業界に劣っていました。Webパフォーマンスがビジネスのパフォーマンスに直接影響を及ぼす証拠が数多く存在するにもかかわらずです。しかし、今やSEO業界全体がWebパフォーマンスを重視するようになり、企業もWebパフォーマンスに

                                          Core Web VitalsはWebを高速化したか? | POSTD
                                        • WebAssemblyに注目 | POSTD

                                          WebAssemblyは今、転換点にあります。今後数年間で、コンテナ化からプラグインシステムやサーバレス・コンピューティング・プラットフォームに至るまで、IT業界全体でWebAssemblyの導入が増えると筆者は予想しています。この記事では、WebAssemblyとは何か、なぜそれが重要なテクノロジーであるのか、現在はどのような分野で利用されているかを説明します。また、WebAssemblyが大きな影響をもたらす可能性がある用途や、WebAssemblyの将来に関する予測も紹介します。 WebAssemblyとは何か WebAssembly(Wasm)とは、さまざまなプログラミング言語と多様な実行環境の間に位置する中間層です。30以上の異なるプログラミング言語で書かれたコードを.wasmファイルにコンパイルし、そのファイルをブラウザ、サーバ、あるいは自動車でも実行できます。 「WebAss

                                            WebAssemblyに注目 | POSTD
                                          • Next.jsアプリのローカライゼーション | POSTD

                                            クイックサマリー ‐ 国際化ルーティングは、厳密にはNext.jsの新機能ではありません。(v.10以降搭載されています。)この記事では、この機能のメリットだけではなく、こうした機能を利用して最高のユーザ体験と円滑な開発者体験を実現する方法についても見ていきます。自己文書化コードやバンドルサイズの削減、さらにはランタイムエラーではなくコンパイル時エラーに興味のある方は、是非このまま読み進めてください。 開発中のアプリにおいて、ロケール(または国、あるいは両方)ごとにルートを設定したい場合、Next.jsで簡単に対応できるようになりました。プロジェクトのrootディレクトリにnext.config.jsがない場合、新たに作成してください。このスニペットからコピーしても構いません。 /** @type {import('next').NextConfig} */ module.exports

                                              Next.jsアプリのローカライゼーション | POSTD
                                            • パフォーマンスの文化を創る | POSTD

                                              Webパフォーマンスの向上は、コンバージョンの改善と利益の増加につながります。これに関しては極めて多くのケーススタディが存在しており、テクノロジーの専門知識を持たないプロダクトマネージャーでさえこの事実を知っていることも珍しくありません。それでは一体なぜ、最後の差し迫った緊急事態に至るまで、場合によっては顧客のネガティブなフィードバックが殺到し、Webサイトのパフォーマンスの悪さが浮き彫りになるまで、パフォーマンスへの取り組みは後回しにされることが非常に多いのでしょうか? 私は幸運にも、それぞれ独自の背景と課題を有する幅広いプロジェクトのパフォーマンス面に長年取り組むことができました。しかし、経験を積むにつれて、私はほとんどの時間をコードの最適化ではなくプロセスの最適化に費やすようになりました。私は元々ソフトウェア開発者なので、コードを精査してボトルネックを発見し、別の選択肢を提案・実装し

                                                パフォーマンスの文化を創る | POSTD
                                              • QwikとPartytownでJavaScriptを99%削減する方法 | POSTD

                                                うれしいことに、builder.ioのホームページは今やモバイル端末でもPageSpeed Insightsで100点中100点をとれるようになりました。 これはQwikを導入したおかげです。 Qwikはアプリケーションの規模に関係なく高いパフォーマンスを実現します。 上記のスコアは、以下の優れた技術によって達成されました。 Qwikで提供されるページの起動に必要なJavaScriptは1KB未満 ホームページは画面上の領域のコンテンツに必要なHTMLのみを送信 Partytownを利用し、すべてのサードパーティスクリプトをWeb Workerに移動 builder.ioの視覚的なノーコードエディタを利用してサイトを作成 Qwikは、数百のコンポーネントや数MBのコンテンツを有する大規模なサイトでも高速なパフォーマンスを実現します。 また、クライアントコンポーネントに移動できるインタラクテ

                                                  QwikとPartytownでJavaScriptを99%削減する方法 | POSTD
                                                • フロントエンドパフォーマンスのチェックリスト2021年版(PDF、Apple Pages、MS Word)-後編 | POSTD

                                                  目次# 前編 準備段階:計画と指標 パフォーマンスを重視する文化、Core Web Vitals、パフォーマンスのプロファイル、CrUX、Lighthouse、FID、TTI、CLS、端末。 現実的な目標の設定 パフォーマンスバジェット、パフォーマンス目標、RAILフレームワーク、170KB/30KBバジェット。 環境の定義 フレームワークの選択、パフォーマンスコストの基準設定、Webpack、依存関係、CDN、フロントエンドアーキテクチャ、CSR、SSR、CSR + SSR、静的レンダリング、プリレンダリング、PRPLパターン。 中編 アセットの最適化 Brotli、AVIF、WebP、レスポンシブ画像、AV1、アダプティブメディア読み込み、動画圧縮、Webフォント、Googleフォント。 ビルドの最適化 JavaScriptモジュール、モジュール/ノーモジュールのパターン、ツリーシェイ

                                                    フロントエンドパフォーマンスのチェックリスト2021年版(PDF、Apple Pages、MS Word)-後編 | POSTD
                                                  • フロントエンドパフォーマンスのチェックリスト2021年版(PDF、Apple Pages、MS Word)-中編 | POSTD

                                                    目次# 前編 準備段階:計画と指標 パフォーマンスを重視する文化、Core Web Vitals、パフォーマンスのプロファイル、CrUX、Lighthouse、FID、TTI、CLS、端末。 現実的な目標の設定 パフォーマンスバジェット、パフォーマンス目標、RAILフレームワーク、170KB/30KBバジェット。 環境の定義 フレームワークの選択、パフォーマンスコストの基準設定、Webpack、依存関係、CDN、フロントエンドアーキテクチャ、CSR、SSR、CSR + SSR、静的レンダリング、プリレンダリング、PRPLパターン。 中編 アセットの最適化 Brotli、AVIF、WebP、レスポンシブ画像、AV1、アダプティブメディア読み込み、動画圧縮、Webフォント、Googleフォント。 ビルドの最適化 JavaScriptモジュール、モジュール/ノーモジュールのパターン、ツリーシェイ

                                                      フロントエンドパフォーマンスのチェックリスト2021年版(PDF、Apple Pages、MS Word)-中編 | POSTD
                                                    • 変化するフロントエンドエンジニアの役割。「モダンフロントエンド」開発組織のつくりかた | POSTD

                                                      POSTD読者の皆さんはじめまして、本メディアでキュレーターを担当させていただいている古川陽介と申します。 株式会社ニジボックスでデベロップメント室室長を務める他、株式会社リクルートでプロダクト開発部署のマネージャーも兼務しています。 また、Japan Node.js Associationの代表理事として、Node.js の普及を目指す活動なども行っています。 私が普段の仕事や活動の中で強く感じているのは、フロントエンドエンジニアの役割が大きな変換点を迎えているということです。 端的に表現するとスマートフォンの登場をきっかけとしたデバイスの多様化によって、フロントエンドエンジニアの領域が拡大したと言うことになると思います。 パフォーマンスや開発の生産性を著しく上昇させる、ReactやVueを駆使したモダンフロントエンド開発と、それを実現するための組織構築は、今後のサービスやプロダクト開発

                                                        変化するフロントエンドエンジニアの役割。「モダンフロントエンド」開発組織のつくりかた | POSTD
                                                      • HTMLを最初に、JavaScriptを最後に:Webを高速化する秘訣 | POSTD

                                                        すべてのフレームワークはステートを保持する必要があります。フレームワークはテンプレートを実行することでステートを構築します。ほとんどのフレームワークは、このステートをリファレンスやクロージャとしてJavaScriptヒープに保持します。Qwikのユニークな点は、ステートが属性としてDOMに保持されることです(リファレンスもクロージャもシリアライズして送受信するのは不可能ですが、文字列であるDOM属性なら可能です。これがresumability(再開性)のカギとなります)。 DOMにステートを保持することには、以下のように多くのユニークなメリットがあります。 DOMはシリアライズの形式としてHTMLを使用します。ステートを文字列属性としてDOMに保持することで、アプリケーションをいつでもHTMLにシリアライズできます。HTMLを送信し、別のクライアントでDOMにデシリアライズすることが可能に

                                                          HTMLを最初に、JavaScriptを最後に:Webを高速化する秘訣 | POSTD
                                                        • Web開発者の悩みの種ランキング(2021年版) | POSTD

                                                          私は先日、開発者が何を最も大きな課題に挙げているかを知ることで、開発者コミュニティのニーズを理解できるという記事を書きました。 元々の投稿はMDN Developer Needs Assessment(2019年)の結果を要約したものでしたが、不運なことに、この調査は2020年に中止されました。この調査情報は、Webプラットフォーム全体の方向性を定めるのに役立つ点で、私たちのチームにとって重要だったため、調査の中止は残念なことです。 調査を実施していたMozillaの代わりとして、私はチームのために、開発者の大まかなニーズを把握する調査を企画しました。 3カ月ごとに、米国、英国、インドのWeb開発者やWeb開発における意思決定者約700人をランダムにサンプリングして実施し、過去に実施したすべての調査とデータを比較して、トレンドに変化があるかを見ていきます。 注意すべきなのは、MDN Sur

                                                            Web開発者の悩みの種ランキング(2021年版) | POSTD
                                                          • 2022年のCSS | POSTD

                                                            写真: Jr Korpa on Unsplash Intro:2021年はこれまでCSSにとって盛りだくさんな一年でした。 CSSワーキンググループはCSSの仕様にさまざまな変更を加え、既存機能を改良するとともに多くの新機能を追加しました。 一部のブラウザには、すでに実験的に実装されているものもあります。 ブラウザベンダーは、新機能のサポートだけでなく、開発者を悩ませるブラウザの互換性に関する5大問題(#compat2021)の解決にも注力しています。 2021年もそろそろ終わりに近づいているので、今回は2022年に実装されそうなCSS機能を紹介したいと思います。 (※訳注:翻訳元の記事は2021年12月27日公開) 目次 はじめに 注目の新機能(クロスブラウザ対応) コンテナクエリ カスケードレイヤー カラー関数 新しいビューポート単位 :has()擬似クラス overscroll-be

                                                              2022年のCSS | POSTD
                                                            • クロージャによる死(とQwikによる解決方法) | POSTD

                                                              世界中にQwikを紹介した前回の記事では、 多くの要素についてざっと触れるに留まり、詳細については後で説明するとお約束していました。 Qwikとその背景にある設計思想を知る前に、まず私たち(業界)が現在の場所までどのようにたどり着いたかを理解しておくことが重要です。 現代のフレームワークはある前提のもとに成り立っており、 それが優れたTime to Interactive(TTI)スコアの実現を妨げているのですが、 その前提とはどのようなものなのでしょうか。 現行世代のフレームワークの現時点における限界を理解することで、 Qwikの設計思想がなぜ最初は驚くべきものに思えるのか、より深く知ることができるでしょう。 TTIについて TTIは、URLに遷移してからページがインタラクティブになるまでの時間を測定したものです。 レスポンシブなサイトとしての体裁を整えるには、サーバーサイドレンダリング

                                                                クロージャによる死(とQwikによる解決方法) | POSTD
                                                              • ReactにおけるRef:DOMへのアクセスから命令的APIまで | POSTD

                                                                この記事では、ReactにおいてDOMへのアクセスが必要な理由と、その際にRefがどう役立つのかを見ていきます。また、useRef、forwardRef、useImperativeHandleという3つのフックについて説明し、これらを適切に使用する方法を紹介したいと思います。 この記事と同じ内容を扱ったYouTube動画も公開していますので、活字媒体よりも動画視聴を好まれる方はそちらをご覧ください。文字ではなく、アニメーションと音声で同じ概念を解説しています。 この記事は動画形式でも公開しています。 目次 useRefを使用してReactでDOMにアクセスする 親から子にRefをpropとして渡す forwardRefを使用して親から子にRefを渡す useImperativeHandleを使用した命令型API useImperativeHandleを使用しない命令型API Reactには

                                                                  ReactにおけるRef:DOMへのアクセスから命令的APIまで | POSTD
                                                                • フロントエンドパフォーマンスのチェックリスト2021年版(PDF、Apple Pages、MS Word)-前編 | POSTD

                                                                  クイックサマリー:2021年のWebパフォーマンスを高速化しましょう。 毎年恒例のフロントエンドパフォーマンスのチェックリスト(PDF、Apple Pages、MS Wordに対応)は、指標やツールからフロントエンドのテクニックに至るまで、現代のWebで高速なユーザ体験を生み出すために知る必要があるすべてを提供します。 このチェックリストは2016年から更新を続けてきました。 メールのニュースレターでも、フロントエンドに関する便利な情報をご確認いただけます。 このガイドは、LogRocketに勤務する筆者の友人の厚意によるサポートを受けています。 LogRocketは、フロントエンドパフォーマンスのモニタリング、セッションリプレイ、製品分析を組み合わせ、顧客体験の向上に貢献するサービスです。 また、DOM完了時間、サーバ初期応答時間(TTFB)、初回入力までの遅延時間(FID)、クライアン

                                                                    フロントエンドパフォーマンスのチェックリスト2021年版(PDF、Apple Pages、MS Word)-前編 | POSTD
                                                                  • 海外のテックブログ記事が日本語で読める!キュレーションメディア『POSTD(ポストディー)』再始動!

                                                                    株式会社ニジボックス(本社:東京都中央区 代表取締役社長 兼 CEO:入江翔平)は、海外のテクノロジー系記事を日本語で読むことができるエンジニア向けのキュレーションメディア『POSTD(ポストディー)』をリニューアルオープンいたしました。 ▼『POSTD』 https://postd.cc ▼『POSTD』Facebookページ https://www.facebook.com/postdcc ▼『POSTD』Twitterアカウント https://twitter.com/POSTDcc ―――――――――――――――――――― ■『POSTD』とは? ―――――――――――――――――――― 『POSTD』は2014年に株式会社リクルートからリリースされて以降、国内のエンジニア層にご愛読いただきました。2019年に更新を停止してからも引き続き参照され続ける人気キュレーションメディアです

                                                                      海外のテックブログ記事が日本語で読める!キュレーションメディア『POSTD(ポストディー)』再始動!
                                                                    • 既存のバンドラの手法は間違っている | POSTD

                                                                      最近のバンドラは、アプリケーションコードのどの部分をいつ遅延読み込みするかを開発者が決めなければなりません。 開発者は以下のように、コードベースにdynamic importを挿入することによって、遅延読み込みをする場所とタイミングを決定します。 async function doSomething() { const chunk = await import('./my-chunk'); console.log(chunk.someSymbol); } 開発者は以下を行う必要があります。 コードのどの部分が遅延読み込みに適しているかを判断します。 既存のアプリケーションワークフローとの互換性がある方法で遅延読み込みを実行します(遅延読み込みは本質的に非同期ですが、遅延読み込みを実行するための理想的な関数は同期型の可能性があるため、遅延読み込みコードを設置できる場所は限られます)。 ./m

                                                                        既存のバンドラの手法は間違っている | POSTD
                                                                      • Miško HeveryのQwik記事シリーズ | POSTD

                                                                        POSTDでは、DEV Communityで公開されているQwikシリーズ の翻訳記事を公開予定です。 翻訳記事の更新に合わせてこのページも更新されていきます。 シリーズ記事一覧 Qwikの紹介 – HTMLファーストのフレームワーク クロージャによる死(とQwikによる解決方法) HTMLを最初に、JavaScriptを最後に:Webを高速化する秘訣 Qwik:最適できめ細かい遅延読み込みを実現 モバイルサイトのGoogle PageSpeed Insightsスコアを100点にするには 既存のバンドラの手法は間違っている QwikとPartytownでJavaScriptを99%削減する方法 Qwikスターターの紹介 – 今すぐQwikを起動・実行してみよう

                                                                          Miško HeveryのQwik記事シリーズ | POSTD
                                                                        • UIのチラつきを撲滅する:useLayoutEffect、ペインティング、ブラウザについて | POSTD

                                                                          この記事では、DOMの測定結果に基づいて要素を変更する方法、useEffectの問題点とuseLayoutEffectによる解決法、ブラウザペインティングとは何か、SSRの役割について説明します。 この記事と同じ内容を扱ったYouTube動画も公開していますので、活字媒体よりも動画視聴を好まれる方はそちらをご覧ください。文字ではなく、アニメーションと音声で同じ概念を解説しています。 この記事は動画形式でも公開しています。 目次 useEffectの問題点とは? useLayoutEffectでチラつきを解決する 解決策が有効な理由:レンダリング、ペインティング、ブラウザ Next.jsやその他のSSRフレームワークでuseLayoutEffectを実行する ReactにおけるDOMアクセスについてもう少しお話ししましょう。"前回の記事 ReactにおけるRef:DOMへのアクセスから命令型

                                                                            UIのチラつきを撲滅する:useLayoutEffect、ペインティング、ブラウザについて | POSTD
                                                                          • fetchPriorityと、LCPの最適化 | POSTD

                                                                            fetchPriority APIは、リソースの相対的な優先度をブラウザに示すために使用します。fetchpriority属性を<img>、<link>、<script>、<iframe>の各要素に追加するか、Fetch API上でpriority属性を使用することで優先度を設定できます。 ブラウザのロードプロセスは複雑です。ブラウザは、主にリクエストの種類や、ドキュメントのマークアップ内におけるリクエストの位置によってその優先度を判断します。例えば、ドキュメントの<head>内で要求されたCSSファイルの優先度はHighestとなり、defer属性が設定された<script>要素の優先度はLowとなります。ブラウザは、同じ優先度が割り当てられたリソースを、検出した順にダウンロードします。 fetchpriority fetchpriority属性を使用することで、要求されたリソースの優先

                                                                              fetchPriorityと、LCPの最適化 | POSTD
                                                                            • 分析による思考の麻痺を脱し、自信を持って決断を下す方法 | POSTD

                                                                              「決断の時における最善の選択は、正しいことをすること。最悪の選択は、何もしないことだ。」セオドア・ルーズベルトの言葉です。 人生を左右する可能性のある重要な決断を下すとき、結果が不確実であることや、未知の領域に踏み込むことへの不安から、ひたすらデータを集めては分析を繰り返し、必要以上に考え過ぎてしまう非生産的な悪循環に陥ってしまうことがあります。 想像が膨らんでしまい、最悪のシナリオを想定してそれが最善だと思い込んでしまうこともあれば、頭の中にストーリーを描き、良い選択肢があるにもかかわらず、より良い選択肢があるのではと考えて全て却下してしまうこともあります。 こうした決断の例としては、引越し、退職と起業、転職、企業戦略の大転換などがあります。 恐怖心、完璧主義、怠惰、集中すべき目標の欠如など、理由はさまざまですが、分析ばかりに時間を費やして一向に行動を起こさないでいると、「analysi

                                                                                分析による思考の麻痺を脱し、自信を持って決断を下す方法 | POSTD
                                                                              • ChatGPTはプロのUI/UXデザイナーによるアプリ設計にどの程度役立つのか? | POSTD

                                                                                none«自動化できるものはすべて自動化されるだろう» - ロバート・キャノン、インターネット法・政策専門家 人工知能(AI)が今年のトレンドであることは紛れもない事実です。AI技術が台頭し、さまざまな業界で急速に普及する中、UI/UXデザイナーやプロダクトデザイナーも当然その影響を受けています。ChatGPTやMidjourney、DALL-E 2(ダリ・ツー)、Stable Diffusionなどの製品はすでにかなり人気があり、筆者の同僚の中にも積極的なユーザーが多数います。 UI/UXデザイナーとして、筆者もChatGPTを作業プロセスに取り入れたことにより、より使いやすいインターフェースの開発能力が格段に向上したことをすでに実感しています。この記事では、ChatGPTの具体的な使い方を示しつつ、ChatGPTを利用することでどのようなメリットを享受でき、いかにして全体的な作業効率を

                                                                                  ChatGPTはプロのUI/UXデザイナーによるアプリ設計にどの程度役立つのか? | POSTD
                                                                                • Qwik:最適できめ細かい遅延読み込みを実現 | POSTD

                                                                                  Qwikは、JavaScriptの読み込みと実行を可能な限り遅延させ、ユーザのアクションがあった場合のみ実施することで、読み込みを最も高速化することを目指しています。 この処理は初回の読み込み時だけでなく、アプリケーションが続く限り行われます。 言い換えると、Qwikはきめ細かい遅延読み込みを追求しているのです。 「きめ細かい」とは、ユーザのアクションを処理するのに直接必要なコードのみがダウンロードされるという意味です。 この記事では、きめ細かい遅延読み込みを実現するために解決すべき技術的課題について探っていきます。 リスナーをシリアライズ 最も明確に解決すべき課題は初回のページ読み込みです。 この点に関しては、「HTMLを最初に、JavaScriptを最後に」で対応策をすでに取り上げました。 ポイントは、イベントの名称とアクションをURLとしてシリアライズし、DOMの属性として保持するこ

                                                                                    Qwik:最適できめ細かい遅延読み込みを実現 | POSTD

                                                                                  新着記事