欠陥を早期に発見するための Software Engineer in Test とその重要性 / What is Software Engineer in Test and How they works

postMessage で、HTML-IFRAME 間のメッセージ通信するネタは、ググればたくさん出てくる状況なんだけど、 1つのJavaScriptライブラリを読ませるだけで通信できる方法を考えた。 結論を先に書くと、postMessage のアスタリスク・メッセージングは、仕様上、非推奨ということだけど、たぶんこれは WebWorker 環境も考慮しての表現。popupやiframeでのアスタリスク・メッセージングはダメ。絶対にダメ。 まず、HTML(test_PostMessage.html)。 先に特徴; ブラウザの window のフレームで top に表示されることが条件。 IFRAMEは動的生成するので、IFRAMEに表示させたいHTMLとそのURLだけ、きっちり押さえます。 ちなみに、CSPで禁止できますので、確実に動作するわけではないこともポイント。 <!doctype
Chrome devtools でイベント監視 いろいろなJavaScriptプラグインを使っていると イベントの伝播を止めてしまうような動作をするものを使ってしまうことがあります。 function を割り当てたいイベントが止められていると厄介です。 代用できるイベントが生き残っていればそちらを使ってしまいたいです。 そんな時、どんなイベントが発生しているのかは Chrome devtools のmonitorEvents で確認することができます。 https://developer.chrome.com/devtools/docs/commandline-api#monitoreventsobject-events 第一引数で監視対象、第二引数でイベントを指定します。 monitorEvents(window, "resize"); イベントの指定はイベント名だけでなく、"mouse
angular.module('Ninja', []) .directive('ninjaCustomer', function() { return { templateUrl: 'partials/ninja-customer.html' }; }); こんだけなので、まあどってことない。これだけなら ng-include のほうがラクでいいやんってことになるかな。でもまあ、とりあえずこんだけしか書かなくても directive として動作するのかってことを見ておく。 要素として使う Directive としたければ デフォルトでは属性(restrict: 'A')として使う directive として作られる。なので、要素として HTML で指定する directive にしたければ、restrict オプションが必要になる。
こんにちは。Tokyo Otaku Mode エンジニアの重岡です。 本ブログを読んだことがある方々は既にご存知かもしれませんが、Tokyo Otaku Modeでは otakumode.com に Node.js と MongoDB を採用しています。フレームワークには Node.js 製の Express.js (3系) を使っています。Express.js は Ruby の Sinatra や Python の Flask と同じような MicroFramework なので、必要な機能は npm で module をインストールする、もしくは自分で Express.js の機能を拡張します。 今回は Express.js に機能拡張した一例として res.render を otakumode.com 向けに使いやすく改良した手順をご紹介します。 View 出力時の共通処理をまとめたい
クロージャはわかりづらい。 なんでかと言うと、以下の2つです。 名前 定義がよくわからない Wikipediaさんなんかで調べると。 クロージャ(クロージャー、英: closure)、関数閉包はプログラミング言語における関数オブジェクトの一種。いくつかの言語ではラムダ式や無名関数で実現している。 関数閉包!! 関数閉包、意味不明すぎる。なんかこの字面が意味分からなくしようとしているような気配すら感じる。(とはいえ、じゃあどんな名前が良いかと言えば、わかりませんし。それに一般的には「クロージャ」で通っていますから、別にいいのですが。) 関数ヘイホウってなに?初めてクロージャを学ぶような僕は、もう、むしろ笑えます。ちなみに、その先の**「関数オブジェクトの一種」とか「ラムダ式」**なんかも知りません。 けど、JavaScriptのクロージャの事例は、とても分かりやすい。 関数の中に関数がありま
概要 分散ハッシュテーブルの実装の一つである Chord を WebRTC を用いて実装しました。 tsujio/webrtc-chord - GitHub Chord とは Chord は分散ハッシュテーブル (DHT: Distributed Hash Table) の実装の一つです。 分散ハッシュテーブルはその名の通りハッシュテーブルを分散して管理するものであり、P2P においては例えばファイル共有ソフトで「あるファイルを提供しているノードはどれか」といった情報をピア間で分散管理し高速に検索できるようにする用途で利用されています。 Chord の解説としては以下のスライドが分かりやすいです。 ChordアルゴリズムによるDHT入門 webrtc-chord その分散ハッシュテーブルの実装の一つである Chord を、Web ブラウザー間で P2P 通信を行う機能を持つ WebRTC
それほど新しい話題でもないが、FacebookがReact | A JavaScript library for building user interfacesというDOMを抽象化したようなView操作のライブラリをリリースした。 Githubが出してるエディタのAtomが実験的にReactを採用したり、Instagramが採用していたり、エディタでReactのシンタックスがサポートされ始めたり、海外では実際に使われはじめていて、実際に使ってみたら思いのほか使いやすかったので、簡単に使い方を書いていこうと思う。 まず、ReactにはJSXという、htmlをJS内で書ける言語がある。オプショナルなものだが、使ったほうがコードが綺麗になるので、この記事では使っていく。下記コードはEdit fiddle - JSFiddleなどでコンパイルなしにそのままテストできるので、適当にコピーしながら確
This posts looks beyond everyday usage of JavaScript’s objects. The fundamentals of JavaScripts objects are for the most part about as simple as using JSON notation. However, JavaScript also provides sophisticated tools to create objects in interesting and useful ways, many of which are now available in the latest versions of modern browsers. The last two topics I talk about, Proxy and Symbol, are
This episode covers EmberJS 1.7 Metal Views, Problems with HTML Imports, Angular 2.0 Router, WebODF and blazing speed with ASM.js Listen to this episode on 5 Minutes of JavaScript Sponsored by JavaScript Best Practices Play Code School's newest course, JavaScript Best Practices, and learn to become a more informed, conscientious user of JavaScript. Explore time-tested, useful techniques that will
追記:冷静になるとこの記事なんか変なので、あとで修正します。参照しないように。 forやめろ -- LL Diver 2014 LT枠 forを使わないループ、簡単な例はみんな思いつくからいいとして、一番ややこしいやつ考えてたんだけど、やっぱり無駄にPromise酷使する例だと思った。 追記:この例はちょっとミスってた。正しいコードを末尾に載せる CoffeeScript # Serialized Sync Promise [1..100] .map (i) -> new Promise (d) -> console.log i; d() .reduce ((l, p) -> l.then p), Promise.resolve() JavaScript (function() { _results = []; for (_i = 1; _i <= 100; _i++){ _results
Full Name Comment goes here. 12 hours ago Reply Edit Delete Spam Block JavaScriptは本当にLLなのか? Presentation Transcript “JavaScript” がライトウェイト言語として 扱われていると聞いて LL Diver(ライトニングトーク) - 2014.08.18 私は、耳を疑ったのです。 JSへの愛が強すぎて辛い 他のセッションと内容が めちゃくちゃ被ってるので つい1時間前に書きかえました。 川田 寛 はじめましての方は、はじめまして と、申します。 @kawada_hiroshi html5jエンタープライズ部 部長 (HN:ふろしき) Web技術関連の記事とか いろいろと、執筆しています。 色々あって、先日ハンズラボの長谷川さんと 恵比寿で飲んでました。 LTで時間守れないよ
Node.jsを触って勉強してたらWebサイトができました。 結婚式の余興.jp - 結婚式の余興を考えるときに参考になる動画を集めました Youtubeから結婚式の余興の動画を集めてくるサイトです。Web開発は初めてだったので、つくった流れや勉強の方法などをまとめてみます。 9/14追記)スマホ対応をやりました! 普段はiOSアプリを書いています 普段はiOSアプリ開発者をやっていて、仕事と趣味でObjective-Cを書いてます。とても楽しくて2年くらい続けてるのですが、サーバーサイド書けたら幅が広がっていいな、とずっと思ってました。 普段の週末は個人アプリを作ったりしてるのですが、夏休みだし新しいことやろうと思ってNode.jsを触ってみました。 つくったもの 結婚式の余興.jp - 結婚式の余興を考えるときに参考になる動画を集めました 結婚式の余興動画がまとまっていて、だら見できる
ai_undoSetter.jsx.zip こちらのスクリプトをイラレさんのファイルメーニュー→スクリプト→その他のスクリプト...ってメニュー項目から走らせて下さい。単純にプロンプトがでますから整数値を入れてOKするだけです。ただし、この設定は次回起動時から有効となります。 では、解説を var num = prompt ("アンドゥ何回できるようにする???", 200, "Undo回数を設定してみよう!"); app.preferences.setIntegerPreference("maxUndoDepth",num); app.preferences.setIntegerPreference("undoDepth",num); この様にプレファレンス項目は2つあります。なぜこんなややこしい事になっているかは置いておいて両方に同じ設定をしてあげればよいのです。昔みたいに1回とかにす
本連載は、テストコードをこれから書こうと考えているJavaScript技術者を対象に、テストコードの意義からテスト駆動開発、JavaScriptでのテストコードの書き方、継続的インテグレーションなど、テスト全般にわたって解説します。また、原理原則だけでなくWhyから説明し、チームメンバーを巻き込みながら開発現場に活かせる考え方を総合的に解説します。第5回目の本稿は、JavaScriptのクロスブラウザのテスト方法をjs-test-driverを使って説明します。 対象読者 JavaScriptの基本をある程度理解している方 テストコードをこれから書こうと考えている方 複数のブラウザでのJavaScriptのテスト 前回までは、主にテストコードの書き方について説明してきました。今回からは、テストの実行環境についての説明をします。 JavaScriptの実行環境は、クライアントサイドはブラウザ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く