タグ

Tipsに関するigaiga07のブックマーク (174)

  • 複数通貨のMoneyをジェネリクスで作る

    Kanazawa.processではテスト駆動開発入門を読んで、テスト駆動開発を学びました。そのでのテスト駆動開発のサンプルとして挙がっていたテーマは複数通貨のMoneyを作るというものでした。 Dollarという米ドルを表現するオブジェクトを作り、Francというスイス・フランを表すオブジェクトを作り、そしてMoneyというオブジェクトに統合していくというリファクタリングの過程を経ています。 これをジェネリクスを使って設計したらどうなるでしょうか。 public abstract class Money<T extends Money<T>> { public abstract T add(Money<?> m); } Moneyオブジェクトに演算用のメソッドadd()を定義します。引き算や掛け算など要求に合わせて各種用意するといいでしょう。 Money<T extends Money

  • 小野和俊のブログ:ソースコードのコメント率は20%を切ることが望ましい

    大学の研究室の教官は昔NTT研究所の所長をされていた苗村先生という人で(と言いつつ私は大学の研究室にほとんど顔を出していなかったのだけれど)、彼の発言のうち印象に残っているものの一つとして、昔はソースコードのコメント率が50%を切るものはドキュメント不足で品質が低いものとされた、という内容のものがあった。 今、改めて考えて、どのような言語であってもどのようなコーディング規約であっても、私はソースコードのコメント率は原則20%を切ることが望ましいと思う。可読性の意味でもメンテナビリティの意味でも、開発生産性の意味でも。私が考えるに、来コンピュータが読むためのものであるソースコードに人が読むためのコメントを付け加えなければならないのは、次の2通りの場合だけである。 1.公開されるAPI APIやソースコードそのものが公開される場合、利用者は不特定多数となり、利用者のスキルにもばらつきが出て、

    小野和俊のブログ:ソースコードのコメント率は20%を切ることが望ましい
  • @IT:Windows TIPS -- Hint:FAT→NTFSにファイル・システムを変換する

    Windows NT系列のOSでは、アクセス制御機能を強化したNTFSファイル・システムを利用可能である。 FATファイル・システムは、MS-DOSにおけるファイル管理方式として広く普及したものだ。Windows 9x系列のWindowsWindows 95/Windows 98 SE/Windows Me)までは、ファイル・システムとしてこのFATのみが利用可能であった(MS-DOSの時代に開発されたFATから比べると、大容量ディスクへの対応やロング・ファイル名への対応など加えられているが、基的な構成は変わらない)。 これに対しWindows NTでは、FATに代わる新しいファイル・システムとしてNTFSが開発された。個人利用を前提として設計されたFATに比較し、NTFSでは、よりミッション・クリティカルな用途にも耐えるように、セキュリティの強化や信頼性の向上などを目的とした数々の新

    igaiga07
    igaiga07 2009/05/12
    FATからNTFSに変換
  • 【平澤寿康の周辺機器レビュー】 低価格SSDのプチフリを解消できるか ~FlashPointを試す

  • @IT:Windows TIPS -- Knowledge:NTPでネットワーク全体のマシンの時刻を合わせる

    対象OS:Windows 2000 Professional/Windows XP Professional/Windows XP Home Edition、Windows 2000 Server/Windows 2000 Advanced Server ネットワーク全体での時刻同期は必須の機能 ネットワーク上に多数のマシンが存在していて、それらの間で共同作業を行う場合、各マシンが内蔵しているシステムクロック(リアルタイムクロック、RTC)をすべて同じになるように揃えておくのは非常に重要なことである。 ファイルのタイムスタンプがずれていれば、更新日時順にソートしたり、ファイルの新旧を区別して動作するようなユーティリティ、例えばバックアッププログラムや、プログラムの開発過程で使われるmakeコマンド(ファイルの修正時刻を調べて、新しいものだけ再コンパイルするためなどに使われる)が正しく機能し

    @IT:Windows TIPS -- Knowledge:NTPでネットワーク全体のマシンの時刻を合わせる
  • ベンチマーク結果以上にWindows 7が軽いと感じる理由

    「VISTAに比べてWindows 7は軽い!」って、多くの人は言うけれどその理由はなんでしょうねー。 windows 7とVSTAのベンチマークテストは、先日テストして結果を報告してたけど、ベンチマークテストの結果以上に「7は軽い」と言ってる人が多いよね。 Windows 7の開発チームがその秘密の一端を語っているよ。 Windows 7の開発チームはデスクトップ操作の軽さを改善することにも注力した。従来のデスクトップのグラフィック処理などを受け持つ部分のGDI(Graphics Device Interface)は、排他的な処理をしていた。GDIアプリAが処理が終わるのを待って、GDIアプリBの処理をするという具合にね。 それで、あの妙ちきりんなVISTAのインターフェースと相まって、もっさり感を演出していてくれてたってわけさ。 新しい、Windows 7では、その部分を改善するために

  • ASCII.jp:電池を越えた電池! 電池と言えない電池を発見!|驚愕の結果! アルカリ乾電池性能比較実験!

    そりゃ反則だろ!? って電池を発見! その名はEnergizer! Energizer(エナジャイザー)の名前を見聞きした人はかなりいるだろう。アメリカの大手電池メーカーでDURACELLとともに、その名を世界に轟かせている。しかも国内では、2005年から2008年の6月まで富士フイルムがEnergizerブランドの電池を販売していたのだ。 がっ! ASCII.jp電池実験チーム(隊員数1名)が、アキバのヨドバシカメラで見つけたのはちと違う。それが、コイツだ。 こんな面構えって相場が決まってるんだ! ややこしいコトするアメリカンだな、オイッ! さらによく見てみれば「LITHIUM」とっ! そう、Energizer e2(エースクエア)リチウム電池といって、使い捨ての乾電池なのだ! だから充電できない。 使い捨てのリチウム電池は、かなり昔からある。ASCII.jp読者なら誰でも知ってる「CR

    ASCII.jp:電池を越えた電池! 電池と言えない電池を発見!|驚愕の結果! アルカリ乾電池性能比較実験!
    igaiga07
    igaiga07 2009/05/11
    エナジャイザー最強すぎる…
  • Ywcafe.net

    Ywcafe.net This Page Is Under Construction - Coming Soon! Why am I seeing this 'Under Construction' page? Related Searches: fashion trends All Inclusive Vacation Packages Best Mortgage Rates find a tutor Credit Card Application Trademark Free Notice Review our Privacy Policy Service Agreement Legal Notice Privacy Policy|Do Not Sell or Share My Personal Information

  • perl - もうやらなくてもいい昔のコーディングテクニック : 404 Blog Not Found

    2009年05月05日13:00 カテゴリLightweight Languages perl - もうやらなくてもいい昔のコーディングテクニック ここに上がっているテクニックは、未だにときどき(確信犯的)に使(う|わざるを得ない中年プログラマーの弾です。 もうやらなくていい昔のコーディングテクニックあれこれ - スラッシュドット・ジャパン 特に、 あとはパンチャーのおばさんにお菓子を持って行くのも、ひとつのテクニックです。 は、 s/パンチャー/プログラマー/g すると現在に至るも最強のテクニックで、我ががこの使い手だというのは我が家で hackerthon に参加された方は一人残らずご存知だと思います。 と前おいた上で、それのPerl編を。 以下、順不同で8つほど。 0. use strict;とuse warnings;なしでスクリプトを書く やはり最初に書いておくべきでしょう。理

    perl - もうやらなくてもいい昔のコーディングテクニック : 404 Blog Not Found
  • Google検索の「&amp;as_qdr=y15」オプションが便利だぞ - IDEA*IDEA ~ 百式管理人のライフハックブログ ~

    ドットインストール代表のライフハックブログ

    Google検索の「&amp;as_qdr=y15」オプションが便利だぞ - IDEA*IDEA ~ 百式管理人のライフハックブログ ~
  • input type=fileをCSSでクールにスタイルするサンプル:phpspot開発日誌

    CSS2/DOM - Styling an input type="file" input type=fileをCSSでクールにスタイルするサンプル。 input type=fileのファイル選択ボックスをスタイルしてクロスブラウザで動作させるのはそれなりに大変そうなのですが、そのサンプルが公開されています。 綺麗にデザインされたサイトなのに、ファイルの部分だけ「参照」ってなってて普通のボタンだとかっこ悪いかもという場合にこのサンプルが使えそうです。 実際にスタイルされたボックスは以下。 ファイル名が入る部分も角丸になっていて、ボタンもなかなかクールに仕上がっています。 一応ですが覚えておくとよさそうなテクニックですね。 関連エントリ JavaScriptHTMLフォームの劇的ビフォアアフター「JqtransformCSSでデザインされたテーブルレスでクールなフォームサンプル クリー

    igaiga07
    igaiga07 2009/04/24
    input type=fileのスタイル
  • 「JavaScriptでconcatはもう使うべきではないのかも」なんてことはない - os0x.blog

    JavaScriptでconcatはもう使うべきではないのかもしれない (Kanasansoft Web Lab.)に早まるなとツッコミを入れる。 まず、当たり前ですがpushを使うべきところでconcatを使う理由はありません。配列に要素を追加したいならpushを使うのは当然ですね。 あえてconcatを使うのは配列を複製したい場合です。*1 で、複製する場合のベンチをとってみました。 http://ss-o.net/test/array_clone.html Firefoxは配列の長さが大きくなってくるとpushのほうが高速になる傾向が見られるものの、基的にconcatのほうが安定して高速です。なにより、配列を複製していることが明確なconcatを使わない理由はありません。 ちなみにIE8はconcatが最適化されているらしく、上記ベンチではっきりとした差が出ます。シンプルに書いてお

    「JavaScriptでconcatはもう使うべきではないのかも」なんてことはない - os0x.blog
  • http://www.designwalker.com/2009/04/wireframe-2.html

    http://www.designwalker.com/2009/04/wireframe-2.html
  • IDEA * IDEA

    ドットインストール代表のライフハックブログ

    IDEA * IDEA
  • 超初心者向け!正規表現で「的確に素早く」ラクしよう : LINE Corporation ディレクターブログ

    こんにちは、櫛井です。 今回は正規表現について少しだけお届けしてみたいと思います。 限りなくシンプルにまとめてみますのでエンジニアな方には全く必要ない内容ですが、入門用として隣で一生懸命コピペを連打しているディレクターなどに教えてあげてください。 ■正規表現ってなに? 端的に言えば、「いくつかの文字列を一つの形式で表現するための表現方法」です。 サルにもわかる正規表現入門 とあるように、一定の条件で書かれた文字列を簡単に特定する方法です。 簡単と書きましたが、すいません、嘘です。非常に奥が深いので私は入り口あたりで挫折したままです。「正規表現をつかおう!」なんて言ってしまいましたが、私が知ってるのはたった2つだけです。 ■たった2つの正規表現 「そんなの正規表現っていえないよ!」というツッコミが目に浮かぶようですが、私が使っているのはこの2つだけです。 \n \t これだけです。 \n は

    超初心者向け!正規表現で「的確に素早く」ラクしよう : LINE Corporation ディレクターブログ
  • やってはいけない!!MySQLに悲鳴をあげさせる10の方法

    いつも「MySQLを使うときはこうするべき」という観点から記事を書いているが、今日は逆に犯してはいけない過ちをリストアップしようと思う。 1. 全てのカラムにインデックスをつけるデータベース初心者がもっともやってしまいがちな間違いはコレではないだろうか。インデックスはいい。検索がとても速くなるから。しかし、それと引き替えにインデックスは更新するときにコストがかかるし、その分多くのディスクスペースを消費する。特に更新にかかるコストは時に甚大で、該当するインデックスのページがキャッシュ上にない場合はディスクからいったんそのページを読み込まなければいけない。ディスクアクセスは動作にとても時間がかかるので、インデックスが多数、例えば全てのカラムに付いていたりすると「あれ?固まったか?」というような状態になってしまうことがあるだろう。インデックスは必要なカラムにだけつけるようにテーブルを設計しよう。

    やってはいけない!!MySQLに悲鳴をあげさせる10の方法
  • 「その発想はなかった!」と言わせる技術を身につけよう~仕事の幅を広げる19の発想技法

    EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

    「その発想はなかった!」と言わせる技術を身につけよう~仕事の幅を広げる19の発想技法
  • MapReduce on Tyrant - mixi engineer blog

    先日、隅田川の屋形船で花見と洒落込んだのですが、その日はまだ一分咲きも行ってなくて悲しい思いをしたmikioです。今回はTokyo Tyrant(TT)に格納したデータを対象としてMapReduceのモデルに基づく計算をする方法について述べます。 MapReduceとは Googleが使っているという分散処理の計算モデルおよびその実装のことだそうですが、詳しいことはググってください。Googleによる出自の論文やApacheプロジェクトによるHadoopなどのオープンソース実装にあたるのもよいでしょう(私は両者とも詳しく見ていませんが)。 今回の趣旨は、CouchDBMapReduceと称してJavaScriptで実現しているデータ集計方法をTTとTCとLuaでやってみようじゃないかということです。簡単に言えば、以下の処理を実装します。 ユーザから計算開始が指示されると、TTは、DB内の

    MapReduce on Tyrant - mixi engineer blog
  • よいCSS開発を行うための8のTIPS:phpspot開発日誌

    8 methods to bring your front end coding to rockstar levels | StylizedWeb.com よいCSS開発を行うための8のTIPSとして、当たり前かなと思うことから、なるほどというものがあったので以下にご紹介。 ・IDやクラス名にはより意味のあるものをつけよう たとえば、boxとかwrapperとかcontainerとかは一般的ですね。 一般的なものをつけておけばそれが何なのかすぐに分かるし、協業の際にも便利。 全体のラッパー以外にも、headerとか、content とか footer とか固定で使っておくと一貫性が出ていい感じですね。 まあ当たり前の人には当たり前なテクニックかも。 ・閉じコメントをつけて構造を分かりやすく <div id="header" class="section"> <div id="header-

  • tips - svnメイン、でもgithubでも公開したい場合の最小手順 : 404 Blog Not Found

    2009年04月02日03:30 カテゴリTips tips - svnメイン、でもgithubでも公開したい場合の最小手順 というわけで、遅ればせながらgithubはじめました。 dankogai's Profile - GitHub のですが、正直どうもgitにはとっつけない。RCS → CVS → subversion というのは、コマンド体系も互換性が高い正常進化でとっつきやすかったのですが、gitはそもそも考え方からして違うということも大きいかと思います。 というわけで、とりあえずひきつづき subversion をメインに使いつつ、githubでも公開したい場合どうしたらいいのかという備忘録を。 gitクライアントの入手 入手は以下から。 Git - Fast Version Control System 私はOS Xのバイナリを素直にインストールしました。インストールすると

    tips - svnメイン、でもgithubでも公開したい場合の最小手順 : 404 Blog Not Found