タグ

論とProgrammingに関するch1248のブックマーク (241)

  • 2011年はサーバサイドJavaScriptの年になる

    「2011年はサーバサイドJavaScriptの年になる」 こう書いているのは、JavaScriptのテストフレームワークZombie.jsの作者Assaf Arkin氏。ブログLabnotesで、エントリ「2011 is year of the Server-Side JavaScript」を公開しています。 5年前のRubyや90年代のJavaに似ている Arkin氏は、JavaScriptが登場したときにNetscapeはサーバサイドJavaScriptも用意していたのを覚えている人はいないだろうな、との書き出しで過去を振り返っています。 not many people remember, Server-Side JavaScript for writing the back-end logic. I believe back then it was called LiveWire.

    2011年はサーバサイドJavaScriptの年になる
  • 開発メモ: 50行のC++コードでWebサーバを実装する

    「Kyoto Tycoonの設計 その四」改め、50行でWebサーバを書く方法を解説する。前回実装した「多重I/Oマルチスレッド汎用TCPサーバ」の上にHTTPの処理を行う層をつけて、「多重I/Oマルチスレッド汎用HTTPサーバ」を司るクラスを実装してみたので、それを使ってちょちょいとやる。 URLクラス HTTPと言えばURLが使えないと意味がない。URLは単なる文字列として扱ってもよいのだが、様々なシーンで分解や加工が必要になり、その処理はなにげに複雑で面倒なので、予めクラスとして導出しておいた方がよいだろう。 class URL { public: // 文字列のURLを解析して内部構造を作る void set_expression(const std::string& expr); // スキーム要素を設定する void set_scheme(const std::string&

  • "ポリモーフィズム==ガチャピンチャレンジ"説 - ka-ka_xyzの日記

    コラム「システムエンジニア 生き残りの極意」でちょっとした祭りになっている件 - babydaemonsの日記 ポリモーフィズム(多態性)を知らずにオブジェクト指向という単語を口にするなー!!! という悲痛な叫びを読んでふと思い出したのでメモ。 以前、会社の技術者向け新人研修でJavaを教えたとき、ポリモーフィズムの概念を理解してもらうときに使った例え。 「ポリモーフィズム==ガチャピンチャレンジ」説 要は、ガチャピンの着ぐるみ(Javaで言うインターフェイス)に"何かチャレンジしろ"というメソッドを定義する。「中の人」が入れ替わることで、"何かチャレンジしろ"というメソッドを実行したときの処理内容は変化するけど、視聴者(呼び出し元)から見れば「中の人」がスキーヤーだろうが格闘家だろうがレースドライバーだろうが、全てひとくくりに「ガチャピン」として扱うことが出来るので便利。ひたすらifで処

    "ポリモーフィズム==ガチャピンチャレンジ"説 - ka-ka_xyzの日記
  • Togetter - まとめ「岡崎の図書館の一件で文殊の知恵?@ついったー」

    yuki @yuki_o @arukakan 図書館のあの話題自己解決した?もしまだなら一から俺の持てる情報で説明するんだけど,そのかわりプログラムのはなしほとんどわからん俺に http://d.hatena.ne.jp/Sikushima/20100621/1277104805 を解説してくれない?w 2010-06-22 18:44:44

    Togetter - まとめ「岡崎の図書館の一件で文殊の知恵?@ついったー」
  • どのような勉強をすればプログラミングができるようになるのですか

    「どのような勉強をすればプログラミングができるようになるのですか」という質問をいただいたので、お返事します。 この質問を聞いたときにすぐに思いついた答えは、 その答えは『どのような勉強をすれば文章が書けるようになりますか』という質問への答えに似ているでしょう というものでした。その心は、 プログラミングが「できない→できる」へデジタル的に変化するのではない。しだいにできるようになっていく。 という意味です。 …という前置きはさておき、これまでにも私はあなたのような方から同様の質問を受けてきました(きっと今後も受けるでしょう)。以下の文章群の中に「あなたへのヒント」が含まれていると良いのですが…。もしも以下の文章でピンと来ないときにはまたお尋ねいただければありがたいです。 どのようにしたらプログラムを1から書けるようになるのでしょうか 結城さん自身はどういう参考書でJavaを学んだのですか

    どのような勉強をすればプログラミングができるようになるのですか
  • Every Byte is Sacred - 書評 - ガベージコレクションのアルゴリズムと実装 : 404 Blog Not Found

    2010年03月20日04:30 カテゴリ書評/画評/品評Lightweight Languages Every Byte is Sacred - 書評 - ガベージコレクションのアルゴリズムと実装 著者より献御礼。 ガベージコレクションの アルゴリズムと実装 中村成洋 / 相川光 / 竹内郁雄監 これほど地味かつ即実務に役立たない、しかし確実にプログラマーの滋養になるが出版される日の出版界に乾杯!世界で二番目(著者調べ)、国内で初のGCは、実に滋味豊かだ。 とはいえ、書はこの話題に関してMECEというわけでもない。というわけでentryでは書に何が書いていないかを主に紹介していく。何が書いてあるかは書で確認すればよいのだから。 書「ガベージコレクションのアルゴリズムと実装」は、コンピューターの資源管理の技術の一つ、ガベージコレクション(以下GC)についてまるまる一冊を費

    Every Byte is Sacred - 書評 - ガベージコレクションのアルゴリズムと実装 : 404 Blog Not Found
  • はてなブログ | 無料ブログを作成しよう

    来年も作りたい!ふきのとう料理を満喫した 2024年春の記録 春は自炊が楽しい季節 1年の中で最も自炊が楽しい季節は春だと思う。スーパーの棚にやわらかな色合いの野菜が並ぶと自然とこころが弾む。 中でもときめくのは山菜だ。早いと2月下旬ごろから並び始めるそれは、タラの芽、ふきのとうと続き、桜の頃にはうるい、ウド、こ…

    はてなブログ | 無料ブログを作成しよう
  • UnixとしてのMac OS X

    MacはUnixとして使うと便利 Macはシャレオツパソコンとして使うだけじゃもったいない。一応UnixなのでUnixとしても使える。 Unixコマンドが気持ちいい 「○×は使用中のため削除できません」とか警告が出るファイルも sudo rm -f <ファイル名> と打てば消せる。ストレスフリー。 10分後にシャットダウンさせるとかも楽ちん 出かけなきゃいけないけどまだDropboxの同期が終わってなくて電源落とせない、みたいなときは、 sudo shutdown -h +n とか打つとn分後にシャットダウンする。nのところに10を入れて実行すれば10分後にシャットダウンする。便利。 きっかけ GitVim、サーバー環境構築などでTerminal.appを多用するようになった。 Git とにかく便利。プログラミングしてなくても、htmlcssのバージョン管理もできる。『入門

    UnixとしてのMac OS X
  • 計算モデルと論理とゲーデルの不完全性定理 - Gemmaの日記

    ゲーデルの不完全性定理は、数学を扱う数学、つまりメタ数学を考えるが、それだと理解が難しい。しかし、証明(数学)=プログラムという悟りを開くと、プログラムを扱うプログラム、つまりメタプログラムを考えればよくなり、それならコンパイラ等でなじみがあるので理解が優しくなる。 話の流れは以下。 1. プログラムとは何か 2. 証明とは何か 3. 証明=プログラム , (   {、 {   ヽ.ー、、 \、__ぃ._ゝ⌒ヾ iヾ)}、_ ン_ー-_二ー-, 〉 {厶 _、ヽ              _ ヽ._>'´ / /,ィ/ / ハYヘい       ,. -- 〃⌒ r−-、      ィ´  〃 ,イ/7'  ,イイ/ 小ヽ 丶、 ,. ‐ '´ハ i   ″`ヽ、 、ヽ、     /幺ィ  {从{小込v' jゥ仏厶川リ}  YV,   小 Vj. |丶   ヽ ` ー-ミー--'_,辷三彡

    計算モデルと論理とゲーデルの不完全性定理 - Gemmaの日記
  • オーダーを極める思考法

    プログラムの実行に掛かる時間を把握しておくのは、プログラミングを行う上で基的な注意点です。今回は、計算量のオーダーについて学びながら、TopCoderのMedium問題を考えてみましょう。 プログラムの実行時間 業務としてプログラミングをされている方には釈迦に説法かもしれませんが、プログラムの実行に掛かる時間を把握しておくのは、プログラミングを行う上で基的な注意点です。そしてこれは、TopCoderなどのコンテストでプログラムを組む際にもよく当てはまります。通常、こうしたことは感覚的に理解している方がほとんどだと思いますが、具体的にどれくらいのループを回すと何秒掛かる、といった基準を持っている人は少ないのではないでしょうか? 非常に基的なことですが、プログラムの実行時間に関して再確認しておきたいと思います。 TopCoderの制限に関して TopCoderでは、実行時間およびメモリ使

    オーダーを極める思考法
  • プロ・アマ・プログラミング言語を問わずに今までの4倍のスピードで学習する方法 - Craftworks Tech Blog - Branch

    私が実践して、とても効果が上がった学習方法を紹介します。 どんなプログラミング言語でも関係なく通用するやり方だと思います。 この学習方法に切り替えてからの 1 年の学習量は、それ以前の 4 年分に匹敵すると感じています。 以下にその方法を紹介します。 ソーシャルブックマークのホッテントリのフィードを購読する 特に気になったサイトの人気エントリにざっと目を通す 特に気になったブログを個別に購読する 流行のライブラリ、フレームワーク、アプリケーションのソースコードを読む カンファレンスなどのスライドに目を通す 特に気になった人のブックマークをお気に入り登録する 得た情報を元に実際にコードを書いてみる 評判の書籍を読む ソーシャルブックマークのホッテントリのフィードを購読する ホッテントリとは人気の記事のことを言います。沢山ブックマークされ、それだけ注目度が高いということです。 特定分野の人気記

    プロ・アマ・プログラミング言語を問わずに今までの4倍のスピードで学習する方法 - Craftworks Tech Blog - Branch
  • 業務アプリの業務部分で、オブジェクト指向なんか使わないよね - K.Maebashi's はてなブログ

    久々の更新なのでちょっとは刺激的なことを書いてみる。 今時のプログラマにはオブジェクト指向は必須、常識、みたいな言説はよく聞きます。 しかし、煽りでもなんでもなく、実のところ現場ではあまり使わない、というのも事実だったりします。 そりゃ、ライブラリやフレームワークでは使いますよ。しかし、多くのプロのプログラマが会社で作るような「業務アプリ」の世界において、プログラム全体の中でライブラリやフレームワークの占める割合は大きくはない。10万行のシステムを書いて、5万行が(自社開発の)共通ライブラリやフレームワークだというのなら、それはおそらく設計が間違っています。まず8割以上は「業務ロジック」のプログラムになるんじゃなかろうか。 そして、たいがいの「業務アプリ」は、フロントエンドがWebであろうがクライアントアプリであろうが、データの体はRDBMSにあり、それを操作するのはSQLです。よって、

    業務アプリの業務部分で、オブジェクト指向なんか使わないよね - K.Maebashi's はてなブログ
    ch1248
    ch1248 2009/05/02
    確かにSQLが全面的に何か言われるってことは少ないような。
  • 都市シミュレーションと教育・学習をテーマ とした報告書。

    ch1248
    ch1248 2009/04/21
    シムシティを教育用として使う方法まで。
  • バイナリとテキストの本当の違い : 404 Blog Not Found

    2009年04月09日00:15 カテゴリLightweight LanguagesCode バイナリとテキストの当の違い うーむ、Wikipediaですら「見た目」の違いしか説明していない。 バイナリ - Wikipedia コンピュータが扱うすべてのデータはバイナリデータ(バイトの並び)であり、プレーンテキスト(または単にテキスト)もバイナリデータの一種ではあるが、通常バイナリとテキストは対比して用いられる。テキストとはデータの内容すべてを人間が読んで理解できる (human-readable) 表現形式を指し、バイナリとはそうでない表現形式を指すことが多い。 Binary file - Wikipedia, the free encyclopediaA binary file (.bin) is a computer file which may contain any type

    バイナリとテキストの本当の違い : 404 Blog Not Found
  • 自然言語処理は Python がいちばん - 武蔵野日記

    現在大学1年生の人で3年後には NAIST に (というか松研に) 来たいという人から「どんなプログラミング言語やっておくといいですか」と質問されたりするのだが、なかなか答えるのは難しい。自分は PerlPython がメインでときどき C++/C# を使ったりするのだが、どれが一番いいかはなんとも言えないので、自然言語処理以外に転向する可能性も考えると、C とか C++ とか Java とか(授業でそちらをやるのであれば)を最初の武器に選んだ方がいいのでは、と思ってはいる。 そんなこんなで最近 Hal Daume III (機械学習を用いた自然言語処理では非常に有名な人) のブログで Language of Choice というタイムリーなエントリーが出ていたので、紹介すると、「それなりに大きな自然言語処理のプロジェクトでどのプログラミング言語を使うのか」というアンケート結果が出

    自然言語処理は Python がいちばん - 武蔵野日記
    ch1248
    ch1248 2009/03/29
    そこまでpython伸びてんのか
  • 竹内郁雄「良いプログラムを書く力と、良い文章を書く力の共通の根源には言葉力がある」 - モジログ

    @IT自分戦略研究所 - 国語力とプログラミング力の関係 解説編 竹内郁雄(東京大学教授) http://jibun.atmarkit.co.jp/ljibun01/rensai/genius/04/01.html 1月に出ていた「Cyanを設計した高校生、5カ月で5つの言語を習得」という記事で竹内氏が述べていた、「わたしの持論ですが、国語ができる(=日語できちんとした文章が書ける)人じゃないとプログラムは書けない」という見解についての補足記事。 「ITエンジニアにコンピュータ・サイエンスは必須か」で、<プログラミングや設計の能力は、コンピュータ・サイエンス的な「科学の能力」というよりも、むしろ文章を書くような言語運用力、つまり「文芸の能力」に似ていると思う>と書いている私にとっては、全編にわたって共感しっぱなしの、素晴らしい内容だ。 <建物を造るのも、車を造るのも、ソフトウェアを作るの

  • 開明堂 : 読んだ : アンドリュー・ハント, デビッド・トーマス『達人プログラマー』

    なかなか手際よくプログラミングにおける要点や姿勢というべきものを広範に整理した好著。ちょうど自分なりのプログラミングに対する指針というか、次に何に着目して取り組むべきか――を得たかったところだったので、なかなかタイミングのよいだった。個々の項目だけならば既に知っているものばかりなのだろうが、何よりも細かい説明が延々と続くわけではなく、要諦を押さえた密度の濃い点がよいと思う。個人的には、後は変数命名の指針などがあるとありがたかったが、そのくらいは自分で調べるべきなのだろう。 抄録 vii/ix/xii これまでプログラムのの多くは言語設計者などによって書かれることが多く、プログラミング言語を使った作業全体までを視野に入れたものは少なかった。書では、それを打破するための、パターン(解決策)のシステム(系)に則るプラグマティックな方法論を提示する。即ち、幅広いバックグラウンド(理論)と経験

  • オープンソースに貢献する日本人エンジニアが少ない理由:Geekなぺーじ

    Mozilla Japanの金井玄氏のブログで「Open source contributors in Asia」という記事が書かれていました。 アジア地域では、OSS(Open Source Software)を使う人が多いのに貢献が少ないのは文化的な要因が大きいのではないかと書かれています。 Linux FoundationのJim Zemlin氏とLinus Torvalds氏の対談の中でTorvalds氏が文化的側面が大きいのではないか、と述べている点に注目しています。 原文では、じゃあ文化的側面とは何だ?という事に関しては明確に書かれていない気がします。 原文は「アジア人」とひとくくりにされていますが、個人的には日とその他のアジア地域で「文化的側面」が同じとはあまり感じられなかったので、とりあえず、「日人」というカテゴリで思いつくだけ列挙してみる事にしてみました。 思いつきで

  • ついでに - finalventの日記

    ⇒404 Blog Not Found:「PHPなめんな」と「(Perl|Python|Ruby)をなめんな」の違い 「自然言語」のところにツッコミはしない。 さて。 プログラミング言語なんだけど、まあ、この手の議論は昔からいろいろある。私の世代で言えば、構造化とかPascalとか。そのうち、Javaな世界になったのだけど。 今振り返ると、Javaって存外に実用言語なのな。つまり、現場でのニーズでできているというか。CとかC++のほうがそれっぽく思えないことはないけど。 で、Cとかアセンブラは依然全然変わらない。ただ、そういうのはプログラミング言語っていうことでもないし。 ただ、あれ、インタフェース実装とかになると言語とかの問題より、設計技法とかになるわけで、あとはどの言語つかいましょうかは経営の問題でしょう。 っていうか、そればっかしだよね。 なんか思考をブーストするような言語ってないの

    ついでに - finalventの日記
    ch1248
    ch1248 2008/01/31
    「思考をブーストする言語」それは思う。
  • IT 戦士の作り方

    操作方法 → キー: 次のページへ ← キー: 前のページへ ↑ キー: 目次ページへ ↓ キー: 目次ページから戻る 目次ページでは ← → キーで一覧を移動し、クリックで選択します

    ch1248
    ch1248 2007/12/11
    胸を打たれた。本当にこの仕事が好きなんだなあ。