タグ

JavaScriptに関するmag4nのブックマーク (433)

  • Three.jsとCurl Noiseで動かす3Dパーティクル表現 - ICS MEDIA

    3Dを用いたウェブサイトでは、パーティクルを使った表現をよく目にします。メインのビジュアルにパーティクルのアニメーションを重ねることで、サイトの視覚的な印象を強めることができます。 この記事では、パーティクル表現を用いたウェブサイトの事例を紹介しつつ、数ある表現手法の中でも3D空間を漂うパーティクル表現をThree.jsを使って実装します。なお、記事のデモにはThree.js r181とTypeScriptを使用しています。 事例紹介 サイト『Heidelberg Materials』では、パーティクルを使って3Dオブジェクトが描画されています。さらに周囲にも無数のパーティクルがゆっくりと漂っています。3Dオブジェクトにマウスを合わせるとパーティクルが一瞬散るエフェクトも見られます。 ▼ サイト『Heidelberg Materials』 サイト『Utsubo』では、走るチーターの周辺に

    Three.jsとCurl Noiseで動かす3Dパーティクル表現 - ICS MEDIA
  • 【2025年版】UIを一瞬でリッチに!モダンアニメーションライブラリ7選(React/Vue対応)

    🎩Magic UI Tailwindベースで作られたアニメーションUIライブラリ。 簡単に使えるプリセットアニメーションが豊富で、フロントエンドの開発効率を高めたい方におすすめです。 🌱React Spring Reactユーザーにはおなじみの物理ベースのアニメーションライブラリ。 スプリング(バネ)の挙動をベースにした自然な動きが特徴で、柔らかく滑らかな表現にぴったりです。 💙GSAP 最強アニメーションライブラリ。 タイムライン制御が強力で、複雑なアニメーションも思いのままです。ReactVueにも対応していて、信頼性もバツグン。 🌵Motion Framer Motionの開発チームによる新世代アニメーションライブラリ。 パフォーマンス重視&超軽量設計なのが魅力で、Web Animations APIベースで爆速です。 🌍Aceternity UI ユニークで映えるインタ

    【2025年版】UIを一瞬でリッチに!モダンアニメーションライブラリ7選(React/Vue対応)
  • p5.jsの表現力を活かしたクリエイティブなWebサイト事例集 - ICS MEDIA

    ウェブサイトにおけるダイナミックなクリエイティブ表現の裏側には、多くの場合JavaScriptライブラリの力があります。有名なものにThree.jsがありますが、HTML Canvasを利用したライブラリであるp5.jsの表現力も決して劣りません。記事では、まだあまり知られていないp5.jsを使ったウェブサイトを通して、p5.jsのウェブ制作への活用方法を紹介します。 p5.jsの表現力を活かしたウェブサイト/アプリケーション紹介 p5.jsは、ProcessingをベースにしたJavaScriptライブラリで、ビジュアル表現やインタラクションの実装を得意とします。描画はHTMLの<canvas>タグに出力されるため、既存のコンポーネントやフレームワークとも統合できます。 記事では、p5.jsの活用事例のうち、Awwwardsで評価されたものを紹介します。 ※Awwwardsとは、優れ

    p5.jsの表現力を活かしたクリエイティブなWebサイト事例集 - ICS MEDIA
  • 【海外ニュース】ES2025対応の詳しすぎるJavaScript解説書が無料公開され全プログラマ大歓喜

    6月14日、Axel Rauschmayer氏は新刊書籍「Exploring JavaScript (ES2025 Edition)」を公開した。 書は、モダン JavaScript の習得を容易にし、初学者から上級者までを対象に ES2025 までの全機能を体系的に解説するものである。以下、その内容を紹介する。 書籍の概要 「Exploring JavaScript」は、従来版「JavaScript for impatient programmers(せっかちなプログラマのためのJavaScript)」を大幅に拡充した最新版だ。モダンな機能に焦点を当てることで、読者が古い文法に煩わされずに学習を開始できる構成となっている。 ハイライト モダン機能を中心に据え、素早く学び始められる 必要に応じて深掘りできる発展的セクションを用意 テスト駆動型演習・フラッシュカードなどの補助教材を同梱 E

    【海外ニュース】ES2025対応の詳しすぎるJavaScript解説書が無料公開され全プログラマ大歓喜
    mag4n
    mag4n 2025/06/16
    んー
  • Webページの見た目の差分を比較・抽出するツールを作った

    Webページの開発環境と番環境の見た目を比較するツールを作りました。 GitHubのリポジトリはこちら はじめに なぜこのツールを作ったか 数百ページに及ぶリファクタリングを行った際に、各ページのレイアウトに影響が出ていないか目視で検証するのが大変だったことから、このツールを作りました。 当時は、開発環境と番環境のWebページをブラウザで並べて表示し、タブを切り替えて差異がないか目視で確認していました。コンテンツ量が多く何度もスクロールしながら確認しなければならないページでは見落としが起きないように集中力を保つ必要があり、100ページ以上の確認には3時間近くもかかっている状況でした。 全ページの確認が完了するまでに時間がかかりすぎることや、見落としのリスクもある方法を改善したいとツールを探したのですが希望に合うものが見つからず、自作することにしました。 レイアウトを比較して差がある場合

    Webページの見た目の差分を比較・抽出するツールを作った
  • JavaScriptを書かない2025年のモーダルの実装方法 – TAKLOG

    2025年のモーダルの実装方法のメモ書き。 <dialog> 要素の利用を前提とします。 Web アプリケーションで UI ライブラリを利用する場合は話が変わってきます。 1年前にdialog要素を使用したモーダルウィンドウの実装例を投稿しましたが、大幅にアップデートされているため、忘れても構いません。 結論<dialog>要素の開閉は command 属性を使用する<dialog>要素の外側をクリックした際に閉じる Light dismiss 機能は closedby 属性を使用するcommand 属性と closedby 属性は Polyfill を使用する開閉時のアニメーション、背面のスクロール抑制、スクロールバーの有無によるガタツキの防止は CSS で行う方針としては極力JavaScriptを書かないことを目指します。 次のようにHTMLを書くことで<dialog>要素の開閉および

    JavaScriptを書かない2025年のモーダルの実装方法 – TAKLOG
    mag4n
    mag4n 2025/05/27
  • React Scan

    React Scan automatically detects performance issues in your React app Previously, existing tools required lots of code change, lacked simple visual cues, and didn't have a simple, portable API Instead, React Scan:Requires no code changesHighlights exactly the components you need to optimizeAvailable via script tag, npm, you name it!

    React Scan
  • 俺のフロントエンド依存管理ポリシー20241120

    ポリシー: この世界では常に最新版を使うという気持ちで生きていく Node.js は枯れるという概念がなく、常に古いことはリスク という認識。LTS も短め(3年) 古いAPIのドキュメントは常に消失する モダンなツールは、モダンな前提を要求する ~2020: CJS/ESM 関連で断絶がある(jestが動かなくなりつつある) ~2019: パフォーマンス意識が低い時代の実装が多い ~2015: Node.js のみでしか動かないものが多い。peerDeps の意識が低い この辺で目視でポチポチする npm: npm-check-updates - npm yarn upgrade-iteractive pnpm upgrade -i サーバーランタイムには安定を、ツールチェインにはパフォーマンスを サーバーランタイム(Node.js) Node 体は Stable LTS か、一つ前の

    俺のフロントエンド依存管理ポリシー20241120
    mag4n
    mag4n 2024/11/20
    最前線から離れたのだが移り変わり速度がエグいな。もーWebpack負債化してんのか。
  • 【徹底比較】Vue.js と React でレンダリングされる値、されない値

    *1. 画面に表示されるがコンソールにエラーが出る。 Warning: Received NaN for the `children` attribute. If this is expected, cast the value to a string. *2. 画面には表示されずコンソールにワーニングが出る。 [Vue warn]: Invalid VNode type: undefined (undefined) *3. Chrome だと以下の形式(実行環境によって異なる可能性あり)。 Mon Jan 01 2024 00:00:00 GMT+0900 (GMT+09:00) *4. ランタイムエラー。 Uncaught Error: Objects are not valid as a React child (found: object with keys {}). If you

    【徹底比較】Vue.js と React でレンダリングされる値、されない値
  • TypeScriptの代数的部分型模型

    書ではTypeScriptの型と部分型関係がなす代数的構造を解説し、型についての強固かつ柔軟なメンタルモデルを構築します。 順序理論、集合論、束論、環論、そして圏論に至るまで、複数の数学理論を利用して多角的にモデルを構築することで、型の直感的な理解を深め、型の互換性に対する自然な推論を可能となるように解説した新しい試みのです。

    TypeScriptの代数的部分型模型
  • 新たなJavaScript日付操作ライブラリ「Tempo」登場 ー ネイティブなDateと直接連携、小さく、速く、使いやすく

    先日リリースされた「[Tempo](https://tempo.formkit.com/)」が、全く新しいJavaScriptの日付/時刻ライブラリとして非常に注目を集めている。 先日リリースされた「Tempo」が、全く新しいJavaScriptの日付/時刻ライブラリとして非常に注目を集めている。 JavaScriptの日付ライブラリにはmoment.js、day.js、date-fnsなどがあるが、これらと異なるのは、ネイティブのDateオブジェクトを直接対象としていることである。 従来の日付ライブラリは、独自の日付プリミティブを提供することが一般的であったが、TempoではネイティブのJavaScript Dateオブジェクトと直接連携し、Intl.DateTimeFormatを活用することで、タイムゾーンやロケールのファーストクラスサポートを提供するだけでなく、ライブラリのサイズ削減

    新たなJavaScript日付操作ライブラリ「Tempo」登場 ー ネイティブなDateと直接連携、小さく、速く、使いやすく
  • 個人開発してるWebサービスの API のシナリオテストに runn を使ってみたけど、とてもよかった - えいのうにっき

    個人開発してるWebサービス」というのは Pixela のことで、runn とは @k1loW さんが開発しているオペレーション自動化ツール/パッケージです。 pixe.la github.com Pixela は、そのユーザーインターフェースとして基的に Web API のみを提供しているサービスで(サービスを利用するための各種操作は基的にすべて Web API に対する HTTP リクエストによって行う必要がある)、現在そのローンチから6年目を迎えるサービスです。 blog.a-know.me ありがたいことに、世界中のユーザー(特に、プログラミング初学者の方によくご利用いただいているようです)に継続的に使っていただけているサービスになっており、登録ユーザー数はもうすぐ7万人に到達しようとしているところです。開発・メンテナンスに係る私の人件費を除けば、黒字運営を続けることもできて

    個人開発してるWebサービスの API のシナリオテストに runn を使ってみたけど、とてもよかった - えいのうにっき
  • 動くWebデザインアイデア帳

    サイト閲覧方法 1ウェブサイトへアクセス https://ugokuweb.coco-factory.jp/ugokuweb/ 新サイトはこちらから 2【ユーザー名】と【パスワード】が求められますので、以下の情報を入力してください。 【ユーザー名】:ugokuweb 【パスワード】:指定のページ数を【半角数字3桁】で入力 ・黄色をご購入の方: 7-2「検索の表紙」ページ数 ・ピンク(実践編)をご購入の方: 9-4「SVGアニメーションの表紙」ページ数 (例)30ページの場合は 030 と入力 ※ご覧になりたいページ数を入力するのではなく、指定のページ数をご入力下さい。 ※画像と同じページの、左下のページ数をご記入下さい。 3閲覧制限が解除され、サイトを閲覧できるようになります。 ブックマークをしてご利用ください。 ※掲載されているコードは、2021年に出版された時のものをそのまま掲載し

    動くWebデザインアイデア帳
    mag4n
    mag4n 2024/01/16
    ロゴとか入れないとだめとかなかったっけ。
  • corepack is 何?

    追記: 2023-11-19 corepack v0.20.0 にて、CLI のコマンド体系が一新されて多少わかりやすくなりました (PR#291)。新しいコマンドは README を参照。 追記: 2022-02-03 Node.js v14.19.0 に corepack が標準バンドルされました。 corepack がバンドルされていない Node.js v12 系は 2022-04-30 に EOL を迎えるので、あと 3 ヶ月もすればアクティブな Node.js 環境には必ず corepack が揃っているという状態になりますね。引き続き experimental ステータスのままではありますが。 追記: 2021-09-08 Node.js v16.9.0 で corepack が標準バンドルされました。まだ experimental 扱いですが。 デフォルトでは yarn も

    corepack is 何?
  • プログラミングの原則:構造化テキストを文字列結合で作らない、置換でいじらない - Uzabase for Engineers

    こんにちは、ソーシャル経済メディア「NewsPicks」のむとうです。 先日から『Ghost of Tsushima』の開発者が書いた『ルールズ・オブ・プログラミング』というをちょっとずつ読み進めていて、プログラミング熱が高まっています。このは大きな指針を示すだけで具体の話をするものではないのですが、読み物として面白いので私も似たようなことをやってみたくなりました。 何年もこういう仕事をしているとバグが入るパターンというのが見えてきます。そしてだいたいどこに行っても何の仕事でも似たようなことをすることになるのですが、今回の話もその一つです。 構造化テキストを文字列結合で作らない、置換でいじらないというのはこれだけみると何のことか分かりづらいかも知れませんがSaaS Product Team セキュアコーディングの啓蒙 第2回 (SQL インジェクション編)の内容とある面では同じ話です。

    プログラミングの原則:構造化テキストを文字列結合で作らない、置換でいじらない - Uzabase for Engineers
    mag4n
    mag4n 2023/11/30
  • Web SpeechRecognition APIを使って、Web フロントで音声認識をする - KAYAC Engineers' Blog

    面白プロデュース事業部 フロントエンジニアのゆうもやです。 面白法人カヤックでは、毎月社員が個人で制作したものを発表する「つくっていいとも」という会があります。 カヤックの社員は、業務に関係なく自由に制作・試作することで常に新しいアイデアを生み出すことに取り組んでいます。 今回は、そんなアイデアのネタになりそうなWeb SpeechRecognition APIのご紹介です。 Web SpeechRecognition API とは? Web SpeechRecognition APIは、ブラウザで音声認識を行うためのAPIです。ブラウザに標準で実装されているため、サーバーや特別なライブラリをインストールする必要なく、JavaScriptだけで利用することができます。 対応状況 一部非対応のブラウザはあるものの、ChromeとSafari 14.1以降ではPCとモバイル両対応しているため、

    Web SpeechRecognition APIを使って、Web フロントで音声認識をする - KAYAC Engineers' Blog
  • Vike

    BasicspageContextglobalContext+Page+route+Head+Layout+WrapperConfig FilesCLIJavaScript APIError Page+client.jsRoutingFilesystem RoutingRoute StringRoute FunctionRouting PrecedenceHooks+data()+guard()+onBeforeRender()+onHydrationEnd()+onError()+onHookCall()+onPageTransitionStart()+onCreatePageContext()+onCreateGlobalContext()+onBeforePrerenderStart()+onPrerenderStart()... moreUtils (server- & clien

    Vike
  • 巷で話題のnue.jsを試してみた - Qiita

    はじめに 執筆現在、「なんだかよくわからんけどすごいフレームワークだ」みたいに巷で噂になっているnue.jsというフレームワークがどんだけすごいんかを動かしながら試してみます。 なんだか Vue やら React やらのJavascript系フレームワークを全てってかかってお釣りが出るようなくらいすごいフレームワークだと聞いています。知らんけど。 なお、読み方はよくわかりません。「ヌエ」と書いてある記事もあったりするが、公式にはドイツ語のneueから来ているそうで「ノイエ」と読むのかもしれません。ノイエというと何かの精神を具現化した素晴らしい兵器とかソロモンに帰ってきたあの人を彷彿とさせますがきっと気のせいでしょう。 ネイティブの発音を調べてみると「ノイエ」というよりは「ノイヤ」が近いかなと思います。 追記 2023.10.01 公式のFAQでは以下のような記載になっています。(なお初版

    巷で話題のnue.jsを試してみた - Qiita
  • JavaScript: 所望のイベントリスナの発火を妨げているイベントリスナを特定する | Wantedly Engineer Blog

    Webアプリケーションでは、DOMの要素にイベントリスナ(イベントハンドラ)を取り付けることで、ユーザーによる様々な操作 (クリックなど) に応じて処理を行うことができます。 しかし、イベントリスナを登録しても、他のイベントリスナとの干渉によって意図した通りに発火しないことがあります。ここではその調査方法を紹介します。 前提知識: イベントバブリングイベントについては筆者の過去記事でも解説しましたが、あらためてここでも説明します。イベントバブリングを理解することが、イベントデバッグの近道だからです。 DOMにおいて、要素はネストすることによって木構造を形成します。ある要素(ターゲット要素)がクリックされるなどしてイベントが発生したとき、イベントはその要素自体だけではなく、その祖先要素にも送られます。これをイベントバブリングといいます。 イベントバブリングは2つの段階に分けられます。 Cap

    JavaScript: 所望のイベントリスナの発火を妨げているイベントリスナを特定する | Wantedly Engineer Blog
    mag4n
    mag4n 2023/07/27
    バチクソよくあるやつ
  • Webフロントエンドのための実践「テスト」手法 CodeZine Night #1

    CodeZine編集部主催のウェビナー「CodeZine Night」の第一回発表資料 https://codezine.connpass.com/event/279012

    Webフロントエンドのための実践「テスト」手法 CodeZine Night #1
    mag4n
    mag4n 2023/05/11
    ブラウザで実際に見たほうが早いなんざいくらでもある中で何をテストコードとして運用するのかっていうのを決めないといけない。コード書ける俺カッケーではだめなやつ。