By clicking 'Accept All', you agree to the use of all types of cookies to enhance site navigation. For more information, please visit our cookie policy.
こんにちは。デザイナーの王です。 Webアプリはデスクトップアプリとは違い、まだまだ発展途上の技術のため、色んな所でまだ未熟な部分があります。デスクトップアプリでは当たり前のことでもWebアプリではできなかったりすることも多いのです。中でも、UIのコンポーネント化問題が以前から指摘されてきました。 通販サイトにある「購入ボタン」を例に説明すると分かりやすいと思います。 この手のボタンを作るには以下の手続きを要すると考えられます。 外観を整える CSS HTMLマークアップ クリックした際の挙動 JavaScript 何が厄介かというと、「再利用」が難しいというところなんですね。 例えば、同サイトの別のページで同じボタンを使いたい場合、js、CSS、HTMLを再度記述しなければなりません。しかも場合によってはHTMLのマークアップが非常に冗長化していることもある。 「購入ボタン」はあくまで一
BrewfileでHomebrewパッケージを管理する この記事は1分で実現できる有用な技術 Advent Calendar 2013の24日目の記事です. Brewfileを使えば,Bundlerでrubygemsを管理するようにHomebrewのパッケージを管理できる.Brewfileのあるディレクトリで $ brew bundle とすれば,Brewfileに書かれたパッケージがすべてインストールされる.これはHomebrew公式のコマンドであり,特別なインストール等は必要なく,最新版にアップデートすればすぐに使うことができる. これを使えば,dotfilesに加えて自分のbrewパッケージを管理しておくこともできるし(tcnksm/dotfiles/Brewfile),imagemagickのようにプロジェクトで必要になるパッケージをBrewfileとして共有しておくこともできる.
目次 jQuery 1.4以前の書き方jQuery 1.5以上の書き方jQuery 1.8以上の書き方【発展編1】Deferredを用いた書き方 deferredとは何か?【発展編2】$.when() を用いた書き方参考本エントリは軽めのjQuery Advent Calendar 2012の14日目の記事として書きます。軽めといいながら少し重めになってしまった感がありますが、初めてのAdvent Calendar参加ということでご勘弁を。 ※ Twitter API仕様変更によりTwitter APIを使ったコード例は現在動作しなくなっていることにご注意。 jQuery 1.4以前の書き方まずは、少し古めのコード、昔のjQueryの本とかでよく見る書き方。 $.ajax({ url: "ajax.html", success: function(data) { alert('succes
今年の3月に 入門Chef Solo - Infrastructure as Code という本を書いた。 その名の通り Chef の入門書なのだけど、このサブタイトルは "Configuration Management Tool (構成管理ツール)" でもなく "Provisioning Framework (プロビジョニングフレームワーク)" でもなく、はたまた "Automated Infrastructure (自動化されたインフラ)" でもなく、"Infrastructure as Code" にした。 この一年で Chef や Puppet にはずいぶんと注目が集まった。おそらく、AWS をはじめとするクラウドサービスがより広いユーザーに浸透したことで仮想化環境が前提になって、以前よりも頻繁にサーバーを構築し直したりする機会が増えたとかその辺がひとつ理由として挙げられると思う
この投稿はPHP Advent Calendar 2013の12日目の記事です。 PHP恒例行事の参照と三項演算子のdisりですが、そろそろあさってな議論はやめませんかという話です。 今年のPHP-dis大賞といえばこちら。 PHPとかいう糞言語|いんまのブログ ※ 追記: これ書かれたのは2012年でしたすんません。 なんで君たちそんなコードが必要なのかね、と。結論から先言うと、きみたちがPHPが使えないって思うのは、そんな挙動に左右されるようなコードを書くからでしょ、だからCとかRubyとかそういう簡単な言語でわかった気になっている初心者はまったくもう...というわけでPHPの言語文法の基礎んとこ、いきますね。 まず、PHPのarrayは「値」です。もちろん文字列も「値」です。値は値なんだけど、それはミュータブルです。PHPのarrayもしくは文字列の代入は、一見すると、ポインタを使わ
注意:ここで、$a と $b は完全に同じで、$a が $b を指しているわけではなく、その逆でもありません。$a と$b は同じ場所を指しているのです。 つまり、↓こういうことだ。 さらに、「PHP: リファレンスが行うことは何ですか? - Manual」にはもう一つ注意が書かれている。 注意: リファレンスを含む配列をコピーする際に、そのリファレンスが解消される ことはありません。配列を関数に値渡しする場合も同様です。 つまり、最初のコードの動作はバグではなく正しい動作をしていたということになる。 <?php $array[0] = 1; $array[1] = 2; $array[2] = 3; $ref = &$array[1]; //$array[1]と$refがリファレンスになる $copy = $array; //$array[1]のリファレンスがそのままコピーされる。 $c
REDとGREENはクリスマス色♪ TDD Advent Calendar jp: 2013 今年もやります、TDD Advent Calendar ! ハッシュタグ : #TddAdventJp Advent Calendar とは? クリスマスまでの日数を数えるために、1日に1つ、穴が空けられるようになっているカレンダーです。転じて、技術系コミュニティで、クリスマスまでの25日間に Tips を1つずつ公開するイベントを Advent Calendar と呼ぶそうです。 ルール TDD に関するネタをひとつ、特定の日に、自分のブログにアップロードしてもらうだけです。技術的な内容に限らず、TDDBC などのイベントから得たことや TDD していて気付いたことなど、ゆるふわ っと何でもありです。執筆日は早いもの勝ちで。 【お願い】記事には、投稿一覧ページか参加状況ページへのリンクを入れてく
こんにちは、だんだんブログ勘を取り戻していきたい和田です。このエントリは TDD Advent Calendar 2013 の 11 日目のエントリです。このエントリでは、最近行ったテスト駆動開発関連の講演や寄稿に関して、この機会にまとめておきたいと思います。 DevLOVE 現場甲子園 まず 11/9 にDevLOVE現場甲子園2013にて「テストを書く文化を育てる戦略と戦術」というタイトルで短い講演をさせて頂きました。DevLOVE 甲子園は楽天第2タワー大広間の四隅で最大四つの講演が同時に行われるという意欲的なイベントで、話す方も気合い(と声量)が必要な場でした。 この講演では、開発者が自動テストを書く文化が無かった組織に自動テストの文化を育てる際の姿勢、心がけについて短い時間でまとめました。そのときの講演資料がこちらです(ライセンスは CC BY です)。 テストを書く文化を育てる
自分がどれだけのコミットでプロジェクトに貢献してきたかのか、と考えたことはありますか?もしくは、同僚の誰が何にもしていないか(または、かなりの変更をしてるのに、少数のコミットかも)。それなら、考えるのはやめましょう。@git shortlog@でそれらが分かります。 私は以下のコマンドを、このブログを作るのに使われている"jekyllのクローン":http://github.com/qrush/jekyll で実行しています。 $ git shortlog -s -n 135 Tom Preston-Werner 15 Jack Danger Canty 10 Chris Van Pelt 7 Mark Reid 6 remi 3 Mikael Lind 3 Toby DiPasquale 2 Aristotle Pagaltzis 2 Basil Shkara 2 John Reilly
Webアプリ作っててiPad mini(iOS7)のMobile Safariでハマった話。 前置き 今回のWebアプリは、ログイン機能があって、複数人で使うから最新情報が常に表示されていて欲しい(キャッシュからではなく)という要件がある。つまり、「いつでもサーバーにリクエストしてね☆ミ」ということ。一応ですが、iOS7の話です。 問題 iPadのSafariで現在表示しているページとhistory上で直前に表示していたページ(back、forward関わらず)の間の遷移がキャッシュから行われてしまう。 例えば、下記のような場合。 サインアウト→history.back→認証が必要なはずのページが見れてしまう サインイン→history.back→サインイン→サインイン画面に埋め込んだワンタイムキー*1が不正 history.back、history.forwardの繰り返しの間は情報が最
個人的に、CakePHPのテストで一番面倒だと思っているのは、Fixturesの管理だと思っています。 Model1というモデルがあって、Controller1, Controller2 のテストでそれぞれModel1のデータを使いたい、でもちがうデータを使いたい、という場合、もうFixtureがカオスになります。 そもそもControllerでテスト書かなきゃならんようなコードはFat Modelぢゃないよ、という向きもあるかと思いますが、認証とか権限とか絡むデータ操作だとController側に書かざるをえないですよね;; CakePHP 1.xだと多分以下のエントリに従えばいけます。 fixtureをディレクトリに分けて管理する | 1000g ただ、CakePHP2.xだと、fixturesの読み込みがCakeFixtureManagerに移ってるんですよね。。。 CakeFixt
最近はコーヒーを飲む回数より多くAndroid爆発しろと言ってる気がします。 Android4.xで画像という画像がぼやけまくるという怪現象があり、 シンプルな例を書いてみたらtranslateZが1つの原因のようでした。 translateZが親に指定されているだけでbackgroundだろうがborderだろうが画像が全部ぼやける。 空要素にbackground-image指定している場合は、要素に 入れておけばとりあえずはくっきりさせることは出来る。 imgはaltを入れてもtitleを入れても効果がない。 iScroll4を使うときは注意した方がいいです。 スクロールをスムーズにするためとかでtranslateZ使ってるから スクロール要素内に入れた画像が全部ぼやけてしまう可能性があります。 ほかにもtranslateZ使うケースは結構あると思うんですけど、 もしAndr
この記事は すごい広島 #6 での活動の一部です。 Git で branch をマージしたときにコンフリクトが起きると、これを解消する必要があります。テキストエディタでがんばるのはつらいこともありますよね。 そんなとき、マージするためのツールを使いたい場合もあります。 Git に git mergetool というコマンドがあって、設定しておいたツールを起動することができます。 同様に 差分を見るのにGUIツールを使いたい場合などには git difftoolというコマンドもあります。 基本的には Mac で使えるものを紹介しますが、マルチプラットフォームのもあるので、別の環境でも使えるものもあります。 試したツール opendiff - 無料 Xcode に添付されている p4merge - 無料 Qt ediff(emacs) - 無料 Kaleidoscope - 有料 - Coco
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く