タグ

techに関するhoneybeのブックマーク (51)

  • ObserverパターンとMulticastパターン - プログラマの思索

    JavaよりもC#が優れている点は、Deledateという機能があるおかげでイベント通知のロジックが書きやすい点にある。 Javaでは、Multicastというデザイパターンでカバーする必要がある。 平鍋さんの記事が分かりやすいのでメモ。 【元ネタ】 - デザインパターンによる進化的設計 Jude開発記 - Java プログラマのためのデザインパターン入門 [Effective C#] 項目21 デリゲートを使用してコールバックを実現する | まさくらのブログ デザインパターンにあるObserverパターンは、デスクトップアプリを作る時に非常に重要なパターン。 GUI上のイベントをキャッチして、次のイベントを発火するロジックに使うから。 しかし、- デザインパターンによる進化的設計に書いてあるように、Push型のObserverパターンでもPull型のObserverパターンであっても、情

    ObserverパターンとMulticastパターン - プログラマの思索
    honeybe
    honeybe 2010/06/21
  • Nintendo DS(Lite)でオープンソース系ソフトウェアを使用する | OSDN Magazine

    Nintendo DSは秀逸なゲーム機だが、このデバイスの能力はそれだけに限定されるものではない。ハッカー達の手にかかれば、Nintendo DSをオープンソース系ソフトウェアの実行プラットフォームとして利用するだけでなく、スリムダウン版でよければLinuxさえも動かすことが可能なのだ。ここでは、Nintendo DSをオールラウンドな携帯式コンピューティングデバイスに変貌させるために必要な、いくつかのオープンソース系アプリケーションを紹介することにしよう。 Nintendo DSといえども所詮はゲーム用コンソールに過ぎないので、ゲーム機用自作ソフトその他のアプリケーションを実行させるにはストレージ機能の追加が必要であり、そのための拡張カードを事前に購入しておかなければならない。この種の製品は多数存在しているが、有名どころとしては下記の選択肢を挙げることができる。 R4 Revolutio

    Nintendo DS(Lite)でオープンソース系ソフトウェアを使用する | OSDN Magazine
  • 声優はいらない?! - 肉声感あふれるニンテンドーDS用音声合成ソフトが発売 | エンタープライズ | マイコミジャーナル

    日立製作所と日立超LSIシステムズは、ニンテンドーDS向けの音声合成ミドルウェア「DS版 Ruby Talk」を開発した。データサイズを抑えながらも肉声感のある高音質な合成音声を生成できることが特徴。製品は、すでにバンダイナムコゲームスに納入されており、6月7日発売予定のニンテンドーDS用ソフトウェア「山川出版社監修 詳説日史B 総合トレーニング」などへの採用が決まっている。 同社では以前より、漢字かな混じりテキスト文から、合成音声を生成する組み込み機器向けの音声合成ミドルウェア「Ruby Talk」を発売している。このミドルウェアは、読み上げ速度、音量、アクセントの強さなどのパラメータを調整できることや、自然なアクセントの合成音声を生成できるなどの特徴がある。 今回発表されたDS版 Ruby Talkは、これをニンテンドーDS向けに特化させたものである。ニンテンドーDSではCPU

    honeybe
    honeybe 2007/04/16
  • オープンソースのOCRシステム「OCRopus」がGoogle Codeで公開 | ネット | マイコミジャーナル

    OCRopusプロジェクトは、オープンソースプロジェクト向けのホスティングサイト「Google Code」上で、光学文字認識(OCR)システム「OCRopus」のα版をApache License 2.0のもと公開した。LinuxをはじめとするUNIX系OSで動作するが、確認はUbuntu Linux 6.10で行われている。 OCRopusは、文字認識エンジンと文書解析機能を含むOCRシステム。ドイツ人工知能研究センター(DFKI)の研究グループの1つ「Image Understanding and Pattern Recognition」(IUPR)が中心となり、DFKIのThomas Breuel教授指揮のもとに開発が進められている。Google Code上でのソースコードの公開は、Googleがスポンサーについたことを契機とするもの。 プラグラムには、アメリカ国勢調査局によって90

    honeybe
    honeybe 2007/04/16
  • 圧縮の常識、非常識 - @IT

    2007/04/02 圧縮するとデータの保存に必要な容量は減るが速度が犠牲になる――。最近、そんな圧縮の常識を覆される例を2つほど知った。 1つは東京エレクトロンデバイス(TED)が3月12日に発売した米Storewizのストレージデータ圧縮装置の新製品「STN-6000」(参考記事:ストレージ容量を倍増させられる技術とは?)だ。NASの手前に配置し、クライアントPCやサーバからのデータの書き込みや読み出しのデータを圧縮・伸長するアプライアンスだ。NASにストアされるデータ量が減ることは容易に想像ができるが、冒頭に書いた“圧縮の常識”によれば、それによってデータの読み書き速度は若干犠牲になると考えたくなる。しかし、実際には圧縮、伸長のプロセスが入ることによって、むしろ読み書きの速度は向上することがあるという。今やボトルネックとなるのは圧縮のための処理時間ではなく、むしろ物理的なディスクのI

    honeybe
    honeybe 2007/04/03
  • ソフトウェア開発者のための推薦図書

    Code Complete 2 [ Code Complete第2版―完全なプログラミングを目指して (上・下) ] スティーブ・マコネルのCode Completeはソフトウェア開発者のための「楽しい料理だ。このを読むということは、自分の仕事を楽しんでいるということであり、自分のすることに真剣であるということであり、もっと向上したいと思っているということなのだ。Code Completeの中で、スティーブは平均的なプログラマが読む 技術書は年に1冊に満たないと指摘している。このを読んでいるという時点で、あなたはおそらく周りにいる開発者たちの90%と違う行動を取っていることになる。それもいい方向にだ。 私はこのがすごく好きで、ここから自分のWebサイトの名前(Coding Horror)を取ったくらいだ。このではやるべきでない悪い例には"coding horror"アイコンで印

  • http://blog.livedoor.jp/nulab_hashimoto/archives/50578965.html

  • http://recompile.net/2007/02/post_32.html

  • 「実演!リファクタリング」 WEB+DB PRESS Vol.37特集 特設ページ|gihyo.jp

    WEB+DB PRESS Vol.37の特集1「実演!リファクタリング」の特設ページです。リファクタリングの実演ムービーや誌面サポート情報などを掲載しています。 なお,企画は「実演!テスト駆動開発」(⁠WEB+DB PRESS Vol.35の特集1)と連続性を持っています。 更新履歴 2007年3月2日 訂正情報の追加 pom.xmlに,JVMのデフォルトエンコーディングがShift_JIS以外のOS(要するにWindows系以外のOS)をお使いの方向けの設定を追加しました。詳しくは5ページ目をご覧ください。 ダウンロード用サンプルコードの差し替え 上記補足情報に対応したpom.xmlに差し替えました。 著者からのメッセージ 実演ムービーをご覧いただくにあたっての,著者の和田卓人さんからのメッセージです。 Eclipseのリファクタリング機能 第3章を題材にした,Eclipseのリファク

    「実演!リファクタリング」 WEB+DB PRESS Vol.37特集 特設ページ|gihyo.jp
  • [ThinkIT] 第4回:押さえておきたいスパムフィルタの技術 (1/3)

    これまでスパムフィルタの選定基準やベンチマークテストの手法について解説してきましたが、今回は改めてスパムフィルタを支えている技術について紹介します。自社の企業システムに適したスパムフィルタを選定する上で、フィルタの仕組みやメリット・デメリットを知ることは大変重要です。 なぜなら製品選択によって、メールユーザや管理者の業務が天と地ほど異なるからです。また、「長期に渡って信頼できる技術を選択したい」「現在利用している技術はどのような位置づけなのか知りたい」あるいは「よりよい技術や利用法を知りたい」という方は、やはりある程度スパムフィルタ技術を理解する必要があるでしょう。 しかしスパムフィルタを支える技術は、コンピュータ技術の中でも難解である上、日々進化しています。しかも残念なことに、スパムフィルタ技術を知るための資料はあまり存在していません。そこで、今回は現在市場に出ている技術について、実際の

    honeybe
    honeybe 2006/12/21
  • CNET Japan Blog - 江島健太郎 / Kenn's Clairvoyance:Lingr and Comet - 技術解説編

    さて、お待たせしました。いよいよCometとLingrについての技術解説です。 ■Comet解説 さて、まずはCometとは何で、どういう背景によって生まれたのか、についての解説から始めます。 まず前提として、Webアプリケーションにおいては、通信開始のトリガーは常にクライアント側が握っています。つまりURLを入力したりボタンをクリックしたときなどに通信が発生することになるわけですが、このようなアーキテクチャは、サーバ側で発生した変化をリアルタイムにクライアント側に通知することが原理的にできないことを意味します。 チャット・アプリケーションでは、複数のユーザから不定期にメッセージが送信され、それが他の参加者に一斉に配信されなければなりません。しかし、メッセージを受け取ったサーバ側では、それをクライアントに即座にプッシュで通知する方法がないのです。 そのため、一定期間ごとにブラウザがサーバに

    honeybe
    honeybe 2006/09/22
    ふーん。擬似プッシュ
  • IBM - Redbooks

  • 再利用可能なコードを書くための10のコツ - memo.xight.org

    Summary 1. DRY (Don't Repeat Yourself.) 2. class/method は1機能のみ. 3. ユニットテストコードを書き,テストを楽にする. 4. ビジネスロジック,メインコードはフレームワークに依存しないように書く. 5. より抽象的に考え,インタフェースとアブストラクトクラスを使用する. 6. 拡張することを意識したコードを書け. 7. 必要でないコードを書くな. 8. 結合度を弱めるようにしろ. 9. モジュール化. 10. 自分のコードが常に外部APIであるようなコードを書け. Reference A Funny Java Flavoured Look at the World: 10 tips on writing reusable code http://hoskinator.blogspot.com/2006/06/10-tips-on

    honeybe
    honeybe 2006/06/23
  • How To Become A Hacker

    Eric S. Raymond, esr@snark.thyrsus.com19 December 1998 中谷千絵, jeanne@mbox.kyoto-inet.or.jp5 January 1999 ハッカーになるために 1. この文書を書いた理由 2. ハッカーとは何か 3. ハッカーらしい態度を身につけるために 3.1 この世界は解決を待っている魅力的な問題でいっぱいだ 3.2 同じ問題を二度解くような無駄を避けなさい 3.3 退屈と単純作業は悪 3.4 自由は善 3.5 態度は能力の代用にはならない 4. 基的なハッキング技術 4.1 プログラムの学び方 4.2 オープンソースの UNIX 類のどれかひとつを入手し、使うことを学び、 4.3 World Wide Web を使う方法を学び、HTML を書きなさい 5. ハッカー文化での地位 5.1 オープンソースソフトウェ

    honeybe
    honeybe 2006/06/22
  • 画像配信の負荷分散も比較的簡単?(その1) - 最速配信研究会(@yamaz)

    30万個ぐらいの静的ファイルを配信するサーバーの選び方 で静的な配信サーバに関することが述べられている. naoyaさんが公開されてるInside Hatena Bookmark's Backend の資料などを読むと、mod_perlなサーバーやMySQLサーバーの選び方の参考になったりするわけですが、世の中を見渡してみても、静的コンテンツ(画像とか)を配信するサーバーの指南書らしきものはなかなか見あたりませんでした。 なので、経験を元に書いてみることにします。 ということらしい.書いてあることはすべて同意だけど, つい3ヶ月くらい前まで 平均15k×1万URL×50億httpアクセス/day 平均4KByte×100万URL×3億HTTPアクセス/day な画像サーバと某所で向き合ってたため,ちょっとは役に立てるかもしれないと思ったので,私の経験を書いてみようと思う. 動画配信の負荷分

    画像配信の負荷分散も比較的簡単?(その1) - 最速配信研究会(@yamaz)
    honeybe
    honeybe 2006/06/22
  • Sematics、数学的アプローチによる日本語解析エンジン「Perceptrons」開発 | ネット | マイコミジャーナル

    言語解析の専門ソフトハウスSematicsは15日、統計的確率論などの数学的アプローチによる日語解析エンジン「Perceptrons Engine(パーセプトロン・エンジン)」を開発したと発表した。従来のような巨大な辞書を持たないので、軽量で高速な処理が可能とされ、今後ライセンス提供を行っていく考え。 Sematics代表取締役会長の吹谷和雄氏 従来技術との違い。辞書を持たないのが特徴 Sematicsは、数学者である代表取締役会長の吹谷和雄氏が設立した企業。2004年12月に設立されたばかりの若い企業だが、「格的に研究を始めたのは15年前から」(吹谷会長)ということで、3月に発売されたソースネクストの文書要約ソフト「ズバリ要約」には、同社の解析エンジン「Automaton Parser(オートマトン・パーサー)」が採用されたという実績もある。 同社の解析エンジンの特徴は、辞書を持

    honeybe
    honeybe 2006/06/19
  • Spring Frameworkのセキュリティはコレで確保、Acegi Security 1.0.0 | エンタープライズ | マイコミジャーナル

    The Acegi Security System for Spring Projectは29日(米国時間)、The Acegi Security System for Springの最新版となるAcegi Security 1.0.0を公開した。Acegi Security 1.0.0はJava EEベースのエンタープライズアプリケーションに包括的なセキュリティ機能を提供するためのソリューション。多種多様な組み合わせが可能だが、特にSpring Frameworkとともに動作することを想定して開発されている。 Acegi Security 1.0.0はApache License Version 2.0のもとで公開されているオープンソースソフトウェア。2年半の開発期間を経ての公式リリース。1.0.0 RC2から比べて80を越える改善と修正が施されている。 主な変更点は次のとおり。 Sec

    honeybe
    honeybe 2006/06/01
  • リモートサービスはプロパティで一括化 - Crispy 1.0 初の安定版公開 | エンタープライズ | マイコミジャーナル

    The Crispy projectは30日(米国時間)、Crispyの最新版となるCrispy 1.0を公開した。Crispyは簡単な操作で多種類のサービスをコールするためのシンプルなAPI実装。Crispy 1.0はCrispyシリーズ初の安定版バージョン。公開がはじまってから1年で最初の安定版が公開されたことになる。なお、Crispyという名称はClient for Remote Invocation for different kinds of Services via ProxYsに由来する。 Crispy 1.0はGNU LESSER GENERAL PUBLIC LICENSE Version 2.1のもとで公開されているオープンソースソフトウェア。Crispy 1.0において実現された主な機能や変更点は次のとおり。 非同期通信機能のサポート commons-logging

    honeybe
    honeybe 2006/06/01
  • http://labs.4dd.co.jp/

    honeybe
    honeybe 2006/05/23
  • ITアーキテクチャ設計の反復と吟味

    前回「製品/技術の適用と実現性の検証」までに、一通りのITアーキテクチャ設計ステップを紹介したが、それぞれのステップは独立して1回ずつ行えばよいというわけではない。前のステップの設計内容を受け継いで後続の設計を行い、設計結果を吟味して、必要に応じて前のステップの設計を見直すといった反復が、良いアーキテクチャ設計には欠かせない。 ITアーキテクチャ設計は「要件の洗い出し」「機能的アーキテクチャ設計」「配置設計」「製品/技術の適用」といった流れで行われるが、この流れは1回実施したら終わりというわけではない。製品や技術は、来、ビジネス要求から一連の設計ステップを経て選択されるものであるが、採用技術によっては、適切な配置設計が変わるケースもある。このような場合には、前のステップに戻って、アーキテクチャ設計を見直すことが必要である。 また、いったん、ITアーキテクチャが完成しても、さまざまな観点で

    ITアーキテクチャ設計の反復と吟味
    honeybe
    honeybe 2006/04/14