トップ «前の日記(2010-07-24) 最新 次の日記(2010-07-26)» 編集

ヨタの日々

2001|08|09|10|11|12|
2002|01|02|03|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|12|
2024|01|02|03|

2010-07-25 :-)

_ 読書

2010年7月12日 - 2010年7月18日の読書メーター
読んだ本の数:0冊
読んだページ数:0ページ


読書メーター

_ 朝ッ

0400 起床

_ チャリったー

0420 ころに日の出を撮ろうとしたら思ってたよりも日の出時刻が遅くなっていた。

img_1233.jpg

img_1236.jpg

img_1237.jpg

img_1243.jpg

img_1244.jpg

img_1247.jpg

_ [Python][デザインパターン][Strategy]Python でデザインパターン - Strategy

書き換え[ 20090504#p04 ]

#!/usr/bin/python
# -*- coding: utf-8 -*-

# Head First デザインパターンを写経する - 1章 Strategy パターン - ヨタの日々(2009-05-04)
# http://www.area51.gr.jp/~rin/diary/?date=20090504#p04

class Duck:
  def __init__(self):
    self.quack_behavior = None
    self.fly_behavior = None

  def __init__(self):
    pass

  def perform_fly(self):
    self.fly_behavior.fly()

  def perform_quack(self):
    self.quack_behavior.quack()

  def swim(self):
    print "すべての鴨は浮かびます。おとりの鴨でも!"

class FlyBehavior:
  def fly(self):
    pass

class FlyWithWings(FlyBehavior):
  def fly(self):
    print "飛んでいます!"


class FlyNoWay(FlyBehavior):
  def fly(self):
    print "飛べません!"

class QuackBehavior:
  def quack(self):
    pass

class Quack(QuackBehavior):
  def quack(sel):
    print "ガーガー"

class MuteQuack(QuackBehavior):
  def quack(self):
    print "<沈黙>>"

class Squack(QuackBehavior):
  def quack(self):
    print "キューキュー"


class MallardDuck(Duck):
  def __init__(self):
    self.quack_behavior = Quack()
    self.fly_behavior = FlyWithWings()

  def display(self):
    print "本物のマガモです"

def main():
  mallard = MallardDuck()
  mallard.perform_quack()
  mallard.perform_fly()

main()
% python strategy.py
ガーガー
飛んでいます!

_ [Python][デザインパターン][Observer]Python でデザインパターン - Observer

書き換え[ 20090504#p07 ]

#!/usr/bin/python
# -*- coding: utf-8 -*-

# Head First デザインパターンを写経する - 2章 Observer パターン - ヨタの日々(2009-05-04)
# http://www.area51.gr.jp/~rin/diary/?date=20090504#p07

class Subject:
  def register_observer(self, observer):
    pass

  def remove_observer(self, observer):
    pass

  def notify_observers(self):
    pass

class Observer:
  def update(self, temp, humidity, pressure):
    pass

class DisplayElement:
  def display(self):
    pass


class WeatherData(Subject):

  def __init__(self):
    self.temprature = None
    self.humidity = None
    self.pressure = None
    self.observers = []

  def register_observer(self, observer):
    self.observers.append(observer)

  def remove_observer(self, observer):
    self.observers.delete(observer)

  def notify_observers(self):
    for o in self.observers:
      o.update( self.temprature, self.humidity, self.pressure)

  def measurements_changed(self):
    self.notify_observers()

  def set_measurements(self, temprature, humidity, pressure):
    self.temprature = temprature
    self.humidity = humidity
    self.pressure = pressure
    self.measurements_changed()


class CurrentConditionDisplay(Observer, DisplayElement):

  def __init__(self, weatherData):
    self.weatherdata = weatherData
    self.weatherdata.register_observer(self)

  def update(self, tempreture, humidity, pressure):
    self.tempreture = tempreture
    self.humidity = humidity
    self.display()

  def display(self):
    print "現在の気象状況: 温度 %d度 湿度%d%%" % (self.tempreture, self.humidity)

def main():
  weatherdata = WeatherData()
  currentDisplay = CurrentConditionDisplay(weatherdata)
  weatherdata.set_measurements(27, 65, 30.4)
  weatherdata.set_measurements(28, 70, 29.2)
  weatherdata.set_measurements(26, 90, 29.2)

main()
% python observer.py
現在の気象状況: 温度 27度 湿度65%
現在の気象状況: 温度 28度 湿度70%
現在の気象状況: 温度 26度 湿度90%

_ きゅうけい!!

LPIC 202 模擬試験 47 点

先週とあまり変わってない。マズい。そろそろ本気出す

_ ,

バーカバーカ