タグ

2010年10月4日のブックマーク (24件)

  • クラスをSTLコンテナにいれると恐ろしい事が起こるぞ! - 神様なんて信じない僕らのために

    C++に慣れている人にとっては考えもつかないことですが、 クラスをコンテナにいれる、ということを試したくなる時期があります。 コンテナにクラスのポインタをいれるとポインタ管理が面倒だし、 クラスの実体をいれておいたら便利じゃない? というのがその発端です。 さて、クラスはコンテナにいれてもいいものなんでしょうか? じゃ、やってみましょう! C++ code - 32 lines - codepad 予想と違う結果がでたぞ!!! と思いませんか? なぜデストラクタが呼ばれる回数が想定より多いのでしょう? そして、コンストラクタの呼び出される回数とデストラクタの呼び出される回数が一致していません。 むむ? 訓練されたC++はここであることに気付きます。 「vectorが拡張されている時に恐ろしいことが起きているのではないか?」 では、やってみましょう。 拡張されないようにreserveです。

    クラスをSTLコンテナにいれると恐ろしい事が起こるぞ! - 神様なんて信じない僕らのために
  • Using and Porting the GNU Compiler Collection (GCC) - Table of Contents

    C、C++、Objective C、Fortranのコンパイル GCCコマンド・オプション オプションの要約 出力の種類を制御するオプション C++プログラムのコンパイル Cの方言を制御するオプション C++の方言を制御するオプション 警告を要求もしくは抑制するオプション ユーザ・プログラムまたはGCCをデバッグするためのオプション 最適化を制御するオプション プリプロセッサを制御するオプション アセンブラへのオプション渡し リンク処理用のオプション ディレクトリ探索のためのオプション ターゲット・マシンとコンパイラ・バージョンの指定 ハードウェアのモデルとコンフィギュレーション M680x0オプション VAXオプション SPARCオプション Convexオプション AMD29Kオプション ARMオプション Thumbオプション MN10200オプション MN10300オプション M32R

  • 2006-03-22

    id:toge:20060320 前回の続きです。無茶苦茶尻切れトンボだったのでしたね。 結局MTオプションを使うことにしました。定義は以下の通り。 %.d : %.cpp $(CXX) $(CFLAG) -MM -MT $(<:.cpp=.o) $< >> DEPENDS %.d : %.c $(CC) $(CFLAG) -MM -MT $(<:.c=.o) $< >> DEPENDS %.dはdummyのターゲットです。このルールで%.dを生成することはありません。 で、MTオプションで依存関係の出力先を%.oに変えてしまいます。 %.oにはfullpathが入っているので、以前のように困ることがありません。 つまり次のようになるわけですね。 % gcc -MM -MT src/hoge.o src/hoge.cpp src/hoge.o: src/hoge.c /usr/includ

    2006-03-22
  • GNU make: 目次

    GNU make: 目次

  • 本当に便利なフリーソフト上げていってくれ : はれぞう

  • ((Pythonで) 書く (Lisp) インタプリタ)

    Peter Norvig / 青木靖 訳 このページには2つの目的がある。コンピュータ言語の実装について一般的な記述をすることと、Lispの方言であるSchemeのサブセットをPythonで実装する具体的な方法を示すことである。私はこのインタプリタをLispy (lis.py)と呼ぶ。何年か前に私はJavaとCommon LispでSchemeインタプリタを書く方法を示した。今回の目標は、アラン・ケイが「ソフトウェアのマクスウェル方程式」と呼んだところの簡潔さと取っつきやすさを可能な限り実現するということだ。 SchemeのサブセットLispy の構文と意味論 コンピュータ言語の多くは様々な構文的な決まり(キーワード、中置演算子、カッコ、演算子優先順、ドット記法、セミコロンなど)を持っているが、Lisp族言語の1つとして、Schemeの構文はすべてカッコ付きの前置記法であるリストを基とし

  • LinuxCon Japan 2010、第106回カーネル読書会、U-20プログラミングコンテスト、PHP祭りなど - 未来のいつか/hyoshiokの日記

    先週は、LinuxCon Japan 2010から始まって、第106回カーネル読書会、U-20プログラミングコンテストの最終審査会、そしてPHP祭り(PHPmatsuri)へ参加とコミュニティ三昧の一週間だった。 英語三昧 コミュニティ三昧ではあったが、英語三昧でもあった。 LinuxCon Japanは日で開催されるカンファレンスであるが、公用語が英語になっていて、日人の発表も英語、当然質疑応答も、日人同士でも英語である。キーノート以外には通訳はつかない。 昨年のLinux Symposium Japan以来の英語でのカンファレンスで、当初は英語の発表で大丈夫かという声もあったが、やってみたら、意外とどーにかなったというのが実状である。日人にとっては、英語での発表は相当敷居が高いが、Linuxの世界では、避けて通れないのでしょうがない。 海外からカーネルハッカーが来るので、彼らと

    LinuxCon Japan 2010、第106回カーネル読書会、U-20プログラミングコンテスト、PHP祭りなど - 未来のいつか/hyoshiokの日記
  • C++ と DI - steps to phantasien t(2007-08-17)

    Java と DI (Dependency Injection) の世界から C++ に戻ってくると気が滅入る. すべてがくっついている. ああ... "Working Effectively With Legacy Code" に従ってバリバリと依存を引き剥がすことになるんだけれど, もうウンザリ. せめて新たに書くコードはレガシー風味とさよならしたい. DI したい. C++ にも少しは DI コンテナの実装がある. Autumn Framework とか. ただリフレクションのない C++ では DI コンテナを使う有難味が薄い. Autumn Framework のチュートリアルを見ると無力感に襲われる. 閉じた型システムの再発明. C++ の限界もあるだろうから, あまり責める気は起きない. COM のような既存のオブジェクトシステムに DI を載せることはできるかもしれない.

    Akineko
    Akineko 2010/10/04
  • [js] webページ中のリンクをクリックするUIを改善する実験 - 生活。

    次のような例を考えてみる。 webページを見ていて、ページ内のリンクを辿って他のページへ遷移する マウスの場合 マウスをリンクの上に持って行く マウスカーソルの形が変わることを確認する(変わらないかも知れないが) クリックする タッチパネルのインターフェースがあれば次のようになる タッチパネルの場合 目的のリンクの上をタッチする マウス、タッチパネルのいずれにおいても、目的のリンクの上をクリック(タッチ)する必要がある。僕はよくわからないが、老眼が進行すると小さいリンク要素を俺様がなんで頑張ってクリックせねばならないのだ!!!となる可能性がありそうなので怖い。また、今もiphoneのsafariでPC用のwebページを見る時に、よくクリック(タッチ)に失敗することがあり、なんとかしたい。 ただ、どうすればいいのかわからないので、とりあえずGreasemonkeyで実験してみた。 http:

    [js] webページ中のリンクをクリックするUIを改善する実験 - 生活。
  • 上に行くcd作った - hitode909の日記

    シェルで,上のディレクトリに行くのがめんどくさくて,cd ../../../../とかしないといけなくて,指を痛める. 上に行くためのupっていうコマンドを作ることにした. その1 up 3ってやると,3つ上に行くのを作った. function up() { i=0 while [ $i -lt $1 ] do cd ../ i=`expr $i + 1` done } 使い方 % pwd /Users/fkd/co/dev/dotfiles % up 3 % pwd /Users/fkd %これは使いにくくて,cd ../../って打つときは,いくつ上に行くか考えながら,../って打ってる.これだと,先に数えておかないといけなくて,難しかった. その2 考えながら入力できるようにしてみた.引数の数だけ見る. function up() { i=0 while [ $i -lt $# ]

    Akineko
    Akineko 2010/10/04
  • 旧・Macの手書き説明書 - FC2 BLOG パスワード認証

    ブログ パスワード認証 閲覧するには管理人が設定した パスワードの入力が必要です。 管理人からのメッセージ https://mac-tegaki.comへ移転中 閲覧パスワード Copyright © since 1999 FC2 inc. All Rights Reserved.

  • Web制作時に便利なChromeエクステ・CSSViewerを今更入れてみた

    Firefoxユーザーの時に使用していた CSSViewerを今更Chromeに入れて みました。やはり便利ですね、これ。 シンプルなので高機能を求めない方 にお勧めです。サクッと使えるのが いいですね。 ブックマークレットににたようなのあった気がするんですけど、これはこれで便利なのでお勧めです。 インストールするとアイコンが出るのでクリック後に見たい要素にマウス持っていけば、そこに指定されたcss見れます。 こんな感じ。テキスト、カラーなどで分けてくれているのも地味に良いですね。 Web制作の方に良さそうですよ。動作も軽いし、Firebug使うほどでもない、的な時にサクッと使えて便利です。 CSSViewer

    Web制作時に便利なChromeエクステ・CSSViewerを今更入れてみた
  • 近くのリンクをクリックするnewmouse.user.js - hitode909の日記

    ブラウザで,リンクとかボタンとかをクリックするときに,マウスカーソルをリンクの上まで持っていくのがめんどうで,困ってた. なにもないところでクリックしたときは,勝手に近くのクリックできそうな要素をクリックしてくれればよいと思ったので,Greasemonkeyを書いた. newmouse.user.js — Gist 動画 newmouse.user.js - YouTube 使い方 Greasemonkeyをインストールすると,旧来のマウスカーソル(旧マウスカーソル)と別に,マウスカーソルがもう一個表示されるようになる(新マウスカーソル). 新マウスカーソルはせわしなく旧マウスカーソルの周りを動きまわって,リンクを見つけると,新マウスカーソルがリンクに張り付いて,クリックできますよ,という感じになる. 旧マウスカーソルが,なにもないところで(具体的には,aや,buttonなど以外の上で)ク

  • zlc.el で Emacs のミニバッファ補完を zsh ライクに - mooz deceives you

    find-file Emacs の find-file (C-x C-f) は当に使いにくいものだと, 常々思っていた. 中でも, 補完候補が複数あった場合の挙動. これが何とも気にくわない. 例えば, 以下のように C-x C-f を入力した直後の状態を考える. この時 TAB キーを押すと, デフォルトの Emacs では [Complete, but not unique] との表示が出るだけで, 候補一覧を表示するにはもう一度 TAB キーを押す必要がある. この「二回 TAB キーを押す」という行為が毎度毎度要求されることとなり, そのストレスたるや凄まじいものがあった. また, TAB を二回押して補完候補が表示された後の挙動は, 輪をかけて苛立たしい. この時 TAB を押すとどうなるかといえば「補完候補が全て見れるようにスクロールが行われる」だけなのだ. 補完候補一覧が画

    zlc.el で Emacs のミニバッファ補完を zsh ライクに - mooz deceives you
  • JavaScriptの3Dエンジン·Three.js MOONGIFT

    Three.jsはJavaScriptのオープンソース・ソフトウェア。Webブラウザが高機能化していく中で競われているのがJavaScriptエンジンの性能だ。実行速度が向上することによって、Webアプリケーションなどの利用が促進される。HTMLレンダリング性能と合わせて重要な指針だ。 マウスの動きを追従する エンジンが高機能化すれば実現できる幅が広がる。その一つが3Dレンダリングだ。JavaScriptで3Dオブジェクトが表現できるようになれば、ゲームはもちろん様々な分野で活用できるだろう。そのレンダリングエンジンとしてThree.jsを紹介しよう。 Three.jsは3Dオブジェクトをレンダリングするライブラリで、先日話題になったGoogleマップを使ったマッシュアップ「The Wilderness Downtown」もこのThree.jsを使って作られた一つだ。さらにマウスで反応する

  • Perlの正規表現をマスターしよう - Perl入門ゼミ

    Perl › 正規表現 Perlの正規表現の解説です。この記事を読めば、日常で利用する正規表現のすべてを短時間でマスターすることができます。正規表現を使えば、文字列の集合を表現することができ、正規表現にマッチする文字列を検索したり、置換したりすることができます。 正規表現を使って文字列の集合を表現できます。たとえば「a」「aa」「aaa」という三つの文字列を正規表現で表現してみましょう。連続する文字の個数を表現する正規表現「{}」を使って次のように書くことができます。 a{1,3} 「a」「aa」「aaa」という文字列の集合をひとつの正規表現「a{1,3}」で表しています。{}は量指定子と呼ばれるもので、連続した文字を表現することができます。 a aa -> a{1,3} aaa 正規表現の例をもう一つみてみましょう。「p1」「q1」「r1」という文字列の集合をひとつの正規表現「[pqr]

    Perlの正規表現をマスターしよう - Perl入門ゼミ
  • Photoshop Vip » ちょっと太めでオシャレな筆記体フリーフォント20個まとめ

    『フォトショップ・ブイアイピー』の新着記事です。フォトショップやデザインをたのしむウェブサイト。2009年3月創刊以来、3800を超えるコンテンツを更新しています。フリーフォントなどの無料デザイン素材/配色やWeb制作といった最新トレンドも公開中。

    Photoshop Vip » ちょっと太めでオシャレな筆記体フリーフォント20個まとめ
  • かなりクールにデザインされたPhotoshop用のボタンテンプレート集:phpspot開発日誌

    Best of Free Clean PSD Buttons ready for web2.0 | djavupixel.com かなりクールにデザインされたPhotoshop用のボタンテンプレート集。 CSS3でかなりボタンをデザインできるようになったとはいえ、そこまでやるなら画像にしちゃったほうが、という場面も多くあります。 Photoshop用のボタンテンプレートが色々まとまっていたのでデザインの際の参考にできそうです。 36 Free High Quality Web Buttons Different buttons and states with sliders and drop downs by James McDonald Download 60 glossy web buttons in PSD & PNG Grey Button with hover by Ignaci

  • 『Cameyo』は、ほぼどんなプログラムでもポータブル化してくれるフリーツール | ライフハッカー・ジャパン

    Windowsのみ: お気に入りアプリにポータブル版がない、という事実に悲しい気持ちになったことがある、ポータブルアプリ好きの方には『Cameyo』はたまらないフリーツール。 『Camayo』は、様々なアプリのポータブル版を作成してくれちゃうのです。 使い方もとてもシンプル。起動し、PCのスナップショットを取らせ(割と時間がかかります)、任意のプログラムをインストール。それが終了すると『Cameyo』は、もう一度スナップショットを取り、アプリケーションをポータブルEXEにパッケージしてくれるので、USBスティックなどに入れて持ち運びが可能になります。 上記の動画を見てもらっても分かるように、このツールの素晴らしいところはほとんどなんでもインストールできてしまう、ということ。 特定のプログラム用のアドオンなんかもパッケージに含めることが可能です。なので、お気に入りのブラウザにFlashやJa

    『Cameyo』は、ほぼどんなプログラムでもポータブル化してくれるフリーツール | ライフハッカー・ジャパン
  • 中小企業や個人経営規模相手のWebディレクションで気をつけている15のこと。 | 笑顔を創りたいWeb屋の日常

    笑顔を創りたいWeb屋の日常 Web業界からひょんなことで専門学校の先生に。そしてまたWeb現場に戻ったWedディレクターのブログ。情報デザインやWebの勉強をしています。 あくまで”僕が”です。そこ大変重要ですw 僕もまだまだ勉強中で、これが全て正しいと思えるほど見極めていません。 他にもあるだろうし、もっと大事なものもあるかもしれません。 それは各々考えてもらって(もしよろしければ教えていただいてw)、とりあえず同タイプの仕事している人の叩き台にでもになればなと思って挙げてみた次第です。 というのもですね、僕はWeb屋としてみるとなんか物凄く変な経歴・経験をしている人なのですねw まあ、Web業界って割と他業界から来る人たくさんいますけどね。僕は印刷会社→大手Web制作会社→専門学校教員(正規職員)→弱小ITベンチャーなので、なかなかこういう奴はいないと思いますw 教員とか普通はできま

  • HTML5+CSS3 入門

    Webを記述する言語の標準の現状 昨年度であれば、HTMLを記述する授業では自信をもって以下の基準を推薦していました。 HTML (文書の構造を記述する言語) – XHTML 1.0 もしくは XHTML 1.1 CSS (文書の体裁・デザインを指定する言語) – CSS 2 しかしながら、ここ数年で、とくに去年あたりから状況は大きく変動しつつあります。現状の変化を理解するには、ここに至るまでの歴史的な経緯について簡単に理解する必要があります。ここまでの経緯を整理した上で、将来の展望を探りたいと思います。その上で、この授業ではどのような基準にのっとって「正しい」ということを定義するのか決めていきたいと考えます。 HTML (Webサイトの記述言語) の標準化巡る闘争の歴史 AppleInsider: なぜ AppleHTML 5 に賭けているのか: ウェブの歴史 [Page 2] よ

    HTML5+CSS3 入門
  • コア・JavaScript ( JavaScript. The Core. ) - oogattaの勉強日記

    この文章は、 Dmitry A. Soshnikov さんの、 ECMAScript に関する優れた記事 "JavaScript. The Core." を許可を得て翻訳したものです。世の中に、 JavaScript のブラウザ API や、実装系に関する記事は多々あれど、 ECMAScript の仕様に則って、ここまで詳しく説明してくれている記事は殆ど無いと思います。今回は翻訳できておりませんが、文中で参照されている Dmitry さんの ES3 シリーズも、読み応えのある( ECMAScript3 の仕様の副読としても読める)素晴らしい内容ですので、是非チャレンジしてみてください!(ご要望があれば訳します翻訳許可を頂いたので、この記事内で参照されている章から逐次翻訳を進めます!)。 ちなみに Dmitry さんは、計算機科学や数学にも明るい方でらっしゃいます。が、私は違います。極力

    コア・JavaScript ( JavaScript. The Core. ) - oogattaの勉強日記
  • GCC Manual Japanese Translation

    GCC マニュアル日語訳 gcc-2.95.3 に付属の Texinfo 形式マニュアルの日語訳です。 "Using and Porting GCC" の日語訳(HTML 1508KB) "The C Preprocessor" の日語訳(HTML 124KB) ソースを含むフルアーカイブ(tar+gz 形式 2632KB) Texinfo 形式ソースのみのアーカイブ(tar+gz 形式 894KB) Info 形式ファイル(tar+gz 形式 485KB) DVI 形式ファイル(tar+gz 形式 805KB) 以下は、ソースアーカイブに含まれる README の内容です。 gcc-jman α-20010717版パッケージ 矢吹洋一 2001年7月17日 このパッケージには GCC のマニュアルの日語訳が含まれています。 GCC のマニュアルとは、GCC のソースコード

  • make

    機能 概要 ファイルの構成 必要条件の自動生成 ルールの書き方 ( 明示的 ) 書き方 ワイルドカードの使い方 ディレクトリ検索 偽のターゲット 組込み済ターゲット名 複数のターゲット 複数のルール 静的なパターンルール ダブルコロンルール コマンドの書き方 制御用特殊文字 エコー 実行 エラー 中断と kill 再帰的用法 変数(マクロ) 定義 参照の基礎 参照の進んだ機能 テキストの追加 環境変数の取得方法 自動変数 make の実行 makefile ゴールを指定する引数 オプション 変数のオーバライド 実行の継続 暗黙のルール 使い方 カタログ 定義済み変数 連鎖 パターンルール 最終ルールの定義 サフィックスルール 検索アルゴリズム その他 オプション 主なターゲット make ファイルの約束