読者です 読者をやめる 読者になる 読者になる

BppLOG

Berlin → Tokyo

nightwatch.jsで"Error retrieving a new session from the selenium server"が出る時の対処法

nightwatch.js でテストを実行しようとするとエラーが出るようになってしまっていました。

WebBluetoothAPIでAsync/Awaitが利用可能に

WebBluetoothでは基本的にはPromiseを利用する必要がありますが、Async/Awaitが利用できるようになりました。 これにより可読性の高いコードが書けるようになります。

Javascript(WebGL)で作られたミュージックビデオの完成度がとても高い

WebGLを活用したインタラクティブなミュージックビデオがとてもカッコよかったので3つご紹介します。 WebGL (Web Graphics Library) は、互換性がある Web ブラウザでプラグインを使用せずにインタラクティブな 3D グラフィックスや 2D グラフィックスをレン…

Elixir/PhoenixのChannelにRaspberry Pi(node.js)から接続してみる

Elixir/Phoenixアプリケーションが動いているサーバにRaspberry PiからWebSocketでの接続をしてみます。 PhoenixにはChannelという便利な機能があるので、今回は特にこのChannelに接続する方法を書いていきます。 Raspberry Piの方はnode.jsから利用します。…

node.jsでサブディレクトリまで一度に作成してくれるmkdirpが便利

node.jsでディレクトリを再帰的に作成してくれるモジュールです。 "mkdir -p"コマンドを実行するのと同じです。インストールは簡単。 npm install mkdirpディレクトリを作成するサンプルです。 const mkdirp = require('mkdirp'); mkdirp('./foo/bar/baz', e…

Web Bluetooth API を使ってBLEデバイスをブラウザから操作する

WebBluetoothAPI を利用すれば、ブラウザからBluetoothLE(BEL)デバイスを操作できるようになります。従来であれば、BLEデバイスを操作するには iOS や Android のアプリケーションを用意する必要がありましたが、 このAPIを利用すれば、javascriptのみでブラ…

WebBluetoothAPIのW3Cドキュメントを翻訳しました

Web Bluetooth API 日本語ドキュメント https://tkybpp.github.io/web-bluetooth-jp/ WebBluetoothAPIとは このAPIは、ブラウザ上からBluetoothLE(BLE)デバイスを操作することが出来るAPIです。

jsでスクリーンショットを比較してデザインデグレの自動検出をする

E2Eテストの自動化にトライしてみました。 今回はUIの細かい挙動のテストではなく、デザインのデグレ検出にフォーカスをしています。Webデザインにおいて1pxへのこだわりは非常に重要です。大規模なサービスになると、1pxの違いで数億円の売上に影響すること…

Node.jsを使って静的コンテンツを表示するHTTP/HTTPSサーバーを用意する

connectモジュールを使えば、簡単にHTTPサーバーを作成できます。 connectはNode.js 向けの拡張可能な HTTP サーバフレームワークです。ミドルウェアと呼ばれるプラグイン機構をつかって HTTP サーバを拡張することが出来ます。 これを包括する形でルーティ…

Node.jsからgitコマンドを実行してコミットログなどを取得する

前回はnode.jsからシェルコマンドを実行する方法を紹介しました。 tkybpp.hatenablog.comこれを利用することで、gitのログなども取得できるようになります。 git logコマンドを実行して最新のコミットIDと日付を取得してみます。 const execSync = require('…

Node.jsからシェルコマンドを実行する

node.jsからシェルコマンドを実行するにはexecを使えば簡単にできます。 const exec = require('child_process').exec; exec('ls -la ./', (err, stdout, stderr) => { if (err) { console.log(err); } console.log(stdout); }); exec関数は非同期関数であり…

nightwatch.jsでHTMLデータを取得してjQueryっぽく操作する

フロントエンドのE2Eテストにnightwatch.jsを利用しています。 nightwatchjs.orgテスト対象画面のHTMLデータを取得する方法が無いかと調べてみたところ sourceメソッド http://nightwatchjs.org/api#source を使えば簡単に取得できるんですね。 browser .url…

javascriptの連想配列の値からキーを取得する方法

このような連想配列のオブジェクトがあり、 "value3"というバリューの値から、"key3"というキーの値を取得する方法。 const obj = { key1: 'value1', key2: 'value2', key3: 'value3', key4: 'value4' }; いくつかの方法で取得できるので書いてみます。(記法…