タグ

programmingに関するtwainyのブックマーク (162)

  • SICP関数型言語の勉強に「計算機プログラムの構造と解釈」を読もう - ひげぽん OSとか作っちゃうかMona-

    計算機プログラムの構造と解釈posted with amazlet on 06.04.15 Gerald Jay Sussman Julie Sussman Harold Abelson 和田 英一 ピアソンエデュケーション (2000/02) 売り上げランキング: 56,404 Amazon.co.jp で詳細を見る 自分が「計算機プログラムの構造と解釈」というを勉強していった過程をまとめています。 この質は、翻訳の悪さでも難しい数学でもないです。 なんと伝えたらよいのだろうか。 全部読み終えたときにまとめたいと思います。 →読み終わったのでまとめました。「「計算機プログラムの構造と解釈(SICP)」を読み終えて」 読み終えたら次のステップとしてはOn Lispなどがおすすめです。 目次 関数型言語の勉強にSICPを読もう - (1) SICPを読み始めた理由 関数型言語の勉強に

    SICP関数型言語の勉強に「計算機プログラムの構造と解釈」を読もう - ひげぽん OSとか作っちゃうかMona-
    twainy
    twainy 2006/04/18
    あうあう、ずっと積んだままだ。ちゃんと読もうよ俺。。。
  • プログラミング言語論教材

    List of Examples 1. Esoteric languages 2. Various syntax for iteration 3. An example of tokens 4. Simple grammar 5. Simple arithmetic expression 6. Parse tree of A*(B+C) 7. An example of ambiguous grammar 8. Dangling else 9. Fortran has no reserved word 10. Namespace in C++ 11. Importing a module in Python 12. TinyBASIC 13. Variable declaration in Java 14. Anonymous function in JavaScript 15. Anon

    twainy
    twainy 2006/04/15
    読んだ
  • www.codeblog.org - CODE blog

    水漏れやつまりは水道設備があれば避けることは難しいトラブルですが、症状を確認した際に軽度と判断できた… Read More

  • プログラマの心の健康

    目次 はじめに 情報不安について 人の話を聞くこと 寝てから考えよう わ・ざ・と、ゆ・っ・く・り・、や・っ・て・み・よ・う ロビンソン式悩み解決法 驚き、最小の法則 むしょうに腹が立つあいつのこと あなたは、そのままでいいんです はじめからやり直したい症候群 人から信頼されるためにはどうしたらよいか トラブルがチャンス あなたはひとりではありません あなたのための聖書の言葉 ぜひ、感想をお送りください リンク集 更新履歴 はじめに 私はプログラマです。 プログラムを書いて生活の糧を得ています。 プログラマというのは精神的にも肉体的にも過酷な仕事だと思われています。 夜遅くまでディスプレイに向かい、 キーボードを叩き、ジャンクフードをべながらバグをとる…そんな職業だと思われています。 確かにそういうところもありますが、プログラマも人間です。 不健康な生活を長いこと続けることはできません。

  • 関数型言語の勉強方法について - higepon blog

    id:higepon:20060330:1143714380で関数型言語の勉強方法について人力検索で質問しました。 その結果、たくさんの回答(コメント欄での回答や、飲み会でのアドバイスも含む)をいただきました。ありがとうございます。 質問自体は単純で、逆に回答する立場からすると範囲が広すぎてとても答えづらいものだったと思います。 その中でも特に印象に残り、質がとても高いと感じた回答の一部を引用したいと思います。 id:practicalschemeさんによる回答です。(全文はhttp://q.hatena.ne.jp/1143714236#a507995)。 なかなか難しい質問です。一冊あるいは一サイト、決定版と言えるようなものは思い当たりません。しかし関数型言語やそのアプローチについては最近関心が高まりつつあるようで、ギャップを埋める入門書が徐々に出てくると思われます 略 [とっかかり]

    関数型言語の勉強方法について - higepon blog
  • Optimization: Your worst enemy

    Now there's a title to grab your attention! But I'm serious! First, a little background on me: my PhD was one of the earliest on the automatic creation of optimizing compilers from formal machine descriptions ("Machine-Independent Generation of Optimal Local Code", CMU Computer Science Department, 1975). After my PhD, I spent three years at CMU as a senior researcher on the C.mmp multiprocessor co

    twainy
    twainy 2006/03/26
    コードの最適化を図る前にもっと高いレベルの最適化を行う。Paging optimizations, cache line optimizations, and memory allocation optimizations。アルゴリズムの最適化とか
  • Life is beautiful: ソフトウェアの仕様書は料理のレシピに似ている

    先日、経済産業省向けの仕事をしている知り合いと事をしたのだが、彼によると経済産業省の今の悩みは、「IT産業の階層化の弊害によっておこる下流のプログラマーの収入の低下」だそうである。「プライムベンダー」と呼ばれる「上流コンサルタント」たちがインドや中国にも仕事を発注できることを理由に、激しく値切り始めたために、今やわずか一人月30万円というケースもあるという。 こんな話を聞くと当に悲しくなる。まず第一に「プログラムを書く」という仕事は簡単な仕事ではない。数学的な頭を持っていないとかなり辛いし、基礎がしっかりと出来ていないとろくなソフトウェアは作れない。物価の安いインドや中国なら許せるが、米国よりも生活費の高い日で一人月30万円とはあまりにも低すぎる。 「彼らは下流のエンジニアで、詳細仕様書に従った通りのプログラムを書くだけの簡単な仕事をしているから給料が安い」という説明を聞いたことがあ

    twainy
    twainy 2006/03/20
    よく言ってくれたという気持ち。はてなの社員は幸せだと思う。
  • Write Great Code - bkブログ

    Write Great Code 『Write Great Code』を読みました。「グレートコード」を書く上で必要となるコンピュータの基礎的な知識を幅広く扱った内容となっています。 書でいうグレートコードとは「高速・コンパクトかつ、リソースを無駄使いせず、可読性に優れ、保守が容易で、一貫したスタイルに従った、系統的に設計され、拡張性に富む、十分にテストされ、確実に動作し、ドキュメントが整備されている」コードです。 「ハードウェアを知り、ソフトウェアを書く」という副題の通り、書は CPU、キャッシュ、メモリ、ストレージ、周辺機器といったハードウェアの話題に多くの紙面が割かれています。グレートコードを書くにはこれらのアーキテクチャの理解が欠かせない、というのが書の主張です。 一方で、書では、2進数に始まり、ブール代数や浮動小数点、文字列、配列の表現といった、コンピュータでデータをどの

    twainy
    twainy 2006/03/19
    まだ読み途中
  • あなたのまわりにプログラマは何人いますか? - プログラマyasuhoの隠れ家

    プログラマが減っている大きな理由は、以前よりプログラミングに触れる機会が減ったからだと思います。もしもそれが事実なのであれば、とても悲しいことです。プログラミングの楽しさを知る機会は、もっともっと増えてほしいと思います。 プログラマを目指す人が減っている hyoshiokさんの日記で見つけた記事から: 「ウェブ進化論」の梅田望夫氏が語る“Googleという隕石”(後編):ITpro −− ただ、若手の間で情報産業は人気が落ちているようです。東京大学の情報工学科が定員割れしたとか。 梅田氏 米国でも、コンピュータ・サイエンスを志望する学生は減っています。大きな原因はオープンソースだと私は思います。ソフトウエアのスキルを身につけても、「ソフトウェア・ベンチャーを起こして一攫千金」という期待感が縮小しているし、飯がえるソフトウェア開発の仕事はアウトソーシング先との価格競争で先行き厳しい。そうい

    あなたのまわりにプログラマは何人いますか? - プログラマyasuhoの隠れ家
  • naoyaのはてなダイアリー - 疎結合のための Web API

    RSS みたいな公開フォーマット(?)はパースしやすいし、手軽に使えるってのはいい。ただ、せっかく内部の情報を使えるのに、あえて公開 API を使う利点ってのはどこにあるのか、と。 以前の失敗を考えると、DB を使えるなら DB から直接データを取り出して、プログラム的に使いやすい形に整形する方が手間がないと思う。 on HTTP で流す情報も大DB な訳だし、DB ボトルネックもそれほど関係ないんじゃないのかな? 違うよー、DB 直接叩かないのはサービス間の密結合を避けるためなんです。疎結合。 二つ以上のアプリケーションからある一つのデータベースを直接叩くっていうことは、各アプリケーションがデータベースの場所を知ってる必要があります。もちろんデータベース周りの実装は抽象化したライブラリを使って共有するよ。でも、その二つのアプリケーションが同じサーバーに搭載されている保証はどこにもな

    naoyaのはてなダイアリー - 疎結合のための Web API
  • nyasoku.com

    This domain is registered at Dynadot.com. Website coming soon. nyasoku.com 2024 著作権. 不許複製 プライバシーポリシー

  • るびま

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直

  • 分裂勘違い君劇場 - 「同じことを2度しないようにする」というプログラマの習性が、逆に生産性を大きく下げている

    この記事で主張しているように「同じことを2度しない(Only and Only OnceあるいはDRY:Don't Repeat Yourself)」と無条件で考えてしまうと、逆に生産性が大きく低下するケースがたくさんある。この記事のテーマは主に自動化の話だが、それは自動化だけでなく、ソフトウェアモジュールの再利用についても同じことが言える。ソフトウェアを、再利用可能な形で設計したり、プラガブルなアーキテクチャに設計するコストが、そう設計することで得られるメリットを上回るというケースなど、いくらでもある(ようは、投資効果の問題なので、投資しろとか投資しすぎは禁物とかいう話じゃなく、トータルメリットとトータルコストを計算して投資しろという話)。とく小規模のWebサイトを、さっと作る必要があるときなど、その傾向が強い。余分な工数をかけて再利用可能だのプラガブルだのに設計したところで、あとから起

    分裂勘違い君劇場 - 「同じことを2度しないようにする」というプログラマの習性が、逆に生産性を大きく下げている
    twainy
    twainy 2006/02/20
    >「再利用可能な柔軟なフレームワークは、精神の牢獄なのだ。」
  • リンクされているライブラリによってプログラムの動作を変える - bkブログ

    リンクされているライブラリによってプログラムの動作を変える weak シンボルを用いると、リンクされているライブラリによってプログラムの動作を変えることができます。ここでは GNU 拡張を用いて weak シンボルを利用する方法を紹介します。 それではさっそくサンプルコードを見てみましょう。このプログラムでは、libm に含まれる sqrt() 関数があるときは利用し、ない場合はその旨のメッセージを表示します。 weak.c #include <stdio.h> extern double sqrt(double x) __attribute__ ((weak)); void func () { if (sqrt) { printf("%f\n", sqrt(10.0)); } else { printf("sqrt isn't available\n"); } } weak-main.c

    twainy
    twainy 2006/02/19
    weakシンボルについて
  • i d e a * i d e a - ローカル開発環境ができた

    ドットインストール代表のライフハックブログ

    i d e a * i d e a - ローカル開発環境ができた
    twainy
    twainy 2006/02/15
    XAMPPって知らんかった
  • programmers-paradise.com

    This domain may be for sale!

    twainy
    twainy 2006/02/12
    ん、消えてる?
  • スラッシュドット ジャパン | バグを発見する典型的なやり方ってありますか?

    あるAnonymous Coward曰く、"Mu: 経由で、「w3mのデバッグの記録」というのを読んだ。 w3mのバグを修正した時の記録です。バグ修正のケーススタディ的な物があると有用かなと思ったので、公開します。 バグの発見方法 * なにはともあれ、ktrace * fstatでオープンしているファイルの状態を見る * w3mのソースからgzipの処理部を探す * pcloseが呼ばれているのかを検証 * pcloseではクローズできないpipeがある? * pipeをオープンする方法は、popenだけではない 時々、じっとログを眺めていたかと思うと「キター」とかいってバグを発見するヒトもいるのですが、みなさんはバグを発見するための定石などありますか?聞いてみたいです。"

  • Mozilla プラットフォームで開発してみませんか | スラド デベロッパー

    line曰く、"Mozilla は、クロスプラットフォームなインターネットクライアント開発のためのアプリケーションフレームワーク「XULRunner」のプレビュー版を公開した(プレスリリース)。今回公開された XULRunner 1.8.0.1 は Firefox 1.5.0.1 と同じコードがベースとなっており、Mozilla Developer Center からダウンロードできる。 XULRunner は、 Firefox や Thunderbird といったアプリケーションの基盤となっている XUL と XPCOM を用い、リッチクライアントを開発するのに利用できるフレームワーク。レンダリングエンジン Gecko やネットワークライブラリ Necko も同様に利用できる。 (続く) XUL(XML-based User-interface Language)とは、 GUI を XM

  • IBM、非構造情報処理技術「UIMA」のコードをオープンソースコミュニティに公開

    IBMは米国時間1月23日、「Unstructured Information Management Architecture(UIMA)」技術をオープンソースコミュニティに公開したことを発表した。UIMAは、ドキュメントなどの非構造化データを処理するためのアーキテクチャで、キーワードだけでなく、さまざまな関連性や意味を発見するのに役立てられる。IBMは、UIMAのソースコードを、オープンソース関連の最大のウェブサイトであるSourceForge.netで公開した。 UIMAは、非構造化データを検索/分析するのに利用されるソフトウェア同士を連携させるうえで、役に立つ。非構造化データとは、電子メールやWord文書などのように、行や列の形式で保存されていないデータのこと。

    IBM、非構造情報処理技術「UIMA」のコードをオープンソースコミュニティに公開
    twainy
    twainy 2006/01/24
    ちょwwwメチャクチャ面白そうなんですけど
  • Jockey で Linux のプログラムの実行を記録・再生する - bkブログ

    Jockey で Linux のプログラムの実行を記録・再生する Jockey は Linux のプログラムの実行を記録・再生するツールです。システムコールと一部の CPU命令をフックして実行時の入出力をログに記録することによってプログラムの再生を実現しています。主にデバッグ用途に使います。 インストール Jockey は Debian パッケージになっていないため、ソースコードからビルド・インストールしました。事前に ruby, boost, zlib などをインストールしておく必要があります。 記事を執筆している時点で Jockey の最新版は 0.8.1 です。手元の Debian GNU/Linux の環境ではこのようなパッチを当てる必要がありました。ビルド・インストールは普通に ./configure && make && sudo make install を実行すれば OK