タグ

設計論に関するkatzchangのブックマーク (54)

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    katzchang
    katzchang 2008/10/16
    練習にいいかも。
  • プログラミングのセオリー - ぐるぐる~

    プログラミングのセオリー 作者: 矢沢久雄出版社/メーカー: 技術評論社発売日: 2008/10/04メディア: 単行(ソフトカバー)購入: 1人 クリック: 138回この商品を含むブログ (42件) を見る 矢沢さんはオブジェクト指向周りでおかしな部分が多いので、Chapter7から読んでみた。 なんというか、期待を裏切らない人だw いろいろと書いてたんだけど、一番あり得ない部分が埋もれてしまったんで、ばっさり削除して大事なところだけ。 「多態性を実現したコード」として、以下のコードを紹介している。 public class Animal { private String voice; public void nake() { System.out.println(this.voice); } public Animal(String voice) { this.voice = voi

    プログラミングのセオリー - ぐるぐる~
    katzchang
    katzchang 2008/10/09
    クラスとインスタンスの混同かな。他態性は出力の違いじゃなく処理内容の違い、か。出力が一緒でも、多態はあるし。
  • Jonas Bonér » Blog Archive » Real-World Scala: Dependency Injection (DI)

    Update: Corrected typo in the Cake Pattern version of the last example. Update: Added a version of the last example using the Cake Pattern for easier comparison (see end of post). In this second post in the Real-World Scala series I am going to discuss how to implement/achieve Depenency Injection (DI) in Scala. Scala is a very rich and deep language that gives you several ways of doing DI solely

  • プログラマーにとっての読み書きそろばん : 小野和俊のブログ

    基礎的な学力を表す言葉として読み書きそろばんという言葉があるが、 私はプログラミングについても読み書きそろばんに当たるものがあると思っている。 まず読みというのは、プログラムを読む能力である。 たまに、人の書いたソースを見て、すぐに 「全面的に書き直さないと使い物にならない」とか、 「グチャグチャですよ」とか、 「気持ち悪い」といったことを口にする人がいるのだが、 多くの場合、なぜそのように感じるのかを聞いてみると、 単に自分が今まで書いてきたコードと違ったスタイルで書かれている、 ということだったり、ごく一般的なデザインパターンが使われているのに、 そのデザインパターンを自分が知らないだけで 「わかりにくくて読めない」などと言っていたり、 人のコードを使い物にならないと簡単に口にする人であればあるほど、 その人自身が使い物にならない、という傾向がある。 もちろん、全体の整合性を取るために

    プログラマーにとっての読み書きそろばん : 小野和俊のブログ
    katzchang
    katzchang 2008/10/03
    行数は常に結果論。書き始めは1行からなので、そんなに心配することはないですよ。と、書いては消しグラマーが申しておりました。
  • COBOL基本文法3(PERFORM)

    COBOL基文法3 「PERFORM/EVALUATE」 (繰り返し・多分岐) ●データ定義について● COBOLでのデータ定義にはレベル番号という概念があります。 01  WK-PUNIPUNI     PIC  X(10). 単独項目として定義する場合は、01 か 77 を使用します。 これらの場合はA領域から書き始めます。 集団項目の定義だと下のようになります。 01 WK-AREA. 03 WK-PUNIPUNI   PIC  X(10). 03 WK-DOKODON.  05 WK-DOKO    PIC  X(03). 05 WK-DON     PIC  9(02).    01 以下のレベル番号はそれより下位の番号であれば 特に付け方に決まりはありませんが、後の変更に対する 柔軟性を持たせるという意味で通常は2つおきに レベル番号を割り当てます。ただし、77のような 単独

    katzchang
    katzchang 2008/09/11
    古典として。
  • 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

    katzchang
    katzchang 2008/09/11
    古典として。
  • COBOLとか談義 on Twitter - monjudoh’s diary

    なにやら盛り上がっていた。 COBOLは使ったことないしおそらく今後使うことはないので言及はしない。ただもくもくとふぁぼるのみ。適当なタイミングでまとめる。 ということで途中経過をまとめた。 まとめ方法 議論と関係ないエントリをどんどんクリックして隠していくところまでは↓ Twitter議事録 - 文殊堂 その後実行するscriptは↓ 9626’s gists · GitHub クリップボードにコピーされるのではてダにペースト。 まとめ文 nagise 新システムで敢えてCOBOLか。ビジネスロジックって要は誰が書いても同じ部分のことだろうなぁ http://slashdot.jp/developers/article.pl?sid=08/09/09/0252214 nagise 要するに、順次・反復・分岐という情報処理の基礎部分だけでやれる簡単なお仕事という部分で、その辺ならCOBO

    COBOLとか談義 on Twitter - monjudoh’s diary
    katzchang
    katzchang 2008/09/09
    「JavaはCOBOL汚染しにくい!COBOLの方がCOBOLだ!」/逆に、転記が不得意な言語ってあるんだろか。どの言語でも、遠回りなやり方はあろうけど。/コピペ文化はつらい。
  • [Ruby][Perl]Ruby VS Perl

    俺がPerlを捨ててRubyに行った理由と同じ - ’(rubikitch wanna be (a . lisper)) 初めてPerl触って思ったこととか - ずっと君のターン 私はこれで Perl から乗り換えました。 バベル案内 [Ruby] Ruby >>>(越えられない壁)>>> perl (第一種臨界不測日記) 「Perlベストプラクティス」まとめ を読んでふと「Ruby使えばいいのに」と思った - World Wide Walker 「美しいコードを書けるからRubyを選んだ」---Ruby on Rails作者 David Heinemeier Hansson氏:ITpro Ruby on Railsはすでに60万件以上ダウンロードされました。 またRailsについての書籍「Agile Web Development with Rails」は4万部になりました。 Lispと

    [Ruby][Perl]Ruby VS Perl
    katzchang
    katzchang 2008/09/04
    いいまとめ。
  • 次のプログラミング言語は「レイヤー方式」がいいなぁ

    最近、プログラミング言語があんまし進化していないような気がする。 まあ、確かにフレームワークとかはできたけど、苦労の割にはあんまし便利になっていない。 覚えなきゃいけないことも増えているし。 ところで、面白いプログラミング言語を見つけた。 ERPで有名なSAPのABAP。 言語自体はかなりへっぽこ。 (SAPの人、すみません。あくまで私見です) でも、便利な部分があるのだわ。 SAPが開発した部分って、基的には変更不可能。 まあ、そりゃそうです。まともに動かなくなったら困るしね。 でも、新しいバージョンではちょっと違う。 SAPの書いたプログラムの上に上書きする機能が増えた。 気持ち的にはフォトショップのレイヤー機能みたいな感じ。 もともとあるプログラムの上にレイヤーを重ね、そこにプログラムを書くことができる。 これ、便利だわ。 SAPの方にバグがあったら、SAPのプログラム修正版を上書

    次のプログラミング言語は「レイヤー方式」がいいなぁ
    katzchang
    katzchang 2008/09/04
    AOPとかメタプログラミングとかか。「最近、プログラミング言語があんまし進化していないような気がする。」そーでもない。
  • http://homepage.mac.com/mkino2//oop/chainOfResp/self.html

    katzchang
    katzchang 2008/09/02
    Selfでコレを実装する意味ってあるんだろか…。
  • Collection & Copy - JavaScriptにおける古典的継承

    翻訳 原文:Classical Inheritance in JavaScript著者:Douglas Crockford ※原文のコード内に誤りがあり、このまま記述しても動作しません。著者のコメント及び補足情報は翻訳メモを参照下さい。 君は自分が利口で階級にも属さず 自由だなんて思い込んでる―John LennonJavaScriptは、クラスという概念に囚われていない言語です。JavaScriptでは、古典的な継承の代わりにプロタイプ的な継承を使用します。これはC++Javaのような旧来のオブジェクト指向言語に長けたプログラマを当惑させるかもしれません。JavaScriptのプロトタイプ的継承が、古典的継承に比べていかに表現力が優れているかを、これから見ていきましょう。 JavaJavaScript強い型付け弱い型付け静的動的古典的プロトタイプ的クラス関数コンストラクタ関数メソッド関

  • 動的型付言語とデザインパターン - あどけない話

    「具体例で説明するデザインパターン」は、よく使われている JavaScript のデザインパターンについて分りやすく説明しています。 そもそも、僕がこのブログを始めた理由は、JavaScript のデザインパターンを議論したいからでした。(今では、全然違う内容になっていますが。^^;) そして、その議論を止めたのは、動的型付言語では、デザインパターンはそんなに重要でないと気付いたからです。 きっかけは、「ハッカーと画家」です。このの 201ページには、以下のような脚注があります。 ピーター・ノーヴィッグは『デザインパターン』に挙げられた23のパターンのうち16はLispでは「全く見えないか、あるいはより簡潔である」ことを見出した。 これは、「Design Patterns in Dynamic Programming」というスライドのことです。 Java でデザインパターンがもてはやされ

    動的型付言語とデザインパターン - あどけない話
    katzchang
    katzchang 2008/09/02
    同意同意。
  • observerを利用して嬉しくなること - ザリガニが見ていた...。

    以前の日記で、restful_authenticaionのobserverを利用しないコードに変更してしまったが、その後、修正を繰り返すうちに、observerにはobserverの良さがあることに気付き始めた。 以前の発想 observerを利用した場合 # コントローラー class UsersController < ApplicationController def activate self.current_user = params[:activation_code].blank? ? false : User.find_by_activation_code(params[:activation_code]) if logged_in? && !current_user.active? current_user.activate flash[:notice] = "Signup

    observerを利用して嬉しくなること - ザリガニが見ていた...。
  • イヌネコ - d.y.d.

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

    katzchang
    katzchang 2008/08/20
    書いてみた。
  • オブジェクト指向は本当に「オブジェクト」指向か? -INDEX-

    [オブジェクト指向は当に「オブジェクト」指向か?] INDEX 1.オブジェクト指向かクラス指向か? 2.人の身分をどうモデル化するか? 2.1 身分を関連の役割で表現したモデル 2.2 身分を人から分離させたモデル 2.3 人を「分類」したモデル 3.分類によるモデリング 3.1 多重分類と動的分類 3.2 なぜ多重分類、動的分類を実装できないのか? 3.3 分類によるモデリング 3.4 いつ分類によるモデリングをすべきか? 4.まとめ 4.1 (再び)オブジェクト指向かクラス指向か? 4.2 オブジェクトの世界は階級社会? 5.参考文献 written by (株)オージス総研 オブジェクト第一事業部 開発技術コンサルティング室 平澤 章

    katzchang
    katzchang 2008/08/11
    問題意識がかぶった。そこでプロトタイプベースですよ(多分)。/1999年か…。その後、どう考えてるんだろうか。
  • prototypes vs classes was: Re: Sun's HotSpot

    prototypes vs classes was: Re: Sun's HotSpot Alan Kay alank at wdi.disney.com Sat Oct 10 04:40:35 UTC 1998 Previous message: prototypes vs classes was: Re: Sun's HotSpot Next message: prototypes vs classes Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] Folks -- Just a gentle reminder that I took some pains at the last OOPSLA to try to remind everyone that Smalltalk is not only NOT

  • isherの日記

    katzchang
    katzchang 2008/08/08
    Javaのメソッドはインスタンスに束縛された手続き、PHPの関数は実行環境に束縛された手続き。かな。いろんな面と説明はあるだろうけど。
  • アスペクト指向プログラミング - Wikipedia

    アスペクト指向プログラミング(Aspect Oriented Programming、AOP)は、横断的関心(英語版)を実装する手法によって、プログラムのモジュール性を高めることを目的にしたプログラミングパラダイムである。横断的関心とは、関心の分離によるモジュールの複数以上にまたがっている共通機能を意味している。AOPはこの横断的関心を、既存コードに設けた間接点(joint point)を通しての振る舞い助言(advice)の追加によって、コード変更を伴なわずに実装できるようにしている。任意の間接点および振る舞い助言の定義をまとめたモジュールがアスペクト(英語版)と呼ばれ、これが横断的関心の表現体になる。例としては、全ての関数呼出しにログ出力を伴わせたい時に、全関数冒頭にjoint pointを設けてログ出力コードをadviceにしたアスペクトをプログラム内に定義することで、自動的に各関数

    アスペクト指向プログラミング - Wikipedia
    katzchang
    katzchang 2008/08/08
    英語版を参照すべき。見る価値はない。
  • Self - Wikipedia

    Self は、「プロトタイプ」の概念に基づいたオブジェクト指向プログラミング言語である。1980年代から1990年代にかけて言語設計の実験的システムとして使われていたが、2018年、Self の開発は続けられており、Self言語自身で書かれた Selfバーチャルマシンを構築する Klein プロジェクトが進められ、2006年7月にバージョン 4.3 がリリースされた。 歴史[編集] 1986年、パロアルト研究所で働いていたデビッド・アンガーとRandall SmithがSelfを設計した。Smalltalk-80が一般にリリースされて産業界から真剣に受け止められ始めていることから、オブジェクト指向プログラミング言語の研究をさらに進めることを目的として行われた。彼らはスタンフォード大学に移り、Selfの作業を進め、1987年に最初のコンパイラを完成させた。そして、言語だけではなくSelfのシ

    Self - Wikipedia
    katzchang
    katzchang 2008/08/08
    全体的にわかりやすい説明。動的型付けのクラスベースだと、あるオブジェクトへのメソッド追加は同じクラスのオブジェクト全体に影響を及ぼす、みたいな。
  • Dr. Alan Kay on the Meaning of "Object-Oriented Programming"

    Dr. Alan Kay explains when "object-oriented" was first used and what it means. [] (Meaning of "Object-Oriented Programming" According to Dr. Alan Kay (meaning of OOP objectoriented definition term notion meaning explanation what is)), document, page 721691 https://www.purl.org/stefan_ram/pub/doc_kay_oop_en (permalink) is the canonical URI of this page. Stefan Ram Dr. Alan Kay  on the Meaning of “O