タグ

2011年1月6日のブックマーク (12件)

  • IPv6Addressを正規表現でマッチする。 - 設計と実装の狭間で。

    より正しい正規表現を別なエントリとして記述しました。 IPv6アドレスをより妥当な正規表現でマッチする。 以下の内容は、僕が自力で頑張った為、正規表現として不適切な部分があります。 IPv6アドレスのフォーマットが良く分からないので、正規表現で書き下す事で理解しようと試みます。 そこそこ良い感じに出来た様な気がしないでも無いのだけど、正しくない部分も相応にあります。 結論としては、大体こういう正規表現になりました。 どの正規表現もポート番号部分が無くてもひっかかります。 IPv4アドレスとポート番号がセットになっているものをマッチする。 (25[0-5]|2[0-4]\d|[0-1]?\d?\d)(\.(25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}(:\d{1,4})? IPv6アドレスとポート番号がセットになっているものをマッチする。 (([0-9a-f]{1,4}

    IPv6Addressを正規表現でマッチする。 - 設計と実装の狭間で。
  • setTimeoutのメソッドチェーンとループ時の利便性向上について - 三等兵

    ppBlog official これは私も以前悩みました。もう解決したとは思いますがいろいろやってみます。 コードを拝借。 var foo = function(){}; // 関数オブジェクトを作成 foo.prototype = { // プロトタイプを設定 say : function(s){ alert(s); return this; }, await : function(ms){ // ここで遅延処理をゴニョゴニョしたい // var _this = this; // setTimeout(function(){ // return _this; # まぁ、これはダメだけど、こんな感じでやれたらいい // }, ms); return this; } } var bar = new foo(); bar.await(2000).say("Hello"); // すぐに「Hel

    setTimeoutのメソッドチェーンとループ時の利便性向上について - 三等兵
  • おっと萌えキャラの悪口はそこまでだ : ActiveObjects

    2009年06月01日17:31 カテゴリプログラミングActiveObjects つまりは多態性? ActiveObjectsのトランザクション処理は以下のようにして実装されている。 Transaction.classの抜粋 public abstract class Transaction { private EntityManager manager; public Transaction(EntityManager manager) { this.manager = manager; } public T execute() throws SQLException { Connection conn = null; T back = null; try { conn = manager.getProvider().getConnection(); // コネク

    yamkazu
    yamkazu 2011/01/06
  • 【コラム】攻略! ツール・ド・プログラミング (41) Javaで非同期なHTTP通信を行うための「AsyncHttpClient」 | エンタープライズ | マイコミジャーナル

    Java用の非同期HTTP通信ライブラリ AsyncHttpClentはJavaプログラムにおいて非同期のHTTP通信を行うためのクライアントライブラリである。Javaに標準で付属するHTTP通信用のUrlConnectionクラスは最低限の機能しか実装されていない。ApacheのJakarta Commonsプロジェクトの成果物であるApache HttpClientは高性能ではあるが、クライアントプログラムはサーバからのレスポンスを待ってから処理する同期通信を行う。また、メモリ上にバッファリングを行うため巨大なファイルの送受信に適していないことや、I/OライブラリがApache HttpClientで提供されるものしか使えないといった問題がある。 AsyncHttpClientの場合、クライアントプログラムがサーバのレスポンスを待たずに処理を続行する非同期通信を行うことができる。速度優

    yamkazu
    yamkazu 2011/01/06
  • 遅延して入力を隠すパスワードフィールド·dpassword MOONGIFT

    dpasswordはJavaScript/jQuery製のオープンソース・ソフトウェア。パスワードフィールドというのはいつも入力すると※や●といった記号で表示される。自分自身何と入力したか分からない代物だ。そのため忘れやすく、ストレスを感じることも多い。 最後の文字だけ表示されているのが分かる 背後から覗き見られた場合を想定しているらしいが、そのようなことがあった試しがない。iPhoneではその垣根を越え、入力した文字が少しの間表示された後に●に変化する仕組みを取り入れた。これをWebブラウザ上で実現するのがdpasswordだ。 dpasswordを入れるとパスワードフィールドに文字を入れた時に入れた文字がそのまま表示されるようになる。続いて文字を入力すると文字が●に変化する。あのiOSの入力方式そのままといった感じだ。さらにパスワードを取得するためのJavaScriptがあるのも便利だ

  • Gitでリモートリポジトリを巻き戻す - tmtms のメモ

    Gitで間違ったコミットをリモートリポジトリに push してしまった後に、それを無かったことにするには、リモート側での作業が必要だと思っていたのですが、ローカルからの操作でもできることがわかったので備忘録的に書いておきます。 次の状態にあるとします。アルファベットはコミットだと思ってください。 リモート: A-B-C master ローカル: A-B-C-D masterローカルで変更を加えてDの状態になっています。 git push すると次のようになるのですが、 リモート: A-B-C-D master ローカル: A-B-C-D masterここで、D は間違いだったと気づきました。 リモートリポジトリの master のバックアップ用のブランチを作ります。これは必須ではありませんが、念のため。 % git push origin master:master_bakこれで次の状態に

    Gitでリモートリポジトリを巻き戻す - tmtms のメモ
    yamkazu
    yamkazu 2011/01/06
  • 14-コードレビュー - やさしいデスマーチ

    「プログラマが知るべき97のこと」の14個目のエピソードは、コードレビューに関する話です。コードレビューの目的は「コードの品質を上げ、欠陥を減らすため」と考えがちですが、それと同じ程度に「チーム全員に同じ知識を共有させること、またコーディングにおいて全員が守るべきガイドラインを確立すること」が大切であると書かれています。 残念な事に、誰もがコードレビューが重要なことを理解している一方で、適切な形で開発プロセスにコードレビューが組み込まれているケースは希です。全コードをレビューしたとしても、バグが発生した時の言い訳にはなりますが、非常に時間を使うことになり通常は費用対効果は低くなります*1。また、レビューを組み込まなければ、各プログラマが好き勝手に実装することになります。それはそれで1つのスタイルかもしれませんが、コーディングスタイルを揃えて可読性を高める事はできませんし、経験の浅いプログラ

    14-コードレビュー - やさしいデスマーチ
  • ファイルシステムとしての Git - 言語ゲーム

    Git のコマンド体系は全く歴史に学ばず後世に禍根を残す酷いデザインだが、どういうわけか内部構造は大変素晴らしい。特にファイル構造を一旦キーバリュー式データストアに保存するというのは是非参考にしたいアイデアなので調べてみました。 Git 内部データストアの基機能は、ファイル名を使わず中身だけを保存する事です。ファイル名が無くて後からどうやって保存した中身を取り出すかというと、保存時に SHA-1 という文字列が発行されるのでそれを鍵に取り出します。それでは試しにやってみます。まず準備として新しい Git レポジトリを作ります。 $ mkdir test $ cd test $ git init Initialized empty Git repository in /Users/takashi/tmp/test/.git/ blob 次に、適当な文字列を保存します。 $ echo '適当

    ファイルシステムとしての Git - 言語ゲーム
    yamkazu
    yamkazu 2011/01/06
  • 姓だけ名乗っていてはダメ!プレゼンを印象付ける正しい「自己紹介」の仕方

    1983年株式会社話し研究所を設立。2004年に会長に就任。「コミュニケーション」を軸にした講座、講演を企業、官公庁を中心に行い、話し方研究所でもセミナーを開催。主な著書に、『人を動かす会話術』『上手な「聞き方・話し方」の技術』などがある。 プレゼンの上手な話し方 いまやプレゼンテーションは、営業職の人だけでなく、技術者、行政の職員などすべての人にとって身近な存在、そして必要なスキルになっている。あらゆる場面で聞き手を納得・共感させるにはどうすればよいのか。この連載では、「説得力ある話し方」を身につけ、プレゼンテーションを成功させるカギを探る。 バックナンバー一覧 プレゼンテーションのスタート時に、「自己紹介」はつきものである。自分が何者であるかも告げずに、プレゼンテーションする人はいないはずなのに、 ・名乗らない ・通りいっぺんに、姓だけ告げる といった例は、決して珍しくない。 「名乗ら

    姓だけ名乗っていてはダメ!プレゼンを印象付ける正しい「自己紹介」の仕方
  • DBの「トランザクション分離レベル」が必要な理由  (PostgreSQLで,ファントム・リードを防止すべきサンプル事例) - 主に言語とシステム開発に関して

    データベースには,「トランザクション分離レベル」というものがある。 以下では,それが なぜ必要なのか? デフォルトのレベルでは,どうして駄目なのか? PostgreSQLでは,どうやってレベルを変更・確認するのか? などを取り上げる。 トランザクション分離レベル トランザクション分離レベルとは: 複数のトランザクションが同時に実行された場合に、他のトランザクションからの影響がどのくらい「分離」するか,のレベル。 ANSI規格では,4つのレベルがある。 READ UNCOMMITTED (一番低い) READ COMMITTED REPEATABLE READ SERIALIZABLE(一番高い) 徹底比較!! PostgreSQL vs MySQL 第3回:トランザクションの比較 http://thinkit.co.jp/free/article/060... トランザクション処理に詳しく

    DBの「トランザクション分離レベル」が必要な理由  (PostgreSQLで,ファントム・リードを防止すべきサンプル事例) - 主に言語とシステム開発に関して
  • フォームで離脱させないためのjQueryプラグイン50選|designaholic -Creative Column-

    最近では、エントリーフォーム最適化(EFO)という施策も広まってきましたが、特に購入やサンプル請求、お問合せ等がコンバージョンとなっているサイトではフォームで離脱されてしまってはせっかくの広告や施策が水の泡になってしまいます。 ここではユーザーを離脱させないために気をつけたいポイントとそれを実現するために便利なjQueryのプラグインを紹介します。   まず、入力フォームを作成する際のポイントは、ユーザーにストレスを感じせない事です。ストレスの原因となるものは大きく言うと   入力しづらい、エラーメッセージがわかりづらい、といった操作に関するもの。 どこまでやれば完了なのかわかない、個人情報の扱いが心配、といった心理的なもの。   です。なのでこの点を解消させてあげるフォームを作成すればユーザーが離脱する可能性は下がりますね。 具体的なポイントは以下のような項目になります。   必須入力か

  • Hudson環境のバックアップ - ふぞろいのGENGOたち

    はじめに リリースに向けて追い込みに入っている状況なのに、マーフィーの法則が予定どおりに(?)働いて、「昨日まで動いていたHudsonがハードディスク故障のせいで動作しなくなっている」なんてことになると大変です。 この記事では、そんな状況でも慌てず騒がず対処できるようにするために、Hudson環境のバックアップについて説明したいと思います。 なお、この記事におけるバックアップ方針は次のとおりです。 (A) : お金をかけずに取得する (B) : 安全なタイミングで取得する (C) : 分かりやすい方法で取得する (D) : Hudson自身に(定期的に)取得してもらう バックアップの前に バックアップ対象 バックアップ対象は、Hudson環境が構築されているHUDSON_HOMEディレクトリの内容になります。 (HUDSON_HOMEディレクトリ内のディレクトリ構成例は以下を参照) HUD

    Hudson環境のバックアップ - ふぞろいのGENGOたち