JavaScriptはシングルスレッドであることが知られています。そして、Promiseを用いた非同期処理ができることは周知の事実です。では、なぜシングルスレッドで非同期処理ができるのでしょうか? その点について、非同期処理のための2種類のQueuesについて触れつつ、コードベースでの説明も行います。
JavaScriptはシングルスレッドであることが知られています。そして、Promiseを用いた非同期処理ができることは周知の事実です。では、なぜシングルスレッドで非同期処理ができるのでしょうか? その点について、非同期処理のための2種類のQueuesについて触れつつ、コードベースでの説明も行います。
この記事はNode.js Advent Calendar 2018の2日目の記事です。 ちょっとしたネタですが、Node.js v10.10から入ったfs.readdirのwithFileTypesオプションとfs.Direntについて紹介したいと思います。 TL;DR 特定のディレクトリ配下のファイル一覧を表示する方法を紹介 読み込んだディレクトリのファイル種別がファイルかディレクトリか判定する方法を紹介 fs.statを使った従来の方法 Node.js v10.10.0から使えるfs.readdir(またはfs.readdirSync)のwithFileTypesとfs.Direntを使った方法 fs.statを使った判定方法 例えばNode.jsを使ってディレクトリ配下のファイル一覧を表示したいとき以下のようにfs.readdirとfs.statを使って書くことができます。 cons
libuv/core.c at v1.x · libuv/libuv Cross-platform asynchronous I/O. Contribute to libuv/libuv development by creating an account on Git... タスク タスクは、同期タスクと非同期タスクの 2 種類存在します。 setTimeout(() => console.log(1)); setImmediate(() => console.log(2)); process.nextTick(() => console.log(3)); Promise.resolve().then(() => console.log(4)); (() => console.log(5))(); 同期タスク (() => console.log(5))(); 非同期タスク setTim
const cluster = require('cluster') // CPUの数が上限である必要はある? これ以上なら動かないというわけでもないけど const numCPUs = require('os').cpus().length const masterFnc = () => { // 初期準備 処理対象 const target = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] // 各コアの処理数が均等になるように渡す数を分割する (ただしこのやり方は最後が楽になる) const slicedTarget = [] const bundle = Math.ceil(target.length / numCPUs) for (i = 0; i < target.length; i += bundle) { slicedTarget.push(target.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Face Detection API sample</title> </head> <body> <img src="***顔写真のある画像を指定***" id="image"> <canvas id="canvas"></canvas> <script> const image = document.getElementById('image'); const canvas = document.getElementById('canvas'); const ctx = canvas.getContext('2d'); let scale = 1; image.onload = function() { canvas.width = image.wi
分割代入 (Destructuring assignment) 構文は、配列から値を取り出して、あるいはオブジェクトからプロパティを取り出して別個の変数に代入することを可能にする JavaScript の式です。 const [a, b] = array; const [a, , b] = array; const [a = aDefault, b] = array; const [a, b, ...rest] = array; const [a, , b, ...rest] = array; const [a, b, ...{ pop, push }] = array; const [a, b, ...[c, d]] = array; const { a, b } = obj; const { a: a1, b: b1 } = obj; const { a: a1 = aDefault,
Node@10.5.0で入った worker の話です。 この記事は、Roppongi.js #4の登壇資料です。 5min で話しきれないので記事にまとめました。 実は、自分が Node.js に関わって、最初から最後(今現在)までずっと追っている珍しいモジュールです。 worker_threads とは? worker: initial implementation by addaleax · Pull Request #20876 · nodejs/node Hi everyone! 👋 This PR adds threading support for to Node.js. I realize that this is not exactly a ... 実装著者は Anna (この PR は io.js 時代に petkaantonov が実装したのをベースに現環境へ移した
変更内容 日付 更新内容 2015/09/06 記事に元々入れる予定だったライブラリを一つ追加しています。 初めに 個人的に使ってみて、良さ気なものをピックアップしておいた。 30個ほど候補があったが、分類してみて程よいものを今回紹介する。 5個のつもりだったが、ランダム系のライブラリを追加し忘れていたため最後尾に追加。 こんな夜遅くにビール片手に書いてますので誤字脱字があると思いますが、もしおかしな点があれば教えて下さい。 カウント系の実装 文字入力時にカウント・ダウンしてくれるやつね。 実装はクソ楽 limitCharacts var elem = document.querySelectorAll('input'), limit = 100; limitCharacts(elem,limit); 2Dライブラリと言えばこれ pixi.js こちらから、サンプルが見れる。見
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く