並び順

ブックマーク数

期間指定

  • から
  • まで

161 - 200 件 / 412件

新着順 人気順

localStorageの検索結果161 - 200 件 / 412件

  • How browsers work  |  Articles  |  web.dev

    How browsers work Stay organized with collections Save and categorize content based on your preferences. Preface This comprehensive primer on the internal operations of WebKit and Gecko is the result of much research done by Israeli developer Tali Garsiel. Over a few years, she reviewed all the published data about browser internals and spent a lot of time reading web browser source code. She wrot

    • React State Management Libraries and How to Choose

      The idea of state is one of the trickier things to nail down when you’re starting with React, and as your app grows, so do your state management needs. In this post I’ll give you the Grand Tour of state management options in React and help you decide which one to use in your project. What is State? Just so we’re on the same page, let’s talk about state for a second. Every interactive app involves

        React State Management Libraries and How to Choose
      • About the sqlite3 WASM/JS Subproject

        WebAssembly, a.k.a. WASM, is a standard defining a low-level programming language suitable (A) as a target for cross-compilation from many other languages and (B) for running via a virtual machine in a browser. Designed with scriptability via JavaScript in mind, it provides a way to compile C code (among others) to WASM and script it via JavaScript with relatively little friction despite the vast

        • Nuxtの管理画面をReactに移行する試行錯誤 - Techtouch Developers Blog

          この記事はテックタッチアドベントカレンダー16日目の記事です。 15日目は terunuma サンによる Chrome 拡張の Overview of Manifest V3 を翻訳しました でした。Greasemonkey 黄金期の牧歌的な時代を過ごしてきた身なので、ブラウザの拡張がどんどん肩身が狭くなっていくのは少し寂しかったりします。セキュリティ上仕方ないということなのかもしれませんが。 エンジニアの jigsaw です。今夏からパートタイムでテックタッチさんのお手伝いをしています。もうすぐ人生初のマイカーが納車されるので、今からどこへ行こうか考えながら床につく日々を送っています。 テックタッチでのガイド等を作成するウェブページ(いわゆる管理画面)は Nuxt で作られていました。ブラウザの拡張が Vue で書かれていたので当然のチョイスといえます。しかし、拡張が React ベース

            Nuxtの管理画面をReactに移行する試行錯誤 - Techtouch Developers Blog
          • React Adminの感想 - valid,invalid

            marmelab.com A frontend Framework for building data-driven applications running in the browser on top of REST/GraphQL APIs, using ES6, React and Material Design. Previously named admin-on-rest. Open sourced and maintained by marmelab. React Admin 管理画面を作るのに最適化された React アプリケーションフレームワーク France のMarmelab社によってメンテナンスされている OSS がコア Enterprise Edition もある OSS として公開していない便利な private modules が使えたり、開発サポートが受けられ

              React Adminの感想 - valid,invalid
            • Strategies for Telemetry Exfiltration (aka Beaconing In Practice)

              Nic Jansma (@nicj) is a software developer at Akamai building high-performance websites, apps and open-source tools. Table of Contents Introduction What are Beacons? Beaconing Stages Sending Data at Startup Gathering Data through the Page Load Incrementally Gathering Telemetry throughout a Page’s Lifetime Gathering Data up to the End of the Page “Whenever” How Many Beacons? A Single Beacon Multipl

                Strategies for Telemetry Exfiltration (aka Beaconing In Practice)
              • TypeScript+Jestでテストを書くときに型安全にモックする方法を教えてほしかった | みどりのさるのエンジニア

                この記事は タイムリープTypeScript 〜TypeScript始めたてのあの頃に知っておきたかったこと〜 5日目の記事です。 はじめに 自分がTypeScriptを書き始めた頃に苦労したのが、Jestでテストを書くときのモックの型をどう書けば良いか分からないことでした。 調べても型の指定方法が分からず、泣く泣く as any でコンパイラーを黙らせて、補完が効かなくなりモヤモヤしながらテストコードを書いていました。 TypeScriptで型を妥協してテストコードを書いていた時は次のような弊害もあったので、どう型安全にテストコードを書けば良いのか非常に知りたかったです。 補完が効かなくなるのでコーディングが面倒になる プロパティをタイポした事に気づかずに、テストが失敗しても失敗している原因に気付けず疲弊する もくじ モジュールモックの型指定 関数モックの型指定 スパイモックの型指定 モ

                  TypeScript+Jestでテストを書くときに型安全にモックする方法を教えてほしかった | みどりのさるのエンジニア
                • ATOM Cam 分解 - Qiita

                  概要 クラウンドファンディングで購入したATOM Camが届いたので早速分解する。プログラミングと直接関係あるところまで到達できないと思うが、中身をみてワクワクしよう! なお、ひととおり分解し終えてから仮組みした状態で写真を撮影している。納品直後は各部品がズレなどなく組み付いていたことだけ銘記しておく。 (2020/04/28: シリアルコンソール上で取得したブートログを追記。) 続編もあります。 分解手順 下面パネルを外す 写真の丸で囲ったネジを外して、矢印で示した部分にツメがあることを意識しながら下面パネルごと脚を外す。 背面パネルを外す 背面パネルが4箇所のツメ(下図の矢印の場所)で止まっているので、一つずつ丁寧に外す。写真には無いが、背面パネルにはコネクタが付いており、FFCでメインのアッセンブリとつながっているので、注意が必要。 カメラモジュールを外す カメラモジュールは下図の丸

                    ATOM Cam 分解 - Qiita
                  • GAS, Spreadsheet, QR-Codeで受付システムを作ってみた - Qiita

                    はじめに Qiita初投稿のWeb系をやっている学生です。 先日開催されたIngress(位置情報ゲーム)のMissionDayという有志で開催されるイベントでの受付システムを構築しました。 受付ではユーザ名を事前登録されたリストから探し出し、チェックをするという作業をSpreadsheetなどの検索機能を用いて手作業で行っていました。しかし、受付開始直後は多くの人が並んでいるのでとても時間がかかってしまいます。そこでユーザ名を記録したQR-Codeを参加者に印刷してきてもらい受付ではこれを読み取るだけで、完了するようなシステムを作ってみました。 以下のTweetに動作している動画が貼ってあります。 このサイトで発行できるQRコードを使って受付システムも作りました。 QR-Codeをウェブカメラで読み込み→Apps Scriptにget→Spreadsheetから名前を探し、あれば時間を記

                      GAS, Spreadsheet, QR-Codeで受付システムを作ってみた - Qiita
                    • React + Material-UIでダークモードを実装してみた | DevelopersIO

                      Material-UIでダークモードを設定 React Material-UIではThemeProviderにテーマオブジェクトを渡すことでフォントやテーマの色を変更することが出来ます。テーマオブジェクトはcreateMuiThemeで作成します。 テーマをダークモードに変更する場合は、テーマオブジェクトのpalette.typeプロパティでdarkを指定するだけです。 SampleTemplate.tsx import React from "react"; import { createMuiTheme, ThemeProvider } from "@material-ui/core/styles"; import * as colors from "@material-ui/core/colors"; import CssBaseline from "@material-ui/cor

                        React + Material-UIでダークモードを実装してみた | DevelopersIO
                      • Svelteで始める頑張らないフロントエンド生活 後編

                        この記事は「Svelteで始める頑張らないフロントエンド生活 前編」の続きです。読み進める前に、先にそちらをご覧ください。 前編のおさらい 「Svelteで始める頑張らないフロントエンド生活 前編」ではSvelteの基本的な使い方を学びました。 Svelteでは、変数のバインド、コンポーネントの作成、分岐表示処理などを簡単に実現することができました。Svelteは他のフレームワークほど強力な機能を持っているわけではありませんが、シンプルなアプリを作る際には心強い機能を提供してくれます。 今回作るもの ノートアプリ Svelteの基本的な使い方については習得したので、今回はノートアプリを作ってみましょう。以下のようなイメージです: シンプルですが、ウェブアプリを作る上で重要なことを制作過程で学べます。 Single Page Application(SPA) Single Page Appl

                          Svelteで始める頑張らないフロントエンド生活 後編
                        • Amazon Aurora のローカルストレージについて調べてみた - Link and Motivation Developers' Blog

                          こんにちは。リンクアンドモチベーション SRE グループの綿引と申します。 今回 Amazon Aurora の「ローカルストレージ」に関して調べる機会がありましたのでご紹介したいと思います。 背景 先日CloudWatchメトリクスを眺めていたのですが、RDSに「FreeLocalStorage」という項目があることに気づきました。 「Aurora のボリュームは自動拡張するのにストレージのメトリクスってあるんだ」と驚き、次に「このLocalStorageとは何だっけ?」ということが気になり、調べてみたということが背景になります。 Amazon Aurora とは まず簡単に Aurora についておさらいですが、フルマネージド型のリレーショナルデータベースサービスで以下のような特徴があります。 (参考:「Amazon Aurora の特徴」) ----------------- MyS

                            Amazon Aurora のローカルストレージについて調べてみた - Link and Motivation Developers' Blog
                          • Introducing SafeTest: A Novel Approach to Front End Testing

                            by Moshe Kolodny In this post, we’re excited to introduce SafeTest, a revolutionary library that offers a fresh perspective on End-To-End (E2E) tests for web-based User Interface (UI) applications. The Challenges of Traditional UI TestingTraditionally, UI tests have been conducted through either unit testing or integration testing (also referred to as End-To-End (E2E) testing). However, each of th

                              Introducing SafeTest: A Novel Approach to Front End Testing
                            • 2019-09-24のJS: Safari 13、Chrome 78 Beta(Native File System trial)、Storybook 5.2(CSF)

                              JSer.info #454 - iOS 13、macOS 10.14.5(Mojave)に搭載されるSafari 13のリリースノートが公開されています。 Safari 13 Release Notes | Apple Developer Documentation Web Authentication APIを使ったFIDO2のセキュリティキーに対応、__Secure-と__Host-のクッキーprefixのサポート、Pointer EventsやVisual Viewport APIのサポートなどが行われています。 iOS 13のSafariでWebDriverのサポート、ITP 2.3へのアップデート、WebSQLの削除なども含まれています。 WebDriver is Coming to Safari in iOS 13 | WebKit Intelligent Tracking

                                2019-09-24のJS: Safari 13、Chrome 78 Beta(Native File System trial)、Storybook 5.2(CSF)
                              • IndexedDBの基本を学ぶ - iimon TECH BLOG

                                はじめに こんにちは!株式会社iimonでフロントエンドエンジニアをしている「みよちゃん」です! 本記事は株式会社iimonアドベントカレンダー15日目です! 弊社では不動産仲介業者向けのサービスを開発しています。 私が所属しているチームでは、chromeの拡張機能を開発しており、IndexeDBを使用する機会が多くあります。 今回は普段使用するIndexedDBについて調べたことを以下にまとめていきたいと思います! IndexedDB 1. IndexedDBとは IndexedDBとはブラウザに実装されているデータベースの機能です。ブラウザ内で処理を完結させることができるので、通信が発生せずオフラインの状態でも使用することができます。データベースはRDB(Relational Database)ではなくキーバリューストアです。 2. ブラウザが持つほかのデータ管理機能との違い ブラウザ

                                • [AWS Black Belt Online Seminar] Amazon Cognito 資料及び QA 公開 | Amazon Web Services

                                  Amazon Web Services ブログ [AWS Black Belt Online Seminar] Amazon Cognito 資料及び QA 公開 先日 (2020/06/30) 開催しました AWS Black Belt Online Seminar「Amazon Cognito」の資料を公開しました。当日、参加者の皆様から頂いた QA の一部についても共有しております。 20200630 AWS Black Belt Online Seminar Amazon Cognito AWS クラウドサービス活用資料集(すべての過去資料が閲覧できます) Q. ユーザープール、Cognito ID プールはどこに保存されるのでしょうか?例えば貴社でご用意する Cognito 用インスタンスのローカル等に保存されるイメージでしょうか? A. お客様が指定された AWS リージョン内

                                    [AWS Black Belt Online Seminar] Amazon Cognito 資料及び QA 公開 | Amazon Web Services
                                  • Algebraic Effects for React Developers

                                    It’s in words that the magic is—Abracadabra, Open Sesame, and the rest—but the magic words in one story aren’t magical in the next. The real magic is to understand which words work, and when, and for what; the trick is to learn the trick. - John Barth, Chimera It’s been quite some time since Hooks were officially stabilized in React 16.8, and with them came a fundamentally different way of underst

                                      Algebraic Effects for React Developers
                                    • 2022-09-06のJS: Rollup v3の変更点、 Chrome 106 Beta、npmベストプラクティス

                                      JSer.info #608 - Rollup 3.0のプレリリース版が公開されています。 [v3.0 Release branch] by lukastaegert · Pull Request #4549 · rollup/rollup Rollup 3.0では、Node.js 12のサポート終了、ブラウザ向けのパッケージを@rollup/browserに分離、非推奨のメソッドの削除。 output.interopにcompatを追加、--bundleConfigAsCjsフラグの追加などが予定されています。 Chrome 106 Betaが公開されました。 Chromium Blog: Chrome 106 Beta: New CSS Features, WebCodecs and WebXR Improvements, and More Origin Trialsとしてiframe

                                        2022-09-06のJS: Rollup v3の変更点、 Chrome 106 Beta、npmベストプラクティス
                                      • 【JavaScript】WebStorageを試してみます - Little Strange Software

                                        どうも!LSSです!! 今回はJavaScriptでWebStorageというものを試してみます。 WebStorage使用例 WebStorageって? 今回のサンプルのコード まとめると、 活用例 WebStorage使用例 ↑とりあえず簡単な使用例として、カウンタにしてみました。 今、この記事を読んでいるあなたが、そのブラウザでこの記事をみた回数が表示されているはずです。(初回は1) WebStorageって? Webページを開いているブラウザごとに、その端末(PCとかスマホとか)にJavaScriptから文字データを書き込んだり(セーブする、という認識が分かりやすいかと思います)読みだしたりします。 同じような事をするものに「クッキー」が昔からありましたが、クッキーに比べて 扱いやすい 大きい容量が扱える(クッキーは4KBまで、WebStorageは5MBまで) クッキーはサーバと

                                          【JavaScript】WebStorageを試してみます - Little Strange Software
                                        • SPAでのバックエンド認証用トークンの管理方法に関する考察 - Qiita

                                          Single Page Application (SPA) から呼び出すバックエンドAPIの認証トークンの管理方法について、Web上の文献やライブラリの実装を調査して、自分の考えを整理した。 前提 本記事はSPAにおいてバックエンド認証に使うトークンの管理方法(典型的にはLocal Storageに保管してよいか?Cookieを使うべきか?など)についての考察となる。認証トークンの仕組み(ステートフル vs ステートレス)については言及していない。 ブラウザにはAndroidのKeyStoreのような仕組み(暗号化され、取得時に端末の認証が必要となるストレージ)がないという批判があるが、これも考慮から外している。(つまり、システム管理者やPCの共同利用者がCookie/Local Storageを参照して…というリスクについては考えていない。) 考察 まず、そもそもの原因となるXSS脆弱性

                                            SPAでのバックエンド認証用トークンの管理方法に関する考察 - Qiita
                                          • .NET 8 での Blazor を整理整頓して理解しよう

                                            はじめに Blazor が .NET Core 3.1 の頃に出てきて、Single Page Application を C# + HTML/CSS + ちょっとのJavaScript で作れる技術という立ち位置で .NET 5 頃までいました。 そこから Blazor Hybrid や .NET 8 で Blazor United という俗称で呼ばれる新しい Blazor の形が出てきました。 正直、のほほーんと外から Blazor を眺めているだけだと何が何だかわからない状態だと思うので、.NET 8 時点での Blazor の形を整理してみようと思います。今回は基本的に整理するだけで、実際にコードとしてどのように実装するのかといった所までは踏み込みません。個々の詳細についてはドキュメントなどを参照してください。 関連するドキュメントや私の記事などは、関係する説明の途中にリンクを貼っ

                                              .NET 8 での Blazor を整理整頓して理解しよう
                                            • 2024-02-27のJS: Firefox 123、Remix 2.7.0(Remix Vite is Stable)、2023年のNode.jsまとめ

                                              JSer.info #682 - Firefox 123がリリースされました。 Firefox 123.0, See All New Features, Updates and Fixes Firefox 123 for developers - Mozilla | MDN <template>要素がshadowrootmode属性をサポート、Date.parse()の互換性向上、103 Early Hintsのrel=preloadをサポートなどが含まれています。 また、実験的な機能としてWeb Codecs APIをサポートが追加されています。 Remix 2.7がリリースされました。 Remix Vite is Now Stable | Remix Remix 2.7ではSPAモードがStableに、baseオプションのサポート、Remix ViteがCloudflare Pages

                                                2024-02-27のJS: Firefox 123、Remix 2.7.0(Remix Vite is Stable)、2023年のNode.jsまとめ
                                              • SPAでのログイン認証とCSRF対策の実装(JWT使用) - Web備忘録

                                                SPA(Vue + RailsAPI)で何とかログイン認証機能 + CSRF対策を実装したので、ブログにメモしておきます。 実装の概要 使用した技術たち JWT(JsonWebToken) アクセストークン、リフレッシュトークンって? WebStorage JWTSession 遷移の概要(より正確な内容は要Gem参照) トークンストアの設定 バックエンド側の仕事 Signinコントローラー フロントエンド側の仕事 axiosのインスタンスの作成 main.jsでインスタンスの読み込み インスタンスの使用方法 ただ、ブラウザによって上手く動作しないものが… 3rd party cookiesとは? 余談 実装の概要 今回は、JWT + (WebStorage + Cookie)を使って実装しました。(後に用語説明します) WebStorageとJWTによるセッションの管理(ログイン状態の管

                                                  SPAでのログイン認証とCSRF対策の実装(JWT使用) - Web備忘録
                                                • Safari isn't protecting the web, it's killing it

                                                  There's been a lot of discussion recently about how "Safari is the new IE" (1, 2, 3, 4, 5). I don't want to rehash the basics of that, but I have seen some interesting rebuttals, most commonly: Safari is actually protecting the web, by resisting adding unnecessary and experimental features that create security/privacy/bloat problems. That is worth further discussion, because it's widespread, and w

                                                    Safari isn't protecting the web, it's killing it
                                                  • How I Built a Cross-Platform Desktop Application with Svelte, Redis, and Rust | CSS-Tricks

                                                    How I Built a Cross-Platform Desktop Application with Svelte, Redis, and Rust At Cloudflare, we have a great product called Workers KV which is a key-value storage layer that replicates globally. It can handle millions of keys, each of which is accessible from within a Worker script at exceptionally low latencies, no matter where in the world a request is received. Workers KV is amazing — and so i

                                                      How I Built a Cross-Platform Desktop Application with Svelte, Redis, and Rust | CSS-Tricks
                                                    • playwright(Node.js) で E2E テスト!

                                                      const { chromium, devices } = require('playwright'); (async () => { const browser = await chromium.launch(); const page = await browser.newPage({ ...devices['iPhone 11 Pro'] }); await page.goto('https://m.yahoo.co.jp'); await page.screenshot({path: './screenshot.png', fullPage: true}); await browser.close(); })() 各 API について 全て書くと多すぎるので、使えそうなものだけまとめてみます。 playwright playwright.chromium Chromium ブラウザ

                                                        playwright(Node.js) で E2E テスト!
                                                      • Amazon CognitoでSingle Sign Onを実現してみた - KAKEHASHI Tech Blog

                                                        KAKEHASHI の Musubi Insight チームでエンジニアをしている横田です。 KAKEHASHI では薬剤師さん向けに Musubi という業務システムや、BI ツールの Musubi Insight という Web アプリケーションなどを提供しています。 それらは toB のサービスなので 一般的な Web サービスとの ID フェデレーションなどを利用することが難しく、Amazon Cognito によって共通の認証情報でのログインを実現しているのですが、サービスごとに毎回認証情報を入力する必要があるという課題がありました。 一度認証情報を入力すれば複数のサービスでログインしたことになるシングルサインオン(Single Sign-On)の仕組みを試験導入したので、得られた知見について紹介したいと思います。 シングルサインオンとは シングルサインオンとは、一度ログインする

                                                          Amazon CognitoでSingle Sign Onを実現してみた - KAKEHASHI Tech Blog
                                                        • Reactのベストプラクティスとコード削減パターン - パート3

                                                          本記事は React best practices and patterns to reduce code - Part3 を提供元の事前許可を得たうえで翻訳したものです。 元の記事に従いタイトルに「ベストプラクティス」と含んでいますが、実際にはベストプラクティスは規模や状況によって大きく異なります。 チームの状況にあわせて参考にしていただければと思います。 ===== これは全3パート中の最後である第3パートとなる記事です。前2つの記事を読んでいなければ是非以下のリンクからお読みください。 パート1パート2パート3(この記事) それではいきましょう。 トークンはlocalStorageよりもCookieに保存するよくないコード: const token = localStorage.getItem("token"); if (token) { axios.defaults.headers

                                                            Reactのベストプラクティスとコード削減パターン - パート3
                                                          • 異なるドメイン間でlocalstorageを共有する方法 - Qiita

                                                            はじめに localStorageは基本的に同じドメイン内(厳密にはポート番号なども一致している必要がある)でしか有効ではありませんが、postMessage API(Web Messaging API)を使用することでクロスドメインでも共有することができます。 調べてみても古い記事が多かったり、サンプルのコードが無かったりだったので自分用の備忘録も兼ねてやり方をご紹介します。 構成 【ドメインA】 ・localstorageのデータを持つ側。 ・ドメインBからの要求に応じてlocalstorageの操作を行う。 【ドメインB】 ・ドメインAに保存されているlocalstorageの値の参照や更新を要求する側。 (実際の動作確認はA側をGithub Pages、B側をローカルサーバーに置いた状態で行いました。) ドメインA側 ドメインB側からのメッセージをトリガーにlocalstorage

                                                              異なるドメイン間でlocalstorageを共有する方法 - Qiita
                                                            • WebStorageのセキュリティに関する重要な考慮点と対策 - 開発者が知っておくべきこと - deve.K's Programming Primer - プログラミング初心者のための入門ブログ

                                                              初学者様向けのJavaScriptでWebストレージを使用する上でのセキュリティ(安全性)などの基本的な知識を解説致します。 プロジェクト構築の過程で、権限認証のトークン、ユーザー情報、埋め込みポイントの数、スキン情報、顧客が構成した言語タイプなどの情報をローカルに保存する必要がある状況に遭遇することがよくあります。 一時的に保存して、不要なリクエストやブラウザの冗長な操作を避け、お客様の利便性を高めます。 その際に、データベースの複雑さを増すことなく、HTMLで何かを成し遂げたい場合があります。 クライアントによってローカルにデータを保存する新しい方法を提供します。 それはWebストレージとなります またWebストレージは、LocalStorageとSessionStorageに分けられJavaScriptでアクセス可能です。 サーバーではなくブラウザにキーと値のペアで保存できます。 ※

                                                                WebStorageのセキュリティに関する重要な考慮点と対策 - 開発者が知っておくべきこと - deve.K's Programming Primer - プログラミング初心者のための入門ブログ
                                                              • 使い続けてもらえるアプリUX開発で気を付けた8つのユーザー心理【個人開発】 - Qiita

                                                                この記事は先日リリースした個人開発アプリ『3 Good Things!』を作る中でUI/UXについて考え、 講師もやっているWebデザイナーさんを含む周囲の意見を聞いてそれを改善していった過程についてをまとめた記事です この記事で紹介するユーザー心理はこちら👇 基本スクロールとタップしかしたくない 開いて即何をすれば良いか分からないとサヨナラ 少しでも「難しそう/面倒くさそう」と思わせたら負け 信用できないアプリに個人情報は渡せない 「徒労感」は絶対にNG 期待した通りの動作で動かないとストレス 「使ってて」嬉しい・キモチイイが欲しい 他者のとの繋がりで持続するモチベーション 最終イメージ 👇アプリの紹介/使用技術等についてはこちら⚛️ このアプリはポジティブ心理学の創設者セリグマン教授が提唱し、長年の実験で効果が実証されている “Three Good Things”メソッドを使い、毎

                                                                  使い続けてもらえるアプリUX開発で気を付けた8つのユーザー心理【個人開発】 - Qiita
                                                                • React.jsは難しいのか?Redux代替にEventEmitterを使用して難易度を下げる

                                                                  この記事は、プロジェクトにReactを使用しようと検討中の方で、「Reactって難しいのでは?」「Reactと一緒にくっついてくるReduxって不可欠なの?」などという懸念を持っている方に向けて記載しています。 私はReactを使用して2020年11月時点で9ヶ月ほど個人的なプロジェクトの開発をしている者です。現時点で上記の問に端的に答えるとするなら、Reactは難しくないし、Reduxは使いたくなければ不可欠ではないです。素のReactの仕様自体は、stateとprops、renderをうまく管理すれば極めてシンプルに作り込みができて、使い勝手はよい方です。多くの人がReactは難しいと感じるのは、Reactとセットで導入されるReduxというライブラリが元凶になっていると想像しています。 Reduxの使用で苦しめられた私が行き着いたのは、Reduxの代わりにEventEmitterを使

                                                                    React.jsは難しいのか?Redux代替にEventEmitterを使用して難易度を下げる
                                                                  • UnJS にどんなツールがあるのかすべて紹介してみた(後編)

                                                                    UnJS のライブラリ多すぎて結局何を使えば良いのかわからないという方は、とりあえずこの unkit を入れてみましょう。 31~40 31. 🛣️pathe ── あらゆる環境で統一的に使えるファイルパスモジュール resolve('../') のようなパス解決を行うモジュール。 node:path と同じようなことができますが、パスの区切りに使われる文字が、Windowsではスラッシュではなくバックスラッシュで書かれることがあり、どちらの書き方でも認識できるようになります。 第2引数でエイリアスを渡せる resolveAlias 関数なども提供されています。 ちなみに11/12時点で radix3 の Star数を抜いているので既に30位です。 32. 👂listhen ── HTTPリスナーを提供するパッケージ npx listhen -w ./index.ts のようなコマンド

                                                                      UnJS にどんなツールがあるのかすべて紹介してみた(後編)
                                                                    • Introducing State Partitioning – Mozilla Hacks - the Web developer blog

                                                                      State Partitioning is the technical term for a new privacy feature in Firefox called Total Cookie Protection, which will be available in ETP Strict Mode in Firefox 86. This article shows how State Partitioning works inside of Firefox and explains what developers of third-party integrations can do to stay compatible with the latest changes. Web sites utilize a variety of different APIs to store dat

                                                                        Introducing State Partitioning – Mozilla Hacks - the Web developer blog
                                                                      • Real World GraphQL on Next.js SSR - timakin.com | Seiji Takahashi (@__timakin__)

                                                                        tl;dr Next.jsはv9.3.0以降Initial Loadingの扱いが変わった クライアント側ではApolloを利用することができるが、Authorization Headerを設定するなら一工夫必要 SSR時にはfetchによるシンプルなAPIリクエストをすると良い 昨今のWebフロントエンド 昨今のWeb開発において、React、TypeScriptとかのベース知識は当然として、やはりNext.js(あるいはNuxt.js)のような、SPA/SSR両方のニーズを汲み取りながら、dynamic routingを提供してくれたり、ビルド環境を高速に整備してくれるフレームワークが重宝されるようになってきていると感じます。 また、Reduxもアリですが、スキーマ駆動開発が推進できるGraphQL、特に尋常じゃなくステート管理が用意になるHooksとApolloクライアントの組み合わ

                                                                          Real World GraphQL on Next.js SSR - timakin.com | Seiji Takahashi (@__timakin__)
                                                                        • Flutterアプリの主流な状態管理パターンと導入事例まとめ(2020年版) - TetsuFeの個人開発ブログ

                                                                          はじめに 状態管理パターンとは? Flutterの主流な状態管理パターン どれを選ぶべき? パターン1. StatefulWidget パターン2. InheritedWidget / InheritedModel もっと詳しく パターン3. ChangeNotifier/ValueNotifier + Provider 導入事例 もっと詳しく パターン4. BLoC + Provider BLoCのメリット、デメリット コード例 導入事例 flutter_blocとBLoC BLoCの課題 Stream=BLoCではない おまけ:BLoCの歴史 cubit もっと詳しく パターン5. state_notifier + freezed + Provider 例 もっと詳しく 新パターン. Riverpod + ? package:providerとの比較 もっと詳しく アーキテクチャパター

                                                                            Flutterアプリの主流な状態管理パターンと導入事例まとめ(2020年版) - TetsuFeの個人開発ブログ
                                                                          • はじめての WebAuthn  |  Google for Developers

                                                                            これらのオプションについて詳しく調べるには、 WebAuthnの公式仕様をご覧ください。 サーバーから返ってくるオプションの例を下記に示します。 { "rp": { "name": "WebAuthn Codelab", "id": "webauthn-codelab.glitch.me" }, "user": { "displayName": "User Name", "id": "...", "name": "test" }, "challenge": "...", "pubKeyCredParams": [ { "type": "public-key", "alg": -7 }, { "type": "public-key", "alg": -257 } ], "timeout": 1800000, "attestation": "none", "excludeCredentials

                                                                            • Vue.jsのSSRではcreatedが2回実行される!?

                                                                              Nuxt.jsなどのフレームワークを使えば、Vue.jsを用いたSSR(サーバーサイドレンダリング)のアプリケーションを簡単に作成することができます。ただし、どこまでがサーバーで実行され、どこからクライアントで実行されるのかを正しく理解しておかないと、期待通りのSSRにはなりません。タイトルでネタバレしていますが、今回はここを少しだけ掘り下げてみたいと思います。 Vue.jsのcreated、mounted、dataNuxt.jsの話の前に、そもそもVue.jsのライフサイクルフックとして用意されている created と mounted 、およびデータをリアクティブにする dataプロパティについて簡単に触れます。 created は、Vueインスタンスが作成された直後に呼ばれる関数で、Vueインスタンスの各種プロパティ、メソッドは利用できますが、レンダリングが完了していないため、エレメ

                                                                                Vue.jsのSSRではcreatedが2回実行される!?
                                                                              • Introducing Partytown 🎉: Run Third-Party Scripts From a Web Worker

                                                                                Introducing Partytown 🎉: Run Third-Party Scripts From a Web Worker A fun location for your third-party scripts to hang out Performance is always top of mind for any website or web app. It’s of no surprise that a page that loads instantly, has no scroll jank, and responds immediately to any interaction, will provide an all around better user-experience. Even with a fast and highly tuned site follo

                                                                                  Introducing Partytown 🎉: Run Third-Party Scripts From a Web Worker
                                                                                • SvelteKitの特徴をざっくり理解する - console.lealog();

                                                                                  GitHub - sveltejs/kit: A monorepo for SvelteKit and friends SvelteKitは、Svelteでハイパフォーマンスなアプリを作ることができるフレームワーク。 `v1.0`を目指しているところで、いま時点での進捗は37%というところらしい。 つまり、世界的に知見もたまってないし、めちゃめちゃ頻繁にアップデートされるし、この記事で書いた内容もすぐに陳腐化する可能性があるということ・・・。 という感じのものをここ数日ずっと触ってて、それでもまあ色々わかったこともあるので、その整理を兼ねてメモっておこうかと。 ドキュメントはこちら。 Docs • SvelteKit `/routes` Nextとかと一緒で、ファイルベースのルーティング `.svelte`を置くと、それがクライアントで表示できるページになる `.(js|ts)`を置くと、

                                                                                    SvelteKitの特徴をざっくり理解する - console.lealog();