プログラミングに関するnanto_viのブックマーク (68)

  • Makefile は簡潔に書きましょう - pyopyopyo - Linuxとかプログラミングの覚え書き -

    仕組みが判ってしまえば Makefile は簡潔に書けます.$(CC) とか $@ とか $< なんて変数は使ったら負けです. 基(その1) ソースコード hoge.c から 実行形式のバイナリ hoge を生成するMakefileは,以下のように書きましょう all: hogeこれだけです.これで $ make all とすると hoge が生成されます 重要な点は,間違っても all: hoge hoge: hoge.c $(CC) hoge.c -o hogeのようなMakefileを書かないことです.このようなMakefileでは #!/bin/sh CC=gcc $CC hoge.c -o hoge というようなシェルスクリプトと同程度の使い勝手しかありません. 基(その2) ここで例えば-O3 を付けてコンパイルしたい場合や,-lm を付けてリンクしたい場合は以下のようにし

    Makefile は簡潔に書きましょう - pyopyopyo - Linuxとかプログラミングの覚え書き -
    nanto_vi
    nanto_vi 2007/07/03
    make -pで自動生成ルールを確認。
  • Home | byteMyCode

    To promote our SearchSquire software, we developed and executed CPM pop up ad campaigns across a number of networks. New Media Properties is an Internet consulting and business development company. In addition to operating our own websites, we provide consulting services to our clients and enable them to grow their market share, to increase their revenue, and to develop a stronger strategic positi

    nanto_vi
    nanto_vi 2007/07/03
    ソースコード共有、スニペット、snippets。
  • Scheme:なぜSchemeにはreturnが無いのか

    あるいは、なぜcall/ccがプリミティブなのか、に関する一考察 (Shiro: 「なんでも継続」に入れようかと思ってたネタだけど、 あっちがいつ書けるかわからんので、忘れないようにこっちにまとめとく) (話の流れがあるので、誤りの修正以外のコメントは途中ではなく、一番下にお願いします) returnはどこだ? Aliceは、リストlisと述語手続きpredを取り、lisの各要素に順にpredを適用して、 predが真の値を返したら直ちにその要素を返すような関数findを 書くことを考えた。 (findは便利なので、実はsrfi-1に定義されてるけど、 Aliceはまあ自分の勉強のために書いてみることにしたと思いねえ)。 AliceはPerlなら良く知っている。Perlならこんな感じで書けるはず。 sub find { ($pred, $lis) = @_; foreach $elt (@

    nanto_vi
    nanto_vi 2007/07/03
    継続、call/cc。
  • JavaScript でソートアルゴリズムを可視化 - bkブログ

    JavaScript でソートアルゴリズムを可視化 JavaScript でソートアルゴリズムを可視化するプログラムを書いてみました。元ネタは Jon Bentley による ソートアルゴリズムを可視化する Java アプレットです。 アルゴリズム 要素数 動作確認は Firefox 2, IE 7, Opera 9 で行いました。要素数は最大で200まで選べますが、かなり重くなるので遅いマシンで実行すると危険です。 English version is also available. ソースコード: sort-animation.js 解説 X軸が配列の添え字、Y軸が配列の要素の値を示しています。最初に要素がランダムに並んでいる配列 (値に重複なし) を作って、それを各種のソートアルゴリズムでソートする様子をアニメーションで表示します。 ただし、要素のあらゆる変更に対して毎回表示を更新し

    nanto_vi
    nanto_vi 2007/07/03
    各種ソートの実行の様子をアニメーション表示。
  • Scheme:使いたい人のための継続入門

    使いたい人のための継続入門継続渡し形式call/ccは普通の関数call-with系関数call-with-procedurecall-with-continuation-procedurecall-with-current-continuation評価順序と継続call/ccパズルお手元マルチスレッド部分継続reset/pcとcall/pc環境破壊と部分継続部分継続の使用法PRINT-AND-NEXT-REPL議論質問お手元マルチスレッドのサンプルプログラムについて 使いたい人のための継続入門 とりあえず殴り書き。 くどかったり冗長な文章になってたり、重複してたり、間違ってたり、 おおいなる勘違いをしてたり、恥をカいてたりするかもしれないけどご愛敬。 藁をもつかみたい気持ちで継続を使えるようになりたい人は読んでみてください。 ただし所詮は藁です。(w 継続渡し形式 例によって階乗fa

    nanto_vi
    nanto_vi 2007/07/03
    継続渡し、CPS、call/cc。
  • トランポリン版の継続渡し leaf_count_cps_t - Tociyuki::Diary

    11月16日に goto を使った強引なやりかたで、末尾再帰のループ化と継続渡しの実行をやってみたところ、コメント欄で shiro さんにトランポリンを紹介してもらいました。 ⇒ http://d.hatena.ne.jp/tociyuki/20061116/1163674424#c1163895106 shiro 『なお、ベース言語が末尾呼出し最適化を保証してくれない場合によく使う手としてトランポリンがあります。各関数を、結果を返すのではなく、その関数の継続手続きを返すように書いておきます。そして、(途中略)ひたすら返って来た継続を呼び出しつづけるドライバを書いて駆動します。 これだとベース言語のスタックを消費しません。』 随分と、あれから経った気がしますが、突然、これをやってみたくなったので試してみました。 まずは、関数コールをおこなわせるコードリファレンスをドライバに渡して、こんな風

    トランポリン版の継続渡し leaf_count_cps_t - Tociyuki::Diary
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    nanto_vi
    nanto_vi 2007/02/04
    HTTPリクエストメソッドの修正。オブザーバでhttp-on-modify-requestトピックを受け取る。
  • 253125 - cleanup gratuitous use of NS_ERROR_FACTORY_REGISTER_AGAIN

    Shared components used by Firefox and other Mozilla software, including handling of Web content; Gecko, HTML, CSS, layout, DOM, scripts, images, networking, etc. Issues with web page layout probably go here, while Firefox user interface issues belong in the Firefox product. (More info)

    nanto_vi
    nanto_vi 2007/02/04
    必ずしもXPCOMコンポーネント登録時にNS_ERROR_FACTORY_REGISTER_AGAINを投げる必要はない。
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
    nanto_vi
    nanto_vi 2007/02/04
    遅延評価、Schemeで。
  • スクリプト可能なコンポーネント (XPConnect)

    概要 XPConnect は、XPCOM と JavaScript を、お互いにかんたんに操作できるようにする技術です。 XPConnect は、JavaScript オブジェクトが透過的に XPCOM オブジェクトにアクセスし、操作できるようにします。それはまた、JavaScript オブジェクトが、XPCOM オブジェクトから呼ばれることができる、XPCOM にしたがうインターフェイスを持つことを可能にします。その主な目標は、XPCOMスタイルのインターフェイスの片側からコミュニケーションするオブジェクトが、そのインターフェイスの反対側にいるオブジェクトの実装言語を知ったり気にしたりする一般的な必要をなくす、ということです。 XPConnect の第一の存在理由は、ネイティヴ・コードが JavaScript コードとやりとりする必要があるところで使われている、手書きのコードを置き

    nanto_vi
    nanto_vi 2007/02/04
    JavaScriptからXPCOMを利用。XPIDL FAQ、Componentsオブジェクトリファレンス、XPCShellリファレンス。
  • Developer Guide - Global Notifications

    References For a quick lookup of any element, attribute, or component. XUL Reference Object Reference XPCOM Reference This section will describe the observer service which can be used to send notifications to any objects that are interested. Sending Notifications Sometimes, for large applications, you will want to communicate with other parts of your application. For instance, to notify an applica

    nanto_vi
    nanto_vi 2007/02/04
    オブザーバによる通信。グローバル通知の一覧。アプリケーションの開始・終了、HTTPリクエスト・レスポンスの修正など。
  • SCRAPBLOG » Blog Archive » 拡張機能が無効あるいは削除される前に何らかの処理を実行したい

    ある拡張機能が無効あるいは削除される前に何らかの処理を実行したい場合がある。 拡張機能のインストールやアンインストール、無効・有効の変更の実際の処理は、 Firefox を起動してからブラウザのウィンドウが開かれるまでの間に行われるが、どうやらこのタイミングにフックして、無効あるいは削除対象の拡張機能の中の処理を実行することはできないもよう。 そのかわり、「ツール」→「アドオン」から「無効」あるいは「削除」ボタンをクリックすることである拡張機能を削除しようとするタイミングであれば、その拡張機能の中の処理を実行することは可能だ。拡張機能のインストール・アンインストール、有効・無効などの操作をしようとしたとき、「em-action-requested」というトピック名のグローバルな通知が送られるので、これを nsIObserver インタフェースを実装したオブザーバによって監視することで実現さ

    nanto_vi
    nanto_vi 2007/02/04
    拡張マネージャでの「無効」「削除」の通知を受け取る。スタートアップ時でのオブザーバの登録。
  • Mozillaのパッチを書いて採用されるまで - WebStudio

    現在、trunkではこのドキュメントの内容ではソースコードを取得できません。 まだ新体制に移行されたばかりでMozillaBuildの改良が行われたりと、 情勢が安定していませんので、安定してから内容をアップデートします。 Mozilla(Firefox/Thunderbird)はオープンソースのソフトウェアです。 そのため、自分でコードが書けるなら、バグを修正したり、機能追加ができます。 ここでは、Windowsでの環境作り、ソースの取得方法と、 パッチの書き方、パッチの採用までの流れを紹介します。 Mozillaのソースコードの取得、ビルドには様々なツールが必要です。 ここでは、VC++でビルドするものとして、話をすすめます。 ただし、無料のVisual Studio Expressではここで紹介する方法ではビルドできないかもしれません。 また、Geckoのバージョンによって、ビルドに

    nanto_vi
    nanto_vi 2007/02/04
    CVSの使い方、レビューの手順など。
  • http://homepage3.nifty.com/chado/playjs/mojicode/mojicode_area.htm

    nanto_vi
    nanto_vi 2007/02/04
    通常文字列とUnicodeエスケープシーケンスの相互変換。
  • xpidl - User:Andywang | MDN

    Static xpidl.exe compiled on .NET (VC) 2005 Express It would be wonderful that we could have a static linked xpidl.exe <font color="red">without</font> needing any additional DLLs: libIDL-0.6.dll glib-1.2.dll msvcr80.dll and msvcrt.dll The static xpidl.exe is compiled by VC 2005 Express on XP SP2 and only needs ADVAPI32.DLL and KERNEL32.DLL which are installed on any XP system. You will definitely

    xpidl - User:Andywang | MDN
    nanto_vi
    nanto_vi 2007/02/04
    静的リンクしたxpidl。Bug 242870 - Statically link libIDL, glib with xpidl on Windowsとの関係は?
  • ウノウラボ Unoh Labs: JavascriptライブラリをJSANへアップする手順

    komagataです。 最近、色々なソースを読んでJavascriptの勉強をしているんですが、その中で比較的ソースが短く、シンプルなものが多いのでJSANのライブラリを参考にさせてもらっています。出来てから1年以上経ってるのにイマイチ使われていないような気がしますが、勉強ついでに以前作ったpprompt.jsというライブラリをJSAN用に変更してアップしてみました。 jsan logo posted from フォト蔵 そもそもJSANとはJavaScript Archive Networkの略で、要はTeXのCTAN、PerlのCPAN、PHPのPEARみたいなライブラリをアップしたりできるところだそうです。(アップに際して厳密な投票プロセスなどは無いのでPEARとは少し違うかもしれません) JSANライブラリの使い方は長くなるので下記等を参照していただいて、早速アップするモジュール作

    nanto_vi
    nanto_vi 2006/12/19
    PerlのModule::Build::JSANを使ってJavaScriptライブラリをJSANに登録。
  • Microsoft XML Team's WebLog

    Out of the Angle Brackets Xslt 1.0 biggest issues (kind of) solved Xslt 1.0 has a number of issues that can make the life of an Xml developer frustrating. A lot of... Author: XmlTeam Date: 10/09/2011 The world has moved on, have you? Xml APIs you should avoid using. There is a few Xml APIs you should not be using. In some cases the complier makes this obvious – the... Author: XmlTeam Date: 10/08/2

    Microsoft XML Team's WebLog
    nanto_vi
    nanto_vi 2006/12/19
    MSXML使用時の注意点。バージョンなしのProgIDはMSXML3を指す。MSXML4、5はWeb上では使わない。
  • XML パーサーのバージョンの一覧

    この記事では、製品またはソフトウェアの更新プログラムによって使用可能またはインストールされるMicrosoft XML Core Services (MSXML) のバージョンについて説明します。 元の製品バージョン: XML Core Services 元の KB 番号: 269238 概要 この記事では、MSXML または XML パーサーのバージョン番号を示します。 MSXML のさまざまなバージョンは、Windows、インターネット エクスプローラー、Office、SQL Serverなど、さまざまな製品に含まれています。 MSXML は、さまざまな製品のソフトウェア更新プログラムをインストールするときにも更新されます。 概要 Microsoft には、いくつかの異なる XML パーサーが用意されています。 MSXML パーサーは、Msxml.dll ファイル、Msxml2.dll

    XML パーサーのバージョンの一覧
    nanto_vi
    nanto_vi 2006/12/19
    各アプリケーションが含むMSXMLのバージョンなど。
  • Running applications - Archive of obsolete content | MDN

    Add-ons using the techniques described in this document are considered a legacy technology in Firefox. Don't use these techniques to develop new add-ons. Use WebExtensions instead. If you maintain an add-on which uses the techniques described here, consider migrating it to use WebExtensions. Starting from Firefox 53, no new legacy add-ons will be accepted on addons.mozilla.org (AMO) for desktop Fi

    Running applications - Archive of obsolete content | MDN
    nanto_vi
    nanto_vi 2006/12/19
    外部アプリケーションの実行、nsIProcess。
  • 鳥獣保護区 | OpenApplicationWithURI()

    Firefox 2 から OpenApplicationWithURI() というメソッドが追加されている。 /** * Opens an application with a specific URI to load. * @param application * The application file (or bundle directory, on OS X) * @param uri * The uri to be loaded by the application */ void openApplicationWithURI(in nsILocalFile aApplication, in ACString aURI); [mozilla1.8/browser/components/shell/public/nsIShellService.idl] 名前の通り、このメソッドで他

    nanto_vi
    nanto_vi 2006/12/19
    外部アプリケーションにURIを渡すAPI。Gecko 1.8.1から。