ドットインストール代表のライフハックブログ
![IDEA * IDEA](https://cdn-ak-scissors.b.st-hatena.com/image/square/dddb437cd13b120db1efa04fff27b0bb818f82c2/height=288;version=1;width=512/http%3A%2F%2Fwww.ideaxidea.com%2Fwp-content%2Fuploads%2F2009%2F08%2Fl862a22fd9fa72e38587f3bacb1a8f00f.jpg)
miyakeです。Webアプリケーションにおけるユーザーインタフェースの代表格と言えばフォーム。今日はそんなフォームのUIを作るに当たって、普段自分が心掛けていることをつらつらとご紹介します。 ■チェックボックスやラジオボタンはfieldset,label要素でくくる チェックボックスやラジオボタンには一般的にその内容を表すテキスト(ラベル)が付けられますが、input要素だけでマークアップした場合、チェックボックス(ラジオボタン)の部分しかクリックすることができません。 label要素を用いることで、ラベルの部分をクリックしてフォームを操作することが可能になります。これは是非設定しておきましょう。 ラベルをクリックできると思って期待を裏切られると、かなりのストレスになりかねません。 また、そのチェックボックスやラジオボタンのグループをfieldset要素で囲んでおくことをお勧めします。マ
なんとなくしか理解していなかったので理解しようと少し調べてみたのでメモめも 参考サイト シェルのリダイレクトを「こわいものなし」というくらい完全に理解しよう - 檜山正幸のキマイラ飼育記 (はてなBlog) シェルのリダイレクトにまつわる失敗 シェルのリダイレクトの補遺 - 檜山正幸のキマイラ飼育記 (はてなBlog) リダイレクト なかでは結局dupでファイルディスクリプタを複製してるだけなのでそこを理解すればOKかな パイプ これもpipeでパイプを作ってあげて読み込み用と書き込み用の2つのファイルディスクリプタをforkした後にdupで適切に 複製してあげて、いらないファイルディスクリプタを閉じてあげればOKかな、ここにリダイレクトがまざってきても パイプを処理した後にリダイレクト(dup)を処理すればOK。 パイプ、リダイレクトの処理の順番 リダイレクトは「左から右に」 パイプは全
CAPTCHAとは、スパムコメントなどを防止するための認証画像のことである。 それにしても、はてなのCAPTCHAはひどい。無いよりマシという考え方もあるのでそれについてはあまり議論する気は無いのだが、それにしてもこれを破るプログラムは30分あれば十分書ける。 具体的には、はてなのCAPTCHAには8つの好ましくない特徴と、2つの脆弱性がある。 ■ 8つの好ましくない特徴 ・画像自体のサイズが小さすぎる。→ こんなに小さいと探索量(計算量)が小さくて済む。 ・フォントにゆがみがない → フォントはある程度変形させたほうが良い。変形させてあるとテンプレートマッチングがしにくくなる。 ・フォントが固定。→ フォントは毎回変えたほうが良い。 ・フォントを回転させていない → フォントは文字ごとにある程度ランダムに回転させた方が良い。 ・フォントサイズが一定 → フォントサイズは文字ごとにある程度
Ajax.Requestを使ってサーバとの通信を行うことは出来るのですが、サーバ側にあるファイルを取得してクライアント側のHTMLページ内の指定の場所に表示するだけでれば、もう少し簡易な方法が用意されています。それがAjax.Updaterを使う方法です。 次の構文を使うことができます。 Ajax.Updater("表示するタグID", "ファイル名", { method: '通信方式' }); 通信が完了した時に実行する関数名を記述する代わりに、読み込んだファイルを表示する場所を表すID名を指定します。これで自動的にファイルを読み込んで表示してくれるようになります。 またAjax.Updaterを使う場合でも通信の成功時と失敗時で処理を分けることも可能です。Ajax.Requestの場合と少し異なり次のように記述します。 Ajax.Updater( { success: "表示するタグI
prototype.jsでAjax.Updaterを使う bookmark prototype.jsというライブラリのAjax.Updaterという機能を使えば、ページの特定部分を簡単に書き換えることが出来ます。 Ajax.Requestという機能で、Ajaxレスポンス取得後に、より細かい処理を行うことも出来ます。 コードを見てみよう bookmark Ajax.Updaterのコードとしては次のようになっています。 new Ajax.Updater( "container", "/samples/ajax/test.php", { "method": "get", "parameters": "a=b&c=d&e=f", onSuccess: function(request) { // 成功時の処理を記述 // alert('成功しました'); // var json; // eval
このドキュメントは Mozilla コードベースで使われる基本スタイルとパターンを説明するためのものです。 新しいコードはこれらの標準に沿うよう試みるべきです。それは、既存のコード同様にメンテナンスが楽になるためです。 もちろん、どのルールにも例外はあります。しかし、にもかかわらずルールを知ることは重要なのです! これは、新しく Mozilla コードベースへ向かっている、コードをレビューされるプロセスにある人へ特化して向けられています。 レビューを受ける前に、このドキュメントを読み通して、あなたのコードがここで推奨されている内容に沿っていることを確認してください。 命名とコードのフォーマット The following norms should be followed for new code, and for Tower of Babel code that needs cleanup
1 はじめに 1.1 コーディング規約の必要性 1.2 謝辞 2 ファイル名 2.1 ファイルの拡張子 2.2 一般的なファイル名 3 ファイルの構成 3.1 Java ソースファイル 3.1.1 冒頭のコメント 3.1.2 package と import の宣言 3.1.3 class と interface の宣言 4 インデント 4.1 1行の長さ 4.2 行の折り返し 5 コメント 5.1 インプリメンテーション・コメントのフォーマット 5.1.1 ブロック・コメント 5.1.2 1行コメント 5.1.3 行末に書くコメント 5.1.4 C++ 形式のコメント(//) 5.2 ドキュメンテーション・コメント 6 宣言 6.1 1つの行に書く宣言の数 6.2 初期化 6.3 配置 6.4 クラスとインタフェースの宣言 7 文 7
注意 PEAR 標準コーディング規約は、 PEAR の公式ディストリビューションに含まれるコードに適用されます。 コーディング規約 (Coding standards) は、開発者たちの間ではよく CS と略されます。この規約の狙いは、コードの一貫性を保つことと PEAR の開発者たちがコードを保守しやすくすることにあります。 インデント 空白 4 つのインデントを使用します。タブは使いません。 これにより、diff や patch、CVS history や annotations の際に問題が発生するのを避けることができます。 Emacs を使用する場合、indent-tabs-mode を nil に設定する必要があります。 Emacs を設定するモードフックの例を次に示します (PHP ファイルを編集する際に これがコールされるようにする必要があります)。 (defun php-
PHP では以下のように new してすぐメソッドを呼べない <?php new DateTime()->getOffset(); なので、引数をそのまま返す関数を作ってやると <?php function expr($a) { return $a; } expr(new DateTime())->getOffset(); // OK! 便利だなー おまけ 配列アクセス用のも作っておくと便利 <?php function expr($a) { return $a; } function idx($array, $i) { return $array[$i]; } echo idx(idx(expr(new DateTimeZone('Asia/Tokyo'))->getTransitions(), 0), 'abbr') . "\n"; おまけ2 無名関数をそのまま呼ぶときにも使える。 <
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く