並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 81件

新着順 人気順

createelement script asyncの検索結果1 - 40 件 / 81件

  • SPA認証トークンはlocalStorageでもCookieでもない、Auth0方式はいいねというお話 - @mizumotokのブログ

    SPA認証トークンをどこに保存するかは論争が絶えません。localStorageやCookieがよく使われますが、Auth0は違う方法を採用しています。この記事では、Auth0のトークン管理の方式を理解でき、トークン管理上のセキュリティへの理解を深めることができます。 SPAの認証トークンをどこに保存するか ブラウザでトークンを保存できる場所 保存場所の比較 メリット・デメリット Auth0のアプローチ トークンはインメモリに保存 OpenID Connect準拠とトークン取得のUI/UXの悪化回避を両立 Auth0のjsライブラリ ログイン アクセストークンの(再)取得 図解 ログイン アクセストークンの(再)取得 自サービス内の認証だけのもっと簡易な構成 ログイン IDトークン取得 まとめ SPAの認証トークンをどこに保存するか React やVueで認証付きSPA(Single Pa

      SPA認証トークンはlocalStorageでもCookieでもない、Auth0方式はいいねというお話 - @mizumotokのブログ
    • Web3開発者をねらったハッキング手口の全て(わたしは全て抜かれました...)

      はじめに 本当に悔しいし許せないし、エンジニアとして不甲斐ないです。2025年2月26日深夜にハッキングにあいました。どのように相手と繋がり、どのような手口でハッカーに資産を抜かれたか、コードベースで全てお伝えします。今後同じ被害に遭う方が少しでも減ることがあればこんな嬉しいことはないです。 コード解説、さらに対策案も書いていきます。もし他に良い対策案などあればコメントでご教示ください。 ハッカーとのやりとりの流れ ハッカーとは Linkedin でブロックチェーンを使ったプロジェクトを手伝ってくれないかという連絡がりそこからやりとりが始まりました。そして移行の大まかな流れは下記のような感じです。 Linkedinでプロジェクトを手伝ってほしいと言う内容でDMがくる Githubリポを見て実装できそうか確認してほしいと言われる 自分のGithubアカウントを共有してプライベートリポジトリに

        Web3開発者をねらったハッキング手口の全て(わたしは全て抜かれました...)
      • 【大バズリ】NotebookLMスライドをパワポやGIF画像に即変換するCanvas。ん…Canvas!?【コード無料配布】|まじん

        【大バズリ】NotebookLMスライドをパワポやGIF画像に即変換するCanvas。ん…Canvas!?【コード無料配布】 いや……投稿から1日経ってないのに まじん式v4 のいいね/インプの半数超えてるんだが…。 しかもこれ、 Geminiと30分くらいお喋りしてたら完成しました。 今回は、このアプリのソースコードを無料公開したいと思います! また、どのようにGeminiと対話したのか? そのバイブコーディングのテクニックについては、 メンバーシップ限定エリアに記載しますね、さすがに。 【無料公開】自分のGeminiで再現しよう!Gemini(思考モード)でCanvasをオンにして、 以下のプロンプトを送信してみてください。無料GeminiでもOK。 以下のコードをCanvasにそのままプレビューしてください。 --- [ソースコード] ソースコード(Xで公開したこちら)import

          【大バズリ】NotebookLMスライドをパワポやGIF画像に即変換するCanvas。ん…Canvas!?【コード無料配布】|まじん
        • インクリメンタルに新しい技術を取り入れる方法。TypeScriptへの移行を例にしたプロセス

          📝 require(moduleName) は同期処理なのに対して、import(moduleName)は非同期処理となります。 📝 tsconfig.jsonでesModuleInteropがtrueでないとdeafult importの意味合いは異なります。 この表はCommonJS ModulesとECMAScript Modulesで機能的に1対1で応するという意味ではありませんが、 大まかにはこの対応表にそってECMAScript Modulesの構文へと変換ができます。 エディターを使い手動で変換したり、次のようなツールを使ってある程度機械的な変換も可能です。 cjstoesm commonjs-to-es-module-codemod このモジュールの変換で重要なことは、できるだけCommonJS ModulesとECMAScript Modulesを混ぜないことです。

            インクリメンタルに新しい技術を取り入れる方法。TypeScriptへの移行を例にしたプロセス
          • AI エージェントがインタラクティブな UI を返すことを可能にする MCP UI

            TypeScript SDK を使用して MCP UI を実装する MCP UI では TypeScript と Ruby の SDK が提供されています。ここでは TypeScript SDK を使用します。サーバー向けの SDK とブラウザ向けの SDK がそれぞれ提供されています。 @mcp-ui/server - npm: MCP の Resource を実装するためのヘルパー関数を提供する @mcp-ui/client - npm: インタラクティブな UI コンポーネントを提供する. React コンポーネントと Web コンポーネントの両方が提供される。 まずはサーバー側の実装から始めましょう。MCP サーバーの実装として Cloudflare が提供する agents パッケージを使用します。agents パッケージは Streamable HTTP を使用したリモート M

              AI エージェントがインタラクティブな UI を返すことを可能にする MCP UI
            • 【忙しい人のための】Next.js公式チュートリアルを完走してきたので記事1本で振り返る【ギュッと凝縮】 | DevelopersIO

              本記事はNext.jsのチュートリアルが大きく変わったためリンク切れを起こしています。 技術メモのため記事としては残しますが、リンク切れにご留意ください。 また機会があれば新チュートリアルで記事を書こうと思いますm(_ _)m こんちには。 データアナリティクス事業本部 インテグレーション部 機械学習チームの中村です。 今回は以下のNext.jsのチュートリアルをほぼ一通り(SEOのところ以外)実施しましたので、ポイントを記事化しました。 https://nextjs.org/learn/foundations/about-nextjs" チュートリアル自体は、以下のような内容が分かるものとなっています。 CRA(create-react-app)のみ使用しているとイメージしづらい、素のHTML + JavaScriptとReactの関係のイメージが分かる Reactがフレームワークではな

                【忙しい人のための】Next.js公式チュートリアルを完走してきたので記事1本で振り返る【ギュッと凝縮】 | DevelopersIO
              • 無料プロキシツール「mitmproxy」を使ってみよう - セットアップ方法とセキュリティエンジニアおすすめの設定 - GMO Flatt Security Blog

                ※本記事は筆者styprが英語で執筆した記事を株式会社Flatt Security社内で日本語に翻訳したものになります。 はじめに こんにちは、Flatt Securityのstypr(@stereotype32)です。今回はセキュリティ診断などで使われるローカルプロキシツールについて紹介します。 ちなみに、開発者の皆さんが脆弱性の検証を行うにはこれらのツールだけでなくセキュリティ知識が必要ですが、そのためにはFlatt Securityが提供する「KENRO」がおすすめです。Web アプリケーションの代表的な脆弱性10個に関して、脆弱なソースコードを修正するなどのハンズオンを通して学ぶことができます。 ぜひバナーより無料・無期限のトライアルをご利用ください。 さて、セキュリティエンジニアの多くは、WebやモバイルアプリケーションのHTTP/HTTPSトラフィックを確認するするためにBur

                  無料プロキシツール「mitmproxy」を使ってみよう - セットアップ方法とセキュリティエンジニアおすすめの設定 - GMO Flatt Security Blog
                • puppeteer をローカルプロキシとしてリクエストを監視&モックする

                  パフォーマンスチューニングで、ソースコードに触らず非破壊でネットワークリクエストを書き換えて、LCPがどれだけ改善するかの実験ツールが欲しかったんですが、この目的で良いプロキシツールがないです。 世のローカルプロキシツールは DNS の設定を要求してきます。これは潜在的に意図しない状況を引き起こすので、使いたくありませんでした。 tl;dr puppeteer の page.setRequestInterception(true) でリクエストを覗いて、書き換えた ブラウザからリクエスト内容を奪う方法 テスト用HTML <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> </head> <body> <script type="module"> const x = await fetch('https://jsonp

                    puppeteer をローカルプロキシとしてリクエストを監視&モックする
                  • NFT, Web3完全に理解した になるためのチュートリアル|DJ RIO

                    こんにちは、「なりたい自分で、生きていく」ためのメタバース、 REALITYを運営しているDJ RIOです。 ここ数年、メタバースといえばKawaiiアバターになってキャッキャウフフするものだと信じてたのですが、どうもさいきんメタバースと言うと「NFT」とか「Web3」とか耳慣れない単語が飛び交うようになってきました。 みなさんはこれらを理解していますか? ぼくは何もわかりません>< わからん、、なんも、、、なので今回は、暗号資産・NFT・Web3、その基盤となるブロックチェーンそのものを自分で作ったり独自コインを開発したりすることで、NFTやWeb3を完全に理解してしまおうと思います。 今回やること自分専用のEthererumネットワークを構築し運用する 自分でコインを発行し、送金する 自分専用のNFTを開発・発行する 発行したNFTを表示させてみる これらを実践することで、NFTやWe

                      NFT, Web3完全に理解した になるためのチュートリアル|DJ RIO
                    • 画面キャプチャを仮想カメラとして扱えるようにするChrome拡張を作ってみる

                      この記事について 先日、@catnoseさんがカメラ映像の代わりに絵文字(Emoji)を配信するためのサービスを公開されました。凄く完成度が高くて良いサービスだと思ったので、さっそく使ってみたのですが、仮想カメラとして使用するためには OBS Studio が必要でした。[1] サービスを使うには全然申し分無いのですが、「 もっと簡単にできたらなぁ~ 」と思ってしまうのが私の悪い所で、すぐさまブラウザのみでどうにかできないかと調べてみると、色々な制約はありますが、Chrome 拡張を使うことで OBS Studio を使わずとも仮想カメラを使用できることが分かりました。 実装も簡単にできるので、 今回は Google Meet で、画面キャプチャを仮想カメラとして表示する Chrome 拡張を作って行こうと思います 💪 今回作るモノについて 今回この記事で作る Chrome 拡張は、上記

                        画面キャプチャを仮想カメラとして扱えるようにするChrome拡張を作ってみる
                      • SCRIPT 要素の変遷から触れる Web の進化 - Repro Tech Blog

                        はじめに こんにちは。Repro で Booster の開発をしている杉浦と申します。 最近は JavaScript の盛り上がりが凄いですね。今ではブラウザ内にとどまらず、サーバサイドでも活用される様になりました。 これには、言語仕様が整理されたり機能が強化されたり、非常に大きな発展があったという点が大きいです。 実は、言語としての JavaScript だけではなく、最近 HTML との境界インタフェースとしての JavaScript の仕様も最近かなり明確化されてきています。 自分も HTML5 の最初のあたりまでは把握していたのですが、Booster の開発に携わる中で久しぶりに確認したところ、随分と仕様が進化し複雑になっていました。 今回はそんな HTML 規格の変化部分の紹介と、過去からの HTML と JavaScript の流れを振り返る簡単なまとめです。 HTML 仕様と

                          SCRIPT 要素の変遷から触れる Web の進化 - Repro Tech Blog
                        • Vite/VueでChrome拡張機能を作ってみる | 4. 環境構築/開発編 - くらげになりたい。

                          前回の続き。Vite/CRXJS/Vueで作るときの備忘録(*´ω`*) www.memory-lovers.blog 使ったサンプルはこちらで公開中(*´ω`*) github.com 環境構築 プロジェクトの作成 # viteでプロジェクトを作成 $ pnpm create vite chrome-extension-sample --template vue-ts $ cd chrome-extension-sample # .npmrcを設定 $ echo "auto-install-peers=true" > .npmrc # @crxjs/vite-pluginの追加。vite3はbeta版 $ pnpm add @crxjs/vite-plugin@beta -D manifest.jsonの設定 manifest.jsonが必要だけど、CRXJSでは.tsにも対応してる。

                            Vite/VueでChrome拡張機能を作ってみる | 4. 環境構築/開発編 - くらげになりたい。
                          • TypeScript/Rollup/Vercelでサクッとブックマークレットを作ってみよう - Adwaysエンジニアブログ

                            こんにちは。エンジニアブログ運営の梅津です。 普段はエージェンシー事業部でリードアプリケーションエンジニアとして働いています。 エンジニアブログ運営としてブログの質を向上させるために、これまでのブログの情報を集めたりもするのですが、これを逐一手作業で行うのは大変です。 ある程度の作業は自動化したい。そういったときはブックマークレットを作ると便利ですよね。 今回はそんなブックマークレットの作り方をまとめてみました。 「ブックマークレット?よく知らないな」「聞いたことあるけど作り方とか気にしたことなかった」という人がいれば是非一緒に試してみてください! 筆者の開発環境やこのブログで利用する主な技術のバージョンは次のとおりです。 macOS Node.js 18.12.1 TypeScript 5.0.4 Rollup 3.23.0 Vercel CLI 29.4.0 ブックマークレットとは T

                              TypeScript/Rollup/Vercelでサクッとブックマークレットを作ってみよう - Adwaysエンジニアブログ
                            • How modern browsers work

                              Note: For those eager to dive deep into how browsers work, an excellent resource is Browser Engineering by Pavel Panchekha and Chris Harrelson (available at browser.engineering). Please do check it out. This article is an overview of how browsers work. Web developers often treat the browser as a black box that magically transforms HTML, CSS, and JavaScript into interactive web applications. In tru

                                How modern browsers work
                              • 悪名高きスクロール妨害広告を解析する - Qiita

                                <!-- Generated by まとめくす (https://2mtmex.com/) --> <div class="article_mid_v2"> <div id="article_mid_v2"> <script type="text/javascript"> (function(){ var ua = window.navigator.userAgent; var android_reg = /android/i; var android_rand = Math.floor(Math.random() * (100)) + 1; var ios_rand = Math.floor(Math.random() * (115)) + 1; if (ua.match(android_reg)) { if (100 >= android_rand) { var elements =

                                  悪名高きスクロール妨害広告を解析する - Qiita
                                • HTML&CSSとピュアなJavaScriptだけでパズルゲームを作る方法

                                  概要 □ スライドパズルのゲームを作る □ 基本に立ち返りHTMLとCSSとピュアなJavaScriptだけで作成する ・パズルの実装はシンプルで簡単。 ・考え方さえ理解すれば早いため、実装の前にイメージで説明する。 □ パズルを試したい人は https://jd253t.csb.app (codesandboxのpreview)から試せる ※下の埋め込み表示ではJavascriptが想定通り動作しないので上記のURLから試してください ※パズルはPCからの操作のみ対応 ※codesandboxのpreviewが安定しないことがあります。もし表示が崩れていたらソースコードを貼っているのでローカルで試してください イメージ.パズルを作る方法 □ 1.canvas要素(390×390で)を作成する □ 2.写真を390×390でcanvas内に描画する □ 3.スライドパズル画像を作る定義を作

                                    HTML&CSSとピュアなJavaScriptだけでパズルゲームを作る方法
                                  • Build and Publish 2023

                                    Previous slideNext slideToggle fullscreenOpen presenter view Build and Publish 2023 @mizchi | Plaid, Inc. jsconf.jp 2023 今日もツールチェインに消耗してますか? https://2022.stateofjs.com/en-US/libraries 今日のテーマ 今日話すこと 現代のビルドツールチェインの進化と目的 エコシステムに振り回されないようになろう! 今日話さないこと 個別のツール/ライブラリの使い方 フロントエンドの話? NO. 最近のサーバーサイドJSとバンドラは一体化している サイズ制限のある CDN Edge Worker も最適化が必要 About Me JSのビルドとは何か Transpile AltJS(TS,JSX)や CSS Modules の変換

                                    • クリーンなJavaScriptのESモジュールで地図ライブラリを再構築するプロジェクト「mapthree-es」

                                      オープンな地図アプリづくり。オープンストリートマップと地理院地図から国連ベクトルタイル(UNVT)への変換環境が整ったので、ちょっと寄り道して、地図ライブラリを自作してみることにしました。 3DライブラリThree.jsはうれしいことに、ESモジュール対応が進んでいたので、ベクトルタイルを読み込み、WebGLで表示させてぐるぐる回すサンプル完成! 「mapthree-es demo1」(src on GitHub) JavaScriptが主に書かれた82行のHTMLが1ファイルのみ。ローカルで開いても動きます。apikeyも何か別にインストール必要も一切ない、クリーンなJavaScriptです。(vector-tile、point-geometryをforkしてESモジュール化して使用しています) zxyのディレクトリ毎に分割された地図、あとは大きさとオフセットが設定して、拡大率毎に順次読

                                        クリーンなJavaScriptのESモジュールで地図ライブラリを再構築するプロジェクト「mapthree-es」
                                      • vite と single-spa で作るマイクロフロントエンド基盤

                                        超巨大フロントエンドを分割する基盤を作ろうとしたものの紹介します。 この記事の前提 巨大フロントエンドを分割統治したい SSR は考えない モダンブラウザのみ対応する(IE11 非対応) この記事では single-spa とマイクロフロントエンドの紹介はしません。こちらの記事を読んでください。 マイクロフロントエンド入門 single-spa でマイクロフロントエンドを検証する - mizdev single-spa はアプリケーションのライフサイクルに簡単な規約を導入するもので、おそらく一番使われてるものです。これを基本的に vite と組み合わせて各アプリケーションを構成しますが、 webpack でも同様のことは可能です。 動いてるもの デモ ここで実現したこと 共通ヘッダ 異なる環境でビルドされたコンテンツをルーティングごとに切り替える react-router のアプリと vu

                                          vite と single-spa で作るマイクロフロントエンド基盤
                                        • WebKit Features in Safari 17.0

                                          Sep 18, 2023 by Jen Simmons and the Safari / WebKit Team Today’s the day for Safari 17.0. It’s now available for iOS 17 and iPadOS 17. [Update September 26th] And now, Safari 17.0 is available for macOS Ventura, and macOS Monterey, and macOS Sonoma. Safari 17.0 is also available in the vision OS Simulator, where you can test your website by downloading the latest beta of Xcode 15, which supports t

                                            WebKit Features in Safari 17.0
                                          • partytown の Worker からの同期的メインスレッド操作を実装してみる

                                            Partytown とは GitHub - BuilderIO/partytown: Relocate resource intensive third-party scripts off of the main thread and into a web worker. 🎉 今Partytownがヤバい。JavaScript Sandboxの未来はどっちだ? 要は 3rd party script を安全に隔離するため、 WebWorker + DOM の mock で動かす。 GitHub - ampproject/worker-dom: The same DOM API and Frameworks you know, but in a Web Worker. この DOM がすごい2018: worker-dom - mizchi's blog worker-dom との一番の違

                                              partytown の Worker からの同期的メインスレッド操作を実装してみる
                                            • Chrome Extension で作るクラウドいらずのMLモデル提供 - CADDi Tech Blog

                                              TL;DR Chrome Extension経由で独自に学習したMLモデルを社内配布できるようにしました モデルはユーザのブラウザ上で実行するので余計な通信も発生せずクラウド代も不要です 背景 こんにちは。CADDi AI Lab MLOpsチームの中村遵介です。普段は機械学習エンジニアチームの作るモデルをVertex Endpointsを使用してAPIとして提供したり、パイプラインに組み込んで推論結果をデータ提供したりするお仕事をしています。モデルは様々な種類がありますが、一番多いのは図面画像から特定の値を推論したり、何らかのクラスに分類するようなモデルです。 そのような中で「API提供するとサーバ代かかるし、ユーザにAPI使ってもらうのもちょっと手間があるしなぁ」と考えることがあり、ふと「Chrome extensionでMLモデルを提供しちゃえば、ユーザはextensionを入れるだ

                                                Chrome Extension で作るクラウドいらずのMLモデル提供 - CADDi Tech Blog
                                              • ScrapboxでMermaidを使う - cockscomblog?

                                                筆者の勤務先ではScrapboxというWiki的なツールが導入されていて、何でもそこに書いている。 そして筆者は以前からPlantUMLなどで作図するのが気に入っているが、最近は同様の目的を持ったMermaidがよく使われている様子がある。2021年12月にはNotionが、そして2022年2月にGitHubがそれぞれMermaidの機能を発表している。 🎁 Create CHARTS & DIAGRAMS with Mermaid, right inside a code block! pic.twitter.com/uFobTpFvmI— Notion (@NotionHQ) 2021年12月28日 You can now embed diagrams directly into your Markdown files, Issues and PR comments using Me

                                                  ScrapboxでMermaidを使う - cockscomblog?
                                                • How MDN’s autocomplete search works – Mozilla Hacks - the Web developer blog

                                                  Last month, Gregor Weber and I added an autocomplete search to MDN Web Docs, that allows you to quickly jump straight to the document you’re looking for by typing parts of the document title. This is the story about how that’s implemented. If you stick around to the end, I’ll share an “easter egg” feature that, once you’ve learned it, will make you look really cool at dinner parties. Or, perhaps y

                                                    How MDN’s autocomplete search works – Mozilla Hacks - the Web developer blog
                                                  • ChatGPT/Bing Chat Enterprise で AWS CDK v2 のコードを作成する - Taste of Tech Topics

                                                    先週1週間、リフレッシュ休暇(当社の年次休暇)を頂き、宮古島旅行に行ってきました。 天気にも恵まれ、海もとてもキレイだったので、テンションが上がりっぱなしだった菅野です。 最近、AWSのリソースを作成する際に、CDKを利用することが増えてきました。 AWSのリソース定義としては、CloudFormationがありますが、CDKは、以下のようなメリットがあります。 TypeScriptやPython等、慣れたプログラミング言語でAWSのリソースを定義できる。 CloudFormationと比べると、大幅に記述量が減り、分かりやすくなる。 今回はAWS CDKに不慣れな私が生成AIを利用してどこまで簡単に作成できるか試してみます。 最初に、ChatGPTを利用して、CDKのコード出力を行おうとしたのですが、CDKの最新バージョン(v2)は2021年12月にリリースされており、2021年9月まで

                                                      ChatGPT/Bing Chat Enterprise で AWS CDK v2 のコードを作成する - Taste of Tech Topics
                                                    • AltCulture Japan

                                                      <BODY> このページを見るのにはフレームの表示ができるブラウザが必要です。 <script><!-- var fc2footerparam = 'ver=1' + '&url=' + encodeURIComponent(document.location) + '&service=0' + '&r=' + Math.floor(Math.random() * 99999999999); var fc2footertag = "//vip.chps-api.fc2.com/apis/footer/?" + fc2footerparam; var script = document.createElement('script'); script.src = fc2footertag; script.charset = "UTF-8"; script.async = true; docum

                                                      • Data Fetching Patterns in Single-Page Applications

                                                        When a single-page application needs to fetch data from a remote source, it needs to do so while remaining responsive and providing feedback to the user during an often slow query. Five patterns help with this. Asynchronous State Handler wraps these queries with meta-queries for the state of the query. Parallel Data Fetching minimizes wait time. Fallback Markup specifies fallback displays in marku

                                                          Data Fetching Patterns in Single-Page Applications
                                                        • 位置情報 AR にスマホのブラウザだけでチャレンジ - 虎の穴ラボ技術ブログ

                                                          虎の穴ラボおっくんです。暑い夏、いかがお過ごしでしょうか? この記事は、虎の穴ラボ 夏のアドベントカレンダーの14日目の記事です。 今回のアドベントカレンダーも引き続き「見た目でわかるビジュアルネタ5連発」の第4弾となります。 13日目は、A.M.さんによる「【Go言語】アスキーアートでダンジョンから脱出するゲームを作ってみた」が投稿されました。 15日目は、Mさんによるビジュアルネタ「🔴サーバーにエラーが起きた時にVSCodeを真っ赤にしよう🔴」が公開されますこちらも御覧ください。 発端 去る 2022 年 5 月 11 日 Google I/O で、Geospatial API という位置情報を使用した AR に利用する API が公開されました。 しかしながら ARcore 向けの API なので Chrome で扱えるものではないわけです。 悔しい実に悔しいので、ブラウザででき

                                                            位置情報 AR にスマホのブラウザだけでチャレンジ - 虎の穴ラボ技術ブログ
                                                          • セカンドパーティコンテンツをもつサードパーティスクリプトの作り方

                                                            KARTE Blocks(以下Blocks)では、Blocksを利用するサイトに1行の<script>タグを埋め込むことでサイト書き換えや効果計測をします。 Blocksでは、この<script>タグで埋め込むスクリプトファイルをbuilder.jsと呼んでいます。 この記事では、Blocksが扱うbuilder.jsというサードパーティスクリプトの仕組みについて紹介します。 builder.jsというセカンドパーティコンテンツをもつサードパーティスクリプトについて知る builder.jsでは安全にサードパーティスクリプトを開発して、配布、読み込みしているのかを知る サードパーティスクリプトの開発、テスト、デバッグ方法について知る この記事は「KARTE Blocksリリースの裏側」の3日目の記事です。全10回の予定です。 これから毎日記事を更新していくため、更新をチェックしたい方は@K

                                                              セカンドパーティコンテンツをもつサードパーティスクリプトの作り方
                                                            • Persistent npm Campaign Shipping Trojanized jQuery | Phylum

                                                              Since May 26, 2024, Phylum has been monitoring a persistent supply chain attacker involving a trojanized version of jQuery. We initially discovered the malicious variant on npm, where we saw the compromised version published in dozens of packages over a month. After investigating, we found instances of the trojanized jQuery on other platforms, such as GitHub, and even as a CDN-hosted resource on j

                                                                Persistent npm Campaign Shipping Trojanized jQuery | Phylum
                                                              • Why Not document.write()? – CSS Wizardry

                                                                10 January, 2023 (last updated on 1 June, 2025) Why Not document.write()? Written by Harry Roberts on CSS Wizardry. Table of Contents Independent writing is brought to you via my wonderful Supporters. What Makes Scripts Slow? The Preload Scanner document.write() Hides Files From the Preload Scanner What About Async Snippets? document.write() Executes Synchronously Is It All Bad? Early document.wri

                                                                  Why Not document.write()? – CSS Wizardry
                                                                • Cloudflare版GTMのZarazの挙動確認&自前プラグインを実装

                                                                  Zaraz はCloudflare 版の GTM 要約すると Google Tag Manager の Cloudflare 版。クライアントだけではなく、Cloudflare CDN を通る時の CDN Edge でも動く。 メジャーなサードパーティスクリプトはCloudflare謹製のものがあるが、基本的には GTM にあるものをそのまま移せるようなものではなく、専用に実装されないといけない。 詳しい使い方はこちら Zaraz の目的 なんでわざわざ普及したGTMではなくこんなものを?という疑問があると思う。とくに初見だとこれがなんなのか本当にわからないはず。自分もサードパーティスクリプトの開発者を経験したからこそ分かる部分と、まだわかってない部分がある。 とりあえず次のブログでZarazの買収意図が書いてある。 あなたがサードパーティのスクリプト開発者で、スクリプトを適切に保護してい

                                                                    Cloudflare版GTMのZarazの挙動確認&自前プラグインを実装
                                                                  • React Server Components and Remix

                                                                    One big question keeps coming up after the Remix v1 release: What about React Server Components? Great question! Like many of you, we've been experimenting with React Suspense since it was first announced in 2018. In fact, the early versions of Remix used it. Realizing it probably wouldn't be released by the time we were ready, we built the async parts of Remix into the framework and are very happ

                                                                      React Server Components and Remix
                                                                    • Next.js に GoogleAnalytics と GoogleTagManager を導入し計測する - ┗┐<(՞ਊ՞)>┌┛

                                                                      Next.js でアプリケーションを作った際に、アクセス解析などやりたく GoogleAnalytics を導入しました。GoogleAnalytics をそのまま使うのではなく GoogleTagManager を経由すると何かと便利なので、Next.js → GoogleTagManager → GoogleAnalytics という流れで計測を行えるようにしました。 現状、インターネットにはエンジニア目線で GoogleAnalytics や GoogleTagManager について書かれた記事が少なく、これを書くことで何かの助けになると感じましたので、ここに記録しておきます。 ところで GoogleTagManager は長いので以下 GTM とします。また GoogleAnalytics も長いので以下 GA とします。 GoogleTagManager を設定する アカウント

                                                                        Next.js に GoogleAnalytics と GoogleTagManager を導入し計測する - ┗┐<(՞ਊ՞)>┌┛
                                                                      • Honoでアイランドアーキテクチャを自前実装する

                                                                        こんにちは。kobakenです。 従来、静的なHTMLをインタラクティブなHTMLにハイドレーションする場合、Next.js, Fresh, HonoX なり、フレームワークにお任せすると思います。 それが正解だと思いつつ、今回、Honoでアイランドアーキテクチャをお試し実装してみた感想を書きます。 わざわざ自前実装をしてみたキッカケは、Honoで小さなアプリケーションを作っている時に、shadcn/uiを利用したくなったのですが、これを動作させるにはハイドレーションが必要になったからです。 この解決のために、フレームワークを上乗せするのは大袈裟に感じられて、自前実装しました。(自前実装は大袈裟ではないのか?というツッコミもありそうですが、気にしないでください😀) 加えて、ガチャガチャ実装を進めていると、ハイドレーション技術はチューニングのしがいがあることに気づき、一度自前実装しておけば

                                                                          Honoでアイランドアーキテクチャを自前実装する
                                                                        • 管理画面にWasm入れてみた | CyberAgent Developers Blog

                                                                          こんにちは、CyberFight DX 事業本部で web フロントエンドエンジニアをしている久保です。CyberFight DX 事業本部は複数のエンタメサービスを開発、運用するFANTECH本部に所属しています。今回は、管理画面を対象に WebAssembly ( Wasm ) を導入した事例をご紹介します。 FANTECH 本部では技術ブログでの発信を強化しており、最近では下記のような記事を投稿しています。ぜひご一読ください。 Cloud Run サイドカーで Fastly の Prometheus Metrics を収集して Grafana で可視化する reminder-lintでFeature Flagsの削除漏れを防ぐ マルチリージョンで稼働する内製Feature Flagsの実装 私たちのプロダクト WRESTLE UNIVERSE では、ユーザー対象のキャンペーンを実施す

                                                                            管理画面にWasm入れてみた | CyberAgent Developers Blog
                                                                          • Next.js で GTM + GA4を利用する

                                                                            概要 Next.jsにGoogle Tag Manager(以降はGTMと記載します)、Google Analytics 4(以降はGA4記載します)を連携させる手順をまとめた記事です。 対象読者 以下の条件を満たす人を対象読者とします。 Next.js(TypeScript)で開発をしている GA4でアクセス解析をやりたい 前提条件 Next.jsで運用済のアプリケーションが存在する GA4のプロパティを作成してある 具体的な手順 ここからは具体的な手順になります。 私が友人と開発している、猫のLGTM画像を共有できるサービス「LGTMeow」に設定した例を元に解説します。 GTMの設定 GTMのアカウントを作成 以下の情報を入力します。 アカウント名 コンテナ名 ターゲット プラットフォーム アカウント名はわかりやすい名前であれば問題ありません。 コンテナ名は対象サイトのドメイン名を入

                                                                              Next.js で GTM + GA4を利用する
                                                                            • 100行で作る2D空間ボイチャツール&入ったら誰も居ない悲しみの解決! - ABEJA Tech Blog

                                                                              こんにちは、メリークリスマス。株式会社ABEJAのラボチームで日々もがいてる藤本(@peisuke)です。本記事はABEJAアドベントカレンダー2022の25日目の記事です。 仕事では機械学習をやっていますが、機械学習で何かの問題を解いているだけでは中々インパクトがでないなぁ思います。機械学習だけではなく、何かしらのサービスと組み合わせることで価値が出ると思います。そんなこともあり、たまにはサービス開発するための技術も磨いております。今回は、2D空間でのボイチャツールを作ってみているので紹介していきます。 まず最小に作ってみた奴のスクショを貼ります。 作ったツールのキャプチャ Chrome Extension上にボイチャのログイン状況を可視化 はじめに コロナ禍に入ってからリモートワークが大分増えたのではないかと思います。リモートワーク最高ですね!でも、リモートワークしているだけだとちょっ

                                                                                100行で作る2D空間ボイチャツール&入ったら誰も居ない悲しみの解決! - ABEJA Tech Blog
                                                                              • You may not need a bundler for your NPM library

                                                                                I have seen a couple threads on twitter where people complain about the difficulty with publishing NPM libraries or ask what starter kit they should use (or, people recommended starter packs anyways) Example threads https://twitter.com/cramforce/status/1513903035197526017 https://twitter.com/oleg008/status/1510006191296061441 https://twitter.com/iansu/status/1524860613943382017 https://twitter.com

                                                                                • Vite だけではサポートできないブラウザのための @vitejs/plugin-legacy プラグイン紹介と注意点

                                                                                  こんにちは。UIT開発推進部 Platform開発チームの odan です。LINEログインのフロントエンドおよび LIFF の SDK の開発を担当しています。 背景 LINEログインにはいくつかのバージョンがあり、その中の v2.1 のフロントエンド実装に使用しているフレームワークを Vue2 から Vue3 へのアップグレードを行っています。 現在のプロジェクトは Vue CLI を使用してプロジェクトを構築しており、 Vue3 にアップグレードするにあたって Vite への移行も同時に行っています。 Vue CLI は Webpack をベースとしたビルドシステムです。Vite への移行は Webpack との差分を気をつける必要があります。 この記事ではその差分の中でも Vite が標準でサポートしないブラウザへの対応に焦点を絞って事例を紹介します。 Vite がデフォルトでサポ

                                                                                    Vite だけではサポートできないブラウザのための @vitejs/plugin-legacy プラグイン紹介と注意点