Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

programmingとsoftwareに関するhiromarkのブックマーク (35)

  • レガシーコード改善ガイド (Object Oriented SELECTION) | マイケル・C・フェザーズ, ウルシステムズ株式会社, 平澤 章, 越智 典子, 稲葉 信之, 田村 友彦, 小堀 真義 |本 | 通販 | Amazon

    レガシーコード改善ガイド (Object Oriented SELECTION) | マイケル・C・フェザーズ, ウルシステムズ株式会社, 平澤 章, 越智 典子, 稲葉 信之, 田村 友彦, 小堀 真義 |本 | 通販 | Amazon
    hiromark
    hiromark 2014/08/07
    名著だこれ
  • 新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? あわせて読みたい 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習 「オブジェクト指向プログラミング」と「関数型プログラミング」のたった一つのシンプルな違い あきらめるにはまだ早い!ソースコードの品質向上に効果的なアプローチ 2015年に備えて知っておきたいリアクティブアーキテクチャの潮流 この記事について この記事は新人向けの研修内容を再編集してお送りいたします。 ここで述べる内容はどのようにして現在のプログラミングスタイルが生まれてきたかを

    新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 - Qiita
  • MVC と MVC2 について改めて考えてみる - スタジオ・アルカナ技術ブログ

    はいどうも~。季節の変わり目のせいかゲホゲホが止まらないエンジニアの吉田です。 今回は、「MVC」と「MVC2」について改めて考えてみたいと思います。 Webアプリケーション開発では、よく「MVC」という言葉を耳にしますね。 「モデル」「ビュー」「コントローラ」の頭文字3文字をとって「MVC」です。 でも、「MVC」の話をしているのに、なんだか話が噛み合わないことがあるんです。 よくよく話を聞いていると、多くの場合、それは「MVC」と「MVC2」の混同です。 というわけで、「MVC」と「MVC2」の違いについて改めて考えてみたいと思います。 「MVC」とは何か そもそも「MVC」という言葉は30年ほど前(1979年頃)からあり、最初はSmalltalkの ウィンドウプログラム開発の設計指針として生まれたものです[※1]。 なので、「MVC」はもともとGUIのソフトウェアに適用するためのアー

  • Startupプログラマの為の新アジャイルマニュフェスト(Kent Beck: beyond agile programming) - Qiita

    Startupプログラマの為の新アジャイルマニュフェスト(Kent Beck: beyond agile programming)agilelean はじめに Kent Beck氏がスタートアップのイベントに登壇し、素晴らしい講演をしたビデオを友人のタイムラインから見つけました。Startup Lessons Learnd: Kent Beck talks beyond agile programming アジャイルマニュフェストは10年が経過して、誰かの為にソフトウェアを作っていた時代から、スタートアップの時代に移行し、内容が一部古くなっていました。ところがこの講演でKentBeck氏は、それに対する素晴らしい回答をしてくれています。この内容が2010に行われているとは驚きです。 今回、このビデオを未熟なりにディクテーションして、適当ですが、日語訳を作ってみました。人に承認を取るつも

    Startupプログラマの為の新アジャイルマニュフェスト(Kent Beck: beyond agile programming) - Qiita
  • 間違ったコードは間違って見えるようにする - The Joel on Software Translation Project

    Joel Spolsky / 青木靖 訳 2005年5月11日 水曜 私が最初の当の仕事をはじめたのは1983年9月に遡る。それはオラニムというイスラエルの大きな製パン工場で、16台の飛行機ほどもある巨大なオーブンで、毎晩10万個のパンが作られていた。 はじめて工場に入った時、そのあまりの汚さに信じられない思いだった。オーブンの側面は黄ばんでいるし、機械は錆びていて、そこらじゅうが油だらけだった。 「いつもこんなに汚いの?」と私は聞いてみた。 「なんだって? なんの話をしてるんだ?」とマネージャが答えた。「掃除したばかりだから、今が一番きれいな状態なんだ」 なんてこった。 毎朝の工場の清掃を何ヶ月か続けて、ようやく彼らの言っていたことが理解できるようになった。パン工場では、きれいというのは機械にパン生地が付いてないことを言うのだ。きれいというのは、ゴミ箱に発酵したパン生地が入ってないこと

  • JavaScriptでソフトウェアの正しさを数学的厳密に証明してみた - yukobaのブログ

    現在、Shibuya.js が開催中です!Ustream で http://www.ustream.tv/channel/shibuyajs にて放送されています。これから、このブログの内容をしゃべります! 今回「テスト」がテーマなうえ、Shibuya.js は「役に立つ話担当」「ネタ担当」に分かれていて、僕は「ネタ担当」なんですが(笑)、いつも通りネタです。でも、遠い未来の役立つネタです! きっかけは、id:t-wada さんに、GUIの自動テスト関係の質問をしたら、凄くいいことを教えてもらいました。 全てのテストはサンプリングテストである (少し表現違ったらごめんなさい)話の流れで、部屋を移動しなくていけなくて、たしか、それしか話ができなかったのですが、要するに、サンプリングテストである以上、全ての入力パターンをテストすることは不可能であり、できることは、限られたコストの中で、効率よく

    JavaScriptでソフトウェアの正しさを数学的厳密に証明してみた - yukobaのブログ
  • ソースコードのコメントよりも空白行のほうが理解を助けるという研究結果:森崎修司の「どうやってはかるの?」:オルタナティブ・ブログ

    IEEE Transaction on Software Engineeringの論文Raymond P.L. Buse and Westley R. Weimer: Learning a Metric for Code Readabilityから。120人の被験者が10種類のオープンソースプロジェクトのソースコードの一部(20行等、非常に局所的)をもとに読みやすさに影響を与えることを実験結果から示している。 25種類のメトリクスと読みやすさとの相関を求めている。メトリクスには、コメント行数や予約語の数、空行の数、括弧の数、変数名の長さ、変数の個数などが含まれる。このうち、読みやすさに最も影響を与えやすいメトリクスとして、1位に変数の個数、2位に行数、3位に括弧の数、9位に空行数、15位にコメント行数が示されている。 この論文では、多くの人に短時間で読みやすさが評価できるように、対象ソース

    ソースコードのコメントよりも空白行のほうが理解を助けるという研究結果:森崎修司の「どうやってはかるの?」:オルタナティブ・ブログ
    hiromark
    hiromark 2010/12/13
    感覚的に分かる気がする。
  • Amazon.co.jp: リーンソフトウェア開発と組織改革: Mary and Tom Poppendieck 著、依田光江翻訳、依田智夫監訳: 本

    Amazon.co.jp: リーンソフトウェア開発と組織改革: Mary and Tom Poppendieck 著、依田光江翻訳、依田智夫監訳: 本
  • 技術的負債 - Strategic Choice

    Technical debt最初のコードを出荷することは、借金をしに行くことと同じである。 小さな負債は、代価を得て即座に書き直す機会を得るまでの開発を加速する。危険なのは、借金が返済されなかった場合である。品質の良くないコードを使い続けることは借金の利息としてとらえることができる。技術部門は欠陥のある実装や、不完全なオブジェクト指向などによる借金を目の前にして、立ち尽くす羽目になる。 ウォード・カニンガムさんどういうこと?技術的負債とは、コードにおける「修正しにくい」「理解しにくい」といった、問題のある部分のことです*1。負債は、すぐに返済すれば、大きな問題にはなりません。しかし、長期間そのままにしておくと、利息が雪だるま式に膨らみ、もはや返済が不能なまでになってしまいます。技術的負債も同様です。問題のあるコードも、直ちに修正していけば大きな問題にはなりません。しかし、放っておくと、最終

  • 第4回 オブジェクト指向の本質 | gihyo.jp

    エンジニアとして良い仕事をするために必要なこと ソフトウェア業界で日米を往復しながら仕事をしていると、世界中のさまざまなエンジニアに会う。私のように「プログラミングを心底楽しんでいる」人から、「⁠新3K」(⁠きつい・厳しい・帰れない)を身をもって体験している人までさまざまだが、共通して言えることは、エンジニアとしての基礎がしっかりできている人とできていない人では、その生産効率に大きな開きがあり、それが結果的には、会社での労働環境や待遇に、そして結果として自分自身にとっての「仕事の充実度」に、大きな影響を与えているということである。 いつも締め切りに追われている、毎回バグで苦しんでいる、徹夜の連続で体力に限界がきているなど、「⁠仕事がきつい」理由はいろいろとあると思うが、会社や上司の悪口を言う前に、自分自身がプロフェッショナルなエンジニアとしてこの業界で勝負をするうえで必要な最低限の基礎がで

    第4回 オブジェクト指向の本質 | gihyo.jp
  • ソフトウェア技術者をやめるのは構わないがどの仕事でも認めてもらいにくいのは同じだと思うよ - ひがやすを技術ブログ

    私の職業プログラマのとしての最大の欠点は、ソースコードに対して強い美意識を持たずにいられなかったところだろう。生来の生真面目な性格が災いし、私の基準で美しいとはいえないソースコードを敵視しすぎた。 ソフトウェア業界(特に受託開発業界)は、基的に正直者が馬鹿を見る世界である。顧客(あるいは経営者)が、保守性というソフトウェアの最も重要な品質を正しく評価できないという、情報の非対称性が存在するからだ。 経営者やお客様は、ソフトウェアの品質を正しく評価できない。なぜなら、その人達は、訓練を受けたプロではないから。 言ってることは、かなりの部分、そのとおりだと思います。しかし、これは、ソフトウェアに限らず、普遍的な真実なんですよ。 あんなだめな仕事をしている人に比べて、自分は、ちゃんとした仕事をしている。でも、上司も経営陣もお客様もそれを認めてくれない。 これは、どんな仕事をしていてもあり得る話

    ソフトウェア技術者をやめるのは構わないがどの仕事でも認めてもらいにくいのは同じだと思うよ - ひがやすを技術ブログ
    hiromark
    hiromark 2010/11/10
    "いい仕事をしていたから、世間に認めてもらえるほど、世の中甘くない。でも、認めてもらうためには、良い仕事を地道にし続けるしかない。"
  • スタートダッシュ型仕事術:実践編

    昨日書いた「『時間に余裕があるときにこそ全力疾走で仕事し,締め切りが近づいたら流す』という働き方」というエントリー、Twitterやハテブでたくさんのフィードバックをいただいたが、その中で気になったものの一つが、「そうは言っても仕様がころころ変更になるからスタートダッシュで仕事をしていたら時間が無駄になる」というもの。 まず最初に言っておくと、「仕様がころころ変更になる」のはソフトウェアの宿命。どんなに頭の良い人が設計しても、「作ってみなければ分からない」「使ってみなければ分からない」ことはどうしてもあるので、「アーキテクチャの大幅な変更」「ユーザーインターフェイスの大幅な変更」があるのはあたりまえ。 ぜひとも認識して欲しいのは、「だからこそスタートダッシュで肝となる部分を一気に作って、早めに(仕様変更が必用かどうかの)見極めをする必用がある」という点。特に「作って見なければ分からない」部

    スタートダッシュ型仕事術:実践編
    hiromark
    hiromark 2010/07/21
    個人でならなんぼでもやるけど組織でやるのが難しい。
  • Communications of ACM - steps to phantasien(2010-01-04)

    年始はべものの調達が億劫で, 大鍋にカレーを作り三日三晩べ続けた. 量が多過ぎたので最後の夜は友人 M に助けを求めた. 鍋を空にすべくたらふくべたあと土産にもらったチャイをすすりふと見ると, やはり腹ごなしに棚を物色していた M が CACM の山に目をとめていた. CACM: Communications of ACM は, 米国のコンピュータ学会(ACM)が発行する月刊の会誌. 昔々はこれに論文を載せるのが計算機科学者のステータスだった, らしい. たとえば "Goto statement considered harmful" に 続く一連の論争は CACM の投稿欄で行なわれた. ダイクストラがジャンプ放送局に出てくる雑誌を想像してほしい. もうちょっとマシな例だと Quicksort なんかも CACM が初出のよう. 最近は分野の細分化が進み, CACM で最先端の研

  • 古くなっても名著は名著

    日経ソフトウエア2004年12月号(10月23日発売)で「プログラミングの良書100冊!」という特集を担当した。記事中では,まつもとゆきひろ氏にRubyを作るのに役立ったを挙げていただくなどなど,現役の技術者の方々に自分が読んでためになった,読者にお薦めのを紹介していただいた。 実のところ,執筆をお願いした方々の中には日々の作業に終われてあまりを読んでいない人もいるのでは(失礼!),といった心配もあったのだが,まったくの杞憂に終わった。忙しいながらも何とか時間を作って自己研磨に励む,というのが優秀な技術者の方々に共通する姿勢のようである。 紹介していただいた書籍の中には,JSFJavaServer Faces)などの最新技術の解説書がある一方で,やはり強かったのがBertrand Meyerの「オブジェクト指向入門」(アスキー発行),Jon Bentleyの「プログラム設計の着想

    古くなっても名著は名著
    hiromark
    hiromark 2009/03/05
    そう思います。
  • 『帰宅』

    というわけで、帰宅しました。 なんだかんだで僕はデバッグが好き(?)なので、デバッグはじめちゃうと終わるまで家に帰れないw というかバグがあるともやもやしていて、もやもやしていると眠れないのですね。 Sedueを開発していたころを思い出します。 Sedueは、初めてPFIが世の中に出した製品なのでとても思い入れが深いのですが、 冗長化とか自動復旧とか、自動管理とか、つめこみたいものをつめこみまくったので、 かなりデバッグはしねるプロダクトでした。けっこうデバッグで徹夜しました。でも、 液晶プロジェクタでログをながしながらバグをとっていく作業は、複数人でやっていたということもあって エキサイティングではありました。思いっきり負荷をかけて、1日たつと 落ちてしまったりとか。ただ、検索エンジンという性格上、落ちることは許されないので、 そういうバグが見つかると、徹底的に精査してバグをとったり。

    hiromark
    hiromark 2008/07/25
    理想的かも。
  • はてなブックマークの関連エントリー機能開発、PFI さんとの合宿 - naoyaのはてなダイアリー

    はてなブックマークに関連エントリーを配信する機能を追加しました。詳しくは 告知日記で。 この関連エントリーは、株式会社プリファードインフラストラクチャー (以下 PFI) の技術者のみなさんと一緒に開発しました。週末に2泊3日で京都で合宿をしてコア部分を作り、その後京都と東京に分かれてオンラインで連絡を取りながら2週間ほど作り込みをして、今日リリースです。 この合宿では何チームかに分かれて、今回の関連エントリーの機能以外の開発も行っています。その辺の成果はまた後日にリリースできるのではないかと思います。 はてなブックマークの一つの問題として、昔のエントリーがデータベースに埋もれてしまうという点がありました。その問題の解決策としての類似記事抽出、それから検索機能の強化を以前から考えていました。PFI のメンバーのみなさんは情報検索技術のスペシャリストです。アカデミックな研究の成果を製品化を通

    はてなブックマークの関連エントリー機能開発、PFI さんとの合宿 - naoyaのはてなダイアリー
    hiromark
    hiromark 2008/07/15
    刺激的そうな開発風景ですねえ。
  • 人月を超えるとプログラムしている暇が減る : 404 Blog Not Found

    2007年09月26日16:15 カテゴリArtMoney 人月を超えるとプログラムしている暇が減る 人月が銀の弾(たま)ではないことが知られて久しいのに、「人月伝説」が衰えないのは、誰が悪いのだろうか? 矢野勉のはてな日記 - プログラマなら人月なんかさっさと超えろ 人月というのは「人月の神話」以来、現場の技術者にとっては「お金の計算にしか使えない単位」なのですが、発注者側に分かりやすいということでいまでも大はやりしています。というか受注者側もまじめにこの単位で計算しています。 実は、プログラマー自身なのではないだろうか。 実は人月というのは、発注者側だけではなく、プログラマーにとっても楽なのだ。人月見積において、プログラマーが考えなければならないことは、「それを作るのにどれくらいの時間がかかるか」ということだけだ。「それを完了するのに何と何と何が必要で、それぞれこれくらいの手間がかかる

    人月を超えるとプログラムしている暇が減る : 404 Blog Not Found
    hiromark
    hiromark 2007/09/27
    なるほど!!
  • プログラマなら人月なんかさっさと超えろ - 矢野勉のはてな日記

    Java, プログラミングノリノリで書いてみる。 人月というのは「人月の神話」以来、現場の技術者にとっては「お金の計算にしか使えない単位」なのですが、発注者側に分かりやすいということでいまでも大はやりしています。というか受注者側もまじめにこの単位で計算しています。 そしてJavaの世界というのは、私のようにJavaが大好きだからやってる、という人間はすごく少数派で、「そろそろJavaでもやっとくか」「Strutsの使い方覚えたからもういいか」「できればJavaなんかいじりたくないなー。俺も早くプログラマに『これやっといて』って言えるようになりたい」という人のほうが多いのが実情なんですね。その点Rubyの世界は、今は「好きだからやってる」人が圧倒的でしょう。プログラム能力の高いJavaプログラマを探すのは、プログラム能力の高いRubyプログラマを探すよりずっと大変だろうと思う。 Javaの世

    hiromark
    hiromark 2007/09/27
    プログラマなら必読なエントリ。
  • 満足せる豚。眠たげなポチ。:プログラミングの原則を集めた Wiki 作りました。

    プログラミングのノウハウや Tips、入門なんかはたくさんあるのだけど、当に基礎となるような原則って意外に紹介される機会が少ない。 まさーるさんの「Open-Closed Principle とデザインパターン」や「オブジェクト指向の法則集」を見たときから、当に世の中に知られるべきなのは、こういう内容だよなぁと思っていた。 ということで、作ってみました。 Concepts + Principles - プログラミングの原則 作った主旨もすでにまさーるさんのページで書かれているとおりです。 これらの法則は,絶対守らなければならないというものではありません.開発中に法則が守られているか意識することが重要です.つまり 今行っている設計はその法則が守られているだろうか その法則を破っている場合,破るべき正当な理由があるだろうか と絶えず考えるようにしましょう. via 「オブジェクト指向の法則

    hiromark
    hiromark 2007/05/31
    良さそう & 良くなっていきそう。
  • ウノウラボ Unoh Labs: テスターを雇わない経営者の誤った理屈 best5

    こんにちは! やまもと@テスト番長です。 みなさんはJoel on Softwareという(とWEBサイト)をご存知でしょうか。 以前ウノウラボでもnaoyaさんがThe Joel testのエントリを書いています。 サイトの記事をひとしきり読んだあとで、は買って積んであったのですが 先日ふと手に取りぱらぱらページをめくっていたところ、 テストについて書いた面白い章があったのでご紹介します。 ■ 第22章 テスタを雇わない(間違った)理由、ベスト5 1.バグは怠惰なプログラマから出てくる →人は誰でもうっかりミスを犯します。他人の目から見たチェックをすべきです。 2.私のソフトウェアはWeb上にある。バグはすぐに直せる →リリース後の修正はずっと高くつくものです。 3.ユーザがソフトウェアをテストしてくれる →会社の品質に対する印象を悪くします。 4.テスタとして優れた資質のある

    hiromark
    hiromark 2007/02/18
    なるほど。