タグ

programmingとProgrammingに関するharu-sのブックマーク (192)

  • Big Sky :: C++で軽量Webサーバ書いた。

    書いたといっても結構前からあったのですが、いらん所を削ぎ落として軽量Webサーバとして仕立て上げました。 軽量とは言えど、CGIを使って結構色々動きます。 例えば、ソースアーカイブを解凍したらCGIがあって、apacheから見える場所にコピーして...とか面倒くさかったりしますよね。 おれは今すぐWebサーバを起動したいんだ!そして今いるディレクトリのファイルをWebサーバからサーブしたいんだー! って事ないですか?blogソフトウェアをダウンロードして今すぐ試したいけど、apacheインストールされてなかった...とか悲しすぎます。 今回紹介する"tinytinyhttpd"(tthttpd)はそんな、小さい様で大きな問題を解決出来るかもしれないソフトウェアです。 mattn's tinytinyhttpd at master - GitHub tiny tiny httpd http:

    Big Sky :: C++で軽量Webサーバ書いた。
  • 【不況】 IT業界がヤバい エンジニア「マジで仕事がない。」 : よろしい、ならばクリークだ -2chまとめ-

    2009年07月28日03:42 【不況】 IT業界がヤバい エンジニア「マジで仕事がない。」 カテゴリN速民の井戸端会議 1 名前: 姫カンムリシャジン(関西地方)[sage] 投稿日:2009/07/27(月) 19:05:00.26 ID:fjqg106g ?PLT(12000) ポイント特典 IT業界っていっても非常に大きくて、ネットワークからユーザサポート、システム開発とあるわけだけど、 その中でシステム開発、とくに業務アプリ開発業界のうごきを1エンジニアの目から見てみる。 現状を端的にいえば、「非常に厳しい」ものとなっている。 日の業務アプリ開発は長い間、客が提示する案件を大手SIが受注し、 それを大手SIの子会社と外部協力会社(派遣会社)から派遣された技術者がくみ上げていた。 ところが08年のサブプライム、リーマンショック以降、客が案件を提示しなくなった。 それがもろにでた

    【不況】 IT業界がヤバい エンジニア「マジで仕事がない。」 : よろしい、ならばクリークだ -2chまとめ-
    haru-s
    haru-s 2009/07/29
    こういうときこそピンチはチャンスという基本に帰ろう/その時間で何ができるか考える
  • ディレクトリの中にある大量の小さなファイルを高速に読み込む方法 - 射撃しつつ前転 改

    ディレクトリの中にある大量のファイルを高速に読み込む方法が知りたかったので、実験してみた。想定しているシチュエーションは、一つ一つのファイルは数KB程度だが数が多い、という場合である。適当な順番でアクセスすると、ランダムアクセスになってしまいとても時間がかかる。個々のファイルを読み込む順番はどうでも良く、すべてのファイルを処理することさえできればいいので、原理的にはシーケンシャルアクセスで処理できてしかるべきである。 まず、ファイルシステムについて。HDDやSSDなどのハードウェアにアクセスする際には、ファイル名などという概念はもちろん存在しない。ファイル名と実際のディスク上の対応を管理するのがファイルシステムの主な役割である。ファイルシステムは、ファイル名からそのファイルに対応するブロック番号(メモリアドレスみたいなもんだな)を調べて、そのブロック番号を指定してHDDやSSDにアクセスす

    ディレクトリの中にある大量の小さなファイルを高速に読み込む方法 - 射撃しつつ前転 改
  • エンジニアがミーティングを嫌う理由 – バイリンガルの独り言

    エンジニアがミーティングを入れられる事を好まない事や、不機嫌になる事は英語圏や日を問わず知られているかと思います。実質、私の周りにもこういった傾向がありますし、職人的に秀でてる方ほどこの傾向が強いと感じています。さて、これはなぜでしょうか? 友人のtweetにPaul Grahamというプログラマ兼ベンチャーキャピタリスが書いた、Maker’s Schedule, Manager’s Scheduleという面白い記事へのリンクが貼られていたので、私なりに要約して紹介します。 二種類のスケジュール プログラマやライターがミーティングを嫌う理由は彼らが他の人間とは違う種類のスケジュールで働いているからであるとGraham氏は語っています。氏いわく、スケジュールには二種類あります。 Maker’s Schedule(物を作る者のスケジュール) Manager’s Schedule(管理する者の

    haru-s
    haru-s 2009/07/27
    だからこそプログラマの仕事場には電話を置いてはいけない/twitterもメッセンジャーもエトセトラエトセトラ...
  • MSDN ホームページ

    This browser is no longer supported. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

    MSDN ホームページ
  • 「C++ は難しいから」と言う定説 - Cube Lilac

    雑記. C++ は難しいから Java から始めた方が・・・ ここ最近(と言うか以前からずっとですが),上記のようなアドバイスを見かける機会が多かったせいか「C++ の何を指して(Java と比べて)難しいと言っているのだろう?」と言う事を単純に疑問に思うようになりました.Java 自体はほとんど使ったことないのですが*1,感想としては「どちらも大して変わらない」と言うものだったので余計に気になっています. 以下,現状で私が「これが要因かなぁ」と思っている事を列挙してみます. C++ には XXX と言うクラス/関数がない 可能性として一番高いのはこれかなぁと思っています.C++ の標準ライブラリは必要最低限のものしか(必要最低限のものさえも?)用意されていないので,他の言語と比べてライブラリの貧弱さは目立ちます.Boost を含めればかなりマシになりますが,それでもキツいかなと言う印象を

    「C++ は難しいから」と言う定説 - Cube Lilac
    haru-s
    haru-s 2009/07/08
    慣れたら難しいとは思わなくなるけどめんどくさいとはいつまでも思うそれがC++
  • プログラミングできる人とできない人との間の深い溝 - masatoi’s blog

    どうしてプログラマに・・・プログラムが書けないのか?を読んでいて出てきたので出展の一つを訳してみた。Separating Programming Sheep from Non-Programming Goatsの和訳。 プログラミングというものには向き不向きが強く出るということはわりと知られていると思うが、このエントリではプログラミングができるかできないかは比較的簡単なテストによって、プログラミングの訓練を始める前の段階で分かると主張している。どうしてプログラマに・・・プログラムが書けないのか?では、そもそもこの事前テストをパスしていないような人達までプログラマとして応募してくると言っており、その判定法として有名なFizzBuzz問題を挙げている。 追記(2019/2/28) 注意: なおこの論文はしばらく前に著者の一人によって撤回されたようです Camels and humps: a r

    プログラミングできる人とできない人との間の深い溝 - masatoi’s blog
    haru-s
    haru-s 2009/07/08
    単純なルールの組み合わせで複雑なルールを創り出すことができるかどうか
  • Web上の膨大な画像に基づく自動画像補完技術の威力 - A Successful Failure

    画像内に映り込んだ所望のオブジェクトを排除し、違和感の無い画像を生成するシーン補完技術に関しては近年複数の研究成果が発表されている。しかし中でも2007年のSIGGRAPHにて米カーネギメロン大のJames HaysとAlexei A. Efrosが発表した手法*1はブレークスルーとなりうる画期的なものだ。 論より証拠、早速適用例を見てみよう。エントリで利用する画像はPresentationからの引用である。元画像の中から邪魔なオブジェクト等の隠蔽すべき領域を指定すると、その領域が補完された画像が自動的に生成される。 アルゴリズム 効果は抜群だがアイデア自体は単純なものだ。Web上には莫大な数量の画像がアップされており、今や対象となる画像の類似画像を一瞬にして大量に検索することができる。そこで、検索された類似画像で隠蔽領域を完全に置き換えてしまうことで違和感の無い補完画像を生成するのだ。

    Web上の膨大な画像に基づく自動画像補完技術の威力 - A Successful Failure
    haru-s
    haru-s 2009/06/30
    「論文によれば当初1万枚の画像データベースで試した時には生成画像の品質は失望させられるものだったが、データベースを200万枚まで増やすと品質が飛躍的に向上したという」どこで諦めるかは難しいなあ
  • JavaScriptツール&ライブラリ50選 | エンタープライズ | マイコミジャーナル

    Smashing Magazine - WE SMASH YOU WITH THE INFORMATION THAT WILL MAKE YOUR LIFE EASIER, REALLY. Smashing Editoria氏がSmashing Magazineにおいて50 Fresh JavaScript Tools That Will Improve Your Workflowのタイトルで50のJavaScriptに関連したツールやライブラリを紹介している(実際には51)。RIA開発においてJavaScriptは重要な地位を占めつつあり、適切な開発ツールやライブラリ、フレームワーク、プラグインを選択することは、迅速で効果的な開発を実現するために欠かせない。紹介されているツールやライブラリは次のとおり。 JavaScriptツール FireUnit (Firebug向けJavaScrip

  • 書籍「プログラミング言語を作る」が発売されます(amazonアソシエイトリンク追加) - K.Maebashi's はてなブログ

    下記のとおり、書籍「プログラミング言語を作る」が発売されます(宣伝のため、この記事はしばらく一番上に表示します)。 http://kmaebashi.com/programmer/devlang/book/index.html 6/19 22:11 amazonのリンクを追加(関連記事)。 書のテーマは「オリジナルのプログラミング言語を作る」ことです。 世の中には、現在広く使われているものだけでも、C, C++, Java, C#, Perl, Python, Ruby, PHP, Lisp, JavaScript……等々、すでに多くのプログラミング言語が存在します。これほど多くの言語が乱立している中で、なぜわざわざ新しい言語なんか作らなければならないのか、と思う人も多いことでしょう。 しかし、プログラムに関しては何でもそうだと思いますが、何かを深く知りたかったら、一番いいのはそれを自分

    書籍「プログラミング言語を作る」が発売されます(amazonアソシエイトリンク追加) - K.Maebashi's はてなブログ
    haru-s
    haru-s 2009/06/19
    待ってました!
  • 【レポート】5分で把握するHTML5 - Google Developer Dayセッションリポート (1) HTML5仕様の概要 | エンタープライズ | マイコミジャーナル

    Google I/Oで大きく取り上げられ、一躍注目の技術に躍り出たHTML5。Google Developer Day 2009でも、「HTML5により拓かれる次世代Web」という田村健人氏によるセッションは大盛況で、椅子が足りずに床に座り込んで聴講する人がかなりの数に上った。 筆者も同セッションに参加し、HTML5の新機能に関する簡潔でまとまった知識を得ることができた。稿では田村氏のセッション内容を元に、HTML5の全体像をコンパクトにお伝えしよう。 HTML5とは? グーグル ソフトウェア エンジニアの田村健人氏 HTML5は、言うまでもなくHTMLの最新バージョンである。現行のバージョンであるHTML4も、決して小さな仕様ではなかったにもかかわらず、そこにWebアプリケーション向けの機能が大幅に強化された。 あまりに仕様が巨大すぎるため、現在の規格は以下の4つに分けられている。 H

    haru-s
    haru-s 2009/06/16
    IE?そんなブラウザは存在しないよね
  • Gauche:Windows/VC++:log:detail_2005_2

    haru-s
    haru-s 2009/06/15
    Windowsにおけるinode相当の情報/ファイルが同一かどうか調べる
  • WPF のための MODEL-VIEW-VIEWMODEL (MVVM) デザイン パターン

    注意 このページにアクセスするには、承認が必要です。 サインインまたはディレクトリの変更を試すことができます。 このページにアクセスするには、承認が必要です。 ディレクトリの変更を試すことができます。 コードは MSDN コード ギャラリーからダウンロードできます。 オンラインでのコードの参照 目次 秩序と混乱 Model-View-ViewModel の進化 WPF 開発者に MVVM が好まれる理由 デモ アプリケーション 中継コマンド ロジック ViewModel クラス階層 ViewModelBase クラス CommandViewModel クラス MainWindowViewModel クラス ViewModel に View を適用する データ モデルとリポジトリ 新しい顧客のデータ入力フォーム All Customers ビュー まとめ 専門的なソフトウェア アプリケーショ

    WPF のための MODEL-VIEW-VIEWMODEL (MVVM) デザイン パターン
  • オブジェクト指向設計原則 - Strategic Choice

    原則について優れたオブジェクト指向開発のための指針。ただ、、、原則は原則。必ず守らなければならないのではなく、まずそれで考えることが重要。逸脱したとしても正当な理由やトレードオフが説明できればよい。一覧単一責任の原則(SRP)オープン・クローズドの原則(OCP)リスコフの置換原則(LSP)依存関係逆転の原則(DIP)インターフェイス分離の原則(ISP)参考アジャイルソフトウェア開発の奥義 第2版 オブジェクト指向開発の神髄と匠の技作者: ロバート・C・マーチン, 瀬谷啓介出版社/メーカー: ソフトバンククリエイティブ発売日: 2008/07/01メディア: 大型 Principles Of Object Oriented Designオブジェクト指向設計@Syboos.jpオブジェクト指向設計の原則@それはBooksオブジェクト指向設計原則@ディノオープンラボラトリオブジェクト指向の法則

  • Rプログラミング入門(5) - カメヲラボ

    グラフを描いてみよう(2) 3次元のグラフ 3次元のグラフも簡単に描けるので、紹介しておきます。3次元のグラフを描く関数にpersp(Perspective Plots)というものがあるので、これを使ってみます。手順を簡単に言うと。 (1)x,y平面を格子状に区切る (2)z座標を求める関数fを定義する。 (3)xy平面の各格子点に対してf(x,y)を求める (4)persp関数を使ってグラフを描画する という感じで進めます。 では(1)からはじめます。格子点を作るには、seq関数が便利です。 x <- seq( -10, 10, length=30 )のようにすると、以下の実行結果の様に-10から10を30等分してくれます。 > x <- seq( -10, 10, length=30 ) > x [1] -10.0000000 -9.3103448 -8.6206897 -7.9310

    Rプログラミング入門(5) - カメヲラボ
  • プログラミング格言集

    psychopathより。 金言、格言は古今東西いろいろあるのだが、ここではプログラミングに関する格言がまとめられていたので、抜粋して翻訳してみる。翻訳に間違い等があった場合は、コメント等で指摘してください。 We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil 私たちは、時間の約97%を占めるわずかな効率に関しては忘れるべきである: 時期尚早な最適化は諸悪の根源だ。 - C. A. R. Hoare Walking on water and developing software from a specification are easy if both are frozen 水の上を歩くのと、仕様に基い

  • はてなブログ | 無料ブログを作成しよう

    猛暑を乗り切った服・小物・その他 とにかく2025年の夏は暑かった。 と、毎年言っている気がするけど、今年は特別暑かったのではないか。これが地球温暖化なのだと見せつけられているような気がする。スノーボーダーとしてはそれに全力で抗う必要があるんだけど、自分の態度がまだ追いついていない。 生…

    はてなブログ | 無料ブログを作成しよう
  • 基盤系プログラマの実践的教育が必要だ - 未来のいつか/hyoshiokの日記

    ここで言う基盤系というのは、OSとかRDBMSとかプログラミング言語処理系とか、そーゆー奴ね。アプリケーションプログラムとかWebサービスとかを支える縁の下の力持ち。その基盤を作るプログラマをどのように育てるかというお話。 まあ、ハッカー予備軍をどのように育成するか。ハッカーって、育てるとか教育するとか、そーゆーものではなく勝手になるものだから、そもそも、そんなものはありえないという議論もある。確かに天才というのは、天才なので、教育がどうだこうだということはないのだけど、一般的なプログラマというのは、一般的な教育プログラムである程度底上げ的なことは出きると思う。 例えば、PostgreSQLの開発者を考えてみる。ちょっとRDBMSに興味がある、だけどどこからとっかりをつけていいのかよく分からないという初心者がいたとする。今ある、OSS利用者教育プログラムをいくらやったところで開発者にはなれ

    基盤系プログラマの実践的教育が必要だ - 未来のいつか/hyoshiokの日記
    haru-s
    haru-s 2009/04/29
    確かに必要だし可能だと思う.でも普通の大学生にはカリキュラム分配的に厳しい.OSS系の会社で研修するくらいか?
  • Arduino をはじめてみた(1) | _level0 - KAYAC Front Engineer Blog

    前回の記事で「Arduinoをはじめよう」書籍と、Arduinoをはじめようキットを手に入れたので、さっそくArduino IDEとドライバをインストールしました。今日は「Hello, world!」的なはじめの一歩である、LEDを点滅させるところまで。 起動するところからいきなりつまずきました(Windows Vistaの場合) とりあえず、http://arduino.cc/からArduino IDEをインストールして起動してみました。 …が、何度やってもこの画面。 書籍によると、どうやらWindows Vistaでよく起きるケースとのこと。トラブルシューティングを参考に、同じフォルダ内の「run.bat」をダブルクリック。Javaの問題だとか。 「run.bat」をダブルクリックしても起動しなかったので、「java」フォルダの名前を適当に変更してから「arduino.exe」を実行し

    Arduino をはじめてみた(1) | _level0 - KAYAC Front Engineer Blog
    haru-s
    haru-s 2009/04/20
    面白いことできるかな
  • シムシティーの仕組み

    シムシティーを作り始めていちばん最初に考えたのは、街を一種の生き物のように表現できないかってことだった。 僕が街についてどう考えているかはすでに説明したけど、大事なのは街を構成する建物とか道路じゃなくって、そこでどんな活動が行なわれているかってことだと思うんだ。道路を車が走り、電車が動き、人々が動き回り、常に要素が変化し続ける“動きのある”システム。街を表現する方法っていうと誰でも地図を思い浮かべると思うけど、僕は動きがない地図じゃなくって、たとえば飛行機から眺めた街、動きのある世界をディスプレイに表現しようって考えた。それこそが僕の考える街の姿だからね。 それともう一つ考えたことは、プレイヤーに伝える情報をできるだけわかりやすく、それも“面白い”って思えるような形で表現しようってことだった。シミュレーション・ソフトっていうとたいてい数値や図表がたくさん出てくるけれど、数字が並んでいるのを