1. 大規模 JavaScript その設計と実装と現実 株式会社Aiming ソフトウェアエンジニア 竹馬光太郎 2012/10/24@AimingStudy#6 12年10月24日水曜日 2. @mizchi / Koutaro Chikuba 2012/3/1- Aiming/Software Engineer * github https://github.com/mizchi * blog http://d.hatena.ne.jp/mizchi 12年10月24日水曜日
![大規模 JavaScript その設計と実装と現実](https://cdn-ak-scissors.b.st-hatena.com/image/square/11880ebdd49e52569f82bb8b88cf05d799c9eb74/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Faimingstudy6pdf-121024043822-phpapp02-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
ということで、今回はJavaScriptのパターンマッチネタです。 比較するメソッドとしてmatch、search、test、exec、の4つを取り上げます。 それぞれ性質が異なるので、使う場合は注意が必要です。 比較のために、以下のようなサンプルを作ってみました。 <script type="text/javascript"> <!-- // match()の場合 function hoge1() { base_str = "オッス。おら Tawabagani。" + "友人の Abeshiganiと間違えないでくれよな。"; match_pattern = /\w+?gani/g; r = base_str.match(match_pattern); if (r) { for(var i=0; i<r.length; i++) { alert(r[i]); } } else { ale
昨年始めにスタンフォード大学が開催したスタートアップ向けのデモイベントにて、FacebookとiOS、Android間でマルチプレイヤーゲームを実現するクロスプラットフォーム用のゲーム開発環境として登場し注目を集めた「Game Closure」が新たな資金調達においてFacebookやZynga、Gree、Motorolaなどからの融資を断り、日本の著名なベンチャーキャピタリスト伊藤穣一氏やCharles River Ventures、Greylock Partnersなどから計1200万ドルの資金調達を果たしたことが判明、さらに伊藤穣一氏がアドバイザーとしてスタートアップに参加したことが明らかになりました。 今回の資金調達により単独でビジネスを進めていくことが明らかになったGame Closureですが、ブラウザ/モバイル/ソーシャルゲームの革新を担うとも言えるクロスプラットフォームマル
aaencode - Encode any JavaScript program to Japanese style emoticons (^_^)
インターン生は、連日の講義と課題で大変そうですが、今日も講義が続きます。 本日は、id:nanto_viによる「ユーザインターフェース,HTML5」です。仕様書を隅々まで読んだ講師によるディープな講義内容となっています。今日も2時間の長丁場ですが、頑張って着いていきましょう! ユーザーインターフェース、HTML5 ユーザーインターフェースで大切なこと、HTML5 及び関連 API で何ができるか 自己紹介 nanto_vi (外山真, TOYAMA Nao) ブックマークチーム アプリケーションエンジニア はてなブックマーク Firefox 拡張 はてなツールバー for Firefox はてなブックマーク Twitter 投稿機能 はてなサマーインターン 2008 なんとなく Emacs 富山県南砺市とはあまり関係なし 概略 UI の評価・設計・実装の概略 HTML についての概略、HT
サイトの文章コピーしようとする消える 2010年07月23日00:05 CM: 0TB: 0 # ▲ 862 名前:仕様書無しさん[sage] 投稿日:2010/07/20(火) 16:30:21 ダンスホールの大物アーティスト5人がUS入国不可?ビザを取り消される? - ワールド・レゲエ・ニュース by ダブストア http://www.worldreggaenews.com/article.php?category_id=2&article_id=1720 このサイトの文章コピーしようとする消える ワロタww 865 名前:仕様書無しさん[sage] 投稿日:2010/07/20(火) 18:18:59 >>862 面白いな Ctrl+A で全部消えたw 関連記事ノートのコピー タグ :コピー
Web 開発や拡張機能開発で JavaScript のコードを書いていると、誰もが一度は次のようなことで悩むかと思います。 ブロックスコープと名前空間 (グローバル変数汚染の回避) 読み書きしやすくデバッグしやすいコードスタイル コールバック関数と this オブジェクトの取り扱い デバッグ方法とデバッグ支援モジュール 非同期処理の書き方 いずれも解決方法は人によって様々で、これが常にベストと言えるものがなさそうですが、私なりにそれぞれ検討したことなどを書いてみようかと思います。もっと良い方法があるとか色々皆さんのご意見やツッコミをいただければ幸いです。 JavaScript では名前空間は言語仕様でサポートされておらず、ライブラリや拡張機能などのコードを書くときにはグローバル変数の使用を最小限に抑える必要があります。先日の Mozilla 勉強会@東京 3rd でも佐藤さんと守山さんの発
参考資料(というか主要なアイデアほとんど全部)はこちら。 http://mgran.blogspot.com/2006/08/downloading-binary-streams-with.html 何に使うのかはこれから考える。 でかいファイルを食わせてループでString.fromCharCodeを回したらFirefoxが死んでしまったのでそこだけ注意。 (mal_blueさん,nanto_viさんに直して頂いたコード版) <html><head> <script> load_url = function(url) { var req = new XMLHttpRequest(); req.open('GET',url,false); //XHR binary charset opt by Marcus Granado 2006 [http://mgran.blogspot.com]
はじめに JavaScriptでは関数もオブジェクトです。このことはよく理解されていると思います。関数とメソッドとの明確な違いはなく、どちらも関数オブジェクトである、というところまではよいのですが、関数コールとメソッドコールの違い、あるいはその仕組みは正確に理解されているでしょうか。先日、職場の後輩に問題を出したところ正確に答えられえなかったので、いまさら?と思われるかも知れませんが、関数コールの仕組みを解説します。 関数とメソッド JavaScriptでは関数とメソッドには本質的な違いはありません。オブジェクトのプロパティとして定義される関数を便宜的にメソッドと呼んでいるだけです。parseInt()などのグローバル関数もグローバルオブジェクトのプロパティであり、関数の中でローカルに定義した関数も概念的にはActivation Objectのプロパティなので基本的には全ての関数はメソッド
Java変態文法最速マスター - プログラマーの脳みそをリスペクト。 JavaScriptの変態文法・技法一覧です。あんまり使わないけど、知ってるとXSSとか攻撃したいのにWAFに妨害されるなど、いろいろ制約があるという場合に便利。 文字列の生成 引用符を使わずにさくっと文字列を作る。fromCharCode とか使ってもいいけどめんどくさいので、正規表現やE4Xを利用。 alert( /string/.source ); alert( <>string</> ) 空白文字を使わず記述 文脈上、スペースを書きたいけれどいろいろ制約があって書けない場合にはコメントで代替。実行するコードを作り上げてevalしてもいいけど大袈裟なので。 var/**/x=1; */ を含むコードブロックをコメントアウト コードの塊りをコメントアウトしようと思って /* */ で囲むと、コード内に string.
JavaScriptでの数値はIEEE754で規定されている倍精度型doubleです。符号部が1ビット、仮数部が52ビット、指数部が11ビットの64ビットで表現される浮動小数です。この辺りは、計算機の初歩の初歩で、当たり前すぎて普段は気にすることはないと思いますが、その境界値や特殊系について調べるといろいろ面白いことがわかります。ここでは、JavaScriptを例にしていますが、内容は一般的なもので、IEEE754の浮動小数入門的な話です。 では問題です。 整数として正確に表現できる最大の値はいくつか? 正確に表現できるというのは、n + 1 が確かに n + 1になることとします。n が非常に大きいときには、n + 1 は桁落ちが発生するので n のままです。考える前に実際にやってみましょう。探す n は 0 から 1e+100 の間にあるのは明らかなので、2分法で探索してみます。 fu
はじめに JavaScriptのswitch文は、CやJavaと異なりcaseのところに任意の式が書けるため、実行時にcaseの式も評価されるので基本的にはif-else文の並びと類似のものになります。つまり、caseの数に応じてパフォーマンスも低下すると予想されます。本当にそうなのか確認してみました。 測定した各ブラウザのバージョンは以下の通りです。 Firefox Chrome Safari Opera IE 3.5.6 4.0.249.30 4.0.4 (531.21.10) 10.10 8.0.6001 caseが数値リテラルの場合 パフォーマンスを測定するテストコードは下記のような簡単なものです。caseが1000個あるswitch文を10万回繰り返して実行したときの時間を測定しました。perf_test()関数の引数vに与える値に応じてcaseの条件で一致する場所が変わります。
Hash algorithm of JavaScript CRC16/32, MD2, MD4, MD5, SHA-1, SHA-256, RIPEMD-128, RIPEMD-160, RIPEMD-256, RIPEMD-320 IE4+, NN4.06+, Gecko, Opera Download CRC16/32 MD2 MD4 MD5 SHA-1 SHA-256 RIPEMD Sample CRC16 CRC32 MD2 MD4 MD5 SHA-1 SHA-256 RIPEMD-128 RIPEMD-256 RIPEMD-160 RIPEMD-320 Input Hash Memo マルチバイト文字から生成されるハッシュ値に疑問を持つかもしれませんが 内部では入力文字の文字コードは Unicode ですので あしからず。 ありえないと思われるので入力データが 0xFFFFFFF
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く