忍者ブログ
へなへな元文系PG⇒今は何故かWebデザイナーの補佐のブログ。主にネット上のコンテンツを参考に勉強中。その備忘録的ブログです。
2025/04/28 (Mon)
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

2009/06/04 (Thu)
五年振りにJavaに触れてみましたがガリガリかけるようになったぜ! っという訳でもなく。
Ruby、C#も微妙です。

オブジェクト指向ってなんなんでしょう。
なんでこんなに分かりにくいんでしょう。
オブジェクト指向を便利と思えないんです。
私、プログラマに向いてないのでしょうか。
あまりの分からなさに今日本気で転職を考えてしまいました。

てなわけで。
次の職探しをする前にオブジェクト指向について学習を試みるっす。

毎度のググル先生に聞いてみました >「オブジェクト指向 成り立ち


【中級】基礎からのオブジェクト指向 第2部 オブジェクト指向の発展の歴史
http://itpro.nikkeibp.co.jp/article/COLUMN/20060420/235811/


Part2 オブジェクト指向の発展の歴史
http://itpro.nikkeibp.co.jp/article/lecture/20070710/277100/

IBM developer Works でもプログラム言語の歴史でオブジェクト指向について
触れていたのを読んだことがあったのでもう一度読んでみようと思います。

http://www.ibm.com/developerworks/jp/offers/dlife/

プログラミング言語の進化を追え

近ごろプログラマーかいわいで、「関数型プログラミング言語」という言葉をよく耳にするようになりました。本連載では、プログラミング言語を取り巻く状況をあらためて俯瞰し、プログラミング言語開発の現場で何が起こっているのかを解説します。
「ガーベジコレクション」「リフレクション」「アスペクト指向」「クロージャ」「イテレータ」「型推論」な ど、近年、プログラミング言語の世界に新しい概念が続々となだれ込んでいるように見えます。しかし、この背景には、実はあまり知られていない歴史が隠され ているのです。
SchemeやLispによって30~50年前に導入されたさまざまな概念は、その後のプログラミング言語 に多かれ少なかれ影響を与えました。そのうちの1つであるクロージャは、関数型言語では抽象化の基本的な方法となり、最近では多くのスクリプト言語にも採 り入れられるようになってきています。本稿では、Scheme言語の処理系Gaucheを開発している川合史朗氏が、クロージャの機能を検証し、関数型言 語とオブジェクト指向言語の関係について解説します。
前回に引き続き、Scheme言語の処理系、Gaucheを開発している川合史朗氏が、クロージャの機能を検証し、関数型言語とオブジェクト指向言語の関係について解説していきます。今回は、クロージャとオブジェクトのより深淵を探求します。

Gaucheは今月号の日経ソフトウェアで連載が始まったので触ってみたいです。


上記の記事を読んで自分なりにまとめてみようと思います。


 
PR
2009/06/04 (Thu)
■ブログテンプレ変更
Fomalhautさんが公開されているブログテンプレ「Asgard」をお借りしました。
すっきりとしてていい感じです♪
うちはそんなにプラグインがないので、Fomalhautさんのブログ内で公開されている2カラム用のデザインに変更してあります。
ほかにも3カラムの「Line」もすっきりしてて良いです。

*---------------------------------------------------------------------------*
Fomalhautさんのブログ:「Fomalhaut Laboratory
http://fomalhaut0astar.blog.shinobi.jp/

*---------------------------------------------------------------------------*



■過去記事「
IT系 ポータルサイト他」に以下のサイトを追加しました

encafe は登録したばかりで殆ど活用できていないのでこれから活用していきたいです。
鹿野(かの) で登録しておりますので気軽にお声かけてくださいまし~

----------------------------------------------------------------------------
selfup:
ITpro内 のITpro SkillUP」がリニューアルされ、2009年6月3日から新サイト「selfup」として立ち上がりました。
スキルアップ系コンテンツがメインです。
http://itpro.nikkeibp.co.jp/selfup/index.html

builder:
コードを書く技術者にフォーカスしたメディア+コミュニティです。
http://builder.japan.zdnet.com/

encafe:
エンジニア向けSNSです。
http://encafe.jp/

2009/06/04 (Thu)

度々お世話になっておりまする。
※個人サイト様ということもあり、前回までのサンプルコードの詳細は削除致しました。

*----------------------------------------------------*
Java入門6   クラスの理由
http://www.asahi-net.or.jp/~YF8K-KBYS/newjava6.html
*----------------------------------------------------*

うぅん。ぼんやりと分かったようなわからないような……
多分、こうなんだろうな、っていうのはわかった気がします。


*----------------------------------------------------*
Java入門7   クラスの練習
http://www.asahi-net.or.jp/~YF8K-KBYS/newjava7.html
*----------------------------------------------------*

おぉ、分かるよ!
なんとなくメソッドの使い方が分かってきた!
解説分かりやすいので調べることないよ!


*----------------------------------------------------*
Java入門8   コンストラクタの引数
http://www.asahi-net.or.jp/~YF8K-KBYS/newjava8.html
*----------------------------------------------------*

コンストラクタ。
うーん。多分理解できたか……?
複数のコンストラクタを記述することも可能っていうことですね。
んで、処理するときにどちらのコンストラクタが呼び出されるかはプログラムの方が型と照らし合わせて
選択してくれる、ということですね。
ほぉー。便利ですね。


*----------------------------------------------------*
Java入門9   クラスの関係
http://www.asahi-net.or.jp/~YF8K-KBYS/newjava9.html
*----------------------------------------------------*

「you」はなぜにほかのメソッドでも宣言なしでエラーにならないの???
って思ったけどもコードを読み直すと、

 
*****************************************************************
Taiketu_basyo dokoka = new Taiketu_basyo();  //対決場所dokokaの生成
dokoka.taiketu();       //dokokaの対決

*****************************************************************

この箇所で「Taiketu_basyo」で定義した「you」が 「taiketu」メソッド内で使ってもエラーにならないようになってるんですね。
うーん。多分分かった、かな???
2009/05/29 (Fri)
【オススメコンテンツ】Microsoft Word Tips集

CodeZine>60秒でできる!Office Tips ランキング
【60秒でできる!Microsoft Word Tips集】
http://enterprisezine.jp/article/corner/66


Wordの小技がいっぱい。

私は業務ではあまりWord使ったことないんですが、以前仕様書をWordで書こう! という趣旨の
書籍を見かけたことがあるのでWordをつかう現場も少なくないのかなと思いました。
私がExcelのセルを方眼紙のごとく0.5*0.5cmにして使うのが好きなのと、
私が入場した現場はExcel贔屓が多かったので業務ではWordを使ったことがほとんどないです。
せいぜいエンドユーザー用マニュアルくらい。
Wordは表が余裕で崩れまくるので表を多用する仕様書・設計書には向いてないと思うんですよね。
それを使いこなせれば送り文字の処理とかは断然Wordの方が便利だとは思いますが、
そこまでにたどり着けなくてもExcelで十分なんですよねぇ。

2009/05/29 (Fri)
本日もお世話になります。
*----------------------------------------------------*
Java入門5   独自の型を作ってみよう
http://www.asahi-net.or.jp/~YF8K-KBYS/newjava5.html
*----------------------------------------------------*


さて、コンテンツを読んでいくと「コンストラクタ」なるものがでてきます。
「コンストラクタ」
よく聞くけど正直あまりよくわからない。
説明を聞いても理解できない。

そもそも言葉の意味はなんじゃらほい。

----------------------------------------------------------------

constructor    :オブジェクト指向プログラミングにおいて,オブジェクトを生成するための手続き。
construction    :(1)構造。組み立て。構成。 (2)建設。建造。

----------------------------------------------------------------

なんか生成しているらしい。 では続き。

*****************************************************************

//InuSample2.java

        上記サイト様をご参照ください。

*****************************************************************


解説はリンク先を参照してもらうとして、今回の解説もすごく分かりやすかった!
特に変数がオブジェクトを参照している、っていうのが図を使って解説されてて大変分かりやい。

今まで「わっからーん!!!」と放り投げていた部分がようやく理解できました。
調子に乗って猫とウーパールーパーをメモリ上に生成しちゃいました♪

まだよくわからない箇所(なんでnakuメソッドはInuSample2クラスの中じゃいけないの、とか)はありますがじわじわ分かってきました。
なんか楽しくなってきたぞJava!

2009/05/28 (Thu)
今日も今日とてJavaです。

*----------------------------------------------------*
Java入門3   キーボードからの入力
http://www.asahi-net.or.jp/~YF8K-KBYS/newjava3.html
*----------------------------------------------------*

*****************************************************************
//Hello2.java

        上記サイト様をご参照ください。

*****************************************************************
//Sum.java

        上記サイト様をご参照ください。

*****************************************************************

ここらへんはまぁ、なんとなくやってることは分かります。
サイトの解説も分かりやすいので BufferedReader についても把握できました。
インポートと「throws IOException」についても調べるまでもなく解説されているのでこの回は問題なさそうです。
しかし、これで終わるのも簡素過ぎなので、「Java.io.*;」についてちょっと調べてみました。

まず、インポートっていうけどどこから引っ張ってきてるの?
っていうのがすごーく気になります。
ググル先生に聞いてみました>「Java インポート どこにある」
んでヒットしたページが↓です。

*---------------------------------------------------------------------*
【普段、importするクラスはどこにある?】
http://okwave.jp/qa4939561.html
*---------------------------------------------------------------------*

JDKフォルダ の中の libフォルダ にあるってことで探してみました。
が、libフォルダの中にはない。
じゃあどこにあるんだろう、と探したところ、「src.zip」なるものを発見。
「Eclipse」触ったときに「src」フォルダの中に色々とあったような覚えがあるので解凍してみることに。

    ****解凍****
    
ありました! src>java>ioと無事目当てのフォルダと、ファイルを見つけることができました。
先達ありがとう。

さて、ここで調べたかったのは「IOException」について。
今の段階でちんぷんかんぷんでもどんな処理をしているかだけでも見ておきたいんです。

    >「throws IOException」のIOExceptionは、「入出力時の例外」というものを表しています。throwsは、「投げ出せ」という程度の意味なのです。

という解説の通りにいくと、「IOException」はエラーに関する処理を行っているんでしょうか?
みてみます。

「src\java\io\IOException.java」
*********************************************************************
/*
 * @(#)IOException.java    1.21 03/01/23
 *
 * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
 * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 */

package java.io;

/**
 * Signals that an I/O exception of some sort has occurred. This
 * class is the general class of exceptions produced by failed or
 * interrupted I/O operations.
 *
 * @author  unascribed
 * @version 1.21, 01/23/03
 * @see     java.io.InputStream
 * @see     java.io.OutputStream
 * @since   JDK1.0
 */
public
class IOException extends Exception {
    /**
     * Constructs an <code>IOException</code> with <code>null</code>
     * as its error detail message.
     */
    public IOException() {
    super();
    }

    /**
     * Constructs an <code>IOException</code> with the specified detail
     * message. The error message string <code>s</code> can later be
     * retrieved by the <code>{@link java.lang.Throwable#getMessage}</code>
     * method of class <code>java.lang.Throwable</code>.
     *
     * @param   s   the detail message.
     */
    public IOException(String s) {
    super(s);
    }
}

*********************************************************************


……あぁ、やっぱりちんぷんかんぷん。
うん。わかっていたけどもちんぷんかんぷんですね。
「error」「message」の単語があるのエラーメッセージを表示しているのかな。
>error detail message
「detail」が「詳細」などの意味があるので、「エラー詳細内容」みたいな感じでしょうか。

ここでよくわからない書き方を発見。
---------------------------------------------------
    public IOException() {
    super();
    }
---------------------------------------------------
        と
---------------------------------------------------
    public IOException(String s) {
    super(s);
    }
---------------------------------------------------
なんでわけるんだっけ……?
昔勉強したはずなのに理由が思い出せないや。
まぁそのうち思い出すだろう。

あと、何回教えてもらっても分からないのが↓

------------------------------------------------------
public class IOException extends Exception {
    ~略~
}
------------------------------------------------------
※src\java\lang\Exception.javaのコードは割愛

えーと、これは「IOException」クラスが「Exception」クラスを拡張しているってことでいいんだっけか??
てかそもそも拡張ってなんだ。
またググル先生に聞いてみた>「Java extendsとは」

*------------------------------------------------*
extends (えくすてんず)
http://www.okapiproject.com/java/java_ref/foundation/extends.htm
http://www.okapiproject.com/java/java_ref/index.html    
*------------------------------------------------*

>簡単な例を言うと、「ラジオカセット」クラスを継承して、「CD」機能を追加した「CDラジオカセット」クラスを作る。ということになります。


ほう、わかりやすいな。
てことは、「Exception」クラスを継承して「IOException」クラスでなんか追加してるよってことか。
……と読み続けたらまたよく分からなくなった。
例のスーパークラスもサブクラスもやってることは同じだよね??
わざわざ継承・拡張指定する必要があるの???
さっきの「ラジオカセット」クラスと「CDラジカセット」クラスの例を思い出してみる。
「カセット」    を「再生」
「CD」        を「再生」
みたいな感じだからだろうか。
あ、そう考えると

>このようにスーパークラスを継承したサブクラスを new してインスタンスを作成するとサブクラスだけではなくスーパークラスをも呼び出すことが可能になります。

てことの意味がわかる!
なるほどねー!
とりあえず「extends」の大まかなところは理解できた!

2009/05/27 (Wed)
現在待機中でStruts触っているんですが……

Javaわからない人間にStrutsが分かるわけないだろおおおおおおおおおおおお!

……いや、Strutsとかのフレームワークは分かるんですよ。なんとなくは。
ただ肝心要のJavaが分からない。

Javaなんなの。
五年前にも挫折して、二年前にも挫折して、現在絶賛挫折中。
オブジェクト指向とかなんなの。
意味わかんない。
何が分からないのかが分からない。
なんでカタカナの「オブジェクト」と漢字の「指向」をくっつけるの
指向がんばったならオブジェクトも頑張って翻訳しようよ。
なんでもかんでもカタカナにたよるなよ……!


という訳でいろんなものを中断して当分Java一色にならなきゃいけなさそうです。
今回は以下のサイトを参考にさせて頂きます。

*--------------------------------------------------*
Java入門
http://www.asahi-net.or.jp/~YF8K-KBYS/newjava0.html
*--------------------------------------------------*

開発環境、設定はとばします。

【Java入門2   画面への出力】
*****************************************************************

class Hello{
    public static void main(String[] args){
        System.out.println("hello");
    }
}
 
*****************************************************************

はい、まずこの時点でちんぷんかんぷん。
何この英単語の羅列。
わけわからない。
意味がよく分からない英単語ばかり。
たいていの参考書は「ここではわからない箇所はおまじないだと思ってください、
あとでだんだん意味が分かるようになります」って書いてるけどこの段階で知っておきたい。
それぞれの英単語がわからなきゃ全体の雰囲気も分からないよ!
Javaを考えた人は意味があってそれぞれの英単語を予約語として使っているんだよね?
なら、まず英単語の意味を調べてJavaを考えた人がやりたかったことを想像してみれば
Javaが理解できるんじゃないか?
てことよくわからない英単語の意味を調べてみた。

----------------------------------------------------------------

public    :公共の, 公衆の, 公の;  公開の; 公然の; 知れ渡った   
static  :静止した, 静的な; 【コンピュータ】スタティックな, 固定された状態の; つまらない; 静体の;
void    :空な, 空虚な; (家・土地などが)あいた, 欠員の; …がない, 欠けた ((of)); 無益の
String    :糸, ひも; 糸に通した物;【コンピュータ】ストリング, 文字列;
args     :arguments? 議論。主張。論争。

----------------------------------------------------------------

最初の4つはまぁなんとなく意味は分かった。
問題は「args」ですよ!
辞書で「args」って調べても出てこない!
おそらく何かの略だろうとは思うが検索しても出てこない。
仕方なく「Java argsとは 略」でぐぐったところ、以下のページがヒットしました。
おお、同士よ、やっぱ疑問に思うよね?!

*---------------------------------------------------------------------*
【main(String[] args) の args ってなに? - BIGLOBEなんでも相談室】
http://soudan1.biglobe.ne.jp/qa1929213.html
*---------------------------------------------------------------------*

ネットの海をさ迷って色々読みましたがここの解答が一番なっとくのできるものでした。
そうか、意味なんてないんだね!
なんか適当な文字を適当に書いただけなんだね! 納得。
結構適当なことに散々悩まされてたんだね!


……わかりやすくかけや。


さて、よくわからない英単語を調べ終わりました。
これをなんとなくの雰囲気で日本語に訳すと…

*****************************************************************

公共階級 Hello{
    公共の固定された空の主体(文字[] いろは){
        仕組.出力.印字("世界よ 今日和");
       
    } 
}

*****************************************************************

なんとなくわかったような、分からないような……
Helloは公共のクラスで、mainは公共の固定された空の主体???

あとできっと分かる日がくるよね……



2009/05/27 (Wed)
ITpro総合TOP>技術SkillUP>業務/アプリケーションを学ぶ

【3分でわかる!仕事に役立つExcelテクニック】
http://itpro.nikkeibp.co.jp/article/COLUMN/20060403/234374/?ST=techskill

開発者でもドキュメント作成にはExcelを使うと思います。
開発初心者やExcelが苦手な方にオススメのコンテンツ。
Excelについてのテクニックが満載です。
筆者は「日経PCビギナーズ」などで執筆されている方のためかITproのコンテンツにしてはわかりやすいと思います。



2009/05/23 (Sat)
家でも出先でも蔵書管理ができるシステムが欲しいんです。
なんで構築してみようかと思います。
できるかどうかはともかくやってみる! ことが勉強になるかなと。

要求定義とかから勉強も兼ねてやってみようかと思います。
開発の様子をこのブログにアップしていきたいと思います。


ちなみに既に同様のシステムやスクリプトは公開されてます。
既存のシステムに負けないものをつくれるようがんばるぞー!
2009/05/22 (Fri)
読み方 :    ウォーターフォールモデル
分野 :     IT産業 > システム開発 > ウォーターフォールモデル

IT用語辞典より
http://e-words.jp/w/E382A6E382A9E383BCE382BFE383BCE38395E382A9E383BCE383ABE383A2E38387E383AB.html

システムの開発手順を示すモデルの一つ。システム開発モデルとしては古典的なものである。システム全体を一括して管理し、分析・設計・実装・ テスト・運用をこの順に行っていく(実際はもう少し細かく分ける)。各工程が完了する際に、前の工程への逆戻りが起こらないよう、綿密なチェックを行な う。水が瀧を流れ落ちるように開発が進んでいくことから、このような名称になった。しかし、実際の開発作業では頻繁に逆戻りが発生するため、ウォーター フォールモデルから派生する形で、逆戻りを考慮に入れたモデルが考案されている。

*********************************************************************************

>しかし、実際の開発作業では頻繁に逆戻りが発生するため、ウォーター フォールモデルから派生する形で、逆戻りを考慮に入れたモデルが考案されている。
そのモデルについての関連リンクがないw
自分で調べろということですね。
逆戻りのない開発なんてありえないですよねぇ……

要求定義について勉強中に出てきたモデル。
名前そのままのモデルですね。
初心者が書いているためブログ内のコードには効率の悪いもの、誤った文法も含まれます。
ご指摘・アドバイス大歓迎です。
オススメ記事
ブログ内検索
リンク
 Use OpenOffice.org
ランキング
BlogRanking
カレンダー
03 2025/04 05
S M T W T F S
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
最新CM
最新TB
プロフィール
HN:かがみ奎/かがみけい
性別:女性
職業:PG見習い
趣味:読書
自己紹介:
大学浪人中退、フリーターを経てIT業界に。
今はLotusNotesのエンジニア目指してる文系女子。
バーコード

★系ぷろぐらま!
Blog Produce : かがみ奎/かがみけい / Template design : Fomalhaut
[PR]忍者ブログ / [PR]