You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
概要 かつてはfor文初期化句で宣言された変数は、for文の直前で宣言されたように振舞っていたが、各ループでスコープを引きづらないように仕様が変更され、V8も追従した。 例 for (let i = 0; i < 5; i++) { ~~~ } これは今までは次のコードと等価だった。 { let i = 0 for (; i < 5; i++) { ~~~ } } つまりfor文中で関数を定義するとこうなっていた。 let funs = [] for (let i = 0; i < 5; i++) { funs.push(function () { return i }) } funs.map(function (fun) { return fun() }) // [5,5,5,5,5] この結果が[0,1,2,3,4]になるのが今回の変更である。 つまり一番最初のコードはこれと等価になる
Chrome には Canvas API の発行状況を可視化してくれる Canvas Profiles が搭載されています(1年ぐらい前からありました)。 これは特定の業種の人(特にCreate.jsとかPexJSを使ってる方々)にとっては神の如きツールであり、知らないと勿体ないのでシェアしますね。 ユースケース (つ◇⊂) 「Canvas のページが重いよ〜 ドラえもん〜」 (ε・◇・)っ はい、Canvas プロファイラー (つ◇⊂) 「描画が崩れる原因がわかんないよ〜 ドラえもん〜」 (ε・◇・)っ はい、Canvas プロファイラー です。 おまけ 機能自体は去年の7月ぐらいから利用可能で、その間にUIが何度かマイナーチェンジしていますね。 あと、プロファイルデータを右クリックすると Load 機能はあるけど Save 機能がないので、 Google Dev Summit 2013
Contributing The best way to get started is to read through the Getting Started and Example sections before having a look through the open issues. Some of the issues are marked as good first bug, but feel free to contribute to any of the issues there, or open a new one if the thing you want to work on isn't there yet. Once you've done some hacking and you'd like to have your work merged, you'll ne
このエントリはFrontrend Advent Calendar 2013 23日目の記事です。 2014/03/16追記 WebRTC-DataChannelについてもエントリ書きました。↓からどうぞ。 WebRTC-DataChannel使ってみたよ WebRTCを仕組みの理解から実装まで Advent Calendarを書くということでなんか新しいことやったほうがいいかなーって思ってたので、今回はWebRTCを調べてみました。 調べながらだったので間違っている箇所もあるかもですが、専門家の方のツッコミあれば歓迎です。 先に作ったサンプルデモを触りたい方は以下のアドレスからどうぞ。 WebRTC Video Chat Sample ※接続名は同時にアクセスしている方全員から見えますのでご注意ください!接続依頼が来た際にはダイアログが出るようにしてますが、安易に応答すると知らない人とつな
WebRTCに触ってみたいエンジニア必見!手動でWebRTC通信をつなげてみよう がねこまさし(インフォコム株式会社) こんにちは! がねこまさしです。前回はWebRTCでカメラを使いましたが、今回は通信をしてみましょう。 ※こちらの記事は2014年に書かれました。2016年6月のアップデート記事がありますので、そちらもご参照ください。 WebRTCの通信はどうなっているの? WebRTCでは、映像や音声などリアルタイムに取得されたデータ(バイトストリーム)を、ブラウザ間で送受信することができます。それを司るのが RTCPeerConnection です。 RTCPeerConnectionには2つの特徴があります。 Peer-to-Peer(P2P)の通信 → ブラウザとブラウザの間で直接通信する UDP/IPを使用 → TCP/IPのようにパケットの到着は保障しないが、オーバーヘッドが
name 値を設定する属性名を指定する文字列です。HTML 文書内の HTML 要素で setAttribute() を呼び出すと、属性名は自動的にすべて小文字に変換されます。 value 属性に割り当てる値を含む文字列です。文字列以外の値が指定された場合は、自動的に文字列に変換されます。 論理属性は要素に存在すれば true とみなされます。value には、空文字列または属性名を、前後にホワイトスペースを置かずに指定してください。実践的ななデモは以下の例を参照してください。 指定された value は文字列に変換されるため、null を指定しても必ずしも期待通りになるとは限りません。属性を削除したり、その値を null に設定する代わりに、属性の値を文字列 "null" に設定します。属性を削除したい場合は、removeAttribute()を呼び出してください。
便利なツール Bash-Completion Windowsでは上記のようにデフォルトで表示されているbranch名。これがないと結構、今いるブランチを見失う。 これをOSX他でサポートする為のもの。 参考: http://d.hatena.ne.jp/deeeki/20110402/git_branch_ps1 git-completion.bash 補完機能がないとタイポしまくります。補完機能入れましょう。 参考: http://git-scm.com/book/ja/Git-%E3%81%AE%E5%9F%BA%E6%9C%AC-%E3%83%92%E3%83%B3%E3%83%88%E3%81%A8%E8%A3%8F%E6%8A%80 git-new-workdir 他のbranchの同時作業のお供に。 git cloneなんてする必要がなくなるそうです。 参考: http://s
「プログラムでシダを描画する」をGoで描画する - Qiita Clojure - プログラムでシダを描画する - Qiita 「プログラムでシダを描画する」をPythonで描画する - Qiita 「プログラムでシダを描画する」をJavaScript+Canvasで描画する - Qiita 「プログラムでシダを描画する」をPHPで描画する - Qiita 「プログラムでシダを描画する」をEmacs Lispで描画する - Qiita ちょっと流行に乗り遅れましたが、自分もシダを描画してみました。 今更ただ描画しても面白くないかなーと思い、Vue.jsを使って各種パラメータをいじれるようにしてみました。 なお好みによりjadeとcoffeescript使ってます。 JSFiddle #app canvas#preview(v-attr="width: width, height: heig
DataChannel API使ってみたよ 前回と前々回でメディア接続とSTUNサーバ構築までできたので、DataChannel APIも試してみました。 個人的には一番使いたかったAPIですね。うまく使えばWebSocketに変わる便利な仕組みになるかも。 なお、peer接続などは前回のエントリを参考にしてください。 WebRTCを仕組みから実装までやってみる DataChannel APIとは peerの接続を利用して、ファイルなどのデータを直接送受信できるAPIです。P2Pらしいことができますね。 DataChannelはRTCPeerConnectionクラスのインスタンスメソッドとして定義されていて、 var peer = new webkitRTCPeerConnection(setting); var dataChannel = peer.createDataChannel(
WebRTCとは WebRTCは、Web Real-Time Communicationの略で、WebブラウザだけでJavaScript APIを介してリアルタイムコミュニケーション機能を実現するためのAPIです。WebRTCでは、P2Pのコネクション確立からデータ通信を行うための仕様が定義されています。 よって、WebRTCを使うとプラグイン無しで、双方向のリアルタイムコミュニケーション機能を必要とするコンテンツが容易に開発できます。 現状は、W3Cでドラフトが公開されています。http://www.w3.org/TR/webrtc/ WebRTCはいくつかの関連するAPIがあります。その中には、前回紹介したMedia Stream APIも含まれます。 まだドラフトなのでWebRTCに対応ブラウザは、下記のようになっています。 PC Google Chrome 23 Mozilla F
これは Git (や Subversion などのバージョン管理システム) にコミットする時により良いコミットメッセージを書くための提言です。この提言は特にメッセージの一行目だけを対象とします。せめて最も重要な一行目だけでも良いメッセージを書いて欲しいからです。提言をズバリ一言で表すと 一行目には要求仕様を書け です。 背景 プロジェクトによっていろいろ慣習の差はあるものの、一般的には「コミットメッセージの一行目は変更内容の要約を簡潔に書け」とされます。特に Git は、各コミットメッセージの一行目だけを取り出してそれを一覧表示するなど、一行目を特別に処理する機能が多いので、一行目にできるだけ多くの情報を凝縮させることは重要です。またメッセージを一行しか書かない不届きな慣習のプロジェクトでは、十分な情報を持たないメッセージは無用の長物と化します。 良くないコミットメッセージ しかし私は、情
Flashの文字列処理の方法が適切でないために、 適切にXSS対策が施されたFlashファイル上でもXSSを引き起こせる場合があった問題について書きます。 この問題は以下に掲載されているように、 2014年4月のFlash Playerのアップデートで修正されました。 http://helpx.adobe.com/security/products/flash-player/apsb14-09.html These updates resolve a cross-site-scripting vulnerability (CVE-2014-0509). 本問題は、 このブログでも何度か取り上げた ExternalInterface.call() の問題に関係するものです。取り上げたのはこの辺の記事です: Flash動画プレイヤー「ふらだんす」に存在したXSSから学ぶ、FlashのXSS3パ
SourceTreeの使い方 - 初心者が習得すべき基本操作(diff, stash, tag, revert, cherry-pick) GitクライアントのSourceTreeソースツリーは無料で使えるGitアプリケーションとして人気があります。「SourceTreeの基本的な使い方はバッチリ! だけど、まだまだ使っていない機能があるなぁ」なんて人も多いのではないでしょうか? そんな人へオススメの知っておくと便利な機能を5つ紹介します。 ※本記事は2024年4月現在のmacOS 14.4.1、SourceTree 4.2.7で解説しています。Windows版のSourceTreeでも同じ手順で利用できます。 はじめに - SourceTreeとは? SourceTreeはGit / MercurialのGUIクライアントで、Atlassian社から無償で提供されています。Windows
鈴木 「出産についてです。 手術で赤ちゃんを取り出す『帝王切開』。 近年、増加しています。 こちらのグラフにもありますように、帝王切開で出産する女性の割合は、この20年でおよそ2倍に増えていて、今や赤ちゃんの5人に1人が『帝王切開』で産まれてきています。」 阿部 「『帝王切開』は、母親やおなかの赤ちゃんを救うために行われる大切な医療行為です。 しかし、経験した女性たちの中には、お産によって心の傷を受けている人が、少なからずいることが分かってきました。」 東京都内の大学病院です。 ひと月およそ100件の出産を取り扱っています。 そのうち帝王切開が、およそ4分の1に上ります。 この日も、朝から2人の女性の帝王切開が行われました。 帝王切開が増加している背景には、女性の出産年齢の上昇に伴って、分べん時間が長引いたり、医療技術の進歩で、妊娠中に、母親とおなかの赤ちゃんの状態が詳しく分かるようになり
Socket.IO 1.0がリリースアウトされました。Socket.IO v1.0が出るといわれてから一年半以上経過しましたが、やっと出ました。Node.jsに関わる方であれば一度はお世話になっていると思います。今回はSocket.IO 1.0の紹介を作者であるGuillermo Rauchがしているので、それを日本語で翻訳して紹介します。 TL;DR 翻訳していたらすごく面白かったのですが、文字だらけですごく長くなってしまったので、最初と最後にまとめを載せました。興味があれば全部目を通してみてください。 モジュール分割が進み、新しくEngine.IOが作られています。これはSocket.IOのトランスポート層のプロトコルを調律する役割を担っているライブラリです。 Engine.IOが行っている処理の一つで、最初に接続できる可能性が高いXHRやJSONPで確立し、websocketにupg
ランバートシェーディング(Lambert shading) ランバートの法則に従ったシェーディング方法で拡散反射光(Diffuse light)を計算するのに使われます。 これは、太陽光が真上から当たり場合が最強として1、斜めになるにつれて暗くなり(1〜0の間)、真横から下方は真っ暗(つまり0)といった状態のシミュレーションができます。その値は、面の法線ベクトルNに対して、光の向きベクトルの逆向きベクトルLとの間の角度のcos値でシミュレートできます。また、2つのベクトルの内積値は、 N・L = |N|・|L| * cos θ ですので、2つのベクトルが正規化されていて大きさが1であれば、内積値とcos値は同じになります。 つまり、次の式で面上のある点の光の明るさを決定することができます。 実際には、これに材質を表すマテリアルの色およびライトの色を掛けて最終的な色を決定します。 頂点シェー
この投稿は「Node.js入門」の著者の一人である、shigeki@githubさんが師範となり開催された「Node.js道場」での鍛錬の模様を記したものです。 目次的なもの 序の段 弐の段:前編 弐の段:後編 <- イマココ! Node らしい繰り返し処理 ノンブロッキングI/Oで鳴らした俺たち Node.js は、 癌診断され当局に dis られたが、 病院を脱出し電脳世界にダイブした。 しかし、電脳世界でくすぶってるような俺たちじゃあない。 npmで追加さえすりゃモジュール次第で なんでもやってのける命知らず、 不可能を可能にし、大量のリクエストを処理する、 俺たち非同期野郎Nodeチーム ※Node is NOT a Cancer※ なお、Node.jsは2009年2月16日生まれの「みずがめ座」なので 「蟹座(Cancer)」ではないと、師範から教えていただきました 前回の続きで
Promise オブジェクトは、非同期処理の完了(もしくは失敗)の結果およびその結果の値を表します。 プロミスの挙動と使用法について学ぶには、最初にプロミスの使用をお読みください。 プロミス (Promise) は、作成された時点では分からなくてもよい値へのプロキシーです。非同期のアクションの成功値または失敗理由にハンドラーを結びつけることができます。これにより、非同期メソッドは結果の値を返す代わりに、未来のある時点で値を提供するプロミスを返すことで、同期メソッドと同じように値を返すことができるようになります。 Promise の状態は以下のいずれかとなります。 待機 (pending): 初期状態。成功も失敗もしていません。 履行 (fulfilled): 処理が成功して完了したことを意味します。 拒否 (rejected): 処理が失敗したことを意味します。 待機状態のプロミスの 最終
In Visual Studio 2022 17.10 Preview 2, we’ve introduced some UX updates and usability improvements to the Connection Manager. With these updates we provide a more seamless experience when connecting to remote systems and/or debugging failed connections. Please install the latest Preview to try it out. Read on to learn what the Connection ...
tl;dr サンプルコードを付けたら記事がかなり長くなってしまったのでご注意下さい。 Node.jsの current master で V8がアップデートされ ES6の Promise が使えるようになりました(要オプションですが)。Promise を使うと Node.jsの非同期処理がどのようになるのか、Stream と Promise を組み合わせた使い方なども含めて紹介します。 1. はじめに Nodeの次期安定版 v0.12は、すぐ出ると言われながら既に v0.10のリリースから1年が過ぎてしまいました。 現在、v0.12の主要な新機能の実装は完了していますが、まだ安定版のリリースに向けて手当できていない部分が残っている感じです。そんな残っている部分の一つだった V8 のアップデートが先週末に行われました。 deps: update v8 to 3.24.40 (3/19現在は
DIO様「今までに打ち込んだキーの数を覚えているのか?」 俺氏「ログあります!✧\\٩(‘ω’)و //✧」 DIO様「URYYYYYYYYY!!!!!!!!」 という事をしたかったので調査した。ライフログの一環です。 ポイント ApplicationServicesを使う。 イベントハンドラを書く。 イベントログをハンドルするには管理者権限が必要っぽい。 (脱線: ちなみにLinuxでは/dev/input/あたりで取れるらしい。) サンプルコード 動作: キー押下イベントをハンドルして標準出力にタイムスタンプと共にキーコードを出力する。 // This program is a simple implementation of a key logger for OS X. // This key loggger requires sudo and outputs key codes a
概要 前回作成したCで作るOSXのキーロガーで記録したログを時系列で表示してみる。 ログの形式 前回作成したキーロガーでは以下のようにタイムスタンプと押下されたキーコードのログが出力される。 $ head -n 5 keystrokes.log 1401328736 124 1401328737 125 1401328737 44 1401328737 44 1401328738 1 require 'date' class Rank attr_reader :time def initialize(time) @time = time end def to_s @time.strftime("%Y-%m-%d %H:%M") end def hash @hash ||= to_s.hash end def eql?(other) self.hash == other.hash end e
The first version of Socket.IO was created shortly after Node.JS made its first appearance. I had been looking for a framework that easily enabled me to push data from a server to a client for a long time, and even had tried other approaches to server-side JavaScript. At the time, the main focus was on an interface equivalent to the upcoming WebSocket API that was in the process of standardization
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く