タグ

OSとアルゴリズムに関するthree_beeのブックマーク (2)

  • プログラミング万能練習法

    暇な人はやってみるといいプログラミングの万能練習法 は良いトレーニングになる。 プログラムを自ら書きたいと思う人って、与えられたメニューをこなすだけの人間ではないと思うけどハッカーを目指している人には UNIX の勉強にもなるんじゃないだろうか。というわけで、実際の練習メニューは以下の通り。 プログラミング言語を選択する 書いてみようと思う POSIX のコマンド を決める man をはじめとするマニュアルを読んでコマンドの仕様を理解する 設計する(初回のコーディングと同時進行はやめたほうがいいかも) コーディング テストする。設計とコーディングの反復。 終了 C 言語で書いたならテストのあとにオリジナルのソースを読んで答え合わせするのですが、必ずしもオリジナルのコードが正解とは言い切れない。 自分が書いたプログラムが仕様どおりに動いているならアルゴリズムの違いなどは気にしなくていいと思う

    プログラミング万能練習法
  • RubyとPythonの違いからガベージコレクタを理解する - ワザノバ | wazanova.jp

    http://patshaughnessy.net/2013/10/24/visualizing-garbage-collection-in-ruby-and-python Pat Shaughnessyが、ブタペストで開催されたRUPY2013でのプレゼンの前半を自らのブログで紹介しています。 ガベージコレクタは、「ゴミを集める」という行為だけでなく、「新しいオブジェクトのためにメモリをあてがう。」「不要なオブジェクトを見つける」「不要なオブジェクトからメモリを取り戻す。」という、人間の心臓が血液を浄化するような働きをしている。 この簡単なコードサンプルを見ると、RubyPythonの記述はよく似ているが、それぞれの言語の内部でのインプリの仕組みは違う。 1) Rubyのメモリ Rubyは、コードが実行される前に、数千のオブジェクトを先につくり、それをリンクされたfree listに置

  • 1