タグ

programmingに関するkosakiのブックマーク (77)

  • ネットワークプログラムのI/O戦略 - sdyuki-devel

    図解求む。 以下「プロトコル処理」と「メッセージ処理」を分けて扱っているが、この差が顕著に出るのは全文検索エンジンや非同期ジョブサーバーなど、小さなメッセージで重い処理をするタイプ。ストリーム指向のプロトコルの場合は「プロトコル処理」を「ストリーム処理」に置き換えるといいかもしれない。 シングルスレッド・イベント駆動 コネクションN:スレッド1。epoll/kqueue/select を1つ使ってイベントループを作る。 マルチコアCPUでスケールしないので、サーバーでは今時このモデルは流行らない。 クライアントで非同期なメッセージングをやりたい場合はこのモデルを使える: サーバーにメッセージを送信 イベントハンドラを登録;このときイベントハンドラのポインタを取っておく イベントハンドラ->フラグ がONになるまでイベントループを回す イベントハンドラ->結果 を返す 1コネクション1スレッ

    ネットワークプログラムのI/O戦略 - sdyuki-devel
  • http://1978th.net/tech/promenade.cgi?id=39

  • On Go

    Updated 2015-09-25: So, about six years later, people are still reading this. I'm not sure how to feel about this; Looking at it now, it's incoherent, badly argued, and a lot of the details are simply wrong. But 1000 hits a month indicate that people still get value out of it. Don't get me wrong; I still think that Go is a terrible language. I now work for a company that does a lot of it, and ever

    kosaki
    kosaki 2009/11/18
    プログラミング言語Goは40年以上前に登場したAlgol-68とほとんど同じ
  • プログラミング言語「go」の名前が変わるかも? | Happy My Life

    昨日、Googleから発表された新しい言語「go」 だが、この名前について10年前から「Go!」という言語を作成しており、まで出版している作者(Francis McCabe)から「私が開発したプログラミング言語の名称として既に使われている」と要望があげている。 Go! とは Go!は、Wikipedia(英語版)に載っている。 2003年から開発されたマルチパラダイム言語で、コードはこんな感じ(99 Bottles of Beer | Language Go! から引用)。Erlangに近い? -- -- 99 Bottles of Beer in Go! -- John Knottenbelt -- -- Go! is a multi-paradigm programming language that is oriented -- to the needs of programm

  • Google、新言語「Go」発表─2倍のスパゲティ生産効率実現 - bogusnews

    Googleは10日、新たなプログラミング言語「Go」を発表した。GoはかつてUNIXを生んだKen Thompson氏らのチームにより開発され、オープンソースプロダクトとして公開される。特徴は 「従来のプログラミング言語の2倍の効率でスパゲティコードを生成できる」 という点。Googleの担当者は「プログラミングの進歩を加速するエポックメイキングな言語」と語っている。 プログラミングにおいては、条件に応じた分岐などで指定処理位置までジャンプする「GOTO文」が重要な位置を占める。いっぽうで、こうしたGOTO文の多用は「4文字も打つのはめんどくさい」という負の側面もある。高名な計算機科学者のエドガー・ダイクストラ氏が「GOTO is harmful」と批判したことでおなじみだ。新言語のGoでは、文字通り 「“GOTO”を“GO”と書ける」 大がかりな改良が加えられている。タイプしなければ

    Google、新言語「Go」発表─2倍のスパゲティ生産効率実現 - bogusnews
  • House

    Haskell User's Operating System and Environment Note: Kenny Graunke has made available a a newer version of House, ported to GHC 6.8.2 (October 2008) House is a demo of software written in Haskell, running in a standalone environment. It is a system than can serve as a platform for exploring various ideas relating to low-level and system-level programming in a high-level functional language. More

  • なんか Go で書くのが流行ってるみたいなので - moriyoshiの日記

    追記:「kzk's blog」の「Writing TokyoCabinet wrapper for Go language」で紹介御礼。この記事は cgo を使った TokyoCabinet のラッパーの書き方を解説しているので、下記のコードと組み合わせて当に tc が backend になっている KVS を書いてみるのもよいかも。 『早速 Go 言語を試してみる!』とか。 『Go で無駄にチャンネルを使ってクイックソートのようなものを書いてみた』とか。 こちらはというと、試しに memcache バイナリプロトコルで通信する KVS もどきを書いた。 サーバのイベントループで go すれば全部済むのが楽ちんですね。 追記: HandleConn() の中で、backend_ch を backend との送信と受信両方に使っていたのだけど、ここにあるように、まったく誤りだということが分

    なんか Go で書くのが流行ってるみたいなので - moriyoshiの日記
  • Google、オープンソースのプログラミング言語「Go」リリース

    Googleの開発者チームが、マルチコアプロセッサに対応し、高速にコンパイルできる新しい言語「Go」をリリースした。 米Googleは11月10日、プログラミング言語「Go」をBSDライセンスの下、オープンソースで公開した。マルチコアプロセッシングに対応し、公式ブログによると、“Pythonのようなダイナミック言語での開発スピードと、CやC++のようなコンパイル言語の持つ性能を併せ持つ”という。Linux版とMac版がGoのサイトにインストール方法などの説明がある。 GoGoogleの7人の社員が「20%の自由時間」を利用して開発した。メンバーには、Google ChromeのV8エンジンを開発したロバート・グリースナー氏、分散オペレーティングシステム「Plan 9」の創案者であるロブ・パイク氏、UNIXの開発に携わったケン・トンプソン氏、などが名を連ねる。 Goチームは、コンピュータ科

    Google、オープンソースのプログラミング言語「Go」リリース
  • The Go Programming Language

    Tips for writing clear, performant, and idiomatic Go code

    The Go Programming Language
  • グーグル、C/C++に代わる新言語「Go」をOSSで公開 - @IT

    2009/11/11 グーグルは2009年11月10日、Cのようにシステム記述に適したプログラミング言語「Go」をBSDライセンスの下に公開した。C++のようなC言語の拡張ではないが、Cに似た構文が特徴で、ガベージコレクタ(GC)や並列プリミティブ、イテレータ、実行時リフレクションなどを備えた新しい設計が目を引く。Goグーグルの社員7人が「20%の自由時間」を利用して開発した。設計・実装を行っているのが分散OS「Plan 9」の創案者であるロブ・パイク氏や、Unix、Cの生みの親、ケン・トンプソン氏、Google ChromeのV8エンジンを開発したロバート・グリースナー氏など錚々(そうそう)たるメンバーで、こうした点でも注目を集めそうだ。 グーグル社内では、まだGoを使っていないが、今後はWebサーバなどのシステム関連のソフトウェアで実用を検討しているという(Goのオフィシャルサイトは

  • 早速 Go 言語を試してみる! - IT戦記

    はじめに Google から新プログラミング言語 The Go Programming Language が発表されましたね! というわけで、さっそく試してみたいと思います。 環境は Mac OS X 10.6 インストール さっそくインストール Getting Started - The Go Programming Language を見ながら 環境の準備 ディレクトリを作る amacbook% cd ~ amacbook% mkdir go amacbook% mkdir bin環境変数の設定をする。~/.zshrc に以下を追加 # Go 用 export GOROOT=$HOME/go export GOOS=darwin export GOARCH=amd64 export GOBIN=$HOME/bin export PATH=$GOBIN:$PATH Mercurial を

    早速 Go 言語を試してみる! - IT戦記
  • GoogleがUNIX作者らが開発した新言語「Go」をオープンソースとして公開

    Googleは2009年11月10日(現地時間),新しいプログラミング言語「Go」をオープンソース・ソフトウエアとして公開した。「動的言語の開発生産性とC/C++に迫る静的言語並み性能を兼ね備えた,並列システムプログラミング言語」としている。UNIXの作者のひとりであるKen Thompson氏らが開発した。 Goは,C/C++風の記法をシンプルにした文法を採用している。Go開発チームによれば「C/C++に迫る高速性,タイプ・セーフ/メモリー・セーフであることによる安全性,『goroutine』と呼ぶ軽量プロセスによる並列処理のサポート,速いビルドやクリーンな文法など“楽しさ(fun)”」が特徴であるという。並列処理に関しては数千のgoroutineを走らせることができるとしている。またクロージャやリフレクションなどの機能も備える。 開発チームには,Ken Thompson氏のほかRobe

    GoogleがUNIX作者らが開発した新言語「Go」をオープンソースとして公開
  • YSlowで知っておくべき6つのテクニック価値 | エンタープライズ | マイコミジャーナル

    Webアプリケーション開発に欠かせないFirefoxエクステンションにFirebugがある。そしてFirebugをベースにして開発された重要なWebページのパフォーマンス計測ツールにYSlowがある。12日現在の最新版はYSlow 0.9.5b1だ。手軽に導入できるうえにかなり効果的に分析ができるところに特徴がある。 YSlowの分析基準となっているのはYahoo! Exceptional Performanceチームによって解析された評価基準だ。同チームは順次解析を続け、2008年3月には既存のルールに新たに20のルールを追加した。新しいルールを追加した全34ルールはExceptional Performance : Best Practices for Speeding Up Your Web Siteにまとめられている。YSlowにも順次これら基準を利用するように開発が続けられている

  • ブクマ推奨: Webサイトを高速化する34のベストプラクティス | エンタープライズ | マイコミジャーナル

    Yahoo! Exceptional Performance, Tenni Theurer氏は11日(米国時間)、Webページのパフォーマンスを向上させるための34のベストプラクティスをまとめたページ「Best Practices for Speeding Up Your Web Site」を紹介した。これはWebデベロッパやWebデザイナ、フロントエンドプログラマはぜひブックマークしておきたいページだ。 同氏は最初は13だったベストプラクティスが、次に14に増え、現在では34にまとめられていると説明。これら新しいプラクティスは以前紹介された20の新しいプラクティスを含めてまとめ直したものだ。新しいルールは徐々にYSlowに反映されていくとみられる。

  • 変電工 - Google C++スタイルガイド日本語訳

  • Javaスクールの危険 - The Joel on Software Translation Project

    Joel Spolsky / 青木靖 訳 2005年12月29日木曜 近頃の若い者ときたら。 勤勉はいったいどこへ行ってしまったんだ? 「近頃の若い者」は我慢がないと不平を言うようになったのは、私も年を取ったということなのかもしれない。 そりゃ恵まれてるね。私は3ヶ月汚水浄化槽の中の茶色い紙袋に住んでいたよ。朝6時に起きて、袋を掃除し、固くなったパンの耳をべ、工場まで歩いて行くと、1日14時間、毎週毎週働きつづけ、家に帰ると親父にベルトでたたかれて寝床についていたんだ。 ——モンティ・パイソンの空飛ぶサーカス 4人のヨークシャー人 私は若い頃、パンチカードでプログラムを作る方法を学んだ。ミスをしたら、それを訂正するためのバックスペースのような近代的な機能は存在しなかった。カードを捨ててはじめから打ち直すのだ。 私は1991年にプログラマの面接をするようになった。コーディングの問題に答える

  • Cプリプロセッサメタプログラミングで、文字列系泥沼関数型プログラミング - 簡潔なQ

    今年の文化祭で書いた記事です。 - C言語といえば、いやなイメージ、過去の遺産といった感じがあるかもしれません。 C言語のネガティブな側面というと、やはりポインタやメモリ管理などが難しい、ということが思いつくかもしれません。 しかし、C言語のポインタは表記に騙されやすいだけで、仕組み自体は全く難しくありません。 文法も、どこぞのPerlC++と比べたら屁でもない単純さです。 実のところ、仕様が煩雑で難しいのは、Cプリプロセッサなのであります。 普段からあまり複雑な使いかたをしないから気づかないかもしれませんが、Cプリプロセッサの置換処理は、欺瞞と裏切りに満ちた世界なのです。 これが進化するとテンプレートなどといったもっと面白いものになるのですが、今回はCプリプロセッサで計算をしちゃったりするところまで試しにやってみましょう。 (なお、GCCにより実験的に調べた記事なので、他のCコンパイラ

    Cプリプロセッサメタプログラミングで、文字列系泥沼関数型プログラミング - 簡潔なQ
  • yebo blog: OpenSSLは猿によって書かれている

    2009/11/03 OpenSSLは猿によって書かれている オープンソース・プログラマ Marco Peereboom氏がCAを使った安全な通信コードを書くために、OpenSSLのコードを調べたところ、コードが糞で猿が書いたも同然という結論に至ったその経緯をWeb上に書いている (OpenSSL is written by monkeys)。今まで使ったライブラリの中で最悪、このような複雑で愚かなコードがインターネットで使われているなんて信じられないとのこと。更に、HOWTOももツールの事ばかりでコードを書く手助けにはならない。サンプルコードを見たら、目眩がしてきたとか。彼らは、ひどいOpenSSLに覆い隠すためASSL (Agglomerated SSL) を書いているようだ。OpenSSLは明らかに「バッドノウハウ/奥が深い症候群」の一つだよなー。 投稿者 zubora 投稿時間

  • 情報処理推進機構:情報セキュリティ:調査・研究報告書:情報セキュリティ技術動向調査(2008 年下期) 5 テンポラリファイルの扱い

    2008年下期には、Perl の File::Path モジュールの rmtree 関数に関する CVE が 3件発表された。 (CVE-2008-2827, CVE-2008-5302, CVE-2008-5303)また、symlink attack に関する CVE は 100件以上出ている。 テンポラリファイルの扱いに関する問題は古くからあるが、いまだに多くの問題が発生する。そこで稿ではテンポラリファイルの扱いかたについて解説する。また、安全な削除に利用できる新しいシステムコールが提案されているので、それについても触れる。 テンポラリファイルはプログラムが一時的に利用するファイルである。 Unix においては /tmp や /var/tmp というディレクトリが提供されており、すべてのユーザがそのディレクトリ下にテンポラリファイルを生成・削除するのが慣習である。稿では、これらのデ

  • HotRuby - Ruby on JavaScript - yukobaのブログ

    先日の木曜日、YLUGに参加しました。笹田耕一さんの YARV(Yet Another RubyVM) の講演会でした。なんか、会は、過去9年間の間で、1,2を争う盛り上がりだったそうで、すごく楽しかったです。参加者のレベルも高く、YARV の中の話を色々と聞かせていただきました。 その席で、ザイボウズ・ラボの竹迫さんに、「Ruby on JavaScript つくらないの?」とお誘いを受けたので、この週末、作ってみました♪ 名づけて、HotRuby。ちゃんと動いているよ〜 http://hotruby.accelart.jp/ 基的な文法は、大体、実装しました。ただし、組み込み関数や組み込みクラスは、大部分が実装されていません。文法面でも、例外は実装していません。 仕組みは、一度、サーバーの Ruby 1.9.0 の YARV でオペコード列にコンパイルさせて、それを JSON でクラ

    HotRuby - Ruby on JavaScript - yukobaのブログ
    kosaki
    kosaki 2008/01/27
    連邦のモビルスーツは化け物か!