自戒。 むしろ、どんなエレガントなコードで書かれていても成果物がヘボならそれはヘボなプログラマだ。
20070405コードレビュー posted by (C)フォト蔵 尾藤正人です 先日ウノウの勉強会でUNIXデーモンの作り方についてプレゼンしました。 UNIXのデーモンの仕組みはWebサービスの開発にあたって直接関係の深いトピックではないかもしれませんが、知っておいて損はないと思います。 発表資料と動画を公開しますので、よかったらご覧下さい。 普段は気にしないUNIXデーモンが裏で何をやってるのか、少しでも身近に感じていただければと思います。 発表資料の公開にはちまたで話題のScribdを使ってみました。 プレゼン資料はKeynoteで作ったのですが、PowerPoint形式に変換してアップロードする簡単にできました。 デモ用に実際に動く簡単なデーモンプログラム ccho(シコー) を作成しました。 ccho は前々回の勉強会で行ったGnu Autotoolsで作った bat プログラ
2018-12-21 経済産業省『未来の教室』実証事業の一環として宮崎県立日南振徳高等学校で『農業IoTシステム自作』講座を開催しました MonacaEducation担当の岡本です。経済産業省『未来の教室』実証事業の一環として宮崎県立日南振徳高等学校の生徒達とビニールハウスなどの温度湿度をクラウドに記録、スマートフォンやタブレットなどのモバイル端末からグラフとして情報を確認できるようなシ… 経済産業省『未来の教室』実証事業の一環として宮崎県立日南振徳高等学校で『農業IoTシステム自作』講座を開催しました 2018-12-14 IT健保(関東ITソフトウェア健康保険)のお得な活用方法について調べてみた はじめまして、諸井です。 マーケティングや営業のフロント・バックオフィス全般を担当しています。 入社して3年弱、嬉しかったことはいくつかあるのですが、そのひとつは関東ITソフトウェア健康保険
HTTP performance testing with httperf, autobench and openload Update 02/26/07 -------- The link to the old httperf page wasn't working anymore. I updated it and pointed it to the new page at HP. Here's a link to a PDF version of a paper on httperf written by David Mosberger and Tai Jin: "httperf -- a tool for measuring Web server performance". Also, openload is now OpenWebLoad, and I updated the l
*BSD で kqueue・kevent を使ってみよう select() の欠点 select() は複数のディスクリプタをポーリングできる便利なシステムコールです。 しかしパフォーマンスはよくありません。理由は以下の通りです。 ユーザプロセスは、監視対象のディスクリプタ一覧をユーザ領域からカーネル領域にコピーする必要がある。 カーネルがポーリング結果をユーザ領域に返す際もコピーしなければならない。 カーネルは、ポーリング対象のディスクリプタを知るために、配列の全要素を調べなければならない。 ユーザプロセスも、入出力可能なディスクリプタを知るために、配列の全要素を調べなければならない。 上記の作業は、select() を発行するたびに毎回行わなければならない。 select() のパフォーマンスが悪いことは広く知られていたので、 各 OS でいろいろな取り組みが行われてきました。 Sol
Haskell Tutorial for C Programmers - Introduction Written by Eric Etheridge last updated January 3, 2007 Table of Contents Each major section has its own page. Introduction Abstract Downloads Purpose and Other Online References Relationship to Our Other Tutorials Preface and Style Notes Section I: What the Heck is Going On? Part I: Haskell's Oddity Part II: Input and Output Part III: Very Bas
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
AsyncIOについて(その1)の続き. NONBlockでIO処理をする方法としてselectとシグナルを使う方法があるというのが前回の話だったが, selectはselectよりkqueue,epollで述べたとおり, ビジーループがかかるためあまり効率はよくなく,シグナル方式は制約があるためあまり使い勝手がよくない. というわけで新しく出てきたのがPOSIX Asynchronous I/O(AIO)という機構だ. これはIOのwaitをイベントドリブン形式にしてビジーループをなくそうというものだ. プログラムの流れとしては下記のようになる. 1. 対象となるファイルディスクリプタにシグナルハンドラもしくはイベントハンドラを登録しておく 2. aio_read/aio_writeを呼び出すと制御はすぐにユーザに戻る. 3.対象のファイルディスクリプタの処理が終わると登録されていたハン
This website is a set of practical, detailed tutorials for people who want to learn Objective CAML (often known as just "OCaml"). OCaml is a fast, concise and powerful language for application development - but I assume you already knew that, and I also assume you've managed to install it. If not, you can find out more at the main OCaml webpages or at the OCaml Alliance's getting started area. For
SilverCity is a lexing package, based on Scintilla, that can provide lexical analysis for over 20 programming and markup langauges. Scripting language bindings currently exist for Python. SilverCity Project Page - CVS repository, Patch Manager, etc. SilverCity Releases - Binary and source releases for SilverCity. Silvercity Documentation - The easiest way to learn the package. Silvercity Examples
Joel Spolsky / 青木靖 訳 2005年12月29日木曜 近頃の若い者ときたら。 勤勉はいったいどこへ行ってしまったんだ? 「近頃の若い者」は我慢がないと不平を言うようになったのは、私も年を取ったということなのかもしれない。 そりゃ恵まれてるね。私は3ヶ月汚水浄化槽の中の茶色い紙袋に住んでいたよ。朝6時に起きて、袋を掃除し、固くなったパンの耳を食べ、工場まで歩いて行くと、1日14時間、毎週毎週働きつづけ、家に帰ると親父にベルトでたたかれて寝床についていたんだ。 ——モンティ・パイソンの空飛ぶサーカス 4人のヨークシャー人 私は若い頃、パンチカードでプログラムを作る方法を学んだ。ミスをしたら、それを訂正するためのバックスペースのような近代的な機能は存在しなかった。カードを捨ててはじめから打ち直すのだ。 私は1991年にプログラマの面接をするようになった。コーディングの問題に答える
普通のやつらの上を行け ---Beating the Averages--- 著者:Paul Graham Copyright 2001 by Paul Graham これは、Paul Graham: Beating the Averages を、原著者の許可を得て翻訳・公開するものです。 プロジェクト杉田玄白正式参加テキスト。 <版権表示> 本和訳テキストの複製、変更、再配布は、この版権表示を残す限り、自由に行って結構です。 (「この版権表示」には上の文も含まれます。すなわち、再配布を禁止してはいけません)。 Copyright 2001 by Paul Graham 原文: http://www.paulgraham.com/avg.html 日本語訳:Shiro Kawai (shiro @ acm.org) <版権表示終り> 文中、Eric Raymondの "Ho
さて、お待たせしました。いよいよCometとLingrについての技術解説です。 ■Comet解説 さて、まずはCometとは何で、どういう背景によって生まれたのか、についての解説から始めます。 まず前提として、Webアプリケーションにおいては、通信開始のトリガーは常にクライアント側が握っています。つまりURLを入力したりボタンをクリックしたときなどに通信が発生することになるわけですが、このようなアーキテクチャは、サーバ側で発生した変化をリアルタイムにクライアント側に通知することが原理的にできないことを意味します。 チャット・アプリケーションでは、複数のユーザから不定期にメッセージが送信され、それが他の参加者に一斉に配信されなければなりません。しかし、メッセージを受け取ったサーバ側では、それをクライアントに即座にプッシュで通知する方法がないのです。 そのため、一定期間ごとにブラウザがサーバに
■ プログラミング解説書籍の脆弱性をどうするか 印刷されて流通する書籍に脆弱性がある、つまり掲載されているサンプルコードにズバリ脆弱性があるとか、脆弱性を産みやすいコーディングスタイルを身につけさせている解説があり、それが脆弱なプログラマを生産し続ける根源になっている問題は、「なんとかしないといけないねえ」と以前から言われてきた。 ソフトウェア製品の脆弱性は、指摘があればパッチが提供されたり修正版に差し替えられたりするが、書籍の脆弱性はどうか。正誤表が差し込まれるとか、回収する措置がとられるかというと、それは望めそうにない。言論には言論で対抗すればよいということになるだろうか。 久しぶりにいくつかの書籍について調べてみた。先月園田さんの日記などで比較的評判良く紹介されていた2冊を読んだ。 山本勇, PHP実践のツボ セキュアプログラミング編, 九天社, 2004年6月 GIJOE, PHP
#include <stdio.h> void main(void) { char *message[] = {"Hello ", "World"}; int i; for(i = 0; i < 2; ++i) printf("%s", message[i]); printf("\n"); } #include <iostream.h> #include <string.h> class string { private: int size; char *ptr; string() : size(0), ptr(new char[1]) { ptr[0] = 0; } string(const string &s) : size(s.size) { ptr = new char[size + 1]; strcpy(ptr, s.ptr); } ~string() { delete [] p
すみませんパクリです。 こちらではIT土方(ひじかた)とお読みください。 今こそ鬼の副長と呼ばれたかのお方のように、強い信念を持ち、IT幕末に立ち向かうべきなのです! 「規律を隊士らに遵守させ、規律を破った隊士に対しては切腹を命じており、隊士から恐れられていたとされる。そのため、新選組隊士の死亡原因第1位は切腹であったと言われている」 とかはまねしなくて良いので、 「合理主義者で便利なものは便利と受け取る柔軟さをもっており、舶来の懐中時計なども持っていたという」 というところをまねしましょう。 土方歳三 http://ja.wikipedia.org/wiki/%E5%9C%9F%E6%96%B9%E6%AD%B3%E4%B8%89
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く