タグ

ブックマーク / pg-kura.hatenablog.com (11)

  • C 言語にポインタがある理由は省メモリ化・高速化・開発作業の省力化です - 偏見プログラマの語り!

    前回の記事『プログラム初心者にC言語のポインタを不意ながら教える羽目になったなら、こう教えると良いよ』でポインタの教え方を書きました。ソレに対して「そもそもどうしてポインタっていう仕組みがあるの?」という質問をもらったので、つらつらと書こうと思います。稿は「ポインタがある理由の教え方」ではなく「ポインタがある理由」です。分かっている人には相当に退屈な文章ですのでそういう人は読まずにお帰りください。 で、えーと、結論だけ先に言うと省メモリ化のため、次に速度アップのため、そして生産性アップのためです。 1. メモリは有限である。 マシンに搭載されているメモリには限りがあります。メモリ空間は広大ですが、無限ではないのです。 好き放題にどんどんメモリを使ってデータを格納するわけにはいかないというわけです。しかしプログラムは計算のためにメモリ空間を占有します。仮に↓こんな感じに、わずかな有限メモ

    t-murachi
    t-murachi 2012/06/21
    これだと「なんで (参照じゃなくて) ポインタがあるの」という質問の答えにはなってないな。歴史的経緯や void * (C++ なら reinterpret_cast) に触れないと納得できない人も相当数いらっさるんじゃ…
  • @PG_sister_bot の発言に想いを馳せる - 偏見プログラマの語り!

    プログラミングクラスタの皆さんは漏れ無く@PG_sister_bot をフォローしていることと思います。 このアカウントは、プログラムを勉強している人の毒舌な妹の発言をしまくるいわゆるネタ bot として有名です。僕もいつも楽しませてもらってるのですが、よくよく読むと彼女の発言はなかなか興味深く、マジレスしたい欲求に駆られてしまいました。 というわけで稿はネタ記事です!あくまでネタ記事です!*1 1. お兄ちゃん、いつも「GCは甘え」とか言ってJavaRubyを馬鹿にしてC言語にこだわり続けるけど、新しい技術についていけなくて昔覚えた言語にしがみつくのって、どうかなあ? それにお兄ちゃんのプログラム、よくメモリリーク起こすよね? 2012-04-21 07:58:39 via twittbot.net GCの無い言語にこだわることと、メモリリーク起こすプログラムを書くことは別の問題では

    t-murachi
    t-murachi 2012/04/25
    「「後始末のための時間的コストがかからない」というメリットとトレードオフ」<あとで開放可能ならばそれはメモリリークとは言わない。長期間プロセスを殺せないケースは考慮の範疇外? / 極端な解釈と極端な発想は別
  • お仕事が決まりました。 - 偏見プログラマの語り!

    一週間ほど前に 『退職しました。』偏見プログラマの語り! というエントリを書いたのですが、さっそくお話をしていただけたところが数社あり、次のお仕事が決まったので報告です。お声掛けいただいた会社さま、ありがとうございました。 来週から 株式会社スケールアウト さんにお世話になります。僕は Web や DB 界隈の技術は初心者レベルなので他の方々と比較するとマダマダではありますが、これから現場で揉まれつつせっせとろくろを回そうと思います。

    お仕事が決まりました。 - 偏見プログラマの語り!
    t-murachi
    t-murachi 2012/04/17
    えらいなぁ、そこで 1年ぐらい NEET やって棒に振っちゃうおいらとはえらい違いだw めでたう。
  • 退職しました。 - 偏見プログラマの語り!

    僕の近況報告です。新卒から 6 年間勤めた前職を、3 月末をもって退職しました。今は東京に住んでいます。次の仕事はまだ決めていませんが、5 月半ばを目処に仕事を探す予定です。前職では C++ オンリーで開発をしていましたが、次の仕事ruby または C++フリーランスとして働きたいなと思います。とりあえずしばらく ruby の勉強しつつ次の仕事について考える期間を設けます。

    退職しました。 - 偏見プログラマの語り!
    t-murachi
    t-murachi 2012/04/05
    どつかれさん。
  • Twiter API を使って Retweet を取り消す処理 - 偏見プログラマの語り!

    Twitter API を利用したプログラムを作ってみてるのですが案の定ハマるべきところでハマっておりました。で、これがググってもなかなか出てこない...(´Д` ) 。Twitter API を利用したプログラムを書いたことある人ってかなり多くいるような気がするんですけども、皆さんどうされてるんでしょ?とりあえず解決できたので書いておきます。 【ハマった問題】公式 Retweet の取り消しができない ハマりポイント 1. どゆこと? まず Retweet の API ですが、「Retweet する API」はあれど「Retweet を取り消す API」ありません。じゃあどうやって取り消すかっていうと「呟きを削除する API」を使って取り消す仕組みになっています。それがコレ。 『POST statuses/destroy/:id』Twitter Developers ここの id に呟き

    Twiter API を使って Retweet を取り消す処理 - 偏見プログラマの語り!
    t-murachi
    t-murachi 2012/03/29
    こういう undocumented な仕様って予告なしに削除されたりしないのかな… (((;゚Д゚)))ガクブル
  • 良書は探せ - 偏見プログラマの語り!

    これからプログラム始めようとする人が「オススメのは何ですか?」って言う場面ってソコソコあるような気がするのですが、そう言っちゃう時点でセンス無いよなぁ... と思ったりします。でまぁそんなこと言うとソッコー叩かれそうなのであまり言わないんですけども、最近 @kis さんが面白い記事を書いていた ので、僕も思うトコロを書いておこうかなと思います。 1. まったくの初心者の話ですよ? 勉強しようという気持ちは良いとして、もし「なるほど分かった」と思えるまでそれが続かなかったならばそれは「良書を読んで素早く習得する」という作戦失敗です。まったくの初心者がプログラミングに興味を持ったなら、とりあえず Web のサイト見てコード書いてみるのが自然な流れだと思うんですよ。でもそうなっていないのはプログラミングへの興味はさほど高くないってコトですよね。つまり正しい知識を得ることができないリスクよりもソ

    良書は探せ - 偏見プログラマの語り!
    t-murachi
    t-murachi 2012/03/28
    「良書を探すことは、情報収集能力を磨くための練習としてもったいないくらい適切な課題」<これには同意。 / 尤も大前提と言えるような知識に触れる事自体に必要性を感じないままでいる職業プログラマも少なくない…
  • Rails にて XMLHttpRequest で POST するとセッションが切れる - 偏見プログラマの語り!

    ご多分に漏れずハマったので書いておきます。(Ruby 1.9.3, Rails 3.2.2) Rails にはセッション変数 session がありますが、タイムアウトでもないのにこれが何故か空になってしまう現象が発生して、かなり悩んでました。どうも JavaScript で直接 XMLHttpRequest 発行すると発症するようです。GET ではなく POST したときのみのようです。 解決策ですが、リクエストヘッダに 'X-CSRF-Token' を追加すれば良いようです。 function post_xhr_request( url, param, on_ready ) { xhr = new XMLHttpRequest(); xhr.open( 'POST', url, true ); xhr.setRequestHeader( 'X-CSRF-Token', /* token

    t-murachi
    t-murachi 2012/03/25
    確かにこの辺畑違いだとキツイよなぁ…。
  • テスト駆動開発は戦略である - 偏見プログラマの語り!

    稿は、前回の記事 『テスト駆動開発について僕は誤解していた』 を踏まえた上で僕が TDD について思うことのまとめです。 どうも TDD は「あらゆる開発現場で適用できる」「大掛かりな仕掛けは不要である」「やった方が良いらしい」ことが見えてきました。ということは、世間は「TDD を実践するのが当たり前」になっているはずです。しかしどうもそうなっていないようです。何かがおかしい気がします。 Siri に聞いてみましたが教えてくれませんでした。 1. 手間がかかるから実践されていないのだろうか。 テストコードを書く手間はゼロではありません。お金儲けをしている以上、かける手間は少なければ少ないほど良いわけですよね。「手間がかかるからやらない」という意見はありえそうです。もしかして、これがネックになっているのでしょうか。 2. みんながやってないから実践されていないのだろうか。 前回の記事を書い

    テスト駆動開発は戦略である - 偏見プログラマの語り!
    t-murachi
    t-murachi 2012/03/09
    んー… そも TDD (ていうか eXtream Programming) ってテスト工程の軽減が目的なんだっけ? どっちかっつーと実装の道筋を先に立てることが目的なんだと思うんだけど…。 (だから普及しないならしないで別に構わんとさえ思う)
  • テスト駆動開発について僕は誤解していた - 偏見プログラマの語り!

    ここ数日 ruby をやってるんですけど、ruby といえばテストらしいので Test::Unit やら RSpec やらを調べてました。しかし僕はこれまでまともな TDD をやってこなかったので、先にテストとは何ぞや?TDD とは何ぞや?ってのを調べたりしていました。 この記事は、ずぶの TDD 素人がテストについて知り始めたまとめです。 1. きっかけは RSpec のドキュメント そもそも RSpec の↓紹介文の冒頭から意味不明に感じたんです。 FAQ:「RSpec って、要は Test::Unit でやっていることを別の書き方にしただけでは?」 この FAQ への短い答えはイエスです。 『スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)』 Rubyist Magazine えっ... じゃあ要らんやろソレ。いちいち手作業でチェック

    テスト駆動開発について僕は誤解していた - 偏見プログラマの語り!
    t-murachi
    t-murachi 2012/03/09
    「品質保証しないで何がテストですか。TDD まじ分からん...」→「テストをちょろっと書いて、プロダクトコードをちょろっと書いて、またテストをちょろっと書いて... という具合に進めていく」<そう、割とそんな感じ。
  • キャメルケースよりスネークケースで。 - 偏見プログラマの語り!

    プログラムを書くとき、たいていは何らかの命名規則に従って識別子を書くわけですが、その種類はだいたい 2 つじゃないかと思います。 ・スネークケース:スペースをアンダースコアに置き換えた表現。( chocolate_pie, candle_cake, ... ) ・キャメルケース:スペースを詰めて次の語を大文字から始める表現。( chocolatePie, CandleCake, ... ) プログラムってのは名前が 8 割とか言うひともいますけども、なんだかんだと複合語を記述する場面は死ぬほどありますし、しかも多くのプログラミング言語がスペースをトークンの区切りとしている以上、何かルールを設けないといけないんですよね。そうしないと「複合語の中にあるスペース」と「トークン区切りとしてのスペース」を区別できない。区別できないっていうかプログラム書けない。 で、どういうルールで書くかっていうと標

    t-murachi
    t-murachi 2012/01/22
    型ハンガリアンは不必要なら避けるべきであって、それは言語や環境を跨いで共通の認識ではない。 C++ で定数名を UPPER_CASE で書くのが流行りじゃないのは、マクロと区別したいという要求があったから。
  • C++er 達の post を集めてみました。 - 偏見プログラマの語り!

    僕の TL には C++er がたくさんいます。僕は脳ミソ沸いてるのでこんな感じですが。 @PG_kura C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++.. 2010-09-03 18:40:09 via ラーメン大陸 とかく、Twitter にはすごい人がたくさん居るので興味ある人はフォローしてみると良いと思います。*1 *2 @nagoya313 僕はC++を得たが代わりに青春を失ったことに気づいた。 2010-07-13 00:30:23 via web @fetus_hina 「// このコードが直感に反して正しく動く事に関して、私は真に驚くべき理由を見

    t-murachi
    t-murachi 2011/05/10
    ひぃぃ!!
  • 1