やるしかない
7日(土) 会社にてバッチ計測
パターン指向リファクタリング 100ページ 読破
今後の予定
家に帰って冒険王ビィトを見ながら模様替えする
思ったこと
・職場での協力という概念
自分の中には競争という概念しかなかったことに気づいた
変わる必要がある
パターン指向リファクタリングを読んで
・スーパークラスの抽出
似通った特性を持つ2つ以上のクラスがあれば、共通の特性を持つスーパークラスに移動すればよい
・コンストラクタの連鎖
複数のコンストラクタに同じコードが重複している
↓
コンストラクタを連鎖させて、コードの重複を減らす
例
public class Load{
publc car(float size, string color, double price ){
this.strategy = new Car
this.size = size
this.color = color
this.price = price
}
public car(float size, string color, double price, int type){
this.strategy = new CarType
this.size = size
this.color = color
this.price = price
this.type = type
}
public car(Capitalstrategy strategy, float size, string color, double price, int type, date date){
this.strategy = strategy
this.size = size
this.color = color
this.price = price
this.type = type
this.date = date
}
この場合、1番目と2番目のコンストラクタ内で3番目のコンストラクタを呼び出すように変更することにより重複をなくす
修正後
public class Load{
publc car(float size, string color, double price ){
//コンストラクタを呼び出す
this(new Car, size, color, price, null, null)
}
public car(float size, string color, double price, int type){
//コンストラクタを呼び出す
this(new CarType, size, color, price, type, null)
}
public car(float size, string color, double price, int type, date date){
this.size = size
this.color = color
this.price = price
this.type = type
this.date = date
}
・インタフェースの統合
スーパークラスや上位インターフェースに、サブクラスと同じインターフェースを持たせる必要がある
サブクラスのパブリックメソッドの中で、スーパークラスや上位インターフェースに含まれていないものをすべて探す。それらのメソッドをスーパークラスにコピーし、それぞれが空の振る舞いをするように変更する
・パラメータの抽出
メソッドやコンストラクタで、ローカルでインスタンス化した値をフィールドに代入している
代入文の右辺をパラメータとして抽出し、クライアントから渡された引数をフィールドに代入する
予想した通りの展開に
3日(火) 忘れた
4日(水) 6時にあがって池袋でメシ
5日(木) 12時半まで会社で勉強 Oracle 200ページ、パターン指向 40ページ
6日(金) パターン指向 40ページ
学んだこと、考えたこと
パターン指向を読んで
・メソッドの構造化
小さくする
重複したコードや使われていないコードを取り除く
意図が伝わるようにする
シンプルにする
同一クラスの詳細レベルをそろえる
開発から学んで
・DaoからSQLで取得する際に、SELECT文で表示するフォーマットどおりに取得するようにする
そうすることによって、サービスでの手間が省け、テストもDaoのみとなり少なくなる。かつ、インターフェースが統一される
・逆に、画面のソース(HTML、JSP)でのフォーマット指定を避ける。
画面に直接書くことにより、・テスト駆動ができない、・修正に手間がかかる、というデメリットがある
一生モノの人脈力を読んで
・成功するには、人に対抗するのではなく、人と協力することが大切
・人脈という資産は、パイのように消費するとなくなるのではなく、筋肉のように使えば使うほど強くなる
・他人になにかしてもらうのではなく、他人のためになにかしようとする By J・F・ケネディ
「カーネギー名言集をよんで」
・分別と忍耐力に支えられた炎のような情熱を持った人間になる
・なにかを成し遂げようとする気持ちがなければどこへ行っても頭角は表せない
・一年前に悩んでいたことを思い出してみる。どうやってそれを乗り越えたのか?悩みばかりに気をかけてエネルギーを浪費しなかっただろうか?結局たいていは取り越し苦労であったはずである
・いくら苦しくても現実をしっかり見つめることだ。目標をしっかり定める。いったん目標が定まったら、ありとあらゆる時間をその実現のために注ぎ込む。自分の決心が正しいかどうか心配して、貴重な時間を浪費するな。あくまでやり通せ!
・チャンスが目の前に現れたときに掴む人間は十中八九成功する。不慮の事故を乗り越えて。自力で自分のチャンスを作り出す人間は。百パーセント成功する
・相手は間違っているかもしれないが、彼自身は自分が間違っているとは決して思っていないのである。だから、相手を非難しても始まらない。非難はどんな馬鹿者でもできる。理解することに努めねばならない。賢明な人間は相手を理解しようと努める。
・相手に本当の興味を持たせようと努力すれば、こちらに興味を持たせようと2年間悪戦苦闘の末、やっと得られる友人より、多くの友人が2時間もあれば得られる。言い換えれば、友人を得る最上の方法はまず自分が友人になることだ。
・人を動かすにはみずから動きたくなる気持ちを起こさせること。相手の欲しているものを与えること。が、唯一の方法である。
・仕事がおもしろいふりをすると、それだけで仕事が本当に面白くなるから妙だ。疲れをあまり感じなくなるし、緊張も解け心配も和らぐ。
・何事にも落胆しない
あくまでやり続ける
決して断念しない
この3っつが大体において成功者のモットーである。もちろん意気消沈するときはあるが、要はそれを乗り越えることだ。これさえできれば世界はあなたのものだ。
・自分が他人と違うからといって一瞬にもせよ悲観することはない。あなたはこの世の新しい存在なのだ。地球ができてから、あなたと瓜二つの人間はいなかったし、将来どんな時代が訪れようと、あなたとまったく同じ人間が現れることはないだろう。
今日思ったこと
完全に運命に後押しされている。
今、やらないとダメになる。
オレはなにかを作りあげる
世界を変える
眠い・・・
28日(水) 記憶なし
29日(木) 記憶なし
30日(金) 本社席替え
20時からサカスにて飲み会
二次会→カラオケ 朝まで
31日(土) 11時起床
15時に出社し、仕事
19時に会社をでて上野でBoraメンツとメシ
24時まで
1日(日) 11時起床
13時から会社で仕事 2時まで
2日(月) 10時帰宅
Oracle 20ページ
1時就寝
学んだこと、やるべきこと
・「7つの習慣 最優先事項」を読んで
・ミッションステートメントはすべての基礎となるためのものであり、自ずと第二領域時間管理の第一ステップとなる
・自分になにが必要なのかを考える
「重要事項」と思えるものを三つか四つ書き出す
長期的な目標を考える
最も重要なにんげん関係について考える
なにをして世の中に貢献したいか考える
なにを目指しているかを再確認する(平和・自信・幸福・貢献・意義)
仮に。6ヶ月の命だとわかったら、今週をどのように過ごすかを考える
・ただ思っていることをステートメントとして書き出せばいいのではなく、明らかな意識を持ち、人生観から深いエネルギーを引き出さなければならない。
「真北の原則」に基づいて強力なビジョンを描かなければならない。
自分にしかできない目標を達成することで満足感を得なければならない
・強力なミッションステートメントの特徴
(1)心の中から最深かつ最良のものを表している。内面的生活としっかり結びついている
(2)独自の才能を発揮できるようになっている。
(3)自らの利害関係を超えたものになっている。「貢献」と「高次の目的」に基づいている
(4)人間の四つの基本的な(肉体的、社会・情緒的、知的、精神的)ニーズと独特な能力(自覚・良心・自由意志・想像力)のすべてに関わっている
(5)質の高い生活を生み出す原則に基づいている。目的も手段も「真北の原則」に基づいている
(6)「ビジョン」と「原則に基づいた価値観」の双方と関わっている・ビジョンを無視し、価値観だけを持っていても十分ではない(なにかで得意になりたいのなら、誰に対して得意になりたいのかをわかっていなければならない)。一方、ビジョンだけではヒトラーのような人間を生み出す。強力なミッション・ステートメントには、性格の要素(どんな人になりたいか)と能力の要素(どんなことを成し遂げたいか)が必要である
(7)人生の重要な役割の全てに関わっている。「個人」「家族」「仕事」「地域社会」のそれぞれの役割の間のバランスが取れるようになっている
(8)他人に印象づけるためでなく、自分を奮い立たせるために書かれている。心の底から鼓舞される内容になっている。
・高学歴の人たちは訓練されたとおりだとよく働くが、状況や環境が変わると、効率が落ちるばかりか、何もできなくなる。なぜなら彼らには応用力がないからである。
問題の見方こそが問題なのである。区画化(物事をどちらか一つというパラダイムで考えてしまう)は幻想に基づいた考えであり、そのような幻想の中で生きようとすれば大変な苦労が生じる。
実際はどんな役割もお互いが密接に関連しあった一つの生態系なのである。
・あるところで不正なことをしているのに、別のところ正しいことをしようとしても無駄である。人生とは分割不可能な統合体なのだから。 Byガンジー
・良心はミッションと原則を一致させる
良心の力を引き出す最良の方法 --- それは、「何を」「なぜ」「どのように」という質問を自分になげかけること
・私たちの内面的生活に結びついた目標なら、情熱と原則の力が備わっているはずだ。「心のうちなる炎」によって燃焼され、生活の質を高める「真北の原則」に基づいているからだ
・重要事項を優先しようとするとき、次の六つのステップを認識し、それを実行することがいかに重要なことであるか理解できるだろう
1.やろうとしていることがミッションに結びついているかどうかを考える --- 人生の重要事項を知ることができ、心の中の「イエス」を引き出すことができる
2.役割を果たす --- 各役割同士のつながりが見え、相乗効果的な方法を再確認できる
3.目標を確認する --- ミッション達成に向かって、最も重要なのはなにかを確認できる
4.週の予定を組み立てる --- 大きな石(第二領域の目標)を最優先していれ、その周りにそれ以外のものをいれることができる
5.誠実さを行使する --- 刺激を反応の間のスペースで冷静に考えることができる
6.評価する --- 一週間を「人生から学ぶ」上向きの螺旋の成長状態に変えることができる
・「「より多くのものを、より少ない時間で行う」のではなく、「重要事項を、バランスよく相乗効果を発揮しながら行う」
・「組織的行為」というものは存在しない。
[組織的行為」とは、組織内における「一人ひとりの行為」のことでしかない
・誰が正しいかではなく、何が正しいかに関心を持つ。
他人を尊重するようになる。他人の良心も正しい原則の宝庫であることを認める。他人にも自己認識能力うや自由意志が備わっており、自分にない洞察力を持っていることにきづく。そこまでいくと、他人が違ったものの見方をしたとき、まずはその考え方を理解しようとする。話す前に聴くのである。自叙伝(評価・解釈・助言・探りなど)を横においておき、他人の主張を真剣に聞く
「パターン指向リファクタ入門」
Creation Method によるコンストラクタの置き換え
クラスにコンストラクタをいくつも作成するのではなく、createメソッドを作成し、そこから新しいクラスをreturnする
public static Loan create期間ローン {
return new Loan(・・・)
}
mainクラス
Loan termLoan = Loan create期間ローン()
によって新しいオブジェクトを作成する