タグ

お勧めに関するryoasaiのブックマーク (15)

  • Strategic Choice

    Problemこのクラスは大きすぎて、もうこれ以上大きくしたくありません。「単一責務の原則」を適用してクラスを分割しようと思います。分割の具体的な方法がわかりません。Strategy「クラスの抽出」を適用します。どんなとき?「単一責務の原則」を適用してクラスを分割しようと思います。責務を把握したので、分割の実装を行いますが、具体的な方法がわかりません。どうする?「クラスの抽出」リファクタリングを適用します。ほとんどのレガシーシステムにおいて、最初にできることは、「実装レベル」で単一責務の原則を適用することです。つまり、大きなクラスから「クラスの抽出」をして、抽出クラスに委譲することです。「インタフェースレベル」で単一責務の原則を導入するには、より多くの作業が必要です。クラスの呼び出し側を変更しなければならず、テストも必要になります。まず、実装レベルで単一責務の原則を導入しておくと、将来イン

  • 「プログラマが体験するべき50の危険なこと」と「きのこ本」 - 日々常々

    「プログラマが体験するべき50の危険なこと」 - Togetterまとめ*1 プログラマが体験するべきではない50の危険なこと - Life like a clown はてなブックマーク - Togetter - 「「プログラマが体験するべき50の危険なこと」」 あるあるネタです。よくある危険な体験談なので、共感を得られるのも当然だと思います。ですが、単に並べるだけでは苦笑やネガディブなネタになってしまい、何も改善されません。 笑って済ませるのは悪です。そんなの皆わかってるでしょうけど、改めて「そんなもの」にしてしまわないように意識して欲しいと思うのです。どこが危険であり、どう改善するべきか。また、なぜそのような事が行われるか。そして実際体験する事になった場合の対処等に展開できたらいいなと思っています。最終目標はこれらの多くを無くす事です。こんな事、体験させるべきじゃないんです。 発端 子

    ryoasai
    ryoasai 2011/06/01
    解決策が示されてはじめてアンチパターンはパターンとしての価値がある。
  • 勉強会にいこう - 日々常々

    プログラマになろうで「外の勉強会に行きましょう」とか書きましたけど、「そんな事言われても…」と感じる方も結構居ると思います。そんな方の気持ちを少しでも楽に出来ればと思って書いてみます。 いつどこでやってるの? まず存在を知らなければ参加も出来ませんね。という事で私が見つけてるところ。 Welcome to Twitter - Login or Sign up ATNDカレンダー検索 IT 勉強会カレンダー Twitterは言うまでもないですね。ATNDカレンダー検索はATNDの検索をしてくれるもの*1。IT勉強会カレンダーは id:hanazukin さんが個人で趣味でされているものらしいのです*2が、あらかたの勉強会の情報は集まっています。参加されてる方の話を聞くと、こちらで知ったって方も結構居ます。 募集サイトはいくつかあります。(随時追記) イベント開催支援ツール アテンド : AT

  • 閑話 −僕と契約して魔法少女に・・・ その2− - rikitoroの日記

    僕と契約して魔法少女に 「さて、君はソウルジェムの質、それがなんだかわかるかい?」 「ソウルジェムの質・・・魔法の、魔力の源、かな。」 「確かにソウルジェムは魔法少女に特別な力を、魔法を与えてくれる。でもね、それは質とは言えない。その質はね、"契約"なんだ。」 「契約・・・」 「僕はね、魔法少女、彼女たちの願いをかなえ、そして彼女たちは魔法少女となり魔女と戦うことを誓う。この契約が形として現れているのがソウルジェムなんだ。いわば契約書だね。重要なのはソウルジェムそのもの自体じゃない、契約なんだ。」 「そんな。」 「そしてね、魔女、これも契約として表現できる。さらに言わせてもらうと、今の僕と君の関係、これも契約としてとらえることができるんだ。」 「えっ?でも、私そんな契約した覚えなんか・・・」 「確かにね。でも、君はこうやって僕の姿を見て話をすることができるだろ。これもいわば、魔法少

    閑話 −僕と契約して魔法少女に・・・ その2− - rikitoroの日記
  • 閑話 −僕と契約して魔法少女に・・・ その1− - rikitoroの日記

    魔法少女とインキュベーターと責任関係 始まりは@ryoasai74 氏の ということで、魔法少女とインキュベータ―との契約関係、ちょっと考えてみました。 魔法少女クラスと魔女クラスと 「さて、君たちは僕たちインキュベーターとの契約によって魔法少女となり、そしてやがて魔女となりこの世界に厄災を振りまくことになるんだけれども、うん、君はこの運命をどうモデル化するつもりなんだい。」 「えぇっ?!えっと、魔法少女がいて、それから魔女もいるんだよね。こ、こうかな?」 「うん、悪くない。最初にしてはね。{incomplete}とあるのは君のように魔法少女でも魔女でもない、いわば普通の人もいるってことだね。」 「うん」 「じゃあ、オブジェクト図で書くと次のようになるね。」 「そうだけど。」 「うん、悪くない、悪くないよ。でもね、例えば美樹さやか、彼女は魔女になる前は魔法少女だったわけだし、さらにその前は

    閑話 −僕と契約して魔法少女に・・・ その1− - rikitoroの日記
  • アウトプットのすすめ - ふものしっぽ

    知識を持っていることは偉くない 例えばあなたがあなただけしか知らない知識を持っているとして、それを自分の"武器"だと思っていたとします。その知識は様々な人が必要としているので、はじめのうちは皆あなたに感心を持ち、あなたのそばに寄ってくることでしょう。あなたもきっと気持ちいいことと思います。 しかしそれはいつまでも続きません。固定化された知識に縛られたままではいつかその知識も陳腐化し、世の中から見放されてしまうのです。古くて重くて錆びた鎧や武器ではもう闘えないのです。 重要なのは知識を循環させること それでは何がいけなかったのでしょうか。先ほどの例ではある知識・ある技術に固着しすぎた結果、より新しい技術の習得の機会を逃してしまっていたと考えることができます。世の中は循環しています。様々なものが生まれては消え、また生まれてを繰り返しています。技術も例外ではありません。今日、得た知識はもう明日に

    アウトプットのすすめ - ふものしっぽ
  • COBOL入門 ひよこグミ

    サルでもわかるCOBOL入門 サル並みの知能しかない私でも覚えることができました 笑いながら楽しくCOBOLを習得しましょう! リンクフリー ※フレーム分割画面表示 検索などで辿り着いた場合は、クリックして下さい 【更新履歴】 2007/05/22 >COBOL記述時の注意点の中で誤字がありましたので修正。PERFROMになってますた。。 2007/03/09 >How to ダウンロードのCOBOL85ダウンロード先がいつの間にか移転してたためURLを変更 2007/02/07 【テーブル操作】検索3用データ配信を追加 【近況報告】 2007/05/22 4月の残業が230時間を超えました。よく倒れずに頑張ったと思います。 【サイト紹介】 2003/08/19 大先輩であるvokさんのサイト 何で今更構造化プログラム 監督職の方々は必見! 初めてのお客様へ 【COBOLとは?】 COBO

    ryoasai
    ryoasai 2011/04/16
    COBOL85やMicroFocus Net COBOLのフリー版は今では入手できないようですね。
  • QConTokyo2011、参加セッション決め台詞(?)一覧

    QConTokyo2011 に参加してきました! まともに参加した初めてのセミナーだったため、非常に新鮮でした。 まとめをしたい所なんですが、時間も時間で眠いため、 参加した各セッション毎の決め台詞というか、ポイント一覧だけまずは投稿します。 ドメイン駆動設計:複雑な問題群に対する有用なモデル達 現実/何にでも使える1つのモデルを追い求めるべきではない。 あくまで"何のために?"をベースに役に立つモデルを選択すべき。 設計時に役に立つモデルが見えていることはまず無い。 Webアプリケーションエンジニアがみてきたこの10年 エンジニアの誇りとは、高度な技術によって得るものではない。 自らが使命とする問題領域をより高度な技術基盤によって発展させることによって 得るものである。 #微妙に違うかもしれません。 自律的な学びのデザインと誘発 ― 学びのパターン・ランゲージ 変化が激しい現代社会では、

  • 読書マップとDDD 〜DDDは3冊目の本?〜 - Digital Romanticism

    技術書の読み方を考えつつ、『ドメイン駆動設計』を位置づける。 はじめに 〜1冊目の〜 あなたは技術書をどのくらい読んでいるでしょうか?多い人は月何冊も読んでいるでしょうし、もう何年も読んでいないという人もいるでしょう*1。あるいは、「買っているけど読んでいない」ということもあるかもしれませんね。私にも積んでしまっているがあります。 技術書はすでにかなりの数が出版されており、その数は増え続けています。経験を積んだ方であれば、「自分にとって必要なを見抜く眼」を持っているものですが、これから学ぼうとする方にとっては、読んだ方がよさそうなの数も値段も絶望的かもしれません。このエントリの目的の1つに、『ドメイン駆動設計』の紹介があることは否定しませんが、それ以上に、「技術書の読み方」について考えてみたいと思います。 仕事としてプログラミングに携わる人であれば、「退職するまでに1冊も読まない人

    読書マップとDDD 〜DDDは3冊目の本?〜 - Digital Romanticism
  • How the Japanese IT Industry Destroys Talent

    Part II: My struggle at the frontline of Japanese Enterprise IT (Published in Magazine No 71: Part I: How Japan’s enterprise IT has failed to learn from its most competitive industry–manufacturing.) By James Mok While troops of IT project managers and engineers are being sent to ‘Death March’—a popular term to describe the brutal working conditions of extreme overtime work, tremendous customer pre

    ryoasai
    ryoasai 2011/04/01
    面白い。日本のSI業界の状態がどのくらい海外で知られているのだろう。匠の技の光る製造業との対比もその通り。このような議論が英語で発信されることは興味深い。また外国人の視点でかかれると説得力が俄然高い。
  • プロとしての行為 Act as Proffesional

    1.一般的なコーディング規約に目を通し、エレガントなコードを知るエレガントなコードを書くためには、エレガントなコードを知らなければならい。その土台を築いているコーディング規約について、オープンソースではどのようなものが使われているのか理解しておこう。入社する予定の会社が採用している言語については必ず目を通しておこう。 PHPPEAR 標準コーディング規約symfony CodingStandards Perlperlstyle Ruby クックパッド株式会社のRubyコーディング規準 Matzスタイル NaClで採用している規約 Python PEP 8そして、あなたの身近にあるオープンソースのコードを実際に読んでみよう。この時点でコードの仕組みや設計が理解できなくても良い。コードがエレガントかどうか?を感じ取って欲しい。こう書いた方が、良いのではないか?など、考えてみよう。

    プロとしての行為 Act as Proffesional
  • REST in Spring 3: @MVC

    In the last couple of years, REST has emerged as a compelling alternative to SOAP/WSDL/WS-*-based distributed architectures. So when we started to plan our work on the next major release of Spring - version 3.0, it was quite clear to us that we had to focus on making the development of 'RESTful' Web services and applications easier. Now, what is and isn't 'RESTful' could be the topic of a whole ne

    REST in Spring 3: @MVC
    ryoasai
    ryoasai 2011/03/09
    Spring MVCのRESTサポートについて
  • Scalaを始めようと思っているJavaプログラマのための、JavaとScalaの予約語の違い - xuwei-k's blog

    ScalaJavaってまぁまぁ見た目は似てて、同じ予約語も多いので、Javaの予約語を、Scalaの視点からみた場合に分類して簡単に解説してみました。分類の方法は独自だし、けっこう雑です。 Scala始めようと思ってるけど、Javaのあの予約語は、Scalaだと同じやつあるの?もしないなら、Scalaの予約語の、どれを使えばいいの? っていうJavaプログラマ向けです。Javaプログラマにこそ、Scalaが普及して欲しいので。 完全に説明するのもめんどくさかったので、説明もなんか雑ですが・・・ 同時に、以前scalaの予約語について書いたものがあるので、こっちも見るとよいかも。*1 だいだいJavaと同じ機能のモノ 特に説明の必要がないほど、ほぼJavaと同じ使い方するものはなにも書いてません。 catch class もちろんclassの定義に使うのは同じです。 が、Javaの場合 C

    Scalaを始めようと思っているJavaプログラマのための、JavaとScalaの予約語の違い - xuwei-k's blog
  • Stringの連結はそう簡単なものではない - かとじゅんの技術日誌

    追記: 指摘の通りで、現実的な連結回数での計測でもないですし、統計手法を用いた分析をしていないので、このエントリの計測値は当てにしないでください。なので以下のブログを参考にしてください。 currentTimeMillis()で計測しておいて plusTime:14780, concatTime:7053, sbuilderTime:7, sbufferTime:13 とか、その7とか13の有効数字はいくつだっての。 激しく今更感があるタイトルですが(;・∀・) 昔に取り上げたのですが、 文字列の結合をやるからといって、すぐにStringの+をつかってはいけない - じゅんいち☆かとうの技術日誌 Stringの+演算子は間違った使い方するとパフォーマンスが低下しますよっていう話題。若干ネタ成分ありますが、ご容赦ください。 これ系の話題は自分的にはオワコンなんですが、最近、また話題を見つけた

    Stringの連結はそう簡単なものではない - かとじゅんの技術日誌
    ryoasai
    ryoasai 2011/02/23
    業務アプリだと、文字列連結より通信やDBがネックになることが多いため、通常は可読性を重視して気にしないこともあります。プロファイラでネックになっていたらこうした知識が役に立つ。
  • 並行処理におけるメモリの可視性保証について - かとじゅんの技術日誌

    並行処理プログラミングにおいてJavaのメモリモデルを深く掘り下げたことがなかったのでちょっと気出してみます。しかし、間違っているところあるかもしれません。ツッコミいただければ適宜訂正させていただきます。 可変データへのアクセスを同期化 JavaでActorっぽいものを作ってみるで使っていた、canceledフラグはvolatileという修飾子を付けて宣言しています。 簡単にいうとと固有ロックを使わずに、フィールドを読み込むスレッドが、最後に書きこまれた値を見えるようにするためのvolatile修飾子です。 と、あまりに簡単に説明しているので、もう少し具体的に理解するために、まず、volatile修飾子を付けない通常の変数では、どうなるのかEffective Java第二版の「項目66 共有された可変データへのアクセスを同期する」の例で考えてみたいと思います。 Effective Jav

    並行処理におけるメモリの可視性保証について - かとじゅんの技術日誌
    ryoasai
    ryoasai 2011/02/21
    一般にvolatileは可視性のみで原子性を保障しませんが、longとdoubleのvolatileの読み書きの原子性は保障されたのではなかったかな(要確認→確認済みhttp://j.mp/g0Zuco)。
  • 1