注意:この記事は古いです。2016年06月06日に書いた記事です。 2017/04/14 追記: Chrome59から正式にヘッドレスモードが搭載されます。 ヘッドレスモードではPhantomJSなどのようにJavaScriptでヘッドレスブラウザを制御することも可能です。 https://chromium.googlesource.com/chromium/src/+/master/headless/ 2017/06/07 追記: NightmareJS風に操作できるライブラリをリリースしています。 ヘッドレスChromeをもっとも簡単に操作できると思われるNightmareJS風ライブラリ http://qiita.com/devneko/items/3689b46fc2bcdb8121a8 先日、Googleの人が「Headless Chrome is coming so soon」
はじめに この記事は、WebRTCもくもく会 at ヒカリエ の発表用です。 手動シグナリング WebRTCではP2P通信を始めるために手続きが必要 Offer SDP / Answer SDP を交換 この過程がシグナリング 手動で行うことも可能 手動でWebRTCの通信をつなげよう SDPを手で変更してみる 推奨されていないが、SDPを直接編集することで、通信の条件を変更できる 将来的には、SDPを触らずに、パラメータ指定で変えられるようになるはず デモページ https://mganeko.github.io/webrtcexpjp/basic2016/hand_signaling_modify.html 手順 Offer側 createOffer Offer SDP編集 setLocalDescription Offer SDPを送信(コピー) Answer側 Offer SDPを
現在はその仕様策定が固まり、ブラウザへの実装も済み、リリースを待つばかりです。またコンパイラへの実装も進んでいます。特にBinaryen(後述します)への最適化処理の実装のおかげで、asm.jsより高速に実行できるようになりました。 下記のグラフ(MozillaのHacksブログより引用)はasm.jsとWASMの速度を比較したものです。値はネイティブの実行スピードに対する相対的な速度を表していて、1に近づけは近づくほどネイティブに近いスピードで動いていることを表しています。Bulletを除く全てのベンチマークでasm.jsより高速に動いています。これはコンパイラの行う最適化処理のおかげです。 この評価は2016年10月末の時点に、Intel Core i7-2600 @ 3.40GHzで動作するLinux版 64-bit Firefox 52 (Nightly)で計測されました。現在は最
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~ 2019/9/25-6に開催されたUnite Tokyo 2019の講演スライドです。 小端 みより(株式会社ミクシィ) こんな人におすすめ ・Unityでより本格的なマルチプレイのゲームを作りたい方 ・そもそも通信や同期処理ってどうやって実装するの?という方 受講者が得られる知見 ・Unityで専用サーバを開発するメリットやその方法 ・Unityでサーバとクライアントを同時に開発するテクニック ・通信に関する知識、専用サーバを運用する方法 Unityのイベント資料はこちらから: https://www.slideshare.net/UnityTechnologiesJapan/clipboards
はじめに Electronをご存知でしょうか. Electron(旧称: Atom-Shell)は, Atomエディタを開発するために生まれたクロスプラットフォームデスクトップアプリケーションエンジンです. Node.js + Chromiumをランタイムとしており, Atomだけでなく, Slackや先日のBuildで発表されて話題となったVisualStudio CodeもElectronで実装されています. いわゆるWeb系の技術, Node.js + HTML + CSSでアプリケーションを作成できるのが特徴です. 類似した思想のフレームワークとして, node-webkit(NW.js)もありますが, アプリケーションのエントリポイントの考え方等が異なります. このエントリでは, Electronの使い方をサンプルアプリを実装しながら説明していきます. お題 このエントリのお題と
オープンソースのjQueryライブラリはWeb開発の現場において何年もの間不動の地位についていました。 JavaScriptのことを深く理解していなくとも、オブジェクト指向で分かりやすい構文、豊富な外部プラグイン、加えてAjaxなどの非同期通信も簡単に扱うことができたのが、その人気の理由です。 JavaScriptを用いた開発現場ではいまもなお人気のjQueryですが、ここに来て新たなJavaScriptライブラリが注目を集めています。 それが、Umbrellaです。 UmbrellaはjQueryと同様に完全オープンソースで、jQueryと同じく要素セレクタを扱うことができたり、DOM操作ができたり、Ajaxリクエストを行うことができます。 また、UmbrellaはjQueryと若干異なる文法や関数の呼び出し方を採用していますが、基本的に残りの部分はほとんどjQueryと一緒です。 それ
スマートフォンアプリではおなじみのプッシュ通知。 実は、Webブラウザからもできることをご存知でしょうか。 JavaScriptの*「Web Notification API」*というプッシュ通知を制御するAPIを使うことで、モバイルだけでなくデスクトップにもWebサイト経由でプッシュ通知ができるようになります。 しかし、モダンブラウザの多くがサポートを始めている一方で、まだ利用したことがないひとも多いのではないでしょうか。 今回は、Web Notification APIを簡単に扱うことができるPush.jsを使って、簡単にブラウザ通知を実装する方法をご紹介します。 プッシュ通知とは? これまでは、ホームページの更新を通知する方法としてはRSSやメールなどを利用している人が多かったのではないでしょうか。 しかし、RSSはRSSリーダーに登録する手間が必要で、メールでもメールアドレスをユー
Implementation Status This document shows the implementation status of Web Bluetooth on the different browsers. Chrome Work is in progress: Know How to file Web Bluetooth Bugs. In Android, Chrome OS, Mac and Windows, the GATT Communication API is shipped without any flag. Linux is partially implemented and not supported. The chrome://flags/#enable-experimental-web-platform-features flag must be en
3Dのゲームを作るなら、3Dの知識が必要。でもCSSを応用してJavaScriptと組み合わせれば、マインクラフト風の3D表現ができるかも……? 個人的には3Dゲームを構築したいとずっと思っていましたが、複雑な3Dプログラミングを学ぶ時間とエネルギーがありませんでした。しかし後に、学ぶ必要はないと分かったのです。 ある日あれこれ操作していたら、CSS変形(transform)を使えば3D環境をシミュレートできるのでは? と考えるようになりました。そして、HTMLとCSSを使って3Dの世界を作成する古い記事に出会ったのです。 そこで私は、Minecraft(マインクラフト)の世界(あるいは少なくともそのごく一部)をシミュレートしたいと思いました。Minecraftはブロックの破壊や設置ができるサンドボックスゲームです。私は同じような機能がほしいと思いました。それも、HTML、JavaScri
目次 2019年追記 はじめに クラス実現のために必要な JavaScript の言語仕様 function this call new 演算子 prototype チェーン プロパティ: prototype Google Closure 流のクラスの実現方法の概要 クラスの宣言とコンストラクタの定義 メンバ変数 (インスタンス変数) メソッド定義と呼び出し private, protected 継承 プロトタイプチェーンを利用してメソッドを親クラスから引き継ぐ 親クラスのコンストラクタの呼び出し メソッドオーバーライドと親クラスのメソッドの呼び出し 多重継承 abstract, interface inherits の実際のコード 良くないクラス実現方法 ES6 のクラス 2019年追記 この記事ではclassが導入されたES6以前のJavaScriptでどのようにクラスに相当するものを
JavaScriptでWEBプログラミングをしていると、同期処理、非同期処理が混じるのでややこしい。 例えば、同期処理が三つ続く場合だと、順番に処理が進む。 これは普通の処理だ。 一方、非同期処理が混じると、処理1から実行された非同期処理2が実行中にもかかわらず同期処理3に行ってしまう。 まあ、これで問題ない場合もあるが、同期処理3が非同期処理2の結果を利用する場合には、これでは問題が起こる。 つまり、同期処理3を開始する時点で、非同期処理2が完了している事が保証されないからだ。 この記事ではJavaScriptのPromiseの機能を使って非同期処理の完了を待ってから次の同期処理を実行する手法を紹介したい。 同期処理が非同期処理の結果を使う典型的な例 例えば、以下のようなhtmlだと [クリック] ボタンが表示される。 <button onclick="func1()">クリック</bu
Bootbox provides three functions, alert(), confirm(), and prompt(), whose aim is to mimic their native JavaScript equivalents. Here's the simplest possible example: bootbox.alert("Hello world!"); Run example <!-- set up the modal to start hidden and fade in and out --> <div id="myModal" class="modal fade"> <div class="modal-dialog"> <div class="modal-content"> <!-- dialog body --> <div class="moda
ビジュアルプログラミングの多くはノードがあり、それらをマウスでくっつけて処理を繋げていきます。各ノードには機能があり、必要に応じて処理判定を行うノード、繰り返し処理を行うノードを選択します。 そういったビジュアル化された環境を提供するのがNEditorJSです。工夫次第で様々な使い方が考えられるでしょう。 NEditorJSの使い方 NEditorJSのメイン画面です。 ノードはマウスで接続できます。 実際に操作しているところです。 NEditorJSでは、まずアウトプット側の黒丸をクリックして、その後インプット側の黒丸をクリックします。自動的に線が伸びていくので分かりやすいでしょう。ノードはマウスでドラッグ&ドロップできます。 ユーザ向けにビジュアルプログラミング環境やデータ処理環境を提供する際に使えそうです。NEditorJSはHTML5/JavaScript製のオープンソース・ソフト
ユーザテストでユーザの視線がどこに移動しているのかチェックするのは必要です。ただし、アイトラッキングシステムを使うのはとても複雑ですし、コストもかかります。手軽にするため、マウスのトラッキングで済ましてしまっているケースもあります。 そこで使ってみたいのがWebGazer.jsです。JavaScriptとWebカムを組み合わせてアイトラッキングを実現しています。 WebGazer.jsの使い方 使っているところ。顔が認識されているのが分かります。 目線をオレンジのボールに持っていくらしいのですが…なかなか思い通りには動きません。 WebGazer.jsの精度はまだまだ実用レベルではないですが、Webカメラを使うことで視線の動きが追えればアイトラッキングシステムを手軽に使えるようになるでしょう。テストはもちろん、視線を使った情報入力などにも応用できそうです。 WebGazer.jsはHTML
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く