こんにちは。リファクタリングが大好きなフロントエンドおじさん梅津です。 自信を持ってリファクタリングするには信頼できる自動テストが必要ですよね。 じゃあ信頼できる自動テストとはなんだろう?どう書いたらいいんだろう?と考えていました。 とくにコンポーネントを含む UI テストに対しての悩みが強かったです。 そんなときに出会ったのが Testing JavaScript です。 この記事ではその Testing JavaScript の紹介をしたいと思います。 Testing JavaScript とは Testing JavaScript は PayPal のエンジニアである Kent C. Dodds によって作成された教材です。 ページを開いてすぐ目に飛び込んでくるテスティングトロフィーが特徴的ですね。 Testing JavaScript では、ここに記されている Static, Un
JavaScript は Web サイトに動的な機能を追加するためのプログラミング言語です。 1995 年に米国の Netscape 社によって開発され、現在では Web 開発に欠かせない技術の一つとなっています。 JavaScript は Web ブラウザ上で直接動作するスクリプト言語であり、ボタンのクリックイベントやアニメーション、フォームの入力チェックなど、インタラクティブな機能を実装するのに利用できます。 JavaScript はブラウザさえあればすぐにプログラムを書いて実行できます。 Web ページの作成において、 HTML や CSS と組み合わせて利用されることも多いです。また、Node.js などを利用することでサーバーサイドの開発も可能となり、 JavaScript はフロントエンドからバックエンドまで幅広い用途で活用されています。 JavaScript は、オブジェクト
まあこれは弊社(Claves)での取り組み方(別に相談してないので独断ですらある)です。 多分そのうち陳腐化するので金科玉条のごとき扱いはしない方が良いです。 書くにあたった動機 若い人間がJavaScriptを書く場合に、 参照しているものが古い 便利なライブラリとかがあるのに再発明とかしてる Railsで書く場合にどう書けば良いのか などが整理されていないと感じた。 都度説明していたが三回をこえて面倒なので書き下すことにした。 JavaScript? TypeScript? 正直モダンに書くのであればJavaScriptでもTypeScriptでも良いと思っている。 構文的にはTypeScriptはモダンなJavaScriptに型、抽象クラスなどが追加されていると思って良いかと思う。 継承とかゴリゴリ書くのであればTypeScriptは便利だし、後述するReactなんかも TypeSc
2017年10月6日『まぼろしのJS勉強会 #1 「ナウいJSの書き方・考え方」』にて発表した資料です。 https://maboroshi.connpass.com/event/66502/ #mbrs_js_study
経緯 ドワンゴ様から恵贈頂いた。 高校生からはじめる プログラミング 作者: 吉村総一郎出版社/メーカー: KADOKAWA発売日: 2017/04/14メディア: 単行本この商品を含むブログを見る …読んでみたけど、HTML/CSS/JS の初歩的な部分を、初学者にやらせるとこうなる、という素朴な世界観で、CSSフレームワークもJSライブラリも出てこない。いや、出せと言ってるわけじゃない。理解せずにフレームワークを使う習慣がつくと、スクリプトキディ的な振る舞いによっていくし、教える側としても、変数が大きくなってコントロールできないのが問題だろう。 じゃあ基礎を抑えたとして、この先どう教えるといいんだろうな、というのは、たしかに自分も前から考えてはいて、それを書いてみる。 この文章のターゲット JavaScriptを教える人、またはポインタがあれば自学できる中級者以上 追記: すべての初学
HYEC.ORGサーバはハードウェア障害のためオフラインです ただ今、HYEC.ORGサーバ(ドメイン:https://www.hyec.org/)はオフラインとなっています。 これは、サーバにおいてハードウェア障害が発生しているためであり、現在復旧が可能かどうか検討を進めております。 利用者の皆さまにはご迷惑をおかけいたしますが、ご理解のほどお願いいたします。 HYEC.ORGサーバの今後について 端的に結論から申しますと、「復旧に向けた対応は引き続き進めていくが、復旧可能性が低いと判断した場合はサービス停止を検討している」という状況になります。 HYEC.ORGサーバは2003年12月よりサービスをスタートし、途中ハードウェアやネットワーク周りの刷新を行いつつ今日まで稼働を続けてまいりました。これまでに多くの方にご利用いただき、そこからさまざまなノウハウを得ることができました。感謝いた
Javascriptの読み込みが遅いのは、ユーザー体験のリッチなウェブページを作るうえで悩むポイントです。特に、Facebook・Twitter・Google+の各スクリプトの読み込みが遅い気がしていました。 Twitter ツイートボタンの設置タグ <a href="https://twitter.com/share" class="twitter-share-button">Tweet</a> <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/wi
このエントリでは変数のスコープについて書き連ねるよ。 2種類のスコープ ちなみに変数のスコープとは「プログラム内での変数の有効範囲」のことで、大きく分けて次の2種類があるよ。 一つはローカル変数のスコープで、その変数が宣言された関数の中だけで有効です。もう一つはグローバル変数のスコープで、プログラム全体で有効なんだ ローカルスコープとグローバルスコープ 変数を宣言する場合、var文を使うよ。var文を使って宣言された変数はローカル変数になるんだ。ただし、ローカル変数が関数外部で宣言された場合、その変数のスコープはプログラム全体(=グローバル変数)だよ。以下のソースは関数外部で宣言した変数に関数内部から参照するよ var global_var = "data"; function f(){ alert(global_var); } f(); // ✎ 結果 // data var文の省略 変
This document discusses various JavaScript best practices including: - JavaScript is object-oriented with only 5 primitive types - Objects are collections of key-value pairs where some values can be functions - Variables should be declared with "var" to avoid global scope issues - Function scoping and variable hoisting can cause confusion; variables should be declared at the top of functions - Str
拡張機能や XUL アプリにて、 JavaScript から特定の XPCOM サービスを頻繁に使用するケースがよくあります。そのような場合に処理やソースコードを効率化するためのテクニックをいくつか紹介します。ここでは、例として nsIObserverService を頻繁に利用するケースを想定します。なお、Cc は Components.classes, Ci は Components.interfaces への参照です。 方式1: 毎回 XPCOM サービスを呼び出す 特に工夫をしない場合、以下のように XPCOM サービスを利用するたびに毎回そのスコープ内で呼び出し手続きを行うことになります。 var MyExtension = { init: function() { var observerSvc = Cc["@mozilla.org/observer-service;1"].
2009年03月07日 21:32 カテゴリプログラム・スクリプト JavaScript で、文字列の連結は "+=" が高速 No Comments No Trackbacks ずいぶん前の記事だけど… (via. マイコミジャーナル) JavaScript文字列処理は "+=" が十分高速、Safariもベター と "+=" でも不十分、IEで性能発揮するには文字列サイズにも工夫必要 (1) IEでもIE6以上であれば "+=" を使うこと (2) ただし処理する文字列が64KBを越える場合には配列を使うこと (3) 大きなサイズの文字列の処理はなるたけ避けできるだけ小さい文字列操作を先に実行するように工夫すること などをテクニックとして紹介している。 工工エエエエ(´Д`)エエエエ工工 そーなのー? 「文字列を連結するときは、配列にして連結すべし!」 というのを昔どっかで読んだ。 ど
文字列の存在位置を知る indexOfメソッドで文字列中の検索文字列の存在位置を知ることができる 位置は最初の文字をゼロとする数値で返される、ヒットしなければ-1が返る "hoge".indexOf("g"); 第二引数で検索開始位置を指定できる "hoge".indexOf("o", 2); // -1 ▲ ▼ 文字の文字コードを知る StringオブジェクトのcharCodeAtメソッドを使うと、指定した文字位置(最初がゼロ)の文字コードを取得することができます var hoge = 'abc'; abc.charCodeAt(0); //-> 'a'の文字コード97 引数を省略した場合はゼロを指定した場合と同じ結果になります ▲ ▼
Firefox のアドオン (拡張機能等) を開発する際に、文字コードを変更する必要がでてくることもあるかと思います。 ここでは、JavaScript のコード中の文字列の文字コードを XPCOM *1 を使用して変更する方法について記します。 ここに書いてある方法はあくまで Firefox アドオン中で実行可能な方法であり、通常の web ページ内の JavaScript などでは使用できません。 文字コードの変換はアドオンから外部のプログラムなどに文字情報を送る際などに必要になると思います。 nsIScriptableUnicodeConverter 使用するのは nsIScriptableUnicodeConverter です。 これを使用することで JavaScript 上の通常の文字列 *2 を各種文字コードでエンコードされた文字列に変換したり、逆に各種文字コードでエンコードされ
自分用のメモです。JavaScriptの配列操作に関するメソッドなんかを整理する意味でまとめてみました。なんか、いざ使うとなった時に毎回ほぼ忘れているので自分なりに見やすいように残しておきます。 [ads_center] 配列にデータを格納して生成するには以下のようにします。 var array1 = ['aaa', 'bbb', 'ccc']; document.writeln(array1); // aaa,bbb,ccc 追加と削減 配列に要素を追加したり削減したりします。 shift 配列要素の先頭を削減します。 var shift1 = array1.shift(); document.writeln(array1 + '<br>'); document.writeln('削減した要素は ' + shift1 + ' です'); // 実行結果 // bbb,ccc // 削減し
そろそろ4月も近いということもあって、新たにWeb業界やSIer業界に入るぞという方がプログラミングの勉強をし始めているころでしょうか。最近は、エンタープライズでもWebクライアントが主流になりつつあるのでJavaScriptの習得は避けては通れない道だと思います。また、Node.js等サーバーサイドのJavaScriptも出てきたこともあって、非常に有用な言語になりつつあります。 そんなJavaScriptを学び始めている人の中でも、ある程度プログラミングをやったことがある人がJavaScriptの綺麗な書き方を学ぶのに絶対理解しておいた方が良い300行程度のソースコードがあります。 それは、JavaScript: The Good Partsに載っているJSONパーサのコードです。 JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス 作者:
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く