タグ

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

  • JSR 303 Bean Validationで遊んでみるよ! - Yamkazu's Blog

    その名のとおりJavaBeansの為のValidationの仕様であるJSR303ですが、近頃でもないですがHibernateはもちろん、その他SpringやOvalなどの周辺フレームワークの対応が進んでずいぶん使いやすくなってきました。 ところでアプリケーション作っててValidationの仕組みって毎回悩みませんか?私がJavaでWebアプリケーションつくりはじめた頃なんかだとStruts1.xが全盛期でvalidation.xml、validation-rule.xmlとか使って書いてましたが(今考えれば二度とやりたくないですねw)、今でも毎回どのチェックをどのレイヤ(アプリケーションレイヤ?ドメインレイヤ?)に持たせるかとか、データストアに問い合わせしないといけないValidationって画面の入力だけでチェックできるのとどう管理しようかなとか、色々と悩むこともしばしばです。最近D

    JSR 303 Bean Validationで遊んでみるよ! - Yamkazu's Blog
  • CSRF対策のトークンをワンタイムにしたら意図に反して脆弱になった実装例

    補足 この記事は旧徳丸浩の日記からの転載です(元URL、アーカイブはてなブックマーク1、はてなブックマーク2)。 備忘のため転載いたしますが、この記事は2011年1月27日に公開されたもので、当時の徳丸の考えを示すものを、基的に内容を変更せずにそのまま転載するものです。 補足終わり 橋口誠さんから今話題の書籍パーフェクトPHP (PERFECT SERIES 3)を献いただきました。ありがとうございます。このエントリでは同書のCSRF対策の問題点について報告したいと思います*1。 書では、CSRFの対策について以下のように説明されています(同書P338)。 CSRFへの対応方法は、「ワンタイムトークンによるチェックを用いる」「投稿・編集・削除などの操作の際にはパスワード認証をさせる」などがあります。一番確実な方法は両者を併用することですが、ユーザ利便性などの理由から簡略化する場合で

  • トイレリフォームの費用の相場と適した選択について

    トイレは使い続けているうちに汚れや劣化が目立ちはじめます。思い切ってトイレリフォームを行うのはひとつの方法です。しかし、問題となるのはトイレリフォームを行うにあたっての費用についてです。当然ながら予算のなかでやりくりをしないといけないため、慎重に検討すべきです。どれくらいの費用がかかるかはどういった選択をするかによって大きく変わっていくものです。トイレリフォームの費用の相場を考慮したうえでの適した選択を行うことを考えての対応をしましょう。 ■タンクレストイレの強み トイレリフォームを行うにあたって、機能性を考えるとタンクレストイレに変えるのがひとつの方法です。工事費はそれほど高くなくとも、タンクレストイレは便器周りの空間がすっきりしたり、見た目が良かったりします。空間を広く使えるため、掃除が簡単になります。コンパクトなデザインで便利機能が標準装備されているのも注目点です。 また、節水出来る

    j5ik2o
    j5ik2o 2011/02/06
    ブログを紹介していただき感謝!
  • 変数名補足 - いいプログラムを書こう

    変数名についての補足情報 - 変数名の力 スコープと変数名 スコープとは、その変数が見える範囲のことをさします。たとえば、 foo () { int i; ... if (i == 0) { int l; ... } } この場合、iのスコープはfoo()の中全体、lのスコープはifの中となります。 さて、題に戻りますが… 短い変数名は悪者か? いいえ。 短い変数名が示すことは、自分が一時的な(スコープが狭い)変数だということです。 より長い名前は、まれにしか使用されない変数やグローバル変数に適し、短い名前は、ローカル変数やループ変数に適します。 しかし、短くても意味を表しているほうが望ましいことは言うまでもありません。 計算結果を格納する変数の名前 total, average, maximum,...などの計算結果を入れておく変数名

  • 対義語・反対語で時間を取らないために | WebSpaceの中の人

    webサイト「WebSpace」(webspace.jp)の中の人のブログ JUGEMのカスタマイズ・スクリプト配布なんかもやってます プログラミングをしていて、最初の値と最後の値を保持する変数の宣言が必要になった時、すぐになんて名前にしたらいいか思いつきますか? "firstValue"と"lastValue"あたりが自分の中で一番しっくりくるのですが、これに辿り着くまでに少なからず考えてしまい、無駄な時間を取ってしまいます。 最初は『プログラムの最初だと"start"で最後は"end"か?』なんてことを考えたりもしました。。 下の一覧を見てもらうと分かる通り、stratとendは対になる言葉ではないのです。 自分だけが見るプログラムならいいのかもしれませんが、他人に見せるときにこんな間違いしてたら恥ずかしいですよね?(自分だけか!?) それなら、事前に書き出しておけば間違いも

  • LL脳がscalaの勉強を始めたよ その62 - Reinvention of the Wheel

    [まとめ] LL脳がscalaの勉強を始めたよ LL脳がscalaの勉強を始めたよ その61 Scalaコップの18章に入っていきますよー、18章はステートフルオブジェクトに関するアレやコレですねー どのようなオブジェクトがステートフルなのか そもそもステートフルオブジェクトってなんじゃらホイ?ってはないですな。ステートフルオブジェクトと比較されるのが純粋関数型オブジェクトで、要するにイミュータブルな世界のことを表すようです。 純粋関数型オブジェクト 純粋関数型オブジェクトはメソッドの呼び出しやフィールドの参照時に、必ず同じ値が結果として返ってくるものらしいデス。コップで散々おすすめしてきたのがこいつですね。 乱暴に言ってしまうとvalで定義したイミュータブルなものって解釈でいいかしらネ // val定義のcsの値はずっと変わらないので保証されまっす scala> val cs = L

    LL脳がscalaの勉強を始めたよ その62 - Reinvention of the Wheel
    j5ik2o
    j5ik2o 2011/02/06
    コップ本