Movatterモバイル変換


[0]ホーム

URL:


はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

タグ

関連タグで絞り込む (22)

タグの絞り込みを解除

javascriptに関するWindymeltのブックマーク (24)

  • JavaScript 実行エンジン V8 の JIT 出力コードを読んでみよう

    ChromeJavaScript はとても高速なことでも有名ですが、その実行エンジンは V8 と呼ばれます。V8 自体は独立したモジュールであり、Node.js 等にも使われております。 V8 がJavaScript を高速に実行する技術の一つが JIT (Just In Time) コンパイルです(一般的に JIT と呼ばれます)。これは、そのまま実行すると遅いJavaScript を実行中にリアルタイムに直接マシンコードに変換し(これがJust In Time と呼ばれる所以です)、途中からそのコードに入れ替えて実行することで高速化を達成しています。特に何度も実行される関数で効力を発揮します。 JIT という名前は聞いたことがあろうとも、実際に JIT がどのようなコードを実行しているのかを確認する機会は滅多にないでしょう。この記事では、実際に V8 の JIT の出力を確

    • WasmでJavaScriptを動かす意義 - id:anatooのブログ

      ある時Twitterのタイムラインを見ていたら、「JavaScriptWasm化して動かす意味がわからない」というような意見を見かけました。JavaScriptはブラウザに搭載されているV8のようなJavaScriptエンジンによって高速に動作するので、わざわざWasm化してもパフォーマンスは劣化するのになぜなのか?という話なんですが、これは「Wasm化=パフォーマンスのため」という考えだと意義がわからないのでこの記事ではそれについて解説します。JavaScriptWasm化して動かすツールやライブラリとしては、Shopifyが開発しているJavyやquickjs-emscriptenなどがあります。JavaScriptWasm化して動かすためには、ある特定のJavaScriptエンジンをWasm向けにビルドして動かす必要がありますが、そのような用途ではQuickJSというJava

      WasmでJavaScriptを動かす意義 - id:anatooのブログ
      • 週末趣味プログラミングでObsidianプラグイン開発 - TypeScriptで開発中

        思い立ってObsidainのプラグインを作り出す 土曜日の午前に歯医者から帰ってきて、何がきっかけだったか思い出せないけど、Obsidianでクイズが書けるプラグインを作りたくなった。Obsidianに残っていたメモObsidianはElectronベースのアプリケーションなので、Webアプリを開発するようにJavaScriptでプラグインを開発することができる。Obsidianのテンプレートリポジトリから自分のリポジトリを作り、ちょろっと変更すると考えていたものができた。思ったよりも簡単だ。Obsidianプラグインで作ったクイズ用のUI 簡単なJavaScript(TypeScript)で、普段使っているツールが拡張できるのは面白い。Svelte を使う JSで直接DOMを操作してクイズのUIを作ることはできたけど、ReactなどのUIフレームワークを使ってみようかなと思った。

        週末趣味プログラミングでObsidianプラグイン開発 - TypeScriptで開発中
        Windymelt
        Windymelt2023/10/12非公開
        めちゃくちゃ良い!! 自分もプラグイン作ろうとして放置してたので勉強しなおそうかな
        • ブログ内引用グラフを自作して引用一覧を作った話

          class: center, middle # ブログ内引用グラフを自作して引用一覧を作った話 --- # こんにちは〜 <img src="https://www.3qe.us/windymelt-mono.gif" alt="windymelt icon" style="width: 10em;" /> - [Windymelt](https://www.3qe.us/)です - [株式会社はてな](https://hatena.co.jp/)から来ました - 普段ははてなブックマークとかの開発してます --- #はてなブログ - https://hatenablog.com -エンジニアに人気なブログツール --- #エンジニアあるある - シリーズものとかを書くんだけど前記事にさかのぼってリンクを足すの面倒 - 以前の記事を修正した記事を作ったけど以前の記事にリンク足すの面倒

          • JavaScriptでScalaのFutureを表現する

            はじめにScala.jsというプロジェクトがあります。Scalaで書いたプログラムをJavaScriptに変換する、とてもクールなツールです。 ただ、もちろん言語自体が違うため、完全なマッピングが可能な訳ではありません。ベストエフォートでセマンティクスを維持したままJavaScriptに変換しますが、いくつか対応付けが困難なケースがあります。 その中でも特にScalaの Future をJavaScript上でどのように表現するか? という点に関しては、JavaScriptの深みを知れるとても良い題材だと思ったので、まとめてみようと思います。 ※ 一応Scala.jsをネタに出してますが、Scalaを知らなくても理解できるように書いたつもりです。ScalaのFutureScalaには並列処理を行うためのデータ型として Future があります。 Future は、ある時点において利

            JavaScriptでScalaのFutureを表現する
            Windymelt
            Windymelt2023/10/08非公開
            めちゃ面白い、色々な実現方法があるのね
            • 私がthrowを使わない理由

              この記事についてJavaScriptではthrow文という文を使うことで例外を投げることができます。 このthrow文ですが、私はレビューなどで例外を投げないでくださいというコメントをするのですがその理由とどのようにコードを変更すればよいのか、ということを書いておこうと思いました。 前提条件 この記事の内容は下記の条件を前提として書き進めていきます。TypeScriptを採用していることフロントエンド開発の場合 Node.jsを利用したサーバーサイドのコードやCLIツールの開発、各種ライブラリの開発については記事の対象に含まれないことをご了承下さい。 結論 先に結論から書いておくとTypeScriptを利用している場合例外はカスタムエラーを返却するか、Result型を利用するのがよいと思っています。 次の章からサンプルコードを用いながらthrow文を使った実例と、代替え案について記

              私がthrowを使わない理由
              • JSONとBigInt

                ちょっと前にblueskyで見かけた話題。もとは「GraphQLのスキーマではintが32ビットしかなくて、64ビット整数とかないのがイケてない」といった話だったかなと思う。直感的にはこれは「Javascriptではすべてが倍精度浮動小数点数だから64bit intがないから」ということになるが、よくよく調べてみるといろいろややこしい歴史的事情があるようだ。 たしかにJSにはもともとひとつのNumber型しかなく、いわゆるdouble型(倍精度浮動小数点)だけで数値を表現してきた。IEEE754の倍精度浮動小数点数は仮数部が52ビットあるので、実際には32ビット整数ていどであれば全て誤差なく表現できる。なので32ビット整数または倍精度浮動小数点数がどちらも使えるというふうに理解されてきた。 そうはいっても不便なので、現代のJSにはBigIntがある。ES2020で導入されたらしい。ただし普

                JSONとBigInt
                Windymelt
                Windymelt2023/09/09非公開
                個人的にはmessagepack好きなんだけど、流行らないなぁ
                • JavaScriptのUIフレームワーク「Svelte 4」正式リリース。パッケージサイズが10MBから3MBへ大幅縮小、ハイドレーションコードも高速に

                  JavaScriptUIフレームワーク「Svelte 4」正式リリース。パッケージサイズが10MBから3MBへ大幅縮小、ハイドレーションコードも高速にJavaScriptUIフレームワーク「Svelte」の最新版となる「Svelte 4」が正式にリリースされました。 https://t.co/9qz0sDglCe —Svelte 4 Ever (@SvelteSociety) June 22,2023Svelteは読みやすく簡潔なコードでWebアプリケーションのユーザーインターフェイスを構成できるフレームワークです。Stack Overflowの調査では開発者の人気が急速に高まっていることでも注目されています。Svelteの最大の特徴はコンパイラであるということです。UIフレームワークは、なんらかのライブラリをアプリケーションに同梱することが一般的ですが、Svelteではコー

                  JavaScriptのUIフレームワーク「Svelte 4」正式リリース。パッケージサイズが10MBから3MBへ大幅縮小、ハイドレーションコードも高速に
                  Windymelt
                  Windymelt2023/06/30非公開
                  おー!Svelte4だ!
                  • JavaScript Primer - 迷わないための入門書 #jsprimer

                    JavaScript Primer 迷わないための入門書 Tweet Watch Star Xのハッシュタグ: #jsprimer これからJavaScriptを学びたい人が、ECMAScript 2015以降をベースにして一からJavaScriptを学べる書籍です。 プログラミングをやったことはあるが、今のJavaScriptがよくわからないという人が、 今のJavaScriptアプリケーションを読み書きできるように書かれています。 初めてのプログラミング言語としてJavaScriptを学ぶ人は、まずは「はじめに」から読んでみてください。JavaScript Primerを読み始める 書籍版 このウェブサイトの内容はアスキードワンゴから書籍として出版されています。 書籍版の内容はウェブサイト版と同一ですが、として読めるように最適化されています。 書籍版は次のサイトから購入できます。

                    JavaScript Primer - 迷わないための入門書 #jsprimer
                    Windymelt
                    Windymelt2023/04/27非公開
                    現代の入門だとこれがいいらしい
                    • ESLint, Prettier, VS Code, npm scripts の設定: 2021春

                      eslint-plugin-prettier 時代の設定をずっと使っていたので、重い腰を上げてアップデートした作業メモ。 背景 Prettier 公式ドキュメントによれば、現在 eslint-plugin-prettier は以下の問題があるとして推奨していない。 エディタが真っ赤になる(人間が気にする必要のない問題なのに!) 直接実行するより遅い(同様に prettier-eslint も遅い) ESLint と Prettier の間に間接レイヤーを追加するので、壊れやすい なるほど正しい。 一方、別々に実行することで以下のような問題も出てくるので、解決していく。 CLI とエディタを個別に設定する必要がある エディタで ESLint と Prettier の協調動作が必要 CLI (npm scripts) で ESLint と Prettier の対象ファイルが別管理になる 上記の

                      ESLint, Prettier, VS Code, npm scripts の設定: 2021春
                      Windymelt
                      Windymelt2023/02/06非公開
                      これ見とけばいいと会社で言われたのでブクマしておきます
                      • Explore DOM Events

                        There are many categories of events including user events such as 'click' and system events such as 'DOMContentLoaded'.

                        Explore DOM Events
                        Windymelt
                        Windymelt2021/05/19非公開
                        めっちゃいい
                        • Webpack の考え方について - mizchi's blog

                          なぜ初心者はwebpackが解らないのか?- Why can’t you understand thewebpack? - from 健人 井関 www.slideshare.net この記事バズってたけど、わからない人がよりわからなくなる、という点で問題だと思っていて、webpack の目的の質的な部分から整理する必要があると思います。 (あと友人webpack に挑戦していたので入門資料も兼ねてる)Webpack質的な部分は次の3つです。それ以外は全部おまけ機能だと思ってよいです。 ES Modules のエミュレート node_modules のリンカ 拡張子ごとの変形Webpack当にやりたいこと こういうコードがあるとします。 // src/a.js export default () => console.log('hello'); // src/in

                          Webpack の考え方について - mizchi's blog
                          Windymelt
                          Windymelt2020/06/09非公開
                          “Webpack が嫌がられるのは、これらを覚えることでプログラミングの深淵に迫れるわけでもなければ、他に転用できる知識があるわけではない点”
                            • 正真正銘のReactだけの不純物なしでReact入門

                              Reactのチュートリアル、たくさんありますよね。どれも質が高く、どこから手をつければいいかわからなくなっちゃいます。 ですがやはり巷のチュートリアルには面倒な問題もあります。今回は面倒ごとを全部すっ飛ばしてReactでのウェブアプリ作りに入門してみましょう。Reactを始めるには、まずあれとこれとそれとどれと……Reactやるには、まずNode.js入れてbabel入れてreact入れてreact-router入れて、ついでにredux入れてreact-redux入れて、redux-saga入れて……Reactめんどくせえ!!!ってのが正直なところだと思います。はい、私もそう思います。ただ、まあ、色々必要なのも事実なので……。 それでもやっぱり「ReactやるならReactだけやりたい。他はどうでもいい」という気持ちは簡単に捨てられるものではありません。そこで今回はそういう面倒全部

                              正真正銘のReactだけの不純物なしでReact入門
                              Windymelt
                              Windymelt2019/12/09非公開
                              良記事。stateまわりが分かったので良かった
                              • 現代フロントエンドに欠かせないwebpackとBabelを理解しよう

                                Transcript ݱ୅ϑϩϯτΤϯυʹ͔ܽͤͳ͍
 XFCQBDLͱ#BCFMΛཧղ͠Α͏ʂ� CVJMEFSTDPO�UPLZP����� /BNF� ����4BLJUP�.VLBJ� 5XJUUFS
 ����!@@TBLJUP@@� $PNQBOZ� ����$ZCP[V�JOD�
 ����'SPOUFOE�&YQFSU�5FBN "CPVU�NF w#BCFMͷલʹݱࡏͷ+BWB4DSJQUʹ͍ͭͯ� w#BCFMʹ͍ͭͯ� wXFCQBDLʹ͍ͭͯ� wXFCQBDL #BCFMͰ಺෦࣮૷Λ௥͍ͬͯ͘ "HFOEB #BCFMͷલʹݱࡏͷ+BWB4DSJQUʹ͍ͭͯ &$."4DSJQUͱ5$�� w+BWB4DSJQUʹ͸&$."4DSJQUͱ͍͏ݴޠ࢓༷͕͋Δ� w͜ͷݴޠ࢓༷ΛܾΊ͍ͯΔҕһձ͕5$��
 5FDIOJDBM�$PNNJUUFF��� � w&4��

                                現代フロントエンドに欠かせないwebpackとBabelを理解しよう
                                • スプレッド構文 (...) - JavaScript | MDN

                                  This feature is well established and works across many devices and browser versions.It’s been available across browsers since ⁨2015年10月⁩. Learn more See full compatibilityReport feedback スプレッド構文 (...) 構文を使うと、配列式や文字列などの反復可能オブジェクトを、0 個以上の引数(関数呼び出しの場合)や要素(配列リテラルの場合)を目的の場所に展開することができます。オブジェクトリテラルでは、スプレッド構文によりオブジェクトのプロパティを列挙し、作成するオブジェクトにキーと値の組を追加します。 スプレッド構文は、残余構文とまったく同じように見えますが、ある意味では、スプレッド構文は残余構文の反対

                                  スプレッド構文 (...) - JavaScript | MDN
                                  Windymelt
                                  Windymelt2018/10/24非公開
                                  便利なやつ
                                  • Array.from() - JavaScript | MDN

                                    標準組み込みオブジェクトArrayコンストラクターArray() コンストラクター静的メソッドArray.from()Array.fromAsync()Array.isArray()Array.of()静的プロパティArray[Symbol.species]インスタンスメソッドArray.prototype.at()Array.prototype.concat()Array.prototype.copyWithin()Array.prototype.entries()Array.prototype.every()Array.prototype.fill()Array.prototype.filter()Array.prototype.find()Array.prototype.findIndex()Array.prototype.findLast()Array.prototype.find

                                    Array.from() - JavaScript | MDN
                                    Windymelt
                                    Windymelt2018/10/24非公開
                                    便利なやつ
                                    • JavaScriptにおける変数巻き上げ(ホイスティング) - Nao Minami's Blog

                                      JavaScriptには関数スコープしか無い為、気をつけないと意図しないで既存の変数を書き換えちゃうかもって話です。 そもそもホイスティングって何? 冒頭でも書いた通り、JavaScriptには関数スコープしかありません。また、同じ変数を同じスコープの中で複数回宣言するのは違法とはなりません。その為、 function trimSections(header, body, footer) { for (var i = 0, n = header.length; i < n; i++) { header[i] = header[i].trim(); } for (var i = 0, n = header.length; i < n; i++) { body[i] = body[i].trim(); } for (var i = 0, n = header.length; i < n; i+

                                      JavaScriptにおける変数巻き上げ(ホイスティング) - Nao Minami's Blog
                                      • JavaScript における文字コードと「文字数」の数え方 | blog.jxck.io

                                        Introtextarea などに入力された文字数を、JS で数えたい場合がある。 ここで .length を数えるだけではダメな理由は、文字コードや JS の内部表現の話を理解する必要がある。 多言語や絵文字対応なども踏まえた上で、どう処理するべきなのか。 それ自体は枯れた話題ではあるが、近年 ECMAScript に追加された機能などを交えて解説する。 なお、文字コードの仕組みを詳解すること自体が目的では無いため、BOM, UCS-2, Endian,歴史的経緯など、この手の話題につき物な話の一部は省くこととする。 1 文字とは何か Unicode は全ての文字に ID を振ることを目的としている。 例えば 😭 (loudly crying face) なら 0x1F62D だ。 1 つの文字に 1 つの ID が割り当てられているのだから、文字の数を数える場合は、この ID の

                                        JavaScript における文字コードと「文字数」の数え方 | blog.jxck.io
                                        Windymelt
                                        Windymelt2018/01/06非公開
                                        スプレッド演算子便利やなぁ
                                        • Moment.js | Docs

                                          Moment.js has been successfully used in millions of projects, and we are happy to have contributed to making date and time better on the web. As of September 2020, Moment gets over 12 million downloads per week! However, Moment was built for the previous era of theJavaScript ecosystem. The modern web looks much different these days. Moment has evolved somewhat over the years, butit has essential

                                          Windymelt
                                          Windymelt2017/04/07非公開
                                          JSの時刻表示ライブラリ

                                          お知らせ

                                          公式Twitter

                                          • @HatenaBookmark

                                            リリース、障害情報などのサービスのお知らせ

                                          • @hatebu

                                            最新の人気エントリーの配信

                                          処理を実行中です

                                          キーボードショートカット一覧

                                          j次のブックマーク

                                          k前のブックマーク

                                          lあとで読む

                                          eコメント一覧を開く

                                          oページを開く

                                          はてなブックマーク

                                          公式Twitter

                                          はてなのサービス

                                          • App Storeからダウンロード
                                          • Google Playで手に入れよう
                                          Copyright © 2005-2025Hatena. All Rights Reserved.
                                          設定を変更しましたx

                                          [8]ページ先頭

                                          ©2009-2025 Movatter.jp