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
JavaScriptを書いていたらブラウザがくっそ重くなる症状に出くわした。あぁ、噂のメモリリークですわ。 先人の知恵に頼るマン。それっぽい記事が見つかる。 javascriptのメモリリーク対策(随時更新) - Qiita Shibu’s Diary: JavaScriptのメモリリークを10倍速で発見する Taming The Unicorn: Easing JavaScript Memory Profiling In Chrome DevTools Writing Fast, Memory-Efficient JavaScript - Smashing Magazine angularjs - How to catch memory leaks in an Angular application? - Stack Overflow 上の記事はProfiles + Take Heap
http://iotlt.connpass.com/event/11373/ IoTLT vol.1にて発表。 MQTTを使った電子工作の入門編的なスライドです。 JavaScriptだけで電子工作を完結します。
重い腰を上げてESLintを使い始めた。そろそろv1.0.0になるらしい。これは良いなと思ったところを簡単にまとめておく。ついでに引っかかって対処にちょっと悩んだところも。既にすごく好感触なので、このまま素直に乗り換えられると良いな。 package.jsonに設定が書ける 外部設定ファイルとしては.eslinrcの他にもpackage.jsonに混ぜ込むこともできる。フィールド名はeslintConfigで、それ以下は同じ。 { "eslintConfig": { "env": { "node": true } } } 通常のnpmパッケージでは別にした方が良さそうだが、依存解決にnpmを使うだけとかコマンド作るためだけのようなプライベートなケースでは特に気にせず混ぜてしまって良さそう。 no-multi-spaces 複数の連続した空白が検出できる。 var a = 1; これで警告出
Victor Powellさんが提案した CSV Fingerprints (CSVの指紋)は、CSVファイルのデータをデータの有無やデータの型(文字、数字など)に合わせて色づけすることで、日々の事務などで自動生成されているCSV出力の異常な部分を、目視で発見できるようになるのでは、という提案です。 カラムのデータの型によって異なる色で塗ったのが上のような例。 図の上でクリックしながらマウスを動かすと、指している辺りが拡大表示され、セルの内容を確認することができます。 大きなデータセットの中から、異常になっている部分をすばやく特定し、その前後の値を含めて確認できるというわけです。 こちらのページで、好きなCSVデータを貼り付けてfingerprint を作成してみることができます。 ビューワーはAngular.js および D3.js で作られており、GitHubで公開されています。 CS
大本命。ESLint 2015年現在、JavaScriptのLinting toolといえばJSHintかJSLintみたいな風潮ありますが、もうESLintで行きましょう。 公式ページ github 大きな特徴 プラガブルな実装 全てのルールのON/OFFが可能 独自のルールの追加が可能 独自のフォーマッターでの出力が可能 ECMAScript 6 / React JSXをサポート Philosophy ESLintは下記のPhilosophyを掲げています。 全てはPluggableである。 Rule APIはバンドルされたものもカスタムもどっちも使える Formatterはバンドルされたものもカスタムもどっちも使える 追加のルールとフォーマッターは実行時に指定できる バンドルされたルールとフォーマットを使わなくても良い 全てのルールは 独立している 全てのルールはoffにもonにもで
jq Manual jqで簡単JSON加工 | Developers.IO jqコマンドが実は高性能すぎてビビッた話 - beatsync.net JSONを超絶に読みやすくする jq コマンド - WebAPIバリバリ使うor開発する人必須 CLIでJSONの整形をする - ( ꒪⌓꒪) ゆるよろ日記 JSON形式の情報を様々な条件や書式として成形、フィルタリングツール『jq』。上記関連エントリで私もこのツールの存在を知る事になったのですが、ツールの簡易さ・便利さに感動しながら私もちょくちょく利用させてもらっています。 そこでこのエントリでは、jq公式ページに展開されている利用ガイド・リファレンス的な位置付けの『jq Manual』を写経がてらざっくり日本語訳してみました。ざっくり訳なのでこの部分の訳おかしい・間違ってる等ありましたら御指摘頂けると幸いです。例示されているサンプルコードも
Promiseは非同期処理をベースにした並列処理の実装方法の一種です。Promiseでは並列処理の各タスクが必ず1回実行されることが保証され、タスクとタスクからの結果を取得する処理を分離することできます。また、タスクの並列処理/直列処理をユーザーが自由に制御することができます。 ECMAScript Language Specification 6th EditionにPromiseが追加されたことから、しばらくの間JavaScriptの非同期処理に関する話題の中心はPromiseになると思われます。 Node.jsでも既にPromise対応したモジュールも多く、Promiseでのみ非同期処理を提供しているモジュールも存在します。Promiseを使用する機会は今後必然的に増えていくでしょう。 今回のエントリーでは、Node.jsでPromiseを使用する方法を説明します。コード例を中心に理
JSONの利用範囲が拡大しています。エンタープライズ系ではXMLがまだまだ優勢だと思っていたのですが、Web APIが広がるのに伴って利用が進んでいるようです。そんな中で求められるのはより強固なJSONフォーマットです。 それを可能にするのはJSON Schemaです。検証可能なJSONによって入力値の正しさ、相互のメッセージ送受信を確かなものにするでしょう。そしてさらにJSON SchemaからValidな入力フォームを生成するのがJSON Editorです。 JSON Editorの使い方 JSON Schemaの例。 このスキーマをJSON Editorにかけると次のようなフォームになります。 色選択はピッカー表示になります。 入力値のバリデーションもリアルタイムに行われます。 住所入力は細かく分かれて行えます。 オブジェクトに紐づく複数入力にも対応しています。 JSON Edito
TypeScript 1.5正式リリース。最新言語仕様を速習しよう! TypeScriptを使うときに役立つ情報がまとまったチートシート(1クリックで試せるサンプル付き)。 本稿はTypeScript 1.5.3を対象に解説を行います(※2016/11/08追記:姉妹サイトの@IT Insider.NETで「特集:TypeScript 2.0概説」 を掲載していますので、本稿と併せてご参照ください )。 早いもので、TypeScript 1.0がリリースされた2014年4月3日から、1年以上が経ちました。今年の頭あたりに本記事のTypeScript 1.0版からの更新の依頼が来た時は、(記事改訂は想定していなかったので)びっくりしました。情報をメンテし、良い情報がWeb上に残るよう運営するのは大変であろうな、と想像に難くないですが、筆者としてはうれしい限りです。 さて、去る2015年3月5
これまでマイクロソフトの Build カンファレンスは、開発者の中でも特にマイクロソフトのプラットフォーム用に製品を開発する保守的な開発者を対象としていた。先日同社が既存の JavaScript フレームワーク「WinJS」のオープンソース化を発表したことで、このカンファレンスはウェブやモバイルの開発者も対象としていくことになるだろう。 WinJS は、HTML/CSS/JS アプリケーションの開発を支援する JavaScriptツールキットだ。これによって開発者は、ウェブやAndroid、iOS といった Windows 以外のプラットフォーム向けにも Windows アプリを開発することができる。今回 WinJS がオープンソース・プロジェクト化されたため、開発者は WinJS を利用したコードを GitHub 上に提供することも可能になった。 Angular、Backbone、Emb
Web開発にとても便利なjQueryですが、 実はメモリーリークを誘発しやすい構造であることは あまり知られていないようです。 本記事ではメモリーリークが発生する傾向と対策を紹介します。 皆さんjQueryは使ったことありますよね。Webでの開発ではとても便利で、ほぼ必須と言っても過言ではありません。しかしながらこのjQueryはメモリーリークを誘発しやすい構造であることはあまり知られていません。 GCのあるJavaScriptでメモリーリークが発生するとは何を言っとるんだ、と思われる向きもあるやもしれません。しかしGCがあっても、もう使わなくなったオブジェクトを配列やテーブル(Object)にしまいこんでいて、それを回収するタイミングが存在しなければ積もり積もってメモリを圧迫する、メモリーリークとなりうるというのは想像に難くないでしょう。jQueryで起こりうるメモリーリークはそのような
今日の概要 実は使われてるJavaScript AST JavaScript AST(Abstract Syntax Tree)とは? JavaScript ASTを使ったツール紹介 使うだけじゃなくて書いてみよう browserify Node.jsで書かれたものをブラウザ向けに変換するツール Node環境で開発 -> browserifyでビルド -> ブラウザで動く JavaScriptのコードを 変換 する ≒ JavaScript ASTを見て変換 する 本体の色々な部分、transform pluginなどでASTを使ってる
社内用のWebシステムにこれまで設置してなかった「閉じる」ボタンを設置することになった際、少々ブラウザ問題でつまずいた点があった。ググっても最近のwindow.close周辺の情報を見つけることができなかったのでまとめておく。 photo credit: flod via photopin cc 1.まず、閉じるボタンの必要性 2.IE(シェア:57.8%) 3.Firefox(シェア:18.9%) 4.Chrome(シェア:16.0%) 5.safari(シェア:5.6%) 6.まとめ あわせて読みたい ※ちなみにバージョンはie10、firefox26.0、chrome 31、safari 5.1.7です。 1.まず、閉じるボタンの必要性 ブラウザには標準で×(閉じる)ボタンがついているのに、どうして閉じるボタンを自作する必要が生じるのか? 一般的には、システム終了のタイミングで何らか
既に利用されている方々とほぼ同じ意見だと思うのだが、私がAngularJSを気に入って使っているのは 構造的に書ける MVVMぽい DOMを触らなくて良い ほぼこの3つに集約される。 1.構造的に書ける AngularJSはアプリケーションを書く際のコードを構造がほぼ決まっている。その構成はビューであるHTMLを除くと コントローラ サービス フィルタ プロバイダ ディレクティブ これらの要素に分類されDIにより疎に結合される。基本的には誰が書いてもこれらの要素を配置する必要がある訳で、同じ要素で構成されるということは他の誰かが書いたコードを読むことが比較的容易だということになる。(JavaScriptで最も苦痛なのは他の誰かが書いた、一か所に固まりすぎた又は逆に分散しすぎたコードを読むことである) 2.MVVMぽい 今のGUIプログラミングでMVCを意識するのはもはやテーブルマナーだろう
JavaScript のコードをチェックしてくれる JSHint というツールを導入した。 Node.js と JSHint のインストール こちらを参考にした。かんたん。 Windows に JSHintをインストールしてみた - かわちょでぶろぐ JSHint の設定 ホームディレクトリ (Windows の場合はコマンドプロンプトを開いたときに最初に出てくる場所) に .jshintrc というファイルを以下の内容で作った。 { "laxcomma": true, "unused": true } laxcomma は頭にカンマを持ってくる書きかたをしても怒られないようにする unused は var で宣言したのに使われていない変数を教えてくれる 設定についてはこちらが詳しい。 http://blog.craftgear.net/50832ff38cdc8fb415000001/t
[Video] https://www.youtube.com/watch?v=HCR7i5F5L8c AngularJSのHype (盛り上がり感)があるようなので、GoogleのMisko HeveryとBrad GreenがGoogle I/O 2013でAngularJSの設計思想について語っているのを紹介します。 アプリ開発は、雛形構文(ボイラープレート)を利用しながらデータをブラウザとDBの間でやりとりさせるのが中心で、気づいてみると同じ雛形構文を書く作業をかなり繰り返している。コードを書いてる時間よりもコードを読んでいる方に時間がとられることも多い。この雛形構文を使った作業を極力減らして、アプリに付加価値をもたらすコーディング作業だけを抽出したいと思った。 コーディング作業が効率的になる構造が欲しかった。 フレームワークにテストを組み込むが、フレームワーク自身をきっちりテスト
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く