[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

2008年6月5日のブックマーク (18件)

  • School of Computer Science

    Authentication required for: Support Documentation The page you are trying to access is a protected resource and requires authentication. You are being asked to enter your Computer Science (SOCS-AD) username and password. Computer Science (SOCS-AD) login: By logging in, you are accepting the use of session cookies from this site. This cookie is essential for the authorisation of access to protecte

  • Martin Fowler's Bliki in Japanese - パーサー恐怖症

    http://martinfowler.com/bliki/ParserFear.html 2008/5/20 最近はドメイン特化言語についてみんなと話すことが多いのだが、外部DSLのことになると、だいたい決まって「パーサーを書くのは難しいよ」とか言われる。 外部DSLの構文としてXMLがよく使われるのは、「パーサーが無料で手に入るから」だったりする。 でも、パーサーを書くのは思ったよりも簡単なことなのだよ。いやマジで。 XMLのパースができれば簡単なことだよ。 証拠だってあるのだ……つっても、私の話だけど。 でもでも、十分に証拠となるものだから引き合いに出そうと思う。 現在執筆中の書籍に入門的な例を書いたんだけど、 簡単なステートマシンを作るのに外部DSLを2つ作ったのだ。 1つは(ゲートウェイドラッグ*1として)XMLを使ったもので、もう1つはカスタム構文をAntlrを使ってパースした

  • ANTLR

    What is ANTLR? ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files. It's widely used to build languages, tools, and frameworks. From a grammar, ANTLR generates a parser that can build and walk parse trees. Terence Parr is a tech lead at Google and until 2022 was a professor of data science /

  • Hudsonがついに昼間の仕事になりました - 川口耕介のブログ

    Hudsonは元々は趣味のハッキングプロジェクトとしてスタートしたのですが、このところ急に人気が出てきました。実際、いまやjava.netでももっともアクティブなプロジェクトの一つです。しかし、これはいわば夜の顔で、昼間は他の責任(JAXB,Metro,GlassFish v3とか)があって、Hudsonにかけられる時間は主に夜か週末に限られていました。 だったのですが、遂にこの度Hudsonがメインの仕事になりました(といっても会社は変わっていないです)。今後は、Hudsonに昼間も使えるし、この手の別なツールにも多少時間を使えるようになるはずです。(実際、今もう一つ別なツールを書いているところです。乞うご期待。) これを契機に、長いこと懸案になっていた幾つかの重要な機能を実装できると思いますし、またより多くのバグをより短い間に修正できるようになると思います。実際、もう既にStephen

    Hudsonがついに昼間の仕事になりました - 川口耕介のブログ
    lizy
    lizy 2008/06/05
  • VSS で管理しているのにソースの修正部分の差分をコメントとして残す

    学歴IT エンジニア兼管理職です。ずっとリモートワーク中。 駆け出しはブラック企業で低年収でしたが、転職を繰り返して年収は 5 倍以上になりました。 年収はこれ以上増えても幸せ指数は増えませんので、趣味の時間を増やすため早期の半リタイアを考えています。 最高の配偶者、可愛い娘、ハンサムな息子と幸せな日々を送っています。 息子の将来の夢はゲーム実況者らしい。がんばれー^^。 VSS で管理しているのにソースの修正部分の差分をコメントとして残す。というのが未だに多いのですが、VSS で差分管理できるということを知らないとかいうオチですか? その会社の伝統や風習みたいなものでしょうか。皆さんの周りではどうでしょうか? 手動でソースコードをマージする時 (いくつかの外注に発注する時) に指示することはあっても良いと思いますが、いつまでもずっと残っているのですよね。10 年物の修正履歴になると

  • jqueryのpackedバージョンは読み込みに(80msくらい)時間がかかる - bits and bytes

    先日The JUI 2008 Tokyoに参加させていただいて、その中でGreasemonkeyの中で使うならjQueryが便利だよ!というLightning Talkを聞きました。たぶんその発表をされていた内山さんが以前に書かれたWe Ain't Seen Nothin' Yet. : GreasemonkeyスクリプトにjQueryを読み込む汎用スクリプトを今朝読んでXPCNativeWrapperがあるのでグローバルのネームスペースにいろいろ設定したりするほかのライブラリだと使いにくいというのもあるのを知りました。 コードの評価にどれくらい時間がかかるのか 自分も以前にMochiKitの非同期処理をラップしてくれるDefferedを使いたくてMochiKitをまるまるスクリプトの中に入れて使ったことがありました。そのときMochiKitをまるまるいれたら読み込むのに100msくらいか

  • EclipseとJUnit4、またはstatic import

    EclipseでJUnit4を使ってみると、けっこう面倒だと思ってしまう。それは、Eclipseの非常に便利なimport自動編成機能(Ctrl+Shift+O)と、Java5から導入されたstatic importとの相性が悪いからだ。たとえば、JUnit4を使って、 import static org.junit.Assert.*; import static org.hamcrest.Matchers.*; ・・・中略・・・ @Test public void onePlusOneEqualsTwo() { int sum = 1 + 1; assertThat(sum, is(equalTo(2))); }というテストを書いていて、なにか別のクラスを使おうとしておもむろに「Ctrl+Shift+O」を押すと、static importの部分が以下のように展開されてしまう。 impo

  • MOONGIFT: » Mac OSX向けの洗練されたSubversionフロントエンド「Versions」:オープンソースを毎日紹介

    開発時にバージョン管理システムを導入することによるメリットは言うに及ばないが、それはプログラマのみならずデザイナーにとっても同様だ。だが、バージョン管理をデザイナーまで普及させるのは非常に困難だ。 メイン画面 やはりインタフェースが鍵を握っている。使い勝手の良い、分かりやすいインタフェースのバージョン管理システムがあれば利用してくれる可能性はありそうだ。 今回紹介するフリーウェアはVersions、Mac OSX向けのSubversionフロントエンドだ。 Versionsは既存のワーキングコピーも簡単に登録でき、HTTP/SSH/SVNプロトコルに対応してリポジトリを登録することができる。何よりファイルの一覧やログの閲覧などが分かりやすいインタフェースでできる点が便利だ。 比較の確認画面 また、ファイルを選択してDiffを表示したり(DiffはFileMergeを利用)、履歴をするのがボ

    MOONGIFT: » Mac OSX向けの洗練されたSubversionフロントエンド「Versions」:オープンソースを毎日紹介
  • MOONGIFT: » OpenOfficeをさらにパワーアップ!「Go-OO」:オープンソースを毎日紹介

    OpenOfficeを導入する企業、公共団体が増えている。実際、移行してみると大した混乱もなく終わる事が多いようだが、事前の調査や既存のファイルの互換性チェックは欠かせない。その大きな関門の一つがVBAだろう。 セキュリティ設定を変更すると、マクロを使うか確認してくる 特にExcel VBA、これが企業システムにとって大きな悩みの種だ。だがその大きな障壁を取り去れるかも知れないのがこの強化版OpenOfficeだ。 今回紹介するオープンソース・ソフトウェアはGo-OO、OpenOfficeに各種機能を付与したオフィススイートだ。 Go-OOはOpenOffice2.4をベースに様々な機能を付加し、さらに実用的に仕上げている。その機能を挙げていこう。まずOpenXML(DOCX/XLSX/PPTX)のサポート、SVGインポート、起動高速化がある。 OpenOffice上でExcel VBA

    MOONGIFT: » OpenOfficeをさらにパワーアップ!「Go-OO」:オープンソースを毎日紹介
    lizy
    lizy 2008/06/05
    ついにVBAまで動くようになったのか
  • Visual C++ 2008 Feature Pack: MFCの強化:CodeZine

    はじめに 昨年Microsoftが約束したように、今度の新しいVisual C++では、ネイティブコードによる開発と、ネイティブとマネージドの世界を融合するコードの部分に重点が置かれています。 すべての機能をC#やVisual Basic.NETなどのマネージドオンリー言語と同等に維持しても、それではVisual C++の製品としての意味がありません。マネージド機能との同等性を重視すればするほど、Visual C++という製品の来の領域、つまりネイティブコーディングおよび相互運用コーディングからは遠くなっていきます。 Visual C++ 2008は、Microsoftのネイティブコードへの新たな取り組みを大きく反映し、この10年で初めて、MFCを刷新してWindowsコモンコントロールライブラリをフルサポートします。単にWindowsをカバーするだけでなく、Visual C++チームは

  • Selenium Auto Exec Server(AES)

    Japanese / English Selenium Auto Exec Server(以降 Selenium AES)は、Seleniumによる継続的なリグレッションテストを行うためのツールです。 プロジェクトにおけるテストの手助けとなることを目標としています。 Selenium AESを使えば、SeleniumのHTML形式のテストを毎日決まった時間に実行し、その結果をメールで送信するといったことが簡単に行えます。 他にもSeleniumを使ったリグレッションテストを手助けするための様々な機能が提供されます。 Selenium AESは、Selenium RCを拡張することにより、実現しています。 また、Selenium RCのHTMLSuiteに対する使い勝手を向上させたツールとして、Selenium HTMLSuite Extensionというものも公開しており、Selenium

  • インターフェイス指向設計 - naoyaのはてなダイアリー

    を読むこととは、そのを読んだことに費やした時間の間、その書籍のテーマについて考えを巡らせることではないか、と近頃思います。を読みながら集中して、ある特定のテーマについて考え続ける。を読み終えた頃には、その思考の量的な価値が、自らの中で質的な価値に変換されているというのが理想であり、それが読書の醍醐味ではないかと思います。 インターフェイス指向設計 ―アジャイル手法によるオブジェクト指向設計の実践 を読みました。この書籍はシステム設計における「インターフェイス」(ユーザーインターフェイスではなく、プログラムインターフェイス) についての書籍です。インターフェイスについて考えを巡らせるにあたって、思考のための指針を与えてくれる良著だと思います。 プログラムインターフェイスというものをどのように捉えるか。ファイルをブロック単位で読むための手順であるとか、ソートのアルゴリズムであるとか、そ

    インターフェイス指向設計 - naoyaのはてなダイアリー
    lizy
    lizy 2008/06/05
  • tuProlog (2P)

    tuProlog is a light-weight Prolog system featuring seamless bi-directional integration with Java and .NET. Please visit the tuProlog home site for further information. Features light-weightminimal core, library-based extension mechanismfull, bi-directional, easy-to use integration with Java and OOP languagesmulti-paradigm programming support

  • パッチから exploit を自動生成する技術 - Radium Software

    Brumley, Poosankam, Song & Zheng. Automatic Patch-Based Exploit Generation is Possible: Techniques and Implications. カーネギーメロン大学の研究者による,パッチから exploit を自動生成する技術の論文。パッチによって変更される箇所を解析することにより,パッチ適用前のプログラムに存在していた脆弱性を見つけ出す,というもの。 実際にこの技術Microsoft の5つのプログラムに対して適用してみたところ,そのいずれからも exploit を生成することができた。しかも,そのうち3つは,公には脆弱性が知られていないものだったという。 この技術によって生成することができるのは,あくまでも「パッチ適用前のプログラムに対する exploit」であって,ひとたびパッチが当てられて

    パッチから exploit を自動生成する技術 - Radium Software
  • お金のことを忘れるべきとき - Radium Software

    Expensive advice more likely to be followed - Mind Hacks 同じ品質のワインでも,高い値段を付けられている方が美味しく感じる,なんて話がある。これと似た話で,同じ品質のアドバイスでも,タダのと有料のとでは,有料の方が従いたくなってしまう,という話がある。 これはある組織行動論の研究者が行った実験。適当にボランティアを集めて,アメリカ歴史に関する年号当てクイズに答えてもらう。被験者は正答率に応じてちょっとした(数千円ぐらいの)賞金が貰える。1セッションは15問から構成されていて,これを4セッション繰り返す。 ただし,4セッションのうち,ある1つのセッションでは,他人の回答を「アドバイス」としてタダで教えてもらうことができる。また,別のもう1つのセッションでは,他人の回答を有料で教えてもらうことができる。ちなみに被験者には,その「アドバイ

    お金のことを忘れるべきとき - Radium Software
    lizy
    lizy 2008/06/05
    逆に、ただで手に入れたものは大事にされない
  • 続・IT業界のネガティブイメージ(その1) - カレーなる辛口Javaな加齢日記

    アレの続きになるのかな? http://d.hatena.ne.jp/JavaBlack/20071102/p1 http://d.hatena.ne.jp/itoyosuke/20071101/1193932945 http://www.atmarkit.co.jp/news/200805/28/ipa.html http://b.hatena.ne.jp/entry/http://www.atmarkit.co.jp/news/200805/28/ipa.html 西垣氏は「英語は勉強しておきましょう。海外に出て行くにも英語は必須」と主張。 ここだけは同意.*1 *2 しかし学生から「英語は必須というが、日企業にも海外との接点を作ってくれないと意味がない。企業は海外の人を招致しているのか」と問われると、西垣氏は「私はNEC時代、自分が駄目だったら海外から社長を連れて来い、といっていた

    続・IT業界のネガティブイメージ(その1) - カレーなる辛口Javaな加齢日記
    lizy
    lizy 2008/06/05
  • Explorer のエラー報告の大半はマルウェア - Radium Software

    Another interesting detail from the analysis of Windows Error Reporting data for Explorer - The Old New Thing Raymond Chen がマイクロソフト社内のとあるミーティングに参加したときに, Explorer のエラーレポートの統計を見せてもらう機会があったんだって。その内容とは,こんな感じだったそうな……。 RankCauseUnits 1XYZ.v2 Virus6,000,000 2XYZ.v3 Virus5,500,000 3XYZ.v1 Virus5,000,000 4XYZ.v1 Virus4,500,000 5XYZ.v2 Virus4,500,000 6XYZ.v2 Virus4,000,000 7Bug 27182850,000 ("units" とは報告件数そ

    Explorer のエラー報告の大半はマルウェア - Radium Software
    lizy
    lizy 2008/06/05
    行儀のいい、エクスプローラと仲良く共存するようなやつを作られるとダメですね
  • Cuckoo Hashing - Radium Software

    ハッシュテーブルからエントリーを検索する処理は,一般に定数時間で済むとされている。つまり,どんなにエントリーが増えても検索の速さは変わらない,ということ。データ構造の教科書には必ず載っていることだね。 でも実際には,ハッシュの衝突が起こった場合に,速度の低下が発生する可能性がある。例えば,一般的なチェイン法(オープンハッシュ)だと,衝突したエントリーに関して線形検索を行うことになるから,衝突が多ければ多いほど,定数時間からは遠のいてしまう。 この速度低下を防ぐ方法はいろいろある。なかでも cuckoo hashing (カッコウ・ハッシング)は仕組みが面白い。こいつは,エントリーの検索を必ず定数時間で済ませてくれるという優れものなんだ。 Cuckoo hashing では,2つのハッシュ関数と,2つのテーブルを用いる。ここでは,2つのハッシュ関数をそれぞれ h1, h2 として,2つのテー

    Cuckoo Hashing - Radium Software
    lizy
    lizy 2008/06/05
    面白い。こういうのを考えつく人はすごいとつくづく思う。