ラベル JavaScript の投稿を表示しています。 すべての投稿を表示

Electron の プロセス間通信 まとめ

今回は「Electronにおけるプロセス間通信」についてまとめます。 目次 Electronにおけるプロセス レンダラープロセス起点 同期通信(sendSync) 非同期通信(send) 非同期通信(invoke) メインプロセス起点 非同期通信(send) Electronにおけるプロセス Electronはブラウザ実装と似ていて「メインプロセス」と「レンダラープロセス」の2つのプロセスが存在しています。 この2つのプロセス間で「IPC (Inter-Process Communication)」という仕 ...

Electron で作る デスクトップアプリケーション

今回は「Electron で作るデスクトップアプリケーション」についてまとめます。 作るものも単純なHTMLを表示するだけの何もできないスケルトンプログラムです。 目次 概要 プロジェクト準備 実装 デバッグ ビルド 概要 Electronとは GitHubが開発したオープンソースのデスクトップアプリケーション開発フレームワークです。 このフレームワークを利用すると、JavaScript(Node.js)を使ってクロスプラットフォームなデスクトップアプリケーション開発ができます。 作成される実行ファイルは「Chromium」と「Node.js」で動いており、「画面描画エンジン(レンダー)」と「処理エンジンメインプロセス」の2つが通信しながら動くようなもの ...

ホームページに地図を表示する方法

今回は「Leaflet.js と Open Street Map を利用して地図を表示する方法」についてまとめます。 目次 概要 実装 実行 概要 最近はホームページ上に地図を表示するサイトも増えています。 今回は、そんな前例にならって自分も地図を表示したい!という方に向けた記事になります。 とはいえ、あらかじめ表示したい場所の緯度経度が分かっている前提になります。 もし、任意の住所から緯度経度を調べたいのであれば「住所から緯度経度を求める方法」をまずは参照してみてください。 今回利用するのは「leaflet.js」と「Open Street Map」です。 「leaflet.js」はオープンソースの地図操作を支援する JavaScript ライブラリです。 「Open S ...

JSON Web Token (JWT) の 仕様 と 使い方

今回は「JSON Web Token」についてまとめます。 目次 概要 仕様 構造 ヘッダー ペイロード 署名 使い方 注意点 概要 JSON Web Token は略して JWT (ジョット) と呼びます。 「セッション情報をサーバーサイドで保存せずクライアントサイドで保持できる(ステートレスが実現できる)」点が特徴です。 WebAPIとか作るときは便利な仕様です。 JWTの仕様(= トークンの仕様)自体はシンプルですし、使い方も簡単です。 ただ…使い方を間違えると脆弱性ができてしまうので、使い方には要注意です。 仕様 ...

ECMAScript 2018 (ES9) まとめ

今回は「ECMAScript2018 (ES9)」についてまとめます。 今回の大きな修正は「正規表現」です。 正規表現に新たなフラグや機能が追加されました。 目次 文字列 テンプレートリテラル 正規表現 sフラグ uフラグ 名前付きキャプチャ 後方参照 式と演算子 残余プロパティ / 分割プロパティ Promise.prototype.finally() 非同期イテレータ 対応状況 ...

ECMAScript 2017 (ES8) まとめ

今回は「ECMAScript2017 (ES8)」についてまとめます。 目次 Object Object.values() / Object.entries() Object.getOwnPropertyDescriptors() String String.prototype.padStart() / String.prototype.padEnd() Function 引数末尾のカンマ async / await キーワード SharedArrayB ...

ECMAScript 2016 (ES7) まとめ

今回は「ECMAScript2016 (ES7)」についてまとめます。 ECMAScript 2016 (ES7) ではあまり機能追加されず、以下の2点だけ追加されたようです。 といっても、どちらも利用シーンは多そうな機能なのでぜひ覚えておきたいものです。 目次 Array.prototype.includes() 指数演算子 対応状況 Array.prototype.includes() 今まで配列要素に指定した要素が含まれているかどうかを調べようとすると .indexOf() の戻り値が 0以上 であることを確認していました。 これだとコードで意味が分かりづらいので .includes() で読みやすくしようといった流れです。 構文 arr.includes(searc ...

単一フォーム に 複数サブミット を配置して 遷移先 を切り替える 方法

jQuery を使って 単一フォーム内に複数ボタンを配置して押されたボタンに応じて遷移先を変えるようにするサンプルコードを作成しました。 目次 サンプルコード 解説 サンプルコード HTML と JavaScript は分けて記載します。 confirm.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>確認</title> </head> <body> <h1>確認</h1> <form id="form" method="POST" action=""> <div> <span>会社名:</span> <input type ...

JavaScript で 二重送信防止 する 方法

jQuery を使って フォームのサブミット および 通常ボタン 、 アンカー の二重送信(多重実行、多重送信)を防止するサンプルコードを作成しました。 目次 サンプルコード サブミットに対して多重送信防止 ボタンとアンカーに対して多重送信防止 解説 サンプルコード 以下に「サブミットに対する多重送信防止」と「ボタンおよびアンカーに対する多重送信防止」のサンプルを載せますが、違いは対象としているイベント ( submit か click か) だけで基本的なコードは同じです。 サブミット に対して 多重送信防止 (function () { $("form").on("submit", funct ...

Node.js + Express で ASP.NET ライクな ルーティング を行う ミドルウェア

Node.js + Express で Webアプリケーション開発 を行うとき困ったのがルーティング。 そこで ASP.NET MVC のような実装ができる Express 向け ミドルウェア "express-junction" を作成しました。 目次 概要 インストール 使い方 ディレクトリ、ファイル /app.js /controllers/home.js /views/home/index.ejs リンク GitHub: garafu/express-junction npm: express-junctio ...

ESLint ルール 一覧 (日本語)

ESLint ルール を一通り日本語訳して一覧化してみました。 記載はできるだけ「デフォルトがどのような状態か」という内容で記載しています。 なお、最新情報および詳細情報は ESLint - Rules を参照してください。 目次 エラーになりやすい ベストプラクティス strictモード 変数 Node.js と CommonJS 表記法 ECMAScript 6 エラーになりやすい no-cond-assign 条件処理内で代入を行わないこと no-console console の使用をしないこと no-constant-condition ...

Node.js で module を 作成 および 利用 する 方法

開発をしているとよく使う機能や関数、値などはモジュール化して掃き出しておきたいことがあると思います。 Node.js では module を使うことでそうしたことが実現できます。 ここでは、 module の具体的な作成方法と利用方法についてまとめます。 目次 基本的な使い方 サンプルコード 複数メソッドのモジュール化 単一オブジェクトのモジュール化 [補足] module の 読み込み 読み込み順 キャッシュ 基本的な使い方 module の 作成 module は 1ファイル として切り出して作成します。 作成したファイルにおいて module.exports にモジュール化したいオブジェクトや関数を設定することで modu ...