タグ

ブックマーク / isoparametric.hatenablog.com (14)

  • スタックとヒープは同一? - 神様なんて信じない僕らのために

    密やかな違和感。 「ヒープ領域」「スタック領域」といっても結局、物理メモリ上の領域をVM側等で 扱いやすいように役割毎に分割してそう呼んでいるだけ、結局は同じ物理メモリ上。 我々が日々目にする(あるいは構築する)アプリケーションで「ヒープ領域」 「スタック領域」それぞれに割り当てた場合のコストを論じるのは多くの 場合ナンセンスです。 これらのアプリで、インスタンス変数にするかローカル変数にするかで 発生するメモリ割当のコストの違いはたかがしれています、誤差のような ものです、多くの場合、気にする必要はありません。 http://d.hatena.ne.jp/asipruby/20090425/1240617038 ハードウェア、ないしはCPUによっては、ヒープとスタックのメモリが異なっていることがあります。 例えばARMアーキテクチャなら、高速ローカル・メモリであるTCM(Tightly

    スタックとヒープは同一? - 神様なんて信じない僕らのために
    yugui
    yugui 2009/05/14
    あー、案の定そういうアーキテクチャもあるのね。
  • 熊ったプロジェクトにはツールを使おう - 神様なんて信じない僕らのために

    とりあえず、「タスク管理」という言葉がない職場にツールを適応してみている。 やったこと。 プロジェクト管理ツールTracを適応 バージョン管理システムVSSをSubversionに変更し、post-commitでメール配信する 仕様書を全文検索エンジンHyper Estraierの対象にする 予定。 SCRUMのスタンドアップミーティングの適応 CIツールHudsonの適応 これだけでも随分違うんじゃないかな、という感触。 まだ立ち上げ段階だから解らないけれど、 ワークフローという概念が出現し、 ちょうど、Trac 0.11のワークフローカスタマイズが意味を持ってきていてちょうどいい感じ。 trac.iniからしか編集できないのは辛いけれど、 でも、まぁ、ワークフローの意味とか重要さとかが伝われば幸い。 それぞれの効能。 Tracの適応 あれやって、これやってがすべて口頭でタスクが意味不明

    熊ったプロジェクトにはツールを使おう - 神様なんて信じない僕らのために
  • やばいRuby面白い - 神様なんて信じない僕らのために

    といっても 初めてのRuby 作者: Yugui出版社/メーカー: オライリージャパン発売日: 2008/06/26メディア: 大型購入: 27人 クリック: 539回この商品を含むブログ (239件) を見る の事ですが、やばいこれ面白い。 yuguiさんのだから期待してたけど、 厳しいプロジェクトに浸された心が癒されるくらい面白いッ!!!!!!!!! こういうを書けることは、なんか凄い素敵だと思いました。 Rubyの心が伝わってくるのが良いです。 暇だったらRubyKaigi行きたかった……。orz...

    やばいRuby面白い - 神様なんて信じない僕らのために
  • 職人=男? - 神様なんて信じない僕らのために

    わたしは職人=男性のイメージを覆したい女子です。 http://d.hatena.ne.jp/yuripop/20080113#p1 個人的には職人に性別は関係なくて、 Yuguiさんとか、 自分が足下にも及ばない事を思い知らされる すげー職人的女性だと思ってマス。

    職人=男? - 神様なんて信じない僕らのために
    yugui
    yugui 2008/01/20
    いきなり言及されたけれども、職人とはもったいないお言葉。
  • 少しだけ安全なnew/delete - 神様なんて信じない僕らのために

    昨日のsafe_deleteに対してご指摘があったの追記します。 mb2syncさんが 「これは二重deleteのバグを隠蔽するので非常にまずいと思いますよ」 とおっしゃられてふむふむ、と。 自分がテストで書いたコードのがいようはこんな事を意図していました。 void* operator new (size_t size, UserName user, Purpose purpose) { このnewは「誰が」「何の目的で」確保したメモリなのかをメモリブロックに保持しておきます。 (多人数で作業して自作のアロケータを用いる場合に使います。 このnewしたメモリをdeleteする際には「誰が」「何の目的で」確保されたメモリをdeleteするのかverifyできると便利です。 ですが、operator deleteは引数を受け付けません。 よって、 inline void safe_delet

    少しだけ安全なnew/delete - 神様なんて信じない僕らのために
  • Cとかアルゴリズムなんて超うんこ - 神様なんて信じない僕らのために

    と定時後の雑談中に言われたので、うへぇ、と思って書いてみる。 論旨は、Java(使い)はアルゴリズムを隠蔽しているので、 メモリの使い方とか、各種アルゴリズムがある操作をした場合に定数、対数、線形だとか、 知らなくても良いということなんだけど、 まずLinkedListとArrayListの違いがわからないのはあかんのでは? と僕は思う。 HashSetやHashMapの中身がどうなっているか解らずにSetやMapを使いこなすこともできないだろう、 と僕は思う。 いかにJavaがそういったものを隠蔽するために産まれてきたとしても、 「何から何まで忘れるために」産まれてきたのではない。 なんとなく「Cなんてうんこ」と言われると癪に障るのは悪いクセなのだろうけれど、 Cのポインタが悪しきバグを生み出してきた事は確かで、 不定な場所を指していても、 不定な場所を操作しても文句一つ言わず、 ある日

    Cとかアルゴリズムなんて超うんこ - 神様なんて信じない僕らのために
    yugui
    yugui 2007/06/11
    抽象化に頼り切って中身について雰囲気すら理解していないので勘が働かない人っている。ちょっと悲しくなる。
  • 好きなら石にかじりついてでもプログラマになって欲しい - 神様なんて信じない僕らのために

    僕なんかよりもっと凄いプログラマであろうyoshioriさんからTBをいただいて恐縮気味なのですが、 Yoshioriの日記 -「ポインタも再帰も FizzBuzz も出来なくても良いと思うよ 」 諸処の意見を読まれて、 厳しいと思われるかもしれないですが、 僕も「最初は」別に何もできなくて良いと思います。 「やりたいこと」と「好き」という気持ちがあれば十分です。 なのでYoshioriさんの言われる 個人的には 甘いと言われるかも知れないけど 別にポインタも再帰も 難しいと感じても出来なくても良いと思う。 これも賛同です。 素養も最初から持っている筈が無いもので、 身につけていると(その人も周りも)楽なのでということに過ぎません。 知っていて当たり前と言われる事を知らないプログラマがプログラマとして働いている事も珍しくないと思いますし。 (java-jaで挙げられていたjarの作り方や、

    好きなら石にかじりついてでもプログラマになって欲しい - 神様なんて信じない僕らのために
    yugui
    yugui 2007/05/30
    こっちのほうが共感するかな。敷居をむやみに上げる必要はないけれども、自分で考えようとしないタイプの人は勘弁。
  • そこにプライドはあるか - 神様なんて信じない僕らのために

    プログラマは大工と棟梁だという話をしていて、(それはとても広い意味だけれども) 僕は「ならプログラマは幾つかの言語を使えるべき」と言った。 何故かというと、 多くの場合「Javaが書けます」ということは何も技術を表さず、 「StrutsのActionだけ書けます。LogicやServiceなんて考えたこともありません」 という人でも「Javaが書けます」っていうことになってしまう。 でも、 「Perlが書けます、Javaが書けます、C++が書けます」 という人がそうしたレベルに止まっていることは少ない。 例え、書いたことがなくてもあっという間に書けるようになってしまう。 大工のような仕事でいえば「Actionが書けます」は「僕は釘を打つことしかできません」と同レベルだと思う。 もちろん、大工の中にはたいていの工程を理解しているものもいるだろう。 そして、棟梁はそんな大工と一緒に建物をつくる

    そこにプライドはあるか - 神様なんて信じない僕らのために
  • プログラマー≒大道具仮説 - 神様なんて信じない僕らのために

    ソフトウェアを製品として販売する世界、つまりソースコードを書いてお金を貰う世界で働いているのなら、プログラマーがスターでありアイドルであり、価値を生み出す源泉であると思います。 hamastaの日記 -お休み中- - アプリケーションスペシャリスト g:hamasta:id:hamastaさんが、プログラマはスターでありアイドルであり、 (ソフトウェアの)価値を生み出す源泉であると言われているのに反応。 いきなり反論のようではあるのですが、(ベクトルが違うだけなのですが) 僕はプログラマは決してスポットライトを浴びる事もなく、 ただただ直向きに働く大道具で「あるべき」、と考えています。 時にはカリスマプログラマも必要でしょうが、いわば広告塔としてと思います。 なぜか? アイドルという存在がアイドル一人で成り立たないのと同様に、 ソフトウェア開発というものもプログラマ一人の存在によって成り立

    プログラマー≒大道具仮説 - 神様なんて信じない僕らのために
  • 脊髄反射でinterfaceを書く必要はない……と思うが - 神様なんて信じない僕らのために

    今触っているソースはなぜか脊髄反射のようにinterfaceとImplが対応している。 class HogeServiceImpl implements HogeService { てな感じで、数あるロジックに対し一対しかないのにわざわざinterfaceと実装が存在する。 これって、意味あんのか? ……と思わずにはいられない。 実装を差し替えているわけでもないのに、意味があるのかと。 interfaceってのは書けばいいってもんじゃあるまいにと。

    脊髄反射でinterfaceを書く必要はない……と思うが - 神様なんて信じない僕らのために
  • ソフトウェア開発 で伸びる人、伸びない人 - 神様なんて信じない僕らのために

    開発者が理想とすべき考え方、姿勢、あり方、技術者としてこの世界にあるために必要ないろんなエッセンスが詰まった良書。 ただ、企業によってはここにかかれていることの十分の一も実践できないであろうことは容易に想像できる。 が、そうした企業にいると感じたとき、思い切って転職をしたりできるのも技術者として必要なことに思う。 このに当てはまりそうな人はたくさんいて実際読んでいると身につまされる思いをするか、ウンザリするかじゃなかろうか。 が、それは恐らく企業体質や、職場体質のせいであるか、若しくはあなた自身がソフトウェア開発に向いていないということなのだろう。 受動的ではなく、常に前向きにあるべき、実に良いことが書いてあります。 自分が思っていたことと同じ事が書いてあり、驚きでもありました。 P167、 「なんでもやります」というのは、裏を返せば「なんにもできません」というのと同じであり、 というの

    ソフトウェア開発 で伸びる人、伸びない人 - 神様なんて信じない僕らのために
  • 品質とは何か - 神様なんて信じない僕らのために

    プログラム(testingとかバグ根絶系)の話をしていると「品質」と「コスト」って言葉がよく出てくるけど、これって微妙な言い回しですよね。 なんていうか、絶対に認識が一致してないように思うのです。「品質」って言葉に凝縮されている要素はそれほどまでに有象無象だから。 で、実際に焦点とすべきは(「オブジェクト指向入門」によって品質を体系化した)メイヤー(Mayer)の言う、 外的品質要因 正確さ(Correctness) 頑丈さ(Robustness) 拡張性(Extendibility) 再利用性(Reusability) 互換性(Compatibility) が主なものであって、これらは顧客が触れることで実感できる要素となる。 中でも重用なのが拡張性と再利用性と言われている。 ただし、 正確さ……結果が間違っていない、操作に対する間違いなどを極力補正する 頑丈さ……様々な操作に対して意味不

    品質とは何か - 神様なんて信じない僕らのために
  • 言語は集中的に学ぶべき? 満遍なく学ぶべき? 楽をすべき? 苦労をすべき? - 神様なんて信じない僕らのために

    言語は道具であるっていうか、武器である。 毎日磨いていないとすぐ鈍ってしまうが、例え錆び付いてしまっても研ぎ直せばまた使えるようになる。 また、武器には得手不得手がある。 優劣にこだわり、剣や斧、槍や弓、あるいは槌を比べてどうこう言うのはナンセンス。 *1 そう、武器なんだから好きな武器を持って戦場に赴けばいい。 ただ、他の武器を使ったことがないと不利になることもある。もっと楽に戦える筈なのに、苦労している可能性がある。 鎖帷子に刃物で立ち向かったり、板金鎧に長剣で斬りつけていないかい? 重いハンマーを持って素早い相手を殴ろうとしていないかい? 鎖帷子には棍棒のような殴打できる武器が有効の筈だし、素早い相手なら適当に振っても当たるような武器を使うべきで、そんな考える事が有利に働く戦場の中でいつまでも槍ばかり使っている人は近接したときの短剣の威力を知らないし、鎧の隙間から突き刺して使えること

    言語は集中的に学ぶべき? 満遍なく学ぶべき? 楽をすべき? 苦労をすべき? - 神様なんて信じない僕らのために
  • 苛立ちや焦りの正体=老い - 神様なんて信じない僕らのために

    自分が年齢を重ねる度に感じてきた苛立ち、いわゆる同期や上層部、若手に対する進歩のなさに関する苛立ち。 これって何だろう、と考えていた。 例えば、どうしたって勉強しなければならない筈なのにわからないものはわからないで通そうとする同僚。 興味がないものは興味がないで済まそうとする同僚。 30になってもまともなコミュニケーションすらとれず技術力もない先輩。 ただゲームを作りたいと理想を述べるだけで作りたいものを作るための事を学ぼうとしない新人。 すべてが当てはまるとは限らないけれども、似たような怒りを感じたことがある人はいるのではないかと思う。 漫画ばっかり読んでいて良いのか、ネットゲームばっかりしていて良いのか、どうして技術書の一つも読みはしないのか、その種の怒りを感じたことがある人は0ではないと思っている。 じゃ、これってなんだろう? これは恐らく(自分にとっては)加齢と共に抱く自分に対する

    苛立ちや焦りの正体=老い - 神様なんて信じない僕らのために
  • 1