タグ

関連タグで絞り込む (199)

タグの絞り込みを解除

programmingに関するtyruのブックマーク (377)

  • 依存性反転の原則について

    なんだかよくわからない説明ですね。ではまず「上位のモジュールは下位のモジュールに依存してはならない」について考えてみます。 なぜ、上位モジュールが下位モジュールに依存してはいけないのでしょう? 例えば、下記のようなCameraを表すクラスを実装したとします。(@implementationはひとまず置いておきます) CameraクラスはGoodStorageクラスのインスタンスを保持しています。ここで、Cameraクラスの実装ではこのstrageに様々な処理を命令するためのメソッドがたくさんあると仮定しましょう。 (例えば、写真を保存する、写真を検索する、写真一覧を取得する、写真のプロパティーを変更する...などなどです) ですが、後になって別の機能を持ったストレージが欲しくなった場合どうすればよいでしょうか?例えば、「既にあるGoodStorageクラスを新しく作ったGreatStora

    依存性反転の原則について
  • 全プログラマーが知るべきレイテンシー数

    Latency numbers every programmer should know — Gist L1キャッシュ参照 0.5ナノ秒 分岐予測失敗 5ナノ秒 L2キャッシュ参照 7ナノ秒 Mutexのロックとアンロック 25ナノ秒 メインメモリー参照 100ナノ秒 Zippy[Snappy]による1KBの圧縮 3,000ナノ秒 1Gbpsネットワーク越しに2KBを送信 20,000ナノ秒 メモリーから連続した1MBの領域の読み出し 250,000ナノ秒 同一データセンター内におけるラウンドトリップ 500,000ナノ秒 ディスクシーク 10,000,000ナノ秒 ディスクから連続した1MBの領域の読み出し 20,000,000ナノ秒 パケットを、カリフォルニア→オランダ→カリフォルニアと送る 150,000,000ナノ秒 Jeff Dean著(http://research.googl

  • 仙石浩明の日記 「ソフトウェア開発」は「モノ作り」ではない

    いつのころからか、 ソフトウェア開発がモノ作りに喩えられるようになった。 典型的なのは、製造業(例えば自動車製造)と IT 業界とを比較して、 前者が高度にシステム化されているのに対し、 後者がまるで家内制手工業のようだ、という批判である。 日経ビジネス online の記事に次のようなくだりがあった: 「というより、何といいますか、経営トップからすると、 ITはとにかく非常識な世界だ、としか思えないのではないかなあ。 例えば大きなシステム開発プロジェクトに取り組むと、 すぐ100億円を投資する、という話になってしまう。 100億円の経常利益を出そうと思ったら当に大変。 ところが、100億円を投じたのに、期限までに完成しない、 出来上がってきたものが当初計画と違う、 直そうとするとさらに金がかかる。 こんなことが起きるわけですから、『一体なぜなんだ』と経営トップは思うわけです」 IT業界

    tyru
    tyru 2012/04/08
    ソフトウェア開発はモノ作りではなく、設計である。
  • 冷たい方程式(1) 技術力は勘定に入れません:Press Enter■:エンジニアライフ

    ふつーのプログラマです。主に企業内Webシステムの要件定義から保守まで何でもやってる、ふつーのプログラマです。 電話が鳴った。 あたしはワンコールで受話器を取り上げた。別に待ちかねていたわけではなく、朝から続くしつこい頭痛に干渉する電子音を一刻も早く断ち切りたかっただけだ。 「はい、日比野です」 『受付です。ホライゾンシステムサービス株式会社様がいらっしゃいました』 「すぐ行きます」 あたしは受話器を置いて時計を見た。14:12。約束の時間より約10分の遅刻だ。 ――まあ、遠いから仕方ないか 腰を上げたとたんに立ちくらみに襲われた。椅子にへたりこみそうになるのをぐっとこらえて、窓際の席でヒマそうにしている磯貝課長に呼びかけた。 「課長、ホライゾンシステムさん、いらっしゃいました」 「あいよ!」 磯貝課長の脳天気な返事を後頭部で受けておいて、あたしは頭を揺らさない程度に早足でフロアを出た。さ

    冷たい方程式(1) 技術力は勘定に入れません:Press Enter■:エンジニアライフ
  • 無料で見られるプログラミング関連書籍一覧 - YAMAGUCHI::weblog

    はじめに こんにちは、動画配信界の情弱です。年始からStackOverflow眺めてたら超絶便利な質問に神回答がされてたので忘れないうちにメモっておく。2012年どっかで役に立てばいいですね。 参考 オリジナルはこちら。ここではコメントにパラパラと載ってたので、まずは直近1ページ目だけにあったものを1個のリストにまとめてみた。ほぼGeorge Stocker氏による回答を載せただけだけど。あとちょっとだけ自分で和訳とか加えたので、知っているものがあればコメントに載せて下さい。追加します。まだDとかFactorとか載ってないし、Pythonも全然足りないし。 API Only - Stack Exchange もしかするとバージョンが古かったりするものもあるかも知れませんが、それもコメントで教えてもらえるとその旨追記します。 他にも過去に挙がったもののリンク ReadWriteWebのプログ

    無料で見られるプログラミング関連書籍一覧 - YAMAGUCHI::weblog
  • WEB+DB PRESS 総集編 / I told my code to sing - steps to phantasien(2011-10-15)

    "わたしはじぶんのコードにうたえと命じた" と題して WEB+DB PRESS 総集編 に小話を 書かせていただきました. レビューしてくれたひとありがとう. 表題は モンキービジネス 14 号 に載っていた 柴田元幸訳 ディキンスン の "わたしはじぶんの魂にうたえと命じた" から. 小話はさておき, 私にとって一番面白かったのは...目次だった. 時代の移りかわりを感じられていい. 記事体は古い方から読んでいくと楽しい. 私はふだんテクノロジの世代交代が進まないもどかしさを感じているけれど, JSP と ASP (ASP.NET ではなく) を説明した記事のおかげで 無事に滅びたテクノロジもそれなりにあったことを思いだした. そういえば SOAP もだいたい滅びたよね. 時代はちゃんと前にすすんでいる. めでたい. いま必要な新しいテクノロジーを調べるだけでなく 消えてしまったテクノ

  • Usp友の会勉強会、ジャクソン構造図の巻(前編)

    3. 日の予定 1. USP友の会の紹介(10分) 2. アイスブレイク(一言自己紹介)(30分) 3. 前回の振り返り(15分) 4. 講義1(状態遷移図とその限界)(40分) 5. 講義2(ジャクソン構造図の紹介) (30分) 6. 演習(1時間ぐらい) 7. まとめ(15分)

    Usp友の会勉強会、ジャクソン構造図の巻(前編)
    tyru
    tyru 2011/12/18
    ジャクソン構造図 状態遷移 / p.41の図がなんかしっくりきた。確かに入力や出力が多岐に渡る場合はそれを中間的にまとめる部分作ると分かりやすくなった気がする
  • デザインパターン(マルチスレッド) - 自分用メモとか

    Single Threaded Execution(Critical Section) パターン † 一度に1つのスレッドしか実行できないようなメソッドを指します(要は排他制御のこと)。 つまり、Javaでは、synchronizedをつけるだけです。 C++(Windows環境)では、クリティカルセクションオブジェクトを用います。 synchronized なメソッドを実行中は、そのオブジェクトがロックされます。 (他のスレッドがオブジェクトのメンバにアクセスすることができなくなる) 例えば以下のコードでは、safeMethod()が synchronizedな時とそうでない時で実行結果が異なります。 public class ThreadSafeSample { int x = 0; /// スレッドセーフにしたいメソッド public synchronized void saf

  • プログラムはコミュニケーションツール | こえむの編集後記

    ■人と話すのは好きだ、だけど… 僕は小さな頃から、人と話すのは好きでした。特に、自分自身と興味関心が近い人と会話する事が非常に楽しく、時間を忘れて話し込んでしまう事もしばしです。 また、中学生の頃にアマチュア無線をやっていたせいか、10代の頃から年齢が何倍も上の人と話す機会も少なくなく、その時の年齢では得難い知見をたくさんいただきました。 しかし、この1年で気づいた事がありました。自分から話を振る事はあっても、人から話を引き出すのはあまりうまくない、と。 ■直接の会話ではどうも解決しない 人の話をなぜ引き出せないのか。振り返りますと、僕は話し出すと押しが強く、かつ矢継ぎ早に言葉が出てくるように、はたからは見えるようです。だから、それを上回るペースや、よほど念が体から発せられるような存在感の強い人でない限り、僕には「話は聞いてもらえないだろう」と思われるのです。 最近は、自分の話している事が

    プログラムはコミュニケーションツール | こえむの編集後記
  • プログラマーは"一線"を超えると急激に伸びる - Linux/Ruby 小崎氏(後編)

    プログラマーのスキルはある一定のラインを超えたところで急激に伸びるんです。そのラインは早く超えるには、OSSの開発に参加していろんな人が書いたソースコードをたくさん読むというのは有効な手段の一つだと思います」――こう語るのはLinuxカーネルおよびRubyの現役コミッターである小崎資広氏だ。 小崎氏には前回、LinuxカーネルやRubyの開発に関わった経緯や、コミュニティ活動を円滑にするポイントをうかがった。今回は、これからOSSコミュニティに参加しようと考えている若手エンジニアに向けたアドバイスをお願いしよう。 関連インタビュー 【インタビュー】コミュニケーション力向上に役立ったOSS活動 - Linux/Ruby 小崎資広氏 【インタビュー】言語は思考にも影響を及ぼす、だからRuby開発を選んだ--まつもとゆきひろ氏 【インタビュー】Rubyが大きくなれたのは、私に隙があるからかな

    プログラマーは"一線"を超えると急激に伸びる - Linux/Ruby 小崎氏(後編)
  • はてなブログ | 無料ブログを作成しよう

    ビールとポップコーンと映画 ラストマイルを見た。良い映画だった。 映画館でべそべそ泣いて、鼻を啜りながら車で帰った。感想はこのブログでは書かない。みんな映画館に行って感じてみてほしい。 帰ってからツイッターで感想を漁り、うんうん、わかるわかる、そうだよね、とまた映画を思い出して…

    はてなブログ | 無料ブログを作成しよう
  • Lisp竹内氏「プログラミングには地を這うような努力が必要」

    なぜ、うっかりTwitterやmixiに自分の秘密を書いてしまうのか 「Twitterはバカ発見器と言われている――なぜ人はTwitterやmixiなどで秘密を話すのか?」 8月10日、情報セキュリティ基礎の講義を担当する、サイバー大学IT総合学部准教授の園田道夫氏は、こう問い掛けた。 「例えば、未成年者が飲酒・喫煙を暴露するケースなどがある。情報はすぐに全世界に公開されるにもかかわらず、なぜ自分にとって都合の悪いことを書くのか」 「なぜ、ソーシャルメディアを見ているのが身内・友達だけだと思ってしまうのか」 園田氏の問い掛けに対して、参加者はグループになってさまざまな意見を出した。 「ツイートはフォロワーからしか見られていないという認識があること、そして気軽につぶやけるということが原因ではないか」 「友人などの紹介で始めることが多いので、プライベートなエリアだと勘違いしているのではないか」

    Lisp竹内氏「プログラミングには地を這うような努力が必要」
    tyru
    tyru 2011/09/04
    LANケーブル自作とかいろいろおもしろそうなことやってる
  • プログラムは一日で出来るようになるからこそ、難しい - 遥か彼方の彼方から

    プログラム忌まわしき学生時代。今でも覚えている先生の言葉が1つある。「いいか、お前たち。Javaは一週間で出来るようになる」そう言っていた先生のコードも、オブジェクト指向の解説も、選んで買わされた参考書も、どれもJavaが出来ているようにはとても見えなかった、というのは置いておいて。 プログラムが一週間で組めるようになる、という話そのものはそんなに間違ってもいないと思う。実際、「1週間でできる○○言語」「10日でわかる○○言語」なんて類の入門書はたくさんあるし、1日でプログラムを体験してみようというみたいなイベントも聞く。 僕自身、プログラムが出来るようになるまで1日あれば十分だと思っている。 基的な出力の仕方、変数の代入と参照、分岐に繰り返し、これだけあれば基的なプログラムは書けるだろうし、これだけであれば1日でできないこともないだろう。 そう、プログラムは一日で出来るようになる。そ

  • 1人より2人 - Strategic Choice

  • クレバーになるな - Strategic Choice

  • 第3話 「チートも、隠しクラスも、あるんだよ」

    第3話 「チートも、隠しクラスも、あるんだよ」 - Download as a PDF or view online for free

    第3話 「チートも、隠しクラスも、あるんだよ」
  • せっかくの夏休みだから、今こそまとめて買っておきたいコンピュータ書5冊 - 思っているよりもずっとずっと人生は短い。

    と言えばやっぱりこれですよね。 The Art of Computer Programming,Volume 4, Fascicle 0 Introduction to Combinatorial Algorithms and Boolean Functions 日語版 (ASCII Addison Wesley Programming Se) 作者: Donald E. Knuth,和田英一出版社/メーカー: アスキー・メディアワークス発売日: 2009/10/22メディア: 大型購入: 1人 クリック: 40回この商品を含むブログ (13件) を見るThe Art of Computer Programming Volume 4, Fascicle 1 Bitwise Tricks & Techniques; Binary Decision Diagarms 日語版 (ASCII

    せっかくの夏休みだから、今こそまとめて買っておきたいコンピュータ書5冊 - 思っているよりもずっとずっと人生は短い。
    tyru
    tyru 2011/08/07
    id:kitokitokiさんのはてなスターにふいた
  • truthy, falsy の訳について考えてみた。 - Block Rockin’ Codes

    追記 twitter 経由で、id:mnicovideo さんがこの件を id:dankogai さんに質問されました。 @mnicovideo: @dankogai さんならtruthy、falsyをどう訳したり説明したりします?訳に関しては真、偽でも文脈から意味を想像できるからいいのかなと自分は考えたんですけど。 URL 2011-07-08 12:40:54 via web to @dankogai そしてそのレスポンスとして id:dankogai さんが以下のようなエントリを上げてくださっています。 404 Blog Not Found:"-y"は「っぽい」って訳していいっぽい 間接的になってしまいましたが、思わず弾さんに質問できた形になりました。弾さんありがとうございます! 内容としてはタイトルの通り「〜っぽい」が正解だろうということです。 そう。「悪い」のは原文なのだ。 だか

    truthy, falsy の訳について考えてみた。 - Block Rockin’ Codes
  • 闇プログラマーに喧嘩を売ってしまった昼下がり~条件分岐篇~

    ※このまとめに含まれるプログラムは一種のパズル的な遊びです。 くれぐれも用法用量を守った上で正しくご利用ください>< 実用するならば、“言うまでもなく” if か ?: を利用すべきです。 やばい連中に喧嘩を売ってしまった……。 続きを読む

    闇プログラマーに喧嘩を売ってしまった昼下がり~条件分岐篇~
  • プログラミングの6大10項目リスト

    Jeff Atwood / 青木靖 訳 2007年3月22日 以下に私の選ぶプログラミングの6大10項目リストを挙げておく。取り上げた順序には特に意味はない。このエントリを簡潔なものにしておきたいので、それぞれの項目は短い要約を引用するに留める。興味を引くものがあれば、ぜひリンクをたどってオリジナルの作者の考えについてもっと詳しく読むことをお勧めする。 [ 訳注: 要約だけで意味が取りにくいものに簡単な説明をつけた。] ジェラルド・ワインバーグの「エゴレスプログラミングの十戒」 自分が誤りを犯すということを理解し、受け入れること 。 自分と自分のコードは別物である。 どんなに「空手」を学ぼうと、いつでもあなたよりもっと詳しい人間がいる。 相談せずにコードの書き直 しをしない。 自分より無知な人に対しても尊敬と敬意と忍耐を持って接すること。 世界で唯一変わらないのは変わるということだけ。 唯