programmingに関するtomerunのブックマーク (158)

  • マルチスレッド・プログラミングの落とし穴、その2

    ずいぶん前に、「マルチスレッド・プログラミングの落とし穴、その1(かもしれない)」というエントリーを書いたが、今回はPhotoShareサーバーを運営していて、まさにこのあたりの深い考察が必要になって来たので、良い機会なので続編エントリー。 PhotoShareのバックエンドのようにCRUD(Create/Read/Update/Delete)のAPIをサポートするバックエンドを作る場合、Create/Update/Deleteのリクエストに対してはクライアントからのAPIコール時にすぐに(HTTP Requestに返事をする前に)データベースに変更を加え、Readの際にも(キャッシュを使う・使わないを別にして)データベースの最新の状況を反映するデータを返すように設計するのが普通である。 このアーキテクチャの問題は、ユーザーのアクティビティが増えた時に、データベースやI/Oがボトルネックと

  • suVeneのあれ: よくないプログラムコメントの書き方について

    2008年09月23日 よくないプログラムコメントの書き方について プログラムのコメントというのは、人によって書き方は様々である。 2008年07月30日 otsune コードでhowやwhatは書けてもwhyは表現できません!はてなブックマーク - Latest topics > ドキュメントは善か悪か - outsider reflex と、otsune さんも言うように、俺が考えるプログラムのコメントというのは、「summary」や「why?」を書くべきであって、決して「what?」をひたすら書くべきではない。 (この場合の「summary」というのは、「what」の概要のようなものかもしれないし、コーディングの思想のようなものかもしれない。そして、「why」は、仕様的な「何故」かもしれないし、トリッキーな方法を説明する為の「何故」かもしれない) そもそも、「如何に(後に役に立つ)ド

    tomerun
    tomerun 2008/09/24
    "aをbに代入"とかつい書いちゃうのは、人がプログラム言語を心の奥では信頼してなくて、自然言語で書かれてないと何か安心できないからかも、と思った。/あれ、"bをaに"じゃなくて"aをbに"? 確かにこれはいやだ
  • Interview: Erich Gamma Discusses Jazz, Eclipse, JUnit and Design Patterns

    InfoQ Software Architects' Newsletter A monthly overview of things you need to know as an architect or aspiring architect. View an example

    Interview: Erich Gamma Discusses Jazz, Eclipse, JUnit and Design Patterns
  • Joshua Bloch: Bumper-Sticker API Design

  • Programmer Competency Matrix

  • Stack Overflow

    Ask questions, find answers and collaborate at work with Stack Overflow for Teams. Explore Teams Collectives™ on Stack Overflow Find centralized, trusted content and collaborate around the technologies you use most. Learn more about Collectives

    Stack Overflow
  • RealLib ではじめる誤差ゼロ実数計算 - 2008-09-09 - ひとり勉強会

    RealLib のソースコード読みを始めるはずだったんですが、なんだか全然進んでないので適当なまとめエントリでお茶を濁します! RealLib が普通にかっこよすぎるので紹介しまくりたくなりましたので紹介記事です。 実数計算と誤差 たいていのプログラミング言語の「実数 = 浮動小数点数」の計算には「誤差」があります。たとえばPythonのばあい: Python 2.5 (r25:51908, Sep 19 2006, 09:52:17) [MSC v.1310 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> 0.1 + 0.1 + 0.1 - 0.3 5.5511151231257827e-017 0.1 を 3 回足しても 0.3 にはな

    RealLib ではじめる誤差ゼロ実数計算 - 2008-09-09 - ひとり勉強会
  • Speeding up Dijkstra’s Algorithm 1

  • 第1回 情報可視化の概要 | gihyo.jp

    はじめに コンピュータやインターネットの発展によって、大量のデータを集積し、分析することが容易になってきました。しかし、データそのものに関心が集まる一方で、データの「見せ方」については、あまり注意が払われていないのが現実ではないでしょうか。 データは、人が理解することで初めて価値を持ちます。そして、その理解のカギを握っているのは、データを人の目で知覚可能な形へと「可視化」するプロセスに他なりません。データはただ表示すれば良いと安易に考えるのはやめて、表現力豊かな可視化のテクニックを追求してみませんか? 連載では、具体例やサンプルコードを交えながら、情報可視化の基礎から実践までを解説します。 情報可視化とは何か 「可視化(Visualization⁠)⁠」とは、画像やアニメーションのような視覚的表現を使用し、人に何らかの意味を伝達することです。特に「情報可視化(Information Vi

    第1回 情報可視化の概要 | gihyo.jp
  • 初めてPerl触って思ったこととか - ずっと君のターン

    Perl暦一週間。ホントにまったく何にも知らないのに一身上の都合で使うことになって、勉強してみたらいろいろ驚きというかなんというか・・・。なにかが根的に間違ってるかもしれないけど、とりあえず触ってみて思ったこと。 関数定義 sub funcname { my($arg1, $arg2, $arg3) = @_; # do something } 関数定義に仮引数がなくて毎回こう書かないとだめみたいなんだけど、誰も文句言わないのこれ?ほんとに? 単なるシンタックスシュガーでいいから sub funcname($arg1, $arg2, $arg3) { # do something } こう書かせてほしいんだけど。 コーディングなんてその大部分は関数定義なんだから、そういうところにはもう少し気を使ってくれてもいいと思う・・・。 プレフィックスと名前空間 変数の型に応じてプレフィックスつける

    初めてPerl触って思ったこととか - ずっと君のターン
  • Tamarin での文字列 - steps to phantasien(2008-08-31)

    2008-08-31 近況 LL Future というイベントに呼んで頂き, 中野へ. 前日の激しい雷で眠りが浅く寝坊したら, 基調講演は Larry Wall だったらしい. 聞き逃した. なんてこったい... そしてサインを貰う準備もしていなかった. 昼飯をべる暇があったら紀伊国屋に駆けこむんだったといまだに後悔している. おしいことをした. 宴会でゴルフ場経営者に見せてもらった サイン実物はとても気が利いたもので, まったくうらやましい. 彼のは年季が入った版の上にかなり読みこまれた形跡があったので, Larry Wall も嬉しかったことだろうな. 私もいつか実現するであろう Stroustrup の来日に向け, 件のを読み込んでおかねばなるまい. パネルの内容は shibuya.js 番外編というかんじで, JS や ActionScript の上で実装した処理系の紹介を中

  • 資料集 | Lightweight Language Future

    このページでは、イベントで発表した資料を公開できる範囲で公開していきます(敬称略)。 LL で未来を発明する 住井英二郎(ppt pdf) サイコー?!フレームワーク 能登信晴(ppt) 吉田裕美(pdf) 瀧内元気(テキスト) 佐々木健(ppt) キミならどう書く? - LL Golf 西尾泰和(pdf) 松野徳大(html) Yugui/園田裕貴(pdf) 浜地慎一郎(html) 古い言語、新しい言語 alohakun/若槻俊宏(ppt) omo/森田創(pdf) yukoba/小林悠(ppt) TAKESAKO/竹迫良範(ppt) ライトニング・トーク twitterで人工無能を作ろう!(予定): showyou(studio vesper) (pdf) Client-side database storageで実際にアプリケーションを作成して

  • 人気のAPI/フレームワークを作るための39カ条

    ある仕様を利用するための網羅性の高いライブラリを用意したいとき 再利用性が高い(と思われる)プログラムをライブラリ化したいとき Webシステムを外部から利用してもらうために一部分を公開したい場合 多人数で開発する事柄で共通化させておきたい部分をまとめたい場合 ほかの言語で作られたアプリケーションをある言語で利用したいときの橋渡し用 ちなみに、JSP/Servletの世界でよく使われているStruts Frameworkは開発者のCraig McClanahan氏が休暇中に思い付いて開発したものだそうです。オレゴン州のビーチで、ラップトップに向かい、3日間の休暇中ずっとコーディングしていたそうです。 一緒に行った奥さんは機嫌が悪かったようですけど。 ここでは、作成したAPIが自分だけではなく、多くの人に使ってもらえるよう、便利に使えるポイント、広く普及するためのポイントをとらえていきましょう

    人気のAPI/フレームワークを作るための39カ条
  • イヌネコ - d.y.d.

    03:14 08/08/31 LLFuture 行ってきました。まとめ記事は何百人も書いてそうなので、以下、これにかこつけて自分語りをする。 ☆ Larry Wall の基調講演。ひたすら Parser の話をしてて素晴らしかった。 ☆ 100年の言語…は、 Ypsilon の藤田さんが、エラーメッセージのわかりやすさについて考えてますか?という問いかけを されてたのが印象に残っています。個人的に この頃 から気になってるんですけども、 言語内DSL のようなものを作ること&そのDSLが正常動作するときに 裏でホスト言語で何が起きているかをまったく気にしなくていいようにすることは簡単でも、 そのDSLがそのDSLのシンタックスや静的セマンティクスとして間違っているときに適切なエラーを 出せるようにするのは非常に面倒、という感覚があります。ホスト言語の意味でのエラーを 出されてもユーザ側とし

  • 杉浦ホームページ

    杉浦が書いた書籍「あなたのコードを[賢く]するデザインパターン Java プログラミング」が秀和システムより出版されました。詳細はこっちだ ついにサイトのHTMLファイル総数が、600を越えました...よくもまあ、こんなにも書いたもんだ。(2004.12.20) →確認する 皆様のおかげをもちまして、ついに初めて1日1000HTMLファイルアクセスを達成しました。感謝!!!(6/17,2003) →え、ホント? と思ったら早々と1日2000HTMLファイルアクセスも達成してしまいました。皆様に感謝×2!(8/26,2003) →え、それもホント? 何て言っているうちに1日4000HTMLファイルアクセスも達成してしまいました。皆様に感謝×22!(10/28,2003) →おいおい! 祝!新サーバ格稼動!皆様に感謝!(5/21,2004)→格稼動初日 祝!新サーバで1日3000HTML

  • バイナリシリアライズ形式「MessagePack」 - Blog by Sadayuki Furuhashi

    Googleが公開したバイナリエンコード手法であるProtocol Buffersは、クライアントとサーバーの両方でシリアライズ形式を取り決めておき(IDL)、双方がそれに従ってデータをやりとりするようにします。 この方法では高速なデータのやりとりができる反面、IDLを書かなければならない、仕様を変えるたびにIDLを書き直さなければならない(あらかじめしっかりとIDLを設計しておかないとプログラミングを始められない)という面倒さがあります。 ※追記:Protocol BuffersのデシリアライザはIDLに記述されていないデータが来ても無視するので(Updating A Message Type - Protocol Buffers Language Guide)、仕様を拡張していっても問題ないようです。 一方JSONやYAMLなどのシリアライズ形式では、何も考えずにシリアライズしたデータ

    バイナリシリアライズ形式「MessagePack」 - Blog by Sadayuki Furuhashi
  • プログラム・プロムナード

    会誌「情報処理」連載の「プログラム・プロムナード」(2002年4月〜2005年3月掲載)と「Haskellプログラミング」(2005年4月〜2006年3月掲載)はどなたでもご覧になれます。ファイルはすべてPDF形式です。 「Haskellプログラミング」に掲載されたプログラムは http://www.sampou.org/haskell/ipsj/ から取ることができます.

  • ひらメソッド - 読学のススメ

    最近オープンしたエミナルクリニックの池袋東口院がめっちゃ気になるなぁ。 医療脱毛なのにすごい安くていい評判も聞くけど、ほんとに痛くないのかな? 通っている人の口コミをみてみたいなぁー。 なんて気になったので、エミナルクリニックの池袋東口院についてSNSやネットで調べてみました。 そう思ってSNSを中心に調べてみたら、、、口コミや評判も良いじゃない♪ ちなみに、似たようなサービスや商品があるかも?なので、今回調べてみたのはこちらになります。 オープンしました! エミナルクリニックの池袋東口院ですが、すでにオープンしています!(2021年10月6日オープン済) もちろんですが、オープンしたてなんでめっちゃ予約が取りやすいです。 ただし!!人気のある医療脱毛院なので早めの予約が良いかも?!

  • オブジェクト指向でなぜ作るのか を買ってみました - みねこあ

    オブジェクト指向をわかりたいなら今すぐ『オブジェクト指向でなぜつくるのか』を読め -思っているよりもずっとずっと人生は短い。 VS お勧め? - カレーなる辛口Java転職日記 について、http://www.kt.rim.or.jp/~kbk/zakkicho/08/zakkicho0807c.html#D20080728-4 さんよりお呼びが掛かりました。 普段、さんざ召還魔法を使いまくっている私としては、ここは恩返しのしどころです。けれど、敵はあまりに強大で...。 オブジェクト指向でなぜつくるのか―知っておきたいプログラミング、UML、設計の基礎知識― 作者: 平澤章出版社/メーカー: 日経BP社発売日: 2004/06/03メディア: 単行購入: 34人 クリック: 448回この商品を含むブログ (198件) を見る 結論から先に言えば、OO の入門書としては、書はダメで

    オブジェクト指向でなぜ作るのか を買ってみました - みねこあ
  • OOコード養成ギブス - rants

    Binstock on Software: Perfecting OO's Small Classes and Short Methods The Pragmatic Programmersシリーズの新しい、The ThoughtWorks Anthologyの中に 興味をそそるエッセイがある。Jeff Bayの"Object Calisthenics"だ。 これは良いオブジェクト指向の性質を実証する小さなルーチンを書く方法をマスターするための 詳細にわたるエクササイズだ。オブジェクト指向なルーチンを書く能力を向上させたい開発者がいるなら このエッセイに目を通すことを勧める。ここにBayのアプローチを要約してみよう。 彼は次にあげられる制約のもとに1000行のプログラムを書くことを勧めている。 これらの制約は意図的に過剰な制限となっているが、これは開発者を手続き的なやり方から脱却させるた

    OOコード養成ギブス - rants