並び順

ブックマーク数

期間指定

  • から
  • まで

321 - 360 件 / 3457件

新着順 人気順

JavaScriptの検索結果321 - 360 件 / 3457件

  • 『マンガでわかるJavaScriptのPromise』がKindleで無料公開

    『マンガでわかるJavaScriptのPromise』は、JavaScriptで通信などの処理を書く際に必須の仕様であるPromiseを、マンガで基礎から学ぶことができる。 『マンガでわかるJavaScriptのPromise』は、マンガ部分は76ページ、コードのまとめやコラム部分は51ページ、全体で167ページの構成で、コールバックを多用するJavaScriptの特徴や、Promise登場の背景、Promiseの仕組みや書き方、async/await、Promiseの静的メソッドまでを解説する。 目次は以下の通り。 第1話「JavaScriptのPromise」 第2話「同期処理と非同期処理」 第3話「コールバック関数」 第4話「コールバック関数のネスト」 第5話「Promiseの概念」 第6話「Promiseを使ったコード」 第7話「Promiseを使ったコード 2」 第8話「reso

      『マンガでわかるJavaScriptのPromise』がKindleで無料公開
    • 【翻訳】Date and Times in JavaScript - from scratch

      この記事は littledan から依頼を受けて、翻訳しています。広く Date and Times の JS プロポーザルについて意見がほしいとのことです。 意見は以下の場所にポストできます。 docs.google.com 原文: blogs.igalia.com tl;dr: Temporal のプロポーザルについてフィードバックを求めています。 Polyfill を試したら、サーベイの回答を送ってください、ただしまだ本番環境では使わないでもらいたいです。 JavaScript の Date クラスは壊れています、しかし Breaking the Web を起こさずに修正する方法はありません。風のうわさでは、 Date クラスは 10 日で作られた JS Engine のhackに含まれたもので、 java.util.Date に基づいたものと言われています。しかも java.uti

        【翻訳】Date and Times in JavaScript - from scratch
      • JavaScriptで全文検索(N-gram)を実装してみる! | Simple is Beautiful.

        プラコレアドベントカレンダーもラストスパート!こんにちは、森です! 仕組みをちゃんと理解するには実装してみることが一番!ということで、N-gramの中でも一番実装が簡単なuni-gramをjsで実装してみました! 目次 全文検索とは uni-gram インデックスの作成 文章にdocument IDを振る 文字列の分割 文字位置付与 トークンごとに位置情報をまとめる トークンをキーに引けるように保存 インデックスから検索 検索文字列をトークンに分割 インデックスからトークンのデータを取得 取得したデータをつなぎ合わせる 実装 動かし方 インデックスの作成 インデックスから文字列を検索 コード 参考文献 最後に 全文検索とは まず最初に全文検索とはなにかってことですが、Wikipediaで調べてみました「コンピュータにおいて、複数の文書(ファイル)から特定の文字列を検索すること。「ファイル名

          JavaScriptで全文検索(N-gram)を実装してみる! | Simple is Beautiful.
        • Javascriptで巨大なテキストファイルを少しずつ読み込む - Qiita

          stack overflowのコードをアレンジして実現。 chunk_sizeずつファイルを読み込み、読み込んだファイルを一文字ずつ変数に追加、改行を見つけたら callbackを適用して変数のメモリを解放する。なお、全ての改行コードに対応しているが、出力時には \n に統一される。 残念ながら改行のないテキストデータには使えない。javascriptの変数に格納できる文字数の最大値(Chromeであれば268,435,440文字)を超えた時点でエラーが起きる(その前にタブが落ちる可能性もあるが)。 readBigTextForEachLine = (file, callback, chunk_size = 1024) => { let offset = 0; let text = ""; let slice = ""; let fr = new FileReader(); fr.onlo

            Javascriptで巨大なテキストファイルを少しずつ読み込む - Qiita
          • 【Web NFC】JavaScriptでNFCタグのデータを読み書きしてみた - aptpod Tech Blog

            Webチームの蔵下です。Chrome 81でWeb NFCが試験的に導入されました! ちょっと変わり種なのでネット上ではあまり話題にならなかったのですが、個人的にはビッグニュースでした。 Web NFCを使うと、下記のTweetのような実在するカードとWebサイトを組み合わせたゲームなどが実装できます! すごい! 🏷️ Web NFC reaches a key milestone - it is coming soon! Check out https://t.co/wC4Sx6Rpu8 pic.twitter.com/MmsIDHGNjy— Chrome for Developers (@ChromiumDev) 2019年12月17日 勢いのままにWeb NFCを触ってみたので、ソースコードを交えて使い方を紹介します。 Web NFCとは? Web NFCとは、JavaScript

              【Web NFC】JavaScriptでNFCタグのデータを読み書きしてみた - aptpod Tech Blog
            • 新たなサーバサイドJavaScriptランタイム「WinterJS 1.0」正式リリース、WebAssemblyへのコンパイルも可能。Wasmerが開発

              新たなサーバサイドJavaScriptランタイム「WinterJS 1.0」正式リリース、WebAssemblyへのコンパイルも可能。Wasmerが開発 WebAssemblyランタイム「Wasmer」の開発元として知られているWasmer社は、新しいサーバサイドのJavaScriptランタイム「WinterJS」の正式版となる「WinterJS 1.0」のリリースを発表しました。 ❄️ Introducing WinterJS 1.0 - the fastest WinterCG Javascript runtime in the world powered by Rust and SpiderMonkey ...and #WebAssembly compatible! Now supporting: React Server Components Cloudflare mode 150

                新たなサーバサイドJavaScriptランタイム「WinterJS 1.0」正式リリース、WebAssemblyへのコンパイルも可能。Wasmerが開発
              • JavaScript dayjsはMoment.jsの代替になるか? | nansystem

                JavaScriptの日付操作には罠が多く、業務では日付操作を簡単かつ安全に操作するライブラリが使われる。日付操作のライブラリの中でもMoment.js (opens new window)(Star数40,601)はよく知られているが、ファイルサイズが大きくパフォーマンス改善の妨げになることがある。 そこでこの記事ではより軽量でMoment.jsの代替となるdayjs (opens new window)(Star数19,872)を紹介する。 # dayjsとは dayjsとは、日付操作を簡単にするJavaScriptのライブラリだ。Moment.jsのAPIと広く互換があり、gzip圧縮されたサイズは2.71KBと軽量なのが特徴だ。 # インストール dayjsが十分Moment.jsの代わりになり得るのか確認していく。 まずはインストールして、業務で使われる日付操作をみていく。

                • 4KBのJavaScriptだけで動く可愛いアクションゲームを作ったのでソースと解説 - Qiita

                  年イチでちょっとしたブラウザゲームを作ってます(→ 去年)。今年はそこそこ遊べる可愛いアクションゲームを4KB以内で作ってみました。 🎉宣伝させてください! 🐱今年も無事、猫の日ゲームができました!https://t.co/XnDD8AXx4k 今年は可愛さはそのまま、限界までコードを削って4KBにおさめました。PCの方はソース表示して見てみてね pic.twitter.com/j0QqH6iSSn — ゆき (@yuneco) February 20, 2022 作ったもの:ブラウザで動く4KBのゆるかわアクション URL: https://yuneco.github.io/mezashi-4kb/ ソース: https://github.com/yuneco/mezashi-4kb つまりどういう...コト? index.htmlという名前のファイルを作って下のコードをコピペする

                    4KBのJavaScriptだけで動く可愛いアクションゲームを作ったのでソースと解説 - Qiita
                  • JavaScriptの外部ファイルで簡単に実装できる、映画コンテンツを快適に再生するHTML5動画プレーヤー -Moovie.js

                    動画、特に映画コンテンツを快適に再生することにフォーカスされたHTML5プレーヤーを実装するスクリプトを紹介します。 実装は非常に簡単でカスタマイズも豊富、字幕は多言語をサポート、動画の再生速度は0.1x-8xまで変更可能、デザインはCSSベースで簡単に変更できます。 Moovie.js デフォルトでも快適、フルカスタマイズも可能 動画の字幕は多言語をサポート 再生速度は0.1x-8xまで変更可能 .vtt, .srtの字幕ファイルをサポート トラックや字幕を動的に追加可能 字幕のカスタマイズ イベント・ショートカットのAPI 依存関係はなし、VanillaJSで構築 すべてのモダンブラウザをサポート レスポンシブに完全対応 MITライセンスで、商用プロジェクトでも無料で利用できます Moovie.jsのデモ デモでは映画コンテンツを再生しながら、Moovie.jsのいろいろな機能を楽しめ

                      JavaScriptの外部ファイルで簡単に実装できる、映画コンテンツを快適に再生するHTML5動画プレーヤー -Moovie.js
                    • 音楽をプログラミングできるJavaScriptライブラリ「Ongaq JS」をリリースしました。

                      株式会社コードナインスは、音楽をプログラミングするJavaScriptライブラリ「Ongaq JS」とユーザー登録やチュートリアルの閲覧が可能なポータルサイトをリリースいたしました。 株式会社コードナインス(本社:東京都豊島区、代表:高倉大幸、以下コードナインス)は、音楽をプログラミングするJavaScriptライブラリ「Ongaq JS」と文法の解説・サンプルコード・チュートリアル等の閲覧やユーザー登録が可能なポータルサイトをリリースいたしました。幅広い年代でプログラミングへの関心が高まる中、多くのユーザーがプログラミングを楽しみながら学ぶための題材としてご提案するべく、今後機能の拡充と応用サービスの開発を進めてまいります。 ◆ URL https://www.ongaqjs.com/ ◆ 提供するサービス ユーザーは「Ongaq JS」を使い、Webページを作る要領で音楽をプログラミン

                        音楽をプログラミングできるJavaScriptライブラリ「Ongaq JS」をリリースしました。
                      • 2019年版: JavaScriptのループの考察 - Qiita

                        JavaScript いつの間にかずいぶん違う言語になったなぁ、と思うけど、 for(let i = 0; i < 100; i++) { /.../ } これはまだこう書くしかないのかな?const使えない? — Takuo Kihira (@tkihira) June 6, 2019 このツイートを起点に、パフォーマンスの話が出て、紀平さんも計測されていたんですが自分でも思うところがあって計測して考察してみました。 実測前の僕の予想(というか過去の経験)は 普通のforが最速 for-inは速度以前に使ってはいけない for-ofとforEachは関数呼び出しがループごとに挟まるのでどちらも遅いが同じ水準 for ofは言語標準なので最適化が行われる期待! でした。さて、結果はいかに? それぞれのループの解説 伝統的なfor 伝統的なループが一番軽いというのはみんなが認めるところです。

                          2019年版: JavaScriptのループの考察 - Qiita
                        • JavaScript における VM の高速化手法

                          この記事は、JavaScript で Flash Player の実現を頑張った(もしくは現在進行系で頑張っている)人たちの集う Flash Advent Calendar 2020 に参加しております。 皆さん、JavaScript で VM を実装する経験をお持ちでしょうか?私は過去に Java VM と ActionScript VM を JavaScript で実装したことがあります。Flash Player において VM は最も重い場所になることが多く、ここの高速化は Engine 全体の性能に大きく寄与します。この記事では、私が Pex.js にて導入し、素晴らしい成果をあげた VM の高速化手法をご紹介しましょう。 とはいえ今更 ActionScript の VM の話をされても困ると思うので、この記事では簡単な Java VM のサブセットをターゲットにして説明をします。

                          • REST API Design Best Practices Handbook – How to Build a REST API with JavaScript, Node.js, and Express.js

                            I've created and consumed many API's over the past few years. During that time, I've come across good and bad practices and have experienced nasty situations when consuming and building API's. But there also have been great moments. There are helpful articles online which present many best practices, but many of them lack some practicality in my opinion. Knowing the theory with few examples is goo

                              REST API Design Best Practices Handbook – How to Build a REST API with JavaScript, Node.js, and Express.js
                            • 【Streamlit】JavaScriptが嫌いだからPythonだけでWebアプリをつくる - Qiita

                              フロント(SPA)開発案件2つのプレイングマネージャーと開発リーダーやってますが、JavaScriptが死ぬほど嫌いです。 ブラウザ上で動作するスクリプトなので仕方ないし、async-awaitで大分便利になったけど、非同期処理がやっぱり好きじゃないです。 JavaとかPythonとかそれなりの期間触った言語は大概「みんな違ってみんないい」みたいな感じになるんですが、JavaScriptだけそうならないので本当に嫌いなんだと思います。 因みにCSSはもっと嫌いです。 機械学習モデルの構築をPythonで実装することは多いと思いますが、ちょっとしたデモアプリでも作るとなると、フロント側はどうしてもHTML、JavaScript、CSSで組まないといけないです。 Jupyter Notebookも選択肢に入るかもしれませんが、Webアプリと比べると表現の自由度は下がるし、コードセルが見えるのは

                                【Streamlit】JavaScriptが嫌いだからPythonだけでWebアプリをつくる - Qiita
                              • JavaScript ベスト・オブ・ザ・イヤー 2019 - Qiita

                                2021 / 2020 / 2019 GitHubで最もホットなライブラリをランキング表示してくれるbestofjs.orgというサイトがあります。 そしてここは毎年、その一年で最もホットだったライブラリを発表しています。 選考基準は『その年増えたスターの数』であり、恣意的要素の入る余地はありません。 ちなみに2016年の総合ランキング1位はVue.js、2017年の総合ランキング1位はVue.js、2018年の総合ランキング1位はVue.jsです。 以下は2019年のランキング、2019 JavaScript Rising Starsの日本語訳です。 JavaScript ライジングスター 2019 4回目のJavaScript ライジングスターにようこそ! 2019年にGitHubで最も注目を集めたプロジェクトを、数字で見てみましょう。 以下のチャートは、2019年の一年間にGitHu

                                  JavaScript ベスト・オブ・ザ・イヤー 2019 - Qiita
                                • JavaScriptで始めるジェネラティブアート - 生物アルゴリズムの応用 - ICS MEDIA

                                  ジェネラティブアートという言葉をご存知でしょうか? アルゴリズムによって作られる芸術作品を指す名称です。Pinterestで「generative art」と検索すると静止画、動画ともにたくさんの作品を見ることができます。 無機質さを感じさせるものもあれば、まるで生きているように感じる作品もあります。創作者たちはどのようなところから着想を得ているのでしょうか? 彼らの中には数学的な幾何学模様や物理現象、果ては生物が織りなす複雑なパターンをコンピューターで再現することにより作品を作る者もいます。 本記事では特に「生物」に焦点を当てます。生物の複雑な営みを紐解いた背景や、それをアルゴリズムに落とし込むことで可能になった表現を紹介します。 本記事を読むことで日常に潜むあらゆる現象が芸術の種に見える喜びを感じていただければ幸いです。 サンプルはHTML CanvasとJavaScriptで作成して

                                    JavaScriptで始めるジェネラティブアート - 生物アルゴリズムの応用 - ICS MEDIA
                                  • 「Excel」にラムダ関数、ベータ版でテスト中 ~Excelの数式はチューリング完全な言語に/VBAやJavaScriptを知らなくてもユーザー定義関数を利用可能

                                      「Excel」にラムダ関数、ベータ版でテスト中 ~Excelの数式はチューリング完全な言語に/VBAやJavaScriptを知らなくてもユーザー定義関数を利用可能
                                    • JavascriptからTypescriptへ1人で5万行修正し、移行した話 - Qiita

                                      環境 React(CRA) Javascript npm 方針 当たり前の前提として、既に動いている機能は壊さない Javascript -> Typescript へ最短で置き換えて、無事起動するところまでを第一の目標とする any 型を許容する(後の改修や機能追加で型を順次付与していく想定) 作業の概要 コンパイルエラーを解消し、最低限動作するまで ts-migrate を使って全体的に Typescript へ移行する ts-migrate で出力された指摘を手作業で修正し、指摘コメントを削除していく 依存ライブラリに必要な@typesを install していく 型が無くてエラーになっているところに対して any で型を付与していく ※ここまで終わったら この時点で master にマージしても問題はない マージする場合は既存機能が問題なく動作するかしっかり確認する! 一旦マージし

                                        JavascriptからTypescriptへ1人で5万行修正し、移行した話 - Qiita
                                      • 「ここにあるJavaScript、全部TypeScriptにして」案件が勃発したのですがどうすればいいですか?

                                        よんてんごP @yontengoP 「ここにあるJavaScript、 全部TypeScriptにして、 何故ならその方がカッコいいから」案件が 先日から勃発したのですが 有識者各位、JS⇒TSの置き換えって 何から始めればいいですか (´・ω・`)<僕はまず技術書を買わないとアカンかと思っています 2022-05-29 23:05:19

                                          「ここにあるJavaScript、全部TypeScriptにして」案件が勃発したのですがどうすればいいですか?
                                        • JavaScriptとは?基本的な書き方や勉強方法~入門~ | AKKODiS(アコーディス)コンサルティング株式会社

                                          JavaScriptとは?基本的な書き方や勉強方法~入門~ 公開日:2019.07.09 スキルアップ JavaScript(ジャバスクリプト)とは、Webサイトやシステムの開発に使われているプログラミング言語のこと。私たちが普段使っているスマホやパソコンで見るサイトの多くは、JavaScriptが使われて作られています。今回は、JavaScriptは具体的にどのような言語なのか、JavaScriptを使うとできること、基本的な記述方法、学習方法まで解説します。 JavaScriptとはブラウザを「動かす」ためのプログラム言語のこと。例えば、Webサイトを訪問したとき、ポップアップ画面やカルーセルのように、Webサイト上でアニメーションが動いているのを見たことがあるのではないでしょうか?あのようなブラウザが「動く」ために、指示を出しているプログラミング言語がJavaScriptなのです。ま

                                            JavaScriptとは?基本的な書き方や勉強方法~入門~ | AKKODiS(アコーディス)コンサルティング株式会社
                                          • JavaScriptのJITをざっくり理解する会

                                            まずV8は普段自分たちが書いたコードをいくつかのスレッド上で実行するっぽい。 1つはソースコードを取ってきてそれを実行するやつ。それ以外に最適化を行うためのスレッド、プロファイラ、GCなどがあるようだ。 この最適化というのが今回調べたいJITってやつ。 そもそもインタプリタとの差を把握したい。 今の自分の把握の中では、インタプリタは逐次実行をするもの、JITは実行よりも前の段階でコンパイルをしてコンパイル済みのコードを実行すると言った差があるように思える。 このため一般的にはJITが効いたものの方がパフォーマンスが良いとされており、V8もインタプリタで実行するのではなくJITをベースに実行して行っているっぽい

                                              JavaScriptのJITをざっくり理解する会
                                            • LLVM入門 - javascript使いがLLVM(Rust:inkwell)でjavascriptをJITコンパイルするまで

                                              コンパイラ基盤であるLLVMについて、全く知識がない私が、 javascriptソースコードをパースしLLVMでコンパイルできるようになりました。 LLVMの記事は数多くありますが、初心者向けの記事が少なく感じたため、 本記事では、できる限り分かりやすくLLVMについて紹介できる記事を書こうと思います。 ソースコードは、こちらに置いています。 自己紹介 ふだん、javascriptやpythonなどインタプリタ言語を使うエンジニアです。 LLVMについて、全く知識がなかった人間です。 背景 過去に、おもちゃのブラウザ自作をやってみました。 HTMLとCSSを解析し、レンダリングするところを書き、基本的な動作を知ることができました。 HTMLとCSSとくれば、次はJSだと思い、JSを実行するエンジンを書いてみたくなりました。 ただし、WebブラウザのAPIとJS実行エンジンをバインディングす

                                                LLVM入門 - javascript使いがLLVM(Rust:inkwell)でjavascriptをJITコンパイルするまで
                                              • HTML の DOM に指定した id って JavaScript のグローバル変数に格納されるって知ってた?

                                                はじめに タイトルの通りなんですが, HTML の DOM に指定した id はすべて同じ変数名としてグローバル変数に格納されます. つまり id を好き勝手付けちゃうと知らぬ間にグローバル空間が汚染され, 予期せぬバグを起こしてしまう可能性があります. なので id の値は慎重に考えて付けましょうという. っという注意喚起もしたいんですが, 実は今回伝えたいのはそれではありません. メインはこの仕組みを逆手に取って活用することで手軽にツールを作ったりできますよーという紹介になります. この tips を活用して, ちょっとした Markdown Editor も作ってみたのでよかったら参考にしてください. 具体例 具体的な例は以下です. このように, 要素に id を指定していた場合はグローバルに変数として格納されているので document.getElementById を呼ばなくても

                                                  HTML の DOM に指定した id って JavaScript のグローバル変数に格納されるって知ってた?
                                                • 懐かしのRPGをJavaScriptで手軽に作れる! ゲーム好きの心をつかむ「ハックフォープレイ」【どれ使う?プログラミング教育ツール】

                                                    懐かしのRPGをJavaScriptで手軽に作れる! ゲーム好きの心をつかむ「ハックフォープレイ」【どれ使う?プログラミング教育ツール】
                                                  • JavaScriptで独自機能も追加できる無料のWebデザインエディタ「Vev」を使ってみた! - paiza times

                                                    どうも、まさとらん(@0310lan)です! 今回は、直感的な操作で高度なWebデザインを誰でも実現できるサービスをご紹介します。 Webサイトを構成するインタラクティブなコンテンツが豊富に用意されており、それらを組み合わせるだけで最適なWebサイトを誰でも簡単に構築できます。 また、提供されていないコンテンツや機能などは、JavaScriptで好きなように拡張できる設計になっているので無限の可能性も秘めています。Webサイトの作成にご興味ある方はぜひ参考にしてください。 【 Vev 】 ■「Vev」の使い方 それでは、「Vev」をどのように使えばいいのか詳しく見ていきましょう! まずはトップページの黄色いボタンから無料のユーザー登録を済ませておきます。 利用可能なメールアドレスを入力してエンターキーを押してください。 すると登録したメールアドレス宛に、ログイン用のリンクが送付されるのでク

                                                      JavaScriptで独自機能も追加できる無料のWebデザインエディタ「Vev」を使ってみた! - paiza times
                                                    • JavaScriptでエラーの原因となるHoisting(巻き上げ)、その仕組みをGIFアニメで分かりやすく解説

                                                      JavaScriptでエラーの原因となるHoisting(巻き上げ)はなぜ起こるのか、その仕組みについてGIFアニメーションで分かりやすく解説された記事を紹介します。 🔥🕺🏼 JavaScript Visualized: Hoisting by Lydia Hallie 下記は各ポイントを意訳したものです。 ※当ブログでの翻訳記事は、元サイト様にライセンスを得て翻訳しています。 JavaScript Hoisting(巻き上げ)の仕組みをGIFアニメで分かりやすく解説 Hoisting(巻き上げ)は、JavaScriptでのエラーの原因をGoogleで検索しても分からず、StackOverflowなどで質問した際に目にする用語の1つです。「そのエラーはHoisting(巻き上げ)が原因で発生している🙃」と言われることがあります。 Hoisting(巻き上げ)とは何のことでしょうか?

                                                        JavaScriptでエラーの原因となるHoisting(巻き上げ)、その仕組みをGIFアニメで分かりやすく解説
                                                      • 『リーダブルコード』を実践的に活用するための問題集[Javascript](第1部 表面上の改善) - Qiita

                                                        『リーダブルコード―より良いコードを書くためのシンプルで実践的なテクニック』を読んで、実践的に活用するための問題集を作りました。 使用している言語はJavaScriptもしくはTypeScriptで、範囲は第Ⅰ部「表面上の改善」の2章から6章までです。 問題を4つ掲載した後に解答例を記載しています。腕試しとして解いてもらったり、改善や感想のフィードバックもらえたりすると嬉しいです! 問題1 適切な変数名 ウェブページの読み込み時間を計測する以下のようなコードがある。変数名についてどのような問題点があるかを指摘した上で書き直せ。 const start = (new Date()).getTime(); // webページを表示する処理(記載省略) const elapsed = (new Date()).getTime() - start; console.log(`読み込み時間:${el

                                                          『リーダブルコード』を実践的に活用するための問題集[Javascript](第1部 表面上の改善) - Qiita
                                                        • 7 JavaScript Design Patterns Every developer should know

                                                          Design patterns in JavaScript are reusable solutions applied to commonly occurring problems in writing JavaScript web applications. It is quite appropriate to refer JavaScript design patterns as templates to provide solutions to problems but not quite to say that these patterns can replace the developers. Design patterns help combine experiences of many developers to structure the codes in an opti

                                                            7 JavaScript Design Patterns Every developer should know
                                                          • JavaScriptのカスタムエラーはこれでOK | Wantedly Engineer Blog

                                                            JavaScriptでは任意の値を例外としてthrowすることができますが、実際にはErrorのインスタンスをthrowするのが慣例です。 エラーの原因をより正確に説明したいときはErrorを継承するのが望ましいですが、単に継承するのではなく以下のように書くのがオススメです。 class MyError extends Error { static { this.prototype.name = "MyError"; } }その背景について以下で説明します。テーマは以下の3つです。 nameプロパティcaptureStackTracecauseプロパティnameを正しくセットするNode.jsでエラーを表示させると、クラス名が正しく表示されます。 > throw new (class C extends Error {})() Uncaught C [Error]ここで出力されている "C

                                                              JavaScriptのカスタムエラーはこれでOK | Wantedly Engineer Blog
                                                            • JavaScript エコシステムを維持する OSS の努力と課題

                                                              JSConf JP 2021 の基調講演として発表したスライドです。 https://jsconf.jp/2021/talk/javascript-maintaining-ecosystem-oss-struggles-and-challenges

                                                                JavaScript エコシステムを維持する OSS の努力と課題
                                                              • 最近話題の「JAMスタック」(JavaScript、API、Markup)とヘッドレスCMS、使いどころはどこなのか? [PR]

                                                                最近話題の「JAMスタック」(JavaScript、API、Markup)とヘッドレスCMS、使いどころはどこなのか? [PR] Webアプリケーションを実現するための構成技術として「LAMPスタック」や「MEANスタック」などがよく知られていますが、この主要スタックに新たに加わるように2~3年前から名前が知られるようになったのが「JAMstack」(JAMスタック)です。 ReactやVueJSなどを用いてWebアプリケーションを開発している方は、すでにJAMスタックの名前を聞いたことがあるのではないかと思います。2017年からはJAMスタックにフォーカスした年次イベント「JAMstack Conference」が始まり、今年も5月にオンラインイベント「Jamstack Conf Virtual 2020」が開催、10月には「JAMstack Conf San Francisco 202

                                                                  最近話題の「JAMスタック」(JavaScript、API、Markup)とヘッドレスCMS、使いどころはどこなのか? [PR]
                                                                • JavaScript で学ぶビット演算の基礎

                                                                  唐突にビット演算の話です。今回は本当に基礎的な事しか書きませんので、ある程度のレベルの方には常識レベルの話になることをご承知ください。 近年のプログラミング環境で、ビットを意識する機会はほとんど無くなりました。プログラミングの抽象化が進んだおかげで良いことだと思います。今や知らないのが普通なのかもしれません。しかし、もしちょっと低レイヤーな処理を書く機会があった時に、今までの私達にとっては常識レベルであった知識であっても、重要度が下がり学ぶ機会も無くなってしまったが故に、知らない人はそこで躓いてしまう可能性が高いことに気が付きました。この記事は、普段のプログラミングにはあまり必要のないビット演算を、とりあえずこれだけ知っておけばその先は自力でなんとかなるかな、というレベルまで解説したいと思います。 解説は JavaScript を使って行いますが、基本は他の言語でも同じです。 JavaSc

                                                                  • AWS、エッジにおけるJavaScript実行環境に本格参入。Cloudflare WorkersやDeno Deployなどと競合へ

                                                                    AWS、エッジにおけるJavaScript実行環境に本格参入。Cloudflare WorkersやDeno Deployなどと競合へ Amazon Web Services(AWS)は、エッジ環境で軽量なJavaScriptによる処理を実行可能な新サービス「Amazon CloudFront Functions」を発表しました。 AWSではすでにエッジで処理を行う「Lambda@Edge」を提供しており、そこでNode.jsとPythonによるコードを実行可能です。 しかしLambda@Edgeは13カ所のリージョナルエッジキャッシュにおいて処理が行われるのに対し、CloudFront Functionsは218カ所以上のCloudFront Edge Locationsにおいて処理が行われるため、よりユーザーに近い広範囲なロケーションで実行されます。 また、実行時間もLambda@Ed

                                                                      AWS、エッジにおけるJavaScript実行環境に本格参入。Cloudflare WorkersやDeno Deployなどと競合へ
                                                                    • ちょっと面白いスクリプト!グラフやチャートを手書き風のラフな感じにするJavaScriptライブラリ -roughViz

                                                                      手書きスタイルのグラフやチャートを簡単に作成できるJavaScriptライブラリを紹介します。手書きの度合いも調整でき、ちょとラフな感じ、雑な感じ、かなり雑な感じ、ぐちゃぐちゃな感じにもできます。 グラフやチャートに使用するデータは外部.csvファイルにも、カンマ区切りのテキストデータにも対応しています。 roughViz.js -GitHub roughViz.jsの特徴 roughViz.jsのデモ roughViz.jsの使い方 roughViz.jsの特徴 roughViz.jsは、ブラウザで手書きスタイルのグラフやチャートを作成するためのJavaScriptライブラリです。D3.jsとrough.jsをベースにしており、MITライセンスで利用できます。 グラフやチャートは、現在7種類に対応しています。 棒グラフ(垂直) 棒グラフ(水平) ドーナツ 折れ線グラフ 円グラフ 散布図

                                                                        ちょっと面白いスクリプト!グラフやチャートを手書き風のラフな感じにするJavaScriptライブラリ -roughViz
                                                                      • なぜ JavaScript の [1, 2, 3] + [4, 5, 6] は '1,2,34,5,6' なのか

                                                                        先日次のツイートを見かけた。 I have been writing Javascript since roughly 1997 but it still manages to occasionally do something that absolutely shocks me pic.twitter.com/JyYOo4wGOu — mcc (@mcclure111) January 11, 2022 JavaScript では [1, 2, 3] + [4, 5, 6] の結果が "1,2,34,5,6" であり、この挙動が直感に反しているというツイートである。 実際のところ筆者も直感に反していると思う。しかしこの挙動は至って ECMAScript の仕様通りである。 この記事では、なぜこの挙動が ECMAScript の仕様に従っていると言えるのか仕様を引用して説明する。 大雑把な

                                                                          なぜ JavaScript の [1, 2, 3] + [4, 5, 6] は '1,2,34,5,6' なのか
                                                                        • JavaScriptはなし、CSSで実装されたWebページでよく使用されるUIコンポーネントの超軽量ライブラリ -CSSUI

                                                                          アコーディオン、モーダル、タブなど、Webページでよく使用されるインタラクティブなUIコンポーネントをCSSで実装する超軽量ライブラリを紹介します。 各UIコンポーネントは個別のCSSファイルで管理されており、JavaScriptは一切必要なし。デザインは非常にシンプルで、カスタマイズも簡単です。 CSSUI MITライセンスで、商用プロジェクトでも無料で利用できます。 ピュアCSSで実装されたコンポーネント: JavaScriptを読み込む必要がないため、コンポーネントの待機時間はありません。 カスタマイズが簡単: スタイルの追加は簡単です。デフォルトのCSS変数をオーバーライドするか、クラスを使用してコンポーネントをカスタマイズできます。 スタンダードなHTML: 各コンポーネントは、モダンなHTML要素で構築されています。 ビギナーでもプロでも簡単: 簡単なプロトタイプから実稼働のW

                                                                            JavaScriptはなし、CSSで実装されたWebページでよく使用されるUIコンポーネントの超軽量ライブラリ -CSSUI
                                                                          • これなら簡単!フリック操作に対応したスライダー・カルーセルを実装できるJavaScriptライブラリ -Flicking

                                                                            フリック操作に対応したスライダー・カルーセルを実装できるJavaScriptライブラリを紹介します。スマホのフリック操作だけでなく、デスクトップのクリックやドラッグ操作にも対応しています。 シンプルなHTMLで簡単に実装でき、Vue、React、Angularもサポート、単体でも動作するJavaScriptです。 Flicking Flicking -GitHub Flickingの特徴 Flickingのデモ Flickingの使い方 Flickingの特徴 Flickingはその名の通り、フリック操作に対応したスライダー・カルーセルを簡単に実装できるJavaScriptライブラリです。新しくなったFlicking 3はフレキシブルで、さまざまな拡張機能を備えており、無限フリック・フリースクロール・スナップ・バウンドをはじめ、異なるサイズのパネル、静止位置のカスタマイズなどもできます。

                                                                              これなら簡単!フリック操作に対応したスライダー・カルーセルを実装できるJavaScriptライブラリ -Flicking
                                                                            • 2023 JavaScript Rising Stars

                                                                              Welcome to the 8th edition of the JavaScript Rising Stars, the place to see the trends about the JS ecosystem in 2023. Let's see how a set of UI components you copy-paste took the world by storm! The following graphs compare the number of stars added on GitHub over the last 12 months. We analyzed projects coming from Best of JS, a curated list of the best projects related to the web platform. Note

                                                                                2023 JavaScript Rising Stars
                                                                              • HTML, CSS, JavaScriptの標準の仕様書はどこにあるのか

                                                                                HTML HTMLの仕様策定には複雑な歴史があります。詳細は他の解説記事に譲りますが、簡単に述べるとW3CとWHATWGのダブルスタンダード状態が長い間続いていました。2022年現在はWHATWGによってLiving Standardとしてまとめられた仕様が実質的な標準となっています。Living Standardという名前が示す通り、バージョンはなくエディターによって随時更新されています。 CSS CSSの仕様はW3Cが策定しています。現在は、CSSとして1つの標準仕様があるわけではなく、数多くのモジュールに分かれて標準仕様の策定が進められています。草案、勧告候補などを経て勧告に至るプロセスと、Levelという概念で整理されたバージョン管理が特徴です。年に1度、SnapShotとしてその時点での標準化の概況が公開されています。 JavaScript JavaScriptは主にWebブラウ

                                                                                  HTML, CSS, JavaScriptの標準の仕様書はどこにあるのか
                                                                                • どのJavaScriptフレームワークでも使えるVanillaなドラッグ&ドロップライブラリ・「DFlex」

                                                                                  DFlexはどのJavaScriptフレームワークでも使えるVanillaなドラッグ&ドロップライブラリです。 他のD&Dライブラリとの大きな差として、最小限のレイアウトシフトをあげています。Webページで操作する要素が多い程、累積レイアウトシフト(CLS)が多くなり、結果としてレイアウトのズレを発生させ、UXに影響が出る、というものをGoogleがCore Web Vitals(コア・ウェブ・バイタル)の3つの指標の1つとして提唱しました。 CLS CLSは上のようにテキストを確認してボタンを押そうとしたら、遅れて表示されたコンテンツによりボタンの位置がズレ、本来押すつもりのなかったボタンを押してしまう、といったもので、GoogleのPageSpeed Insightsでも数値化され評価の対象として位置づけられています。 そのレイアウトシフトを最小限に抑える事が出来るD&Dライブラリとし

                                                                                    どのJavaScriptフレームワークでも使えるVanillaなドラッグ&ドロップライブラリ・「DFlex」