s = "Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)"; result = s.match( /(.+) [(](.+); (.+); (.+)[)]/ );
サーバーとの通信、HTML5のAPIを使ったアプリケーションの開発に必要不可欠な「非同期処理」について学びましょう。 非同期処理とは背景処理の「非同期」化サーバーとの通信を例に考えてみようPromiseパターン基本的な考え方コードの基本形(1)呼び出した関数がPromiseパターンに従っている場合(2)自分で作成する関数でPromiseパターンを利用したい場合非同期処理の「失敗」の扱い方(1)呼び出した関数の失敗通知を受け取る(2)自分が作成する非同期処理関数で失敗を通知する複数の非同期処理をつなげて順番に行う複数の非同期処理を並列に実行して、全てが完了したら最終処理を行う非同期処理とは背景Webブラウザは基本的に、JavaScriptコードを実行するとき、コードを上から順に1行ずつ実行します。 また、関数を呼び出すと、その関数の実行が終了するまで(return文によって呼び出し元の関数に
はじめに この記事では、関数型プログラミングを強力に後押しするライブラリ、 Underscore.jsとlodashを紹介します。 両ライブラリとも_で使用できます。 ほかのライブラリにも依存せず、 現在フロントでもサーバでもかなり人気なライブラリです。 個人的にもこれなしでは。。 といった必須なライブラリとなっています。 また、Backbone.jsといった人気なフレームワークが、 Underscoreに依存していたりします。 Underscore.js GitHub: https://github.com/jashkenas/underscore Document: http://underscorejs.org/ 和訳: https://github.com/enja-oss/Underscore lodash GitHub: https://github.com/lodash/lo
Index JavaScriptで利用できる正規表現についてまとめました。 最後の後読み、否定後読み以外は利用可能かと思います。 モード修飾子(i,m,g) \n,\r,\u2028,\u2029以外の任意の1文字 空白文字以外( \S ) 数字( \d ) 数字以外( \D ) 先頭( ^ ) 末尾( $ ) 単語区切り( \b ) 単語区切り以外( \B ) 0以上の繰り返し( * ) 1以上の繰り返し( + ) 0または1回( ? ) 最短マッチ( .*? ) nの繰り返し( {n} ) n以上の繰り返し( {n,} ) n以上,m以下の繰り返し( {n,m} ) いずれかの文字( [▲◎■] ) いずれかのパターン( (▲|◎|■) ) 後方参照( \n ) エスケープ( \ ) 先読み( ?=◎◎◎ ) 先読み否定( ?!◎◎◎ ) 後読み( ?<=◎◎◎ ) 否定後読み( ?<
のようにすればよいのですが、「先頭や末尾にある文字列か含まれるか」などある特定の条件でマッチするかを調べる為には正規表現を使わなくてはなりません。 正規表現は文字のパターンを記述する為の表現法です。 正規表現の使い方 基本的な書き方 matchを使った基本的なパターンマッチの書き方 修飾子 【修飾子編】大文字と小文字を無視するマッチなどのやり方 大文字と小文字を区別しない グローバルマッチ 複数行マッチ 組み合わせ ブラケット 【ブラケット編】特定の文字が含まれているかを探すためのやり方など ある文字を見つける ある文字以外を見つける ある範囲の数字を見つける ある範囲の数字以外を見つける ある単語を見つける メタキャラクタ 【メタキャラクタ編】数字や文字、タブなどのマッチのやり方 改行や行終端を除いて、単一の文字とマッチ 文字や数字とマッチ 文字や数字以外とマッチ 数字とマッチ 数字以外
テストランナーとは、様々なブラウザでテストを実行し、その結果をまとめてレポートするためのツールを指します。Karma は Node.js 上で動作するテストランナーです。元々はTestacular という名称で Google が AngularJS の開発で使うために作ったものですが、2012 年にオープンソース化されたタイミングで業 ( カルマ ) を背負った名称に変わりました。 Karma - Spectacular Test Runner for Javascript 本記事では、Jasmine をベースにしてテストコード ( 実処理 ) を記述し、それらを Karma から実行してレポート ( テスト結果 ) を確認するという流れで進めていきたいと思います。 環境構築 前提条件 Mac OS X Yosemite node.js インストール済み (v5.4.0 ~) npm イン
配列の追加・取り出しに関する4つのメソッド(unshift, shift, pop, push)がいつも混乱するので絵で整理した。 絵にすれば覚えられそう!いちお練習のため、自分がよく使うRuby, PHP, JavaScriptでコードも書いた。 ・いずれの言語においても上記4つのメソッドは似たような名前で存在しており、用途も同じ。 ・いずれの言語のいずれのメソッドも破壊的メソッド。 ・言語、バージョンによってメソッドの返り値は異なる。 という具合だった。 Ruby ruby 1.9.2 # unshift a = [1, 2, 3] b = a.unshift 0 p a #[0, 1, 2, 3] p b #[0, 1, 2, 3] # shift a = [1, 2, 3] b = a.shift p a #[2, 3] p b #1 # pop a = [1, 2, 3] b =
はじめに ディレクティブは、AngularJSにおいて、ViewとModelの双方向バインドを実現するための根幹的な仕組みである。 ディレクティブは、開発者から見ると、Templateの要素・属性として現れる。 例えば、テキストボックスの入力値とscope.nameを紐付ける場合、Angularではhtmlに下記を記述するだけで、ユーザの入力値がscopeへ即時反映される。 上記コードの"ng-model"はAngularにデフォルトで組み込まれたディレクティブである。 もちろん、htmlの文法上は、ng-modelという名称の属性はinputタグには存在しない。Angularが独自にng-model属性を解釈して、双方向バインディングの機能を実現しているのである(Angularでは、これを「html文法の拡張」と呼んでいる)。 ディレクティブには、ng-repeatや{{...}}等、様
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く