タグ

ブックマーク / blog.asial.co.jp (13)

  • 依存性反転の原則について

    こんにちは、増田です。 今回は”依存性反転の原則”についてObjective-Cで解説します(Objective-Cは筆者が好きな言語です)。 私はこの原則を理解する前は依存関係がスパゲティ状態になったプログラムを書いていました。 プログラムの処理はそうめんのように道筋の立った分かりやすいコードを書いたとしても、依存関係がスパゲティであることがよくあります。そのようなコードを書くと、一箇所を変更するために既に動いているところをいじらなければならず、この際のテストにかかるコストはとてつもなく膨大になってしまいます。 モジュール間の依存は必ずしも悪になるというわけではないですが、「意図して依存を残す」という意識がないと後で痛い目を見ます。依存性を残すところ、断ち切るところを意図してプログラムを組むことができるようになれば、何かしらの変更を迫られた際、変更箇所だけのテストでシステム全体の正常な動

    hisasann
    hisasann 2012/11/08
    デザインパターン
  • JavaScriptでうっかりやってしまいそうなこと色々

    こんにちは、中川です。 今回はJavaScriptで開発していると、うっかりハマってしまうちょっとした罠たちを紹介したいと思います。 JavaScriptでの開発経験者であれば、どれか一度はひっかかったことがあるのではないでしょうか? String ●String#replace()は文字列指定では全部置き換えない 対象文字列を一括して置き換えたいなどでString#replace()を使いますが、 検索対象を文字列で指定してしまうと最初に一致した部分しか置換しません。

  • JavaScriptのコーディング規約を気軽にチェック

    こんにちは、中川です。 今回は「Google JavaScript Style Guide」を気軽にチェックできるClosure Linterをご紹介したいと思います。 http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml Google JavaScript Style Guideのいいところですが、 規約だけでなく、しっかりしたツールも揃っているところが素晴らしいと思います。 コーディング規約はあったとしても、それに従っているか定期的に簡単にチェックする方法がないと、 いつしか守られないまま開発されてしまうことになりますね。 ※今回の内容はMacにて動作確認を行なっています。

    JavaScriptのコーディング規約を気軽にチェック
    hisasann
    hisasann 2012/05/15
    これは便利そう。
  • jQuery Mobileを試してみました

    <div data-role="page" data-theme="e" id="jqm-home"> <div data-role="header"> <h1>Diary</h1> </div> <div data-role="content"> <ul data-role="listview" data-inset="true" data-theme="c" data-dividertheme="e"> <li data-role="list-divider">新しいエントリ</li> <li><a href="#move-title">タイトル:<span id="title_text"></span></a></li> <li><a href="#move-body">文:<div style="margin-left:20px;" id="body_text"></div></

    jQuery Mobileを試してみました
  • サーバサイドでCanvasを利用する(node.js)

    // sample.js var Canvas = require('canvas') , http = require('http'); http.createServer(function (req, res) { var canvas = new Canvas(200,200); var ctx = canvas.getContext('2d'); // 四角形描画 ctx.fillStyle = 'rgba(0, 0, 255, 0.5)'; ctx.fillRect(10, 10, 190, 190); // テキスト描画 var text = "Canvas Test"; ctx.font = '30px Impact'; ctx.rotate(.1); ctx.fillStyle = 'rgba(0, 0, 0, 1.0)'; ctx.fillText(text, 10, 1

    サーバサイドでCanvasを利用する(node.js)
  • はじめての共同作業 Canvas編 (node.js + websocket)

    ■■■概要■■■ ・アプリ概要 ・・Canvas + WebSocket ・対応ブラウザ ・・Chrome or Safari (他、WebSocketが使えるブラウザ) ・サーバ側プログラム ・・node.js 0.2.0 ・・express@1.0.0rc2 ・・websocket-server@1.3.50 ※express, websocket-server は node.js のパッケージ管理システムの npm ( http://github.com/isaacs/npm ) でインストールしました。 node.js用のwebsocketサーバは何個かあるみたいですが ( 参照: http://github.com/ry/node/wiki/modules )、 今回は、比較的更新もされていて、手軽に利用できそうな node-websocket-server を使ってみました。

    はじめての共同作業 Canvas編 (node.js + websocket)
    hisasann
    hisasann 2010/09/01
    ステキだわ〜
  • 開発でよく使うTool纏めMac偏

    Fraise いちごのエディターです。アイコンがイチゴ Fraiseはフランス語でイチゴのいみだそうです。 日語ローカライズされていて機能的にもそこそこ備えたエディターです。 以下のサイトからDLできます。 http://www.fraiseapp.com/index.php Mac Vim 言わずと知れたViのクローンです。 Gvimとは違いヴィジュアルモードも使えます。 Macには標準でコンソールから呼び出せるViもあるのですが、気分で使いわけてます。 以下のサイトからDLできます。 http://code.google.com/p/macvim-kaoriya/ eclipse eclipseは便利ですね。 Viしか使えない環境ではViを使うのですが、Sumba環境だと動きが遅いので出来るだけローカルに開発環境がある時はeclipseを使って開発してます。 ちょいネタでeclips

    開発でよく使うTool纏めMac偏
    hisasann
    hisasann 2010/08/06
    環境とか。TextMate使いやすいですよ〜
  • サーバサイドJavaScriptの「node.js」を試してみました

    $ tar xvzf node-v0.1.30.tar.gz $ cd node-v0.1.30/ $ ./configure $ make $ sudo make install 解凍やconfigureで、なんかエラー(注意文?)が出てましたが、とりあえず、makeできたので無視しておきましょう。 さて、これで体のインストールは完了ということで、まずは「Hello World」。。。なんて、やらずにDemoのチャットアプリ( http://chat.nodejs.org/ ) のソースがあるようなので、そっちを動かすことにしましょう! http://github.com/ry/node_chat からgitで持ってきます。 $ mkdir chat_sample $ cd chat_sample $ git clone git://github.com/ry/node_chat.gi

    サーバサイドJavaScriptの「node.js」を試してみました
  • 【HTML5】HTML5で追加されたformの新要素をいろいろなブラウザで試してみた : アシアルブログ

    こんにちは、橋です。 最近巷ではHTML5が盛り上がりを見せている気がします。 「世界的ですもんね。乗るしかない、このビックウエーブに!」 とはいえ、HTML5のすべてに触れると膨大な量になってしまうので、今日はHTML5の中でも、多くの変更が行われた、form要素について、実際に新しく追加された機能を使っていってみたいと思います。 まずは以下を参考に、どのような修正が加えられたか見てみましょう。 W3C – HTML 5 differences from HTML 4 日語訳 formに関する変更はこのあたりでしょうか。 以下に列挙してみます。 ・inputタグに以下のtype要素が追加。 tel search url email datetime date month week time datetime-local number range color ・以下の属性が追加 inp

    【HTML5】HTML5で追加されたformの新要素をいろいろなブラウザで試してみた : アシアルブログ
  • TextMateで全角スペースと半角スペースの区別ができるようにする

    whitespace-multi = { patterns = ( { name = 'invalid.whitespace-multi'; match = '( )'; }, ); }; ↓ここに挿入することで、PHPタグ内でもハイライト表示がされるようになります。 5.TextMateのメニューから「Preferences」の「Fonts & Colors」を選択。 6.「+」アイコンをクリックしてElementを追加し、以下のとおり設定する。 Element名: whitespace-multi(ここは他の名前でも大丈夫です) Scope Selecter: invalid.whitespace-multi(ここはこのとおり入力してください) 背景色(BG): 目立つ色(ここも自由です) 設定は以上です。 上記の設定を行うと、全角スペースが以下のように表示されます。 これで、全角スペ

    TextMateで全角スペースと半角スペースの区別ができるようにする
  • 知っておくと役立つかもしれないLinuxコマンド(サーバ確認関係)

    こんばんは、牧野です。 一時期また夜型になってしまっていたのですが、最近はまた朝型生活、というよりも早朝型生活になりました。 仕事の方はというとsymfony案件は一段落して、今はオリジナルのフレームワーク、ライブラリでプログラムを作ったり、javascriptのプログラムを1から書いたりと、マイペースでやっています。 さて、今日も軽めなネタで、知っているといざという時に役立つ、かもしれないLinuxのコマンドです。 サーバ構築や緊急対応などでサーバを触る場合は使う機会があると思います。 ■サーバのOS情報を確認

    知っておくと役立つかもしれないLinuxコマンド(サーバ確認関係)
  • おっきなJavaScript開発の覚え書き

    【ハタさんのブログ:Javascriptによる大規模開発の覚え書き】 のエントリを見て、JavaScriptで大規模開発時の参考になればと、私の場合のものもちょっとまとめてみました。 JavaScriptの開発時には、全部1から書くなんてことも最近はあまりなく、 ライブラリを使うのが一般的だと思います。 Porototype.jsやJQueryなどのある程度軽量のものから、 ExtやYUI、Dojoなど機能が豊富なものもたくさんありますが ファイルサイズが大きかったり、ライブラリによっては動作が鈍く感じられる機能などがあるのも実際のところです。 安易に使い慣れた、ライブラリを使い続けると後々、後悔する羽目になってしまうのでよく検討しましょう。 特定の機能だけを使う場合、単体のライブラリなんかもネットを探せば結構ころがっていますので、部分的にそれらを使い、後は自作するなんてのもありかと。AP

    おっきなJavaScript開発の覚え書き
  • safari4 betaで実装されたCSS Animationを使ってみました。

    こんにちは。橋です。 さて、今日は先日公開されたsafari4 betaで実装されたCSS Animationを使ってみたいと思います。(今回のサンプルはsafari4 beta、もしくはwebkitのnightlyビルドを使ってご覧ください) CSS Animationとは何かと言いますと、文字通りCSSを使ってAnimation効果を表現する技術です。 まずこちらをご覧ください。 Falling Leaves ‘Using CSS Animations and Transforms これはwebkitの公式blogで紹介されていたサンプルなんですが、この美しく舞う落葉のアニメーション効果は全てCSSで定義されています。 では実際にどのようにアニメーション効果を定義するかを見ていきたいと思います。 まず、以下のように、キーフレームを定義します。 キーフレームの定義は、「@-webkit

    safari4 betaで実装されたCSS Animationを使ってみました。
  • 1