タグ

programmingに関するdealforestのブックマーク (28)

  • メモリリークとは何か - kuenishi's blog

    メモリリークに悩まされている技術者は多いだろう。メモリリークが嫌でGCという技術が開発されたといっても過言ではないし、歴史的にはC++からJavaへシフトが起きた大きな理由のひとつといっていい。Unix系の簡単な定義でいえば、ヒープ領域を指すポインタ(アドレス)をロストしてしまえばそのメモリはもう漏れたといってよい。たとえばこういったコードだ。 struct { int i; char c; } spam; int main(){ void* p; int i; for(i=0; i<1024; ++i){ p = malloc(sizeof(struct spam)); } pause(); } このコードではpause(3)の時点で約5KBのメモリが漏れている。free(3)を使えばメモリをOSに返却できるが、アドレスが分からないので返却できない。 ところが、ここでいいたいのは、メモリ

    メモリリークとは何か - kuenishi's blog
  • 読んでおきたいC++本 - ぬいぐるみライフ?

    とりあえず読んでおきたいC++を列挙してみる(既読含む). 既読 Effective C++ 原著第3版 定番.C++を使う上で知っておくべき55個のアドバイスが示されている. Effective C++ 原著第3版 (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES) 作者: スコット・メイヤーズ,小林健一郎出版社/メーカー: ピアソン・エデュケーション発売日: 2006/04/29メディア: 大型購入: 29人 クリック: 411回この商品を含むブログ (187件) を見る Effective STL STLの効果的な利用方法や落とし穴について詳しく説明している. Effective STL―STLを効果的に使いこなす50の鉄則 作者: スコットメイヤーズ,Scott Meyers,細谷昭出版社/メーカー: ピアソンエデュケーション発売日:

    読んでおきたいC++本 - ぬいぐるみライフ?
  • iPhoneでゲーム作りをする時のオススメ本2冊+1冊 - Seasons.NET

  • iPhone アプリを iPad 対応にする方法(プログラミング編) : 管理人@Yoski

    スクリーンショットとりながら丁寧に説明する気はないのだけど、メモ残しとかないと自分でも忘れそうなので・・・ iPad の登場で、iPhone/iPad 両方に共通のバイナリというものが SDK 3.2 で作成できるようになりました。 もちろん、iPhoneiPhone OS 3.1系、iPad は 3.2 系なので、API の変更を吸収する必要はあるのですが、それを差し引いてもシングルバイナリで提供できるというのはメリットが多いわけで・・・ で、その方法。主に Interface Builder を使ってる人向け。 詳しくは Starting Your Project を読んでください。MPMoviePlayer を使っている自分にとっては「どうすんだよ、これ・・・」って感じではあるのですが・・・ま、それはさておき。 ※次の手順 1-3 については、XCode の 「Upgrade

  • 法と技術とクローラと私 - 最速転職研究会

    こんにちは、趣味や業務で大手ポータルサイトのサービスで稼働しているいくつかのクローラの開発とメンテナンスを行っているmalaです。 さて先日、岡崎市立中央図書館Webサイトをクロールしていた人が逮捕、勾留、実名報道されるという事件がありました。 関連URL: http://librahack.jp/ 電話してみた的な話 http://www.nantoka.com/~kei/diary/?20100622S1 http://blog.rocaz.net/2010/06/945.html http://blog.rocaz.net/2010/07/951.html この件につきまして法的なことはともかくとして技術者視点での私見を書きたいと思います。法的なことは差し置いて書きますが、それは法的なことを軽んじているわけではなく、法律の制定やら運用やらは、その法律によって影響が出る全ての人々の常識

    法と技術とクローラと私 - 最速転職研究会
  • プログラミング言語 Misa

    #! /usr/bin/misa ごっ、ごぉおっ、ご〜きげんよおぉおおぉおほっ。ほおぉおぉおっ。 「ごきげん☆みゃぁああ”あ”ぁ”ぁああ〜っ」 さわやかな朝の☆ご挨拶! お挨拶がっ。 澄みきった青空にこだましちゃうぉ〜ああぉおおおぉん。 「は、はひっ、はろおぉっ☆わぁるどおおぉっぉ〜っ」 こ、この文章は☆おサンプル! おおぉおぉおおサンプルプログラム!! どんなおプログラム言語でも基のご挨拶させていただくのぉぉおッ! 「ぽうっ」 長々と書くのがこ、ここでの〜、ここでのぉおおぉおぉぉおたしなみぃぃいぃ。 「長いぃ。長すぎましゅう。ご挨拶にこんなプログラム長すぎまひゅぅうぅ☆ んおおぉぉ、ばかになる、おばかになっちゃいましゅ〜ッ」 長いのがっ、バッファの奥まで入ってきましゅたぁあぁあっ! ばっふぁ☆溢れちゃいまひゅぅ〜。あみゃぁあ”あ”ぁ”ぁああ”あ”ぁぁ。 「で

  • The Go Programming Language

    Tips for writing clear, performant, and idiomatic Go code

    The Go Programming Language
  • ネットワークプログラムのI/O戦略 - sdyuki-devel

    図解求む。 以下「プロトコル処理」と「メッセージ処理」を分けて扱っているが、この差が顕著に出るのは全文検索エンジンや非同期ジョブサーバーなど、小さなメッセージで重い処理をするタイプ。ストリーム指向のプロトコルの場合は「プロトコル処理」を「ストリーム処理」に置き換えるといいかもしれない。 シングルスレッド・イベント駆動 コネクションN:スレッド1。epoll/kqueue/select を1つ使ってイベントループを作る。 マルチコアCPUでスケールしないので、サーバーでは今時このモデルは流行らない。 クライアントで非同期なメッセージングをやりたい場合はこのモデルを使える: サーバーにメッセージを送信 イベントハンドラを登録;このときイベントハンドラのポインタを取っておく イベントハンドラ->フラグ がONになるまでイベントループを回す イベントハンドラ->結果 を返す 1コネクション1スレッ

    ネットワークプログラムのI/O戦略 - sdyuki-devel
  • Partty!.org始めました - みんなでペアプロできるサービス - Blog by Sadayuki Furuhashi

    今操作しているターミナルを共有できるサービスPartty!.orgを始めました。 Partty!.org ソースコード ソースコード@CodeRepos Partty!.orgソフトウェアを使ってシェルを起動すると、Webブラウザやtelnetコマンドを使って、その操作の様子が見られるようになります。パスワードを入力すれば、そのまま操作することもできます。 操作の様子は録画されているので、後から再生することができます。↑このようにブログに貼り付けることもできます。 ペアプログラミング、グループプログラミングに CUIアプリケーションのデモンストレーションに ペアプログラミングにはぴったりです。同じディスプレイをのぞき込んだり、二人が同じ場所に並んでいる必要もありません。「ちょっとコレ見て!」とPartty!.orgのURLを送るだけで、とても気軽に始められます。 とりあえず録画してブログに

    Partty!.org始めました - みんなでペアプロできるサービス - Blog by Sadayuki Furuhashi
    dealforest
    dealforest 2009/05/01
    partty.org でペアプロ
  • 公開私のコードポケット - @kyanny's blog

    コードポケット、いいですね。コードポケットとはちょっと違う用途かもな、とは思いますが、僕のやり方を書いてみる。 僕もよく、数行ていどの書き捨てプログラムを書きます。何か新しいモジュールを試したいときとか、 SYNOPSIS をコピペして動かしてみるので一つ、ちょっと書き換えてみてもう一つ、アプリケーションの中でこんな風に使えるといいなーというイメージにそってさらにもう一つ、とか。 ここで困るのは、僕のネーミングセンス(いやボキャブラリーか?)が貧しいからなのか、 a.pl とか hoge.pl とか re.pl とか lwp.pl とか、いかにもありふれた名前で書き始めてしまう。書き捨てプログラムのファイル名なんていちいち考えてられないし、マトモそうな名前を思いつく間に書き終わってしまうくらい短いものだし、かといってワンライナーとか perlsh みたいなのは当に一回書いたらそれっきり、

    公開私のコードポケット - @kyanny's blog
    dealforest
    dealforest 2009/04/24
    today(){ _WORK=$HOME/daily _DATE=`date +%Y-%m-%d` _TODAY=$_WORK/$_DATE mkdir -p $_TODAY cd $_TODAY }
  • コードポケット - アプリケーションをささっと作るコツ - (ひ)メモ

    誰に教えられたのでもないのですが、ぼくは冬眠前のリスのようにコード片を溜め込んでいます。 コード片とは、ライブラリにするほどまとまった大きさではない、数行〜十数行のコードのことで、溜め込んだコード片は、アプリケーションやツールを作るときに使っています。 例えば「Perlでメール送るのどう書くんだっけかな」とか「Pythonでファイル開いて全部読むのどう書くんだっけかな」とかというときに、溜め込んだ中からコード片をさっと取り出してコピペした後、なじむようにちょっと修正して使っています。 コードポケット コードを溜め込んでいるディレクトリをぼくは「コードポケット」と名付けていて、コード片を取り出すことを「ポケットからコードを取り出す」と呼んでいます。先日、知り合いが似たようなことを実践していて、その人は「コードスケッチ」と呼んでました。いい名前ですね。 ぼくの場合、コードポケットは ~/lan

    コードポケット - アプリケーションをささっと作るコツ - (ひ)メモ
    dealforest
    dealforest 2009/04/23
    自分で書いたり動かしたりしたコード片をポケットに入れる
  • シムシティーの仕組み

    シムシティーを作り始めていちばん最初に考えたのは、街を一種の生き物のように表現できないかってことだった。 僕が街についてどう考えているかはすでに説明したけど、大事なのは街を構成する建物とか道路じゃなくって、そこでどんな活動が行なわれているかってことだと思うんだ。道路を車が走り、電車が動き、人々が動き回り、常に要素が変化し続ける“動きのある”システム。街を表現する方法っていうと誰でも地図を思い浮かべると思うけど、僕は動きがない地図じゃなくって、たとえば飛行機から眺めた街、動きのある世界をディスプレイに表現しようって考えた。それこそが僕の考える街の姿だからね。 それともう一つ考えたことは、プレイヤーに伝える情報をできるだけわかりやすく、それも“面白い”って思えるような形で表現しようってことだった。シミュレーション・ソフトっていうとたいてい数値や図表がたくさん出てくるけれど、数字が並んでいるのを

  • まつもとゆきひろ氏が語る「ビューティフルコード」セミナーに行って来た - LukeSilvia’s diary

    まつもとゆきひろが語る「ビューティフルコード」×「プログラマ35歳定年説」に行ってきました〜。今年初めて行ったイベントなのですが、とてもいいお話を聞くことができました。美しいコードとはどのようなものか、またそのようなコードを書けるようになるためにはどうすればいいのかというお話でした。 以下、まとめになります。僕のメモを元にしたので、まつもとさんが話された内容と多少ズレがあるかもしれません。 そもそもコードとは何か 「コードの美しさとは」という前に、そもそも「コード」とは何か。 ソフトウェアの作成はものづくりではない コードは工業製品ではない。コードは、車とかと同じ工業製品だと思われることが多く、例えば次のような勘違いがある。 日は「ものづくり」が得意だ。だからソフトウェアも「ものづくり」として取り組めばいい 車のように、ソフトウェアも部品をどんどんコピーして組み合わせばできる 違うよ!全

    まつもとゆきひろ氏が語る「ビューティフルコード」セミナーに行って来た - LukeSilvia’s diary
  • Flashでやってしまいがちな16個の間違った使い方 | ClockMaker Blog

    Photoshopでやってしまいがちな12個の間違った使い方 – GIGAZINEが面白かったので、Flash版として「Flashでやってしまいがちな16個の間違った使い方」としてまとめてみました。 1.シンボル化しないままトゥイーンを作成している まずは誰でも一度はやったことがあるであろう、シンボル化しないままのトゥイーン作成。ライブラリに「トゥイーン○」という名もなきシンボルが作成され、後で見返したときや他の共同作業者が非常に困ることになります。 2.テキストフィールドに直接リンクURLを設定している getURLやnavigateToURLなんてスクリプトを知らない初心者のころはテキストフィールドにURLをいれてテキストリンクを作っていました。これは演出が作れないので、慣れてくると使うことはないでしょう。 3.文字をボタンに含めたときに後ろにシェイプを敷いていない ボタンを作ったとき

    Flashでやってしまいがちな16個の間違った使い方 | ClockMaker Blog
  • バグ見つけた→それってどんなテスト?もしくは、なんでMVCなんて使うの? - D-6 [相変わらず根無し]

    バグ見つけた→それってどんなテスト?もしくは、なんでMVCなんて使うの? 最近ソフトウェアエンジニアリングに置ける開発手法に関して考えている。 ぶっちゃけ言ってしまうと「やっぱりTDDっぽいのがいいな」というところに落ち着きつつあるのだが、厳密にTDDをしたほうがよい、と思ってるわけではない。TDDとかExtremeプログラミング、Agileプログラミングにしても理想はいいんだけど、原理主義っぽい使い方は現実にそぐわないと思ってるからだ。 前置きはこれくらいにしておいて・・・重要だと思うのは以下の点: 開発サイクルに自動テストツールを組み込むエンジニアによるバグ/不具合発見時には「動かない」は許可しない。必ず再現コードを提出してもらうテストを自動テストツールを組み込む(=次回リリース前にはかならずテストを実行できる状態にする)テストが通るまで修正を続けるという開発サイクルを取るべきだ、とい

  • コードカバレッジ - Flex Coder

    いいねー、エンタープライズって感じ。 Flex、AIR、AS3にもコードカバレッジのツールが登場 http://www.infoq.com/jp/news/2008/05/flexcover-code-coverage

    コードカバレッジ - Flex Coder
    dealforest
    dealforest 2008/07/02
    コードガバレッジ
  • 1日で作る全文検索エンジン - Building a full-text search engine in "ONE" day - - とあるはてな社員の日記

    最近、「Introduction to Information Retrieval」というStanfordの大学院向け教科書のドラフトを読んでいます。id:naoyaあたりが勉強会で読んでいる教科書です。この教科書には、効率のいい全文検索システムを作るにはどうすればいいか、という(まさに)教科書的手法が網羅的に書いてあり、そのあたりに興味がある人には、非常に興味深く読めるお勧めのです。 ただ、面白い面白いと言っているだけでは、エンジニアとしては価値半減ですので、GW中にrubyで一日かけて実装してみました。 さすがに実装は、一日で作ったものですから、非常に素朴です。マルチバイト文字はbi-gramで、シングルバイトはスペースなどの区切り記号で認識しています。インデックスは、rubyの処理系のHashやArrayで保持しており、外部にMarshallで書き出す、というものです。検索エンジン

    dealforest
    dealforest 2008/06/16
    IIRを読んで検索エンジンつくった
  • 連載:検索エンジンを作る|gihyo.jp … 技術評論社

    運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    連載:検索エンジンを作る|gihyo.jp … 技術評論社
    dealforest
    dealforest 2008/05/17
    検索エンジンつくっちゃおう
  • 言語別ゲームプログラミング制作講座一覧 - ネットサービス研究室

    プログラミング言語別にゲームプログラミングについて解説しているサイトをまとめてみました。ジャンル別ゲームの作り方とアルゴリズムまとめもあわせてお読みください。 Java Javaゲーム作りますが何か? ガメラボ Javaゲームはじめました。 JavaRPGを作ろう! Javaによるゲーム解説 JavaScript JavaScriptゲームの作り方 ゲームの作り方 by BFF (^==^)ドリームキャストでJavaScript JavaScript でテトリスみたいなゲームを作ろう! C++ 0からのゲームプログラミング DirectXでゲームを作ってみよう ゲームプログラミング講座 ゲームプログラミングWiki マルペケつくろーどっとコム http://www5b.biglobe.ne.jp/~u-hei/ サラリーマンの俺が無料ソフトだけで3Dゲームを作るスレ まとめ ゲームつく

    dealforest
    dealforest 2008/05/08
    言語別でゲームプログラミング
  • スクリプト言語の比較

    スクリプト言語の比較 *1 *2 *3 *4 *5 *6 *7 コメント 行の継続 定数 未代入の変数へのアクセス 変数の展開 入出力 出力 フォーマット出力 出力先変更 標準入力 __END__ 演算 +1 整数/整数 負数の除算 文字列 真と偽 多重代入 多岐分岐 関数 関数 関数引き数 関数引数に対する副作用 関数のデフォルト引数の値の評価タイミング 関数のデフォルト引数にコンテナ型を使用した場合の振舞 関数戻り値 関数の再帰 関数の別名 関数定義内関数定義 関数の引数の順番 関数にファイルハンドルを渡す オブジェクト指向 クラスの定義 インスタンスメソッドの定義 メソッドのクラス内での利用 インスタンスメソッドの可視性 インスタンスメソッドの追加 インスタンス変数 インスタンス変数の可視性 インスタンス変数の追加 クラス変数 クラスの継承 多重継承 スーパクラスのメソッド呼び出し