2019-01-01から1年間の記事一覧

AssemblyScriptを使ってTypeScriptをWebAssemblyにコンパイルする

今回は、AssemblyScript を使って TypeScript(.ts)を WebAssembly(.wasm)にコンパイルし、それを Node.js で実行するやり方について紹介します。 最初に結論を言っておきます。Gaussの消去法で連立一次方程式を解くプログラムを使って、C から生成した W…

WebAssembly Studio でコンパイルする手順

WebAssembly Studio は Web上で WebAssembly の開発(デバッグ、コンパイル、実行)が行える IDE です。 ここでは、WebAssembly Studio を使って、C(.c)と TypeScript(.ts)で作成した関数を WebAssembly(.wasm)にコンパイルし、それらをブラウザ上の J…

Node.js+Express+Socket.IO入門

Socket.IO を使うと双方向の非同期通信が可能になります。今回はその入門編ということで、HTML の input 要素に入力した文字列をサーバに送信し、それをサーバで受信し、そのデータを再びクライアントに送信するプログラムを作成したので紹介します。Express…

AjaxとNode.js+Expressの連携

今回は、HTML の input 要素に二つの数値を入力し、それらを POST でサーバに送信し、Node.js + Express で受け取って、それらの加算を行い、その結果をクライアントに返すプログラムを紹介します。とても簡単です^^ ♦ Express のインストール(Windows) …

JavaScript:ドラッグ&ドロップでファイルを読み込む方法

テキストファイルをテキストエリアにドラッグ&ドロップすると、ファイルの内容がテキストエリアに表示されます。 以下のテキストエリアで試すことができます。(Shift_JIS 以外でエンコードされていると文字化けするので注意してください) 〈テキストエリ…

JavaScript:文字列をファイルに保存する(書き込む)方法

Blob(binary large object)と a 要素を使って文字列(テキストデータ)をファイルに保存する関数 saveAsText を作成したので紹介します。もっと簡単な方法、readAsText があるのだから writeAsText のような関数もあるのではないかと世界中を探したのです…

Swift:正規表現による文字列の抽出と置換

ここでは正規表現を使って、含有(include)、抽出(extractAll)、置換(replaceAll)を行う関数を紹介します。 これらの関数は、このページ末尾の“参考サイト”から集めてきたものです。尚、関数名や引数名は変えています。 また、関数 replaceAllByRule は…

C++:多態性と関数の多重定義

ここではC++による多態性と関数の多重定義の例を紹介します。多態性はオブジェクト指向プログラミングにおける素晴らしい技法の一つです。多態性を利用すると同じ関数名でオブジェクトに応じたオブジェクトの操作が可能になります。一方、多態性が利用できな…

Swift:多次元配列

Swiftによる多次元配列(multidimensional array)の作り方です。 以下のプログラムで、a1, a2, a3 は空配列(empty array)による初期化、b1, b2, b3 は要素数と初期値を指定した初期化です。 multidimensional_array.swift let n1 = 2 let n2 = 3 let n3 =…