A framework for easily creating beautiful presentations using HTML
つい最近、横山光輝『三国志』を全60巻読破したminamiです。 今回はJavaScriptで書くファクトリ(Factory)について調べてみました。Factoryはそのまま「工場」の意味です。 なぜ使うのか? ファクトリの目的はその名の通り、オブジェクトを作成することです。 ポイントとは、共通の親オブジェクトを継承し、個別の機能を専門の静的メソッドに実装する点です。 言葉ではわかりにくいので車のオブジェクトをを作るファクトリを実装してみます。 // 親オブジェクトのコンストラクタ var CarMaker = function() { }; // 親オブジェクトのメソッド CarMaker.prototype.drive = function() { // 走るとガソリンが減る this.gas = this.gas - 20; if(this.gas > 0) { console.lo
kintoneはJavaScriptを使って自由にカスタマイズできます。 カスタマイズにより独自のリッチなUIを構築したり、新しい機能を追加したりできますが、セキュアなコーディングをしないと クロスサイトスクリプティング (以下、XSS)などの脆弱性を作り込んでしまう危険性があります。 この記事では、JavaScriptでセキュアなコーディングをするための基本的なポイントを解説します。
本連載は、テストコードをこれから書こうと考えているJavaScript技術者を対象に、テストコードの意義から、テスト駆動開発、JavaScriptでのテストコードの書き方、継続的インテグレーションなどテスト全般にわたって解説します。また、原理原則だけでなくWhyから説明し、チームメンバーを巻き込みながら開発現場に活かせる考え方を総合的に解説します。第4回目の本稿は、JavaScriptでのテストダブルの方法を、Sinon.jsというJavaScriptテストダブルモジュールを使って説明します。 対象読者 JavaScriptの基本をある程度理解している方 テストコードをこれから書こうと考えている方 テストダブルとは テストコードを実行する際に、次のような課題に直面したことはないでしょうか。 Ajaxへのサーバへの問い合わせのような外部リソースも含めた処理のテストを行う必要があるが、テストデ
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
ゴールデンウィーク中に5年ぶりにフットサルをしてまだ筋肉痛が癒えてないishidaです。社内でフットサル部を立ち上げてみましたが、参加人数が少ないので横浜近辺で一緒に球蹴りしてくれる人を募集中です。 さて今回は、JavaScriptのコーディングガイドラインを作成してくれるサービスのご紹介です。 JavaScript は HTMLやCSSよりも自由度が高いので、 ガイドライン化してコードを統一するのも手間がかかるかと思います。 また初めてガイドラインを作成する人にとっては、 JavaScriptのどこまでをルール化すればいいのかも悩む部分ではないでしょうか。 そんな時にお手軽でJavaScriptコーディングガイドラインを作成してくれるサービスがありました。 11の項目を設定するだけでJavaScriptコーディングガイドラインが作成できる jsCode http://jscode.org
The document covers modern JavaScript application development, focusing on achieving well-structured code through various methods such as object-oriented programming, module patterns, and MVC frameworks. It discusses key principles like dependency management, design patterns, and the importance of separating concerns in code structure while highlighting patterns for creating scalable and maintaina
TypeScript (と TypeScript コンパイラ)を用いて JavaScript で利用可能なクラスの定義を作成(生成)することができます。 各サンプルはシンプルな HTML ファイル(index.html)と JavaScript ファイル(app.js)の2ファイルの構成です。ただし、app.js は app.ts (TypeScript 言語で書かれたソースファイル) をコンパイルすることによって自動生成されるものとなっています。 ちなみに私はエディター(開発環境)として Visual Studio Professional 2012 Update 4 を用いています。(TypeScript for Visual Studio 2012とWeb Essentials 2012をインストールしています) index.html で jquery.min.js を script
(追記): このブログで一部のJSをgithubに置いてたら 「The website abuses rawgit.com」という警告が出てました。現在修正しました。ご迷惑おかけしました。 @kyo_agoさんの主催で、 @mizchi(シングルページ系フロントエンドJSer) と @damele0nさん(ゲーム系HTML5のJSer)でJavaScriptについて話をした。すごく有意義な話だったので、会話を思い出せる限り書いてみる。 このエントリを読む前にこの記事を読むと幸せになれる。 幸せになりたいソーシャルゲーム系Webフロントエンドエンジニアが本気で考える HTML GUI ツール第一回 - damelog このまとめは僕の主観であり、僕が理解できた部分と自分の発言を一番覚えてるのでどうしてもそれが多めになりますが、ご容赦ください。ついでに酒入ってる。 iOS SafariのIE化
本稿では,switch(true) イディオムの是非について論じて行きたいと思います.なお,話をややこしくしないために,本稿では JavaScript における switch(true) イディオムのみについて考察します.(当然ですが,言語によって switch のシンタックスおよびセマンティクスは大きく異なります.例えば ruby の case はいわゆる C-like な switch とは全く異なり,フォールスルーがない点や === 演算子による柔軟性がある点などにおいて同列に語れるものではありません.) 賛否両論の switch(true) switch(true) イディオムに関しては,様々な意見があります.記事の末尾に,各所から集めて来た意見をまとめておきますので参考にしてください.ここで私が述べたいことは,このイディオムに対しては とにかく賛否両論ある ということです. いっ
最近TypeScriptの型を触っていてハマったあたりのまとめ。だいたい仕様書に書いてあるとおりなので、すでに仕様書を読破している諸兄にはこの記事は必要ないです。 宣言空間 (declaration space) とは 宣言空間というのは、同一宣言空間で同じ名前が複数存在するとエラーになるような空間のこと。 TypeScriptには大きく分けて3つの宣言空間 (declaration space) がある *1。 変数 (for variables) またはメンバー (for members)*2*3 型 (for named types) 名前空間 (for namespaces) どういうことかというと、TypeScriptでは次のコードがエラーにならない。 var M = 0; // 変数宣言空間 interface M {} // 型宣言空間 module M {} // 名前空間
Functional JavaScript(関数型言語としてのJavaScript) JavaScriptでは関数型言語の一部の機能が備わっています。 ここでは小難しい話は抜きにして、より可読性やメンテナンス性などをよくするために、 実践的なJavaScriptの関数型について考えていきます。 関数型の特徴 JSでの実装のみを知りたい場合は、 この項を飛ばして、気をつけるべきは三点へどうぞ。 関数型言語では関数でプログラムを組みます。 特徴としては 変数は再代入禁止である 関数は参照透過性が保たれている(副作用がない) があります。 しかし、前者の「変数の再代入禁止」は縛りとして強すぎるので、 JSでの実装においてはそこまで重視しません。 ただ再代入が少ない程、可読性はあがりやすいです。 後者の「参照透過性」とは、 「引数が同じであれば何回その関数を実行しても結果が変わらない」ことをいいま
Apr 21 2014 Functional Programming is great. It allows for simpler programs which are easy to test and reason about. Unfortunately, not all languages are created equal. I've been writing a bit of Clojure and really enjoying myself. As I've ported my learnings and approaches to Javascript, I've encountered a handful of issues which I'd like to talk about. Strong Preference for Immutable Data A core
JavaScriptの悪魔的な振る舞いの一つにundefinedがあると思う。 javascriptには存在するundefinedと存在しないundefinedがあるし、それはつまり [undefined].length => 1 だ— 俺は平気だよ (@mizchi) 2014, 4月 22 JavaScript、[undefined].length => 1 で arr = []; arr[0] = undefined; だけど、このとき前者のundefinedと後者のundefinedは性質的には別物ですよ— 俺は平気だよ (@mizchi) 2014, 4月 22 もう一つの例として、 obj = {}; のとき obj[‘a’] = undefined したとき、for i in obj するとイテレータが一回だけ回る。obj[‘a’] = undefined しても キーは消え
はじめに D3.jsについて調べ始めた、t-hondaです。 前回はいきなりD3.jsとRuby on Railsを組み合わせてグラフを表示してみましたが 今回はD3.jsの入門編として、特徴と、簡単なソースの書き方について サンプルを挙げて書いていきたいと思います。 D3.jsの特徴 以下の弊社のブログ(※1)でも取り上げられていますが、D3.jsは 「データ・ドリブン・ドキュメント」 の略であり 「データに基づいてドキュメントを操作するための JavaScript ライブラリ」 であると定義されています。 D3.js - 日本語ドキュメントより(太字は著者追記) この「データ・ドリブン」であり、「データに基づいてドキュメントを操作する」という特徴について 以下のサンプルで解説していきたいと思います。 ※1 弊社ブログ [HTML5] D3を利用してデータを可視化してビジネスに活かす D
The Birth & Death of JavaScript — Destroy All Software Talks あの、Watのスピーカーとして有名なGary Bernhardtが、JavaScriptの誕生と終焉についてスピーチしている。 このスピーチは、2040年に行われているという設定である。JavaScriptが10日でやっつけ設計されたというところから始まり、JavaScriptが開発された地は、すでに放射能汚染されているという、2040年からみた歴史的事実を交えつつ、話は続く。 JavaScriptはあまりにも一般化してしまったため、皆JavaScriptで書くようになった。ただし、JavaScriptは遅いので、JavaScriptをネイティブコードにコンパイルしやすいようにする制限的な記法が流行した(整数型でいいところには、0をビット列論理和することにより、整数型で
ECMAScript Edition 5.1を§11まで読み進めた。§11は、式だ。ようやく面白くなってきた。 §10は、この後の文面で使いまわすための、擬似的な処理を定義している。 さて、いよいよ具体的にコードとして書く、式のセクションを読んでいる。なかなか楽しいが、配列初期化子の文法が興味深かった。 配列初期化子、あるいは配列リテラルは、[ ]の中に要素を書く。 // 結果は要素数4の配列、[ 1, 2, 3, 4 ] [ 1, 2, 3, 4 ] ; 配列初期化子には、Elisionという文法があり、途中の要素を省略できる。省略した要素は、undefinedである。 // 結果要素数4の配列、[ 1, undefined, 3, 4 ] [ 1, , 3, 4 ] ; なるほど、これはよく分かる。しかしよくわからないのは、「Elisionが配列の最後に使われた時には、配列の長さに寄与
今回はJavaScriptで書くファサード(Façade)パターンについて調べてみました。 ファサードはフランス語で「建築物の正面のデザイン」という意味だそうです。 なぜ使うの? ファサードパターン自体はとてもシンプルで、いくつかの機能の「窓口」になるクラスやオブジェクトを作り、利用しやすくするパターンです。 jQueryで一番よく使うであろう $() 関数もファサードパターンの一つです。 例えば要素の見た目を変える機能を実装するとして、個別の要素を制御するオブジェクトと、窓口になるオブジェクトを用意すると以下のようなコードが考えられます。 // 色を制御するオブジェクト function colorObj() { return { changeColor: function() { console.log('色を変えます'); } } }; // フォントを制御するオブジェクト func
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く