タグ

programmingに関するkoutakiのブックマーク (113)

  • OMake つかったらC言語でプログラム書く手間がバカみたいに減った - 日記を書く[・ _ゝ・]はやみずさん

    OMakeすごい。OMakeはマジですごい。 OMakeはGNU makeの代替品みたいなものなんだけど、正直なところこのツールの強力さはGNU makeと比べると失礼なくらいすごい。これのおかげで、「コード修正→ビルド→デバッグ→コード修正→・・・」のループの、ビルドにあたる作業がほぼ消え去った。 ファイルの依存関係の解析がとにかくすごい。よくあるユースケースなんかの場合、最小限の手間でほぼ完璧に依存関係を網羅して、よしなにビルドしてくれる。 とりあえず、はやみずが実際に使ってみたケースを例にとってそのすごさの一端を紹介しようと思う。 case study 論より証拠ということで、自分が OMake を試しにつかってみたケースを紹介する。C言語でスタティックライブラリを作っていて、それに加えて簡単なテストプログラムを書いている。 /include/ 以下にヘッダファイルが全部ある /sr

    OMake つかったらC言語でプログラム書く手間がバカみたいに減った - 日記を書く[・ _ゝ・]はやみずさん
  • かわいいコードに旅をさせよ - 職業としてのプログラミング

    設計レビューやソースコードレビューといったレビューは、ソフトウェアの品質確保だけでなく、開発者のスキル向上のためにも非常に有意義です。このレビューを有意義なものとするために心がけてべき最も重要なことのひとつが、 「自分の書いたソースコードや設計書に対して客観的であること」 です。簡単そうで、これがなかなか難しい。 人間、自分で作ったものは愛着が出ます。これはソースコードも同じ。エレガントなモデル設計やスマートなアルゴリズムに仕上がったものは誇らしいけど、混乱した設計や実装も、こんなはずじゃないんだ、分かっているんだとかばいたくなる。なので、人からつっこまれると、ついつい、ソースコードの味方をしてしまうことがあります。これは、ちょっと過保護で、ソースコード君のためにはなりません。 では、客観的な立場に立てているどうかはどうやったら分かるでしょうか。ひとつの方法は、「レビューの指摘に対して、ソ

    koutaki
    koutaki 2008/06/18
    思い当たりすぎて耳が痛い。心に留めておこう
  • On Loving C.. 日本語訳

    以下の文章は、Michael Feathers による On Loving C.. の日語訳である。 文中の固有名詞などについて理解の助けとなるよう Wikipedia へのリンクを加えさせてもらった。 認めなければならないことがある。私は C を愛している。しばらくはそれを意識していても、忘れがちだ。Ruby、Haskell、OCaml、C++Java、そして C# に心移りしたこともある――今も多くの言語に時間を割いているが、C の元に戻ってくると、私は故郷に帰ったような気持ちになる。 私は何十年も前に Kernighan と Ritchie のをパラパラとめくったときのことを覚えている。C にはとても欲求不満を感じた記憶もあるが、とても満足を与えてくれたことも覚えている。C にはヘンなところがあるが、振り返ってみると、それは多くの他の言語のヘンさに比べれば不可解なところはずっと

  • まつもとゆきひろのハッカーズライフ:第1回 ハッカーとの遭遇 (1/2) - ITmedia エンタープライズ

    知られざる「ハッカー」の生態や心理についてまつもとゆきひろ氏が紹介する人気連載がITmediaに登場。ハッカーの生き方を知ることは、あなたがより良いプログラマーになるのに役立つかもしれません。もちろん保証はできませんが。 こんにちは、はじめまして。まつもとゆきひろと申します。世間ではRubyというプログラミング言語の作者として知られ、職業はプログラマーで自称ハッカーでもあります。この連載ではわたしたち「ハッカー」の生態や心理について紹介できればと考えています。 ハッカーとは 「ハッカー」といってもネットワーク経由でシステム侵入を行ったり、パスワードを破ったりするような悪者ではありません。そういえば、最近そういう誤用をあまり耳にしなくなりましたね。 ハッカー(Hacker)とは文字どおり「Hackする人」という意味です。「Hack」というのはもともとは「(斧などで)たたき切る」という意味です

    まつもとゆきひろのハッカーズライフ:第1回 ハッカーとの遭遇 (1/2) - ITmedia エンタープライズ
    koutaki
    koutaki 2008/03/14
    「クリエイターである」「ブレーキが壊れている」
  • 開発者が学ぶべきこと:アルファルファモザイク

    ■2ちゃんねるまとめサイト ヘッドライン:任天堂が新型ニンテンドーDS「DSi」発表…11月1日発売、1万8900円

    koutaki
    koutaki 2008/02/28
    帰ってきて読んだ。吹いたwww
  • 最もタメになる初心者用言語? - ぼくはまちちゃん!

    え、そんなのデジタル回路に決まってるじゃん!!! だって、アナログは算数がむずかしすぎるし、 Cとかだと、初心者がやるには抽象的すぎるし…! だから、みんなも一度くらい、トランジスタ → ANDとかORみたいな論理回路 → フリップフロップあたりまで自分で作ってみるといいんじゃないかな! 超かんたんだから! えええ、電気の流れのこんな微妙なタイミングで、こんなことになっちゃっていいの…>< なんて感動すること間違いなしだと思うよ!! いや、ぼくほんとにそう思うんだけど、だめかな。 (デジタル回路 - Wikipedia) (論理回路 - Wikipedia) (フリップフロップ - Wikipedia) (参考) 最もタメになる「初心者用言語」まとめ - UK is not Britonish - ハチロク世代 (参考) くらげに見えて仕方ない - 毛の生えたようなもの

    最もタメになる初心者用言語? - ぼくはまちちゃん!
  • アルゴリズムとデータ構造演習

    演習の目的は、プログラミング言語C及びSchemeの基礎を習得し、 それらの言語を通じて、講義「アルゴリズムとデータ構造」の理解を深めることにあります。 重要なお知らせ 特に重要な連絡事項はここに掲載されます。 課題について 課題には、A課題とB課題があります。(課題番号の末尾が種類を表します。) B課題が基礎的な課題で、A課題が発展的な課題となっています。 B課題を全問解くことが、単位取得の目安です。 C入門第1回(10月10日) C入門第2回(10月17日) C入門第3回(10月24日) C入門第4回(10月31日) C第1回(11月7日) C第2回(11月14日) C第3回(11月21日) C第4回(11月28日) C第5回(12月5日) Scheme第1回(12月12日) Scheme第2回(12月19日) Scheme第3回(1月9日) Scheme第4回(1月16日) C補講

  • 404 Blog Not Found:プログラマーでなくても名前ぐらい覚えておきたいアルゴリズムx10

    2007年11月26日18:15 カテゴリMathLightweight Languages プログラマーでなくても名前ぐらい覚えておきたいアルゴリズムx10 ぎくっ あなたが一番好きなアルゴリズムを教えてください。 また、その理由やどんな点が好きなのかも教えてください。 - 人力検索はてな なぜぎくってしているかというと、実はすでにアルゴリズムの発注を受けているからなのだ。いつまでも伏せておくのもなんなので、ここにえいやっとdiscloseしてしまうことにする。 アルゴリズム大募集! C&R研究所 - トップページ その下書きもかねて、そこでも紹介しないわけに行かないメジャーなアルゴリズムをとりあえず10個紹介しておくことにする。 ユークリッドの互除法(Euclidean algorithm) その昔(数百年ほど前)は「アルゴリズム」といえば、「手順一般」を指すのではなく、この「互除法

    404 Blog Not Found:プログラマーでなくても名前ぐらい覚えておきたいアルゴリズムx10
  • あなたが一番好きなアルゴリズムを教えてください。 また、その理由やどんな点が好きなのかも教えてください。 - 人力検索はてな

    あなたが一番好きなアルゴリズムを教えてください。 また、その理由やどんな点が好きなのかも教えてください。

  • 「プログラマ35歳定年説」:ITと人間の意外な関係 - CNET Japan

    あるサイトで連載の話を進めていて、そのコンテンツを考えていた。目次を書き出しているときにふと「プログラマ35歳定年説」なるものを思い出した。 プログラマ35歳定年説とは、「プログラマは年齢を重ねて行って、35歳ぐらいになったらSEなりマネジメントなり、次に行かないとオマンマべられないよ」というものだ。 「そういえば、自分もそう言われてきたっけ・・・。若いころは「俺たちがシステム作ってんだ!実力があれば絶対に大丈夫。ふざけんな!」と思っていたよなぁ。」 ふと考えれば私は今36歳。その説によれば定年を迎えている年齢だ(笑)。年金はもらえないが・・・。 プログラマ、SE、マネジメント、経営の一通りを経験してきて、その説の私なりの考えを書いてみたくなった。 35歳プログラマ定年説は当か?・・・私にとって かつては技術力に自信があったし、楽しいプログラマ人生を送ってきた。そんな私だが、今もし誰

  • プログラミング言語Ruby ― ありえるえりあ

    方針 Rubyをまったく知らない前提で始めます JavaJavaScript、elispのようなメジャーな言語と対比しながら説明します なるべく手を動かして目に見える形で説明を進めます 次回Ruby on Railsの勉強会をするので、それにつながることに重点を置きます 逆に言うと、RoRであまり使わない知識は流します。例えば、ファイル操作周りやスレッド周りなど 開発環境(2) .emacs.elに書くべき記述 ; ruby (autoload 'ruby-mode "ruby-mode") (setq auto-mode-alist (cons '("\\.rb$" . ruby-mode) auto-mode-alist)) (setq interpreter-mode-alist (append '(("ruby" . ruby-mode)) interpreter-mode-al

  • 初めてのプログラミング体験まとめ(Ruby on Rails編):小鳥ピヨピヨ(a cheeping little bird)

    startmac 生まれてはじめて、プログラミングなるものしてみんとて。 いやー、Webディレクターをしていると、ちょっとでいいから自分でプログラミングができるといいなと思いはじめるんですよねー。 でもあまりにも敷居が高くて、なかなか手を出せず、そしてどんどん月日は流れていくばかり。 で、このたびStart Macに当選してMacBookをもらったとき、これを機に、 「今度こそ、絶対に、何が何でもプログラミングを学ぼう」 と思ったんですよね。ほら、MacってベースがUNIXだから、なんとなくプログラミングとかもやりやすそうな気もするし。 なので、今回はちょっと気合を入れて、先生を見つけて、時間をとって、とうとうやってしまいました。 プログラミング童貞を捧げる相手は、「Ruby on Rails」。とても簡単にプログラミングができると話題のフレームワークです。 Rubyというプログラミング言

    初めてのプログラミング体験まとめ(Ruby on Rails編):小鳥ピヨピヨ(a cheeping little bird)
  • ウノウラボ Unoh Labs: 正規表現の勉強法

    bokkoです。 テキストの整形処理を行う上で正規表現は非常に重要です。正規表現なしでテキストの整形処理をするくらいなら自分で正規表現ライブラリを書いてやるという人がいるのかどうかは知りませんが、実際、相当大規模なWebソフトウェアのプロジェクトならそっちの方が早いかもしれません。なんだか自分で書いてて何が言いたいのかわからないような文章になってしまいましたが、私が言いたいのは正規表現はそれくらい強力で、習得して使う価値があるということです。 ただ、正規表現にはじめて触れる場合、非常にとっつきにくく思う方もいると思います。私も最初、意味のわからない文字の羅列に圧倒されたような気がします。 このように最初の段階でとっつきづらく思ってしまうのは大抵慣れの問題なので、とりあえず、正規表現を使ったプログラムでも書いてみるのが一番の近道です。何かしらのテキストを整形するというのがいい題材ですが、私が

  • 古橋貞之の日記 - 開発環境としてのMac OS Xカスタマイズ

    Mac OS Xを使っていないプログラマは、時間の80%を無駄にしている、かどうかは知りませんが、堅いGUIとUNIX系のコマンドラインツールを使えるMac OS Xは、開発環境として使いやすいことは確か。 が、デフォルトのままでは、Terminal.appで日語が表示できないとか、lsやfindがGNU系じゃなくてBSD系だとか、要するにOSだってカスタマイズしてなんぼというわけであります。 というわけで、私のMac OS Xのカスタマイズをこのあたりに書いておきます。 ※2008/2/3追記: Leopard版書きました > 開発環境としてのMac OS X Leopard Terminal.app Mac OS Xにはデフォルトで「ターミナル」(/Applications/Utilities/Terminal.app)が付いてきますが、これがデフォルトではまったくイケてない。主要な

    古橋貞之の日記 - 開発環境としてのMac OS Xカスタマイズ
  • プログラマ1年生に、先輩がアドバイス:アルファルファモザイク

    「ゼリーのみ規制…モチはいいのか?」→野田聖子氏「モチは喉に詰まるものというのが常識」…消費者庁構想に暗い影

  • 頭の中にプログラムを入れる

    Paul Graham / 青木靖 訳 2007年8月 いいプログラマは、自分のコードに集中しているとき、それを頭の中に保持しておくことができる。数学者が取り組んでいる問題を頭の中に入れているのといっしょだ。数学者は学校で子供たちが習っているように、紙の上で問題の解いているわけではない。彼らは多くの部分を頭の中でやっているのだ。問題の領域をよく把握しようと努めることで、普通の人が記憶にある育った家の中を歩き回れるように、数学者は頭の中で問題空間を歩き回ることができる。最高の状態で行われるプログラミングもそうだ。プログラムの全体を頭の中に入れたなら、それを思い通りに操れるようになる。 これはプロジェクトのはじめにおいては特に価値がある。それはプログラムを作り始めるときに最も重要なことが、やっていることを変えられるということだからだ。単に問題の解き方を変えるという ことではなく、解いている問題

  • 一足早く「Plagger」の便利さを実感してみよう − @IT

    2006年初頭から「Plagger」という技術が、一部で話題になりました。まだまだ知名度が低い「Plagger」ですが、便利でカスタマイズ性が高いものなので、2007年では爆発的に流行するかもしれません。豊富なプラグインを自在に組み合わせ、欲しい情報を収集し、加工して出力するPlaggerの仕組みや使い方を紹介します。 1. 何でもできる? Plaggerの正体に迫る 今回は話題のPlagger(プラガー)を取り上げます。 この連載を読んでいる読者の皆さんは、ネットワーク技術や知識に興味を持っている人が多いでしょうから、「Plagger」という単語は一度は耳にしたことがあるでしょう。しかし、Plaggerという言葉を聞いたことはあっても、いったいどんなものかピンと来ない人もいるかもしれません。今回はPlaggerがどういった働きをするか? その動きの仕組みなどを中心に紹介していきます。 ●

    一足早く「Plagger」の便利さを実感してみよう − @IT
  • Firefox拡張機能(extension)の作り方 — ありえるえりあ

    Firefox拡張機能(extension)の作り方 Firefox拡張機能(extension)の作り方を説明します。 Firefox 拡張機能とは Firefox add-onの一種です。 add-onは次のように分類できます。 plugin ...実体はexeやdll。C++で作成。素人にはお勧めしません 検索バー ...実体はXMLの設定ファイルのみ。見れば分かるので説明はしません スペルチェッカ ...日語には無縁なので未調査(たぶんファイルを作るだけ) 拡張機能 ...実体はXML、JavaScriptCSS。必要なら、C++で書くXPCOM。これから説明します テーマ ...拡張機能のサブセット。CSSのみの場合をテーマと呼びます

  • http://www.tkrb.jp/modules/summary1/index.php?id=9

  • まつもと直伝 プログラミングのオキテ---目次 - まつもと直伝 プログラミングのオキテ:ITpro

    第0回 あらためてRuby入門 まつもとゆきひろ氏自身による「Ruby入門」をお届けします。日経Linuxの連載開始前の特別企画(2005年4月号)として,Rubyが他のスクリプト言語やオブジェクト指向言語とどこが違うのか,なぜ便利なのかを中心に解説してもらったものです。 ● 基と他言語との違い ● 実装とRuby誕生の秘密 第1回 プログラミングとオブジェクト指向の関係 プログラマを目指す人々の中にも,「オブジェクト指向は難しい」とか,「なかなか分からない」という印象を持つ方が多いようです。そこで,Rubyを題材にオブジェクト指向という考え方について説明していきます。 ● その1 ● その2 ● その3 第2回 抽象データと継承 オブジェクト指向プログラミングを構成する3原則のうち,前回は「ポリモーフィズム」を学びました。今回はオブジェクト指向の歴史を復習した後,残りの「データ抽象」と

    まつもと直伝 プログラミングのオキテ---目次 - まつもと直伝 プログラミングのオキテ:ITpro