タグ

programmingに関するmikiyaokadaのブックマーク (14)

  • ここぞというときの集中力Upのために、ヘッドフォンで音楽を聴きながらプログラミングしましょう - 達人プログラマーを目指して

    仕事趣味でプログラミングしたり技術書を読みながら勉強したりする際には、言うまでもなく集中力を高めて維持することが大切ですね。職業プログラマーに必要な集中力ということには少なくとも二つの意味があるとは思いますが、 単純に正確に繰り返しキーをタイプしたり、Excelシートをひたすら埋めるような単純作業を一定時間以上継続する 新しいアルゴリズムの設計やリファクタリングのアイデアを構想する いずれにしても、自分の場合は寝不足だったり、周りの雑音で気が散ったりしてコンディションが悪い時にはあまり集中できずに、圧倒的に作業効率が下がってしまいます。逆に、調子よく集中できた時には時間がたつのも忘れて一気に仕事を片付けることができます。 もちろん、プログラミングで集中力を高めるためには、日頃から規則正しい睡眠事などが欠かせませんが、ここぞという時に一人で集中するにはヘッドフォンで音楽を聴くのが個人的

    ここぞというときの集中力Upのために、ヘッドフォンで音楽を聴きながらプログラミングしましょう - 達人プログラマーを目指して
  • VOYAGE GROUP エンジニアブログ : 自分の周りに居る凄腕プログラマーが実際に読んでいる本

    2011年11月08日10:22 カテゴリ 自分の周りに居る凄腕プログラマーが実際に読んでいる こんにちわ、VOYAGE GROUPでエンジニアをしている伊織といいます。 RubyKaigi2010/2011でスタッフをさせて貰ったりしています。 他にも渋谷rbランチなどに顔を出させて貰っています。 弊社の先輩エンジニアは勿論の事、RubyKaigiのスタッフをやらせてもらったりShibuyarblunchやLispコミュニティでうろちょろしているお陰で僕の周りには凄いプログラマーが沢山います。そこで、周りの凄腕プログラマーが実際に読んで「良かった」と言っていた技術書を幾つか挙げてみたいと思います。自分で手を動かしてやったは僕の感想も添えます。 計算機プログラムの構造と解釈 クチコミを見る 有名な魔術師。MITで長年教科書として使われてきたです。今はPythonなので違う筈。今やっ

  • プログラマがやってはいけない97のこと - Cube Lilac

    プログラマが知るべき97のこと改変シリーズ第4弾.抜粋元のメインは,#やってはいけないプログラマーのNG まとめ - Togetter,および twitter 検索 - #やってはいけないプログラマーのNG です.また,プログラマが体験するべきではない50の危険なこと - Life like a clown からも一部抜粋しています*1.尚,登場する人名は適当な仮名に変更しています. 今回は,タイトル通り「プログラマがやってはいけないこと」に絞ってみました(プログラマが受ける理不尽系は除外).尚,過去のプログラマが知るべき97のこと改変シリーズは最後に一覧を列挙しますので,併せてお楽しみ下さい. 全角スペース使う インデントにタブと空白が混在 変数名や関数名でスペルミス 変数名が女の名前 char aznable; 浮動小数を等値比較 三項演算子の数行に渡る多重ネスト 同じシステムの中で複

    プログラマがやってはいけない97のこと - Cube Lilac
  • モダン並列・並行プログラミング ~ Concurrent Revisions による実装と現実 ~ - Preferred Networks Research & Development

    日社内向けのTechTalkにて、並列・並行プログラミングに関する話を行いました。 昨今、プログラムの並列化はなくてはならないものとなっています。しかし、そのプログラミング環境は依然としてロックを用いたものが主流です。今回の発表の主張を端的に申し上げますと、 “Locks must go!” ということになります。並列プログラミングに銀の弾丸はありません。しかし、ロックは別の何らかの安全性を確保したプログラミングモデルで置き換えられなければいけません。そうでなければ、再現しにくいバグに苦しめられ、終電を逃す日々と決別することはできないでしょう。また、ロックによるプログラミングの抱える質的問題にも言及しています。 この界隈の最新の動向として、去年OOPSLA’10にて発表されたConcurrent Revisionsについての解説も行なっております。また、弊社研究開発において、先日Con

    モダン並列・並行プログラミング ~ Concurrent Revisions による実装と現実 ~ - Preferred Networks Research & Development
  • ザリガニが見ていた...。

    貨幣や経済のでよく引用される、南の島の巨大な石のお金の話(有名らしい)が好き。何年か前に、どこかのページで読んだ。とても良くまとまっていて、面白い話だなーと、感銘を受けた。いつまでも記憶に残っている。しかし、今検索しても、感銘を受けたあのページは見つけられない...。関連する情報はたくさん出てくるのだが、以前見たのとはちょっと違う気がした。ならば、自分で書き留めておこうと。若干の想像や創作が入ってしまうかもしれないけど、忘れたくないので書いてみる。 巨大な石のお金 ミクロネシアのヤップ島では、島中に大きな石のお金が置かれているらしい。小さいものは直径30cmくらいから、大きいものでは3m以上、その重さは5トンにもなる。 まさしく、アニメ「はじめ人間ギャートルズ」の世界のようだ。ギャートルズの世界は原始時代の設定であったが、ヤップ島ではつい最近(20世紀初頭)まで、このような石のお金=石貨

    ザリガニが見ていた...。
    mikiyaokada
    mikiyaokada 2010/03/21
    丁寧でとても良い。こんなブログを書ける人になりたい。
  • プログラマが楽しく読めるLink集 Vol.1 - 乱筆乱文お許し下さいorz

    ネットサーフィン(死語)をしていて、プログラマなら誰でも楽しく読めるハズ! と思ったサイトや記事を紹介して行きます。 とりあえず、Vol.1ッ! ハッカーになろう (How To Become A Hacker) 実は、この5つすべて(Python, Java, C/C++, Perl, LISP)を勉強しておくのがいちばんいいのです。 これらはもっとも重要なハッキング用言語だというだけでなく、 それぞれプログラミングに対してまったく違ったアプローチをしているので、どれも非常に有益な勉強となるでしょう。 Rubyは?(´・ω・`)ショボン Fine Software Writings 特に僕が好きな記事を! ホワイの(感動的)Rubyガイド (why the lucky stiff) どうしてプログラマに・・・プログラムが書けないのか? (Jeff Atwood) ソフトウェア開発者のた

  • codepad

    codepad is an online compiler/interpreter, and a simple collaboration tool. Paste your code below, and codepad will run it and give you a short URL you can use to share it in chat or email. Language: C C++ D Haskell Lua OCaml PHP Perl Plain Text Python Ruby Scheme Tcl

  • ぜひ押さえておきたいコンピューターサイエンスの教科書

    僕はバイオインフォマティクスという生物と情報の融合分野で研究を行っています。東大の理学部情報科学科にいた頃は同僚のマニアックな知識に驚かされたものですが、そのような計算機専門の世界から一歩外に出ると、それが非常に希有な環境だったことに気が付きました。外の世界では、メモリとディスクの違いから、オートマトン、計算量の概念など、コンピューターサイエンスの基礎知識はあまり知られていませんでした。コンピューターサイエンスを学び始めたばかりの生物系の人と話をしているうちに、僕が学部時代に受けた教育のうち、彼らに欠けている知識についても具体的にわかるようになってきました。 バイオインフォマティクスに限らず、今後コンピュータを専門としていない人がコンピューターサイエンスについて学ぶ機会はますます多くなると思われます。そこで、これからコンピューターサイエンスを学ぼうとする人の手助けとなるように、基礎となる参

  • 日本ソフトウェア科学会第 22 回大会(2005 年度)論文集 1 Software Fault Injectionを用いた開発時テスト支援環境 Software Testing Support Environment using Software Fault Injection 黒田滋樹 † 柴山悦哉 † Masuki

  • データ型のアラインメントとは何か,なぜ必要なのか?

    以前このサイトとブログに,何度かアラインメントに関する記事を書きました (サイト内関連ページ参照). そのせいか「アラインメント」で検索して来てくれる人が多いので, 過去の記事に加筆修正してこのページを新たに作成しました. 加筆した点は次のとおりです. アラインメントとメモリアクセス回数の関係をわかりやすくするため, (ほんの少し) 図を導入しました. 「データがアラインされていないとメモリアクセス回数が増える」 と言葉で説明しているサイトは多いのですが, 図で示しているところはまだ見たことありません. アラインされていないアドレスにデータを書き込む場合, 読み出しの場合以上にメモリアクセス回数がかかる可能性があることを追記しました. 以前は「複合データ型 (配列,構造体,共用体) のアラインメント」はほとんど自明のことだと思っていたので軽く流していましたが, 意外なことにこれを解説してい

  • MSC00-A. Compile cleanly at high warning levels - CERT Secure Coding Standards

    mikiyaokada
    mikiyaokada 2009/09/03
    警告レベルは最高にせい!とあれほど言っているのになぁ・・・
  • 64ビットになると何が変わる?――64ビットプログラミングのデータモデル

    たとえば、long型を32ビットとして扱っているようなC/C++のコードをLP64環境に持ってくる際はlong型に注意しなければなりませんし、その逆のケースも同じです。 このようなデータモデルの違いは、C/C++プログラミング言語に新しい基的なデータ型を加えるというメカニズムがないために起こっています。64ビットシステムへの移行にあたり、C/C++アプリケーション開発者はスカラの(単一の)計算をする場合、既存のデータ型のマッピングを変えるか、または新しいデータ型を加える必要があります(64ビットへの移行にあたり、それまで「整数=32ビット」があたりまえと考えてしまっていたプログラマは、移植の際に自分のプログラムコードを再度見直す必要性が出てくるかもしれません)。 3つのうちのどのプログラミングデータモデルが優れているかというと、それぞれ一長一短があるので一概には答えられません。ただ、コン

    64ビットになると何が変わる?――64ビットプログラミングのデータモデル
  • オブジェクト指向の学び方 - 千里霧中

    ソフトウェア開発 実は最近オブジェクト指向に関する指導などで、オブジェクト指向の学び方について考える機会が増えています。今回は思考の整理も兼ねて、その学び方についてまとめてみようと思います。オブジェクト指向をめぐる混乱 オブジェクト指向の定義やアプローチに関しては、一部混乱が存在します。そららは学習を阻害するリスクを十分持っていますので、学び方に入る前の予防的な確認として、一度主要なものを列挙したいと思います。 工程間での混乱 オブジェクト指向は様々な工程に導入されていますが、それぞれで独自の世界が形成されている領域があります。 例えば分析工程では、アクターやデータベース、機能プロセスといった現実世界や仕様上の構成要素にオブジェクトやクラスを割り当て、その挙動やコミュニケーション手段を継承やプロパティで表現する方法論が、オブジェクト指向分析やUMLモデリングといった形で確立されています。そ

  • [ソフト開発] わかりやすいプログラムの書き方 - よくわかりません

    ※このエントリは、Arata Kojima/NPO法人しゃらく さんが公開しているわかりやすい技術文章の書き方の改変です。 このページは、プログラムやコードなどを書く方々のために、分かりやすいプログラムを書くためにはどうすればよいのかについて説明しています。 1. 自分が伝えたいこと・訴えたいことを誤解しないように相手に読んでもらうにはどうするべきか。 2. プログラムを書くにあたって知っておくべきルールは何か。 3. プログラムを書く前にどのような手順を踏めば、分かりやすいプログラムを作れるか。 などについて参考にしていただければ幸いです。 プログラムを書く前に プログラムを書く前に次のことをしっかりとイメージしておく。 何を書くのか。 書こうとしている物は正確に何であるのか。 仮定して良い、必ず成り立つ前提(状況/状態)は何か。 成り立つ事が単に多いだけ/今はたまたま成り立っている、と

  • 1