2017-08-01から1ヶ月間の記事一覧
ざっくり概要 ある処理を肩代わりする代わりに出来ない処理が着た場合、 処理を他のクラスに肩代わさせるメソッドです。 生徒と先生の関係を考えてみます。 先生といえども、生徒の質問に全て答えられるわけではないですね。 数学の先生が英語の質問をされた…
ざっくり概要 decoratorとは 装飾 の意味です。 あるコアクラスを元にして機能をかぶせていく手法です。 今回は簡略化のために1つのコア、一つの機能をかぶせた例を用いて説明します。 コード class PlainNumber(): def __init__(self,num): self._num = num…
ざっくり概要 Facade(建物の正面)という意味を指しています。 このパターンは内部の処理を簡素化したクラスを一つにすることで、複雑な処理を見せないメソッドです。 自分なりの言葉で言うと、処理を一つのクラスに集約したら見通して良くなって、すぐわかる…
ざっくり概要 このパターンの目的は 一つのクラスに複数のインスタンスを作らないようにすることです。 利用シーン... パスワード管理のメソッドなど管理が厳重にする必要があるメソッドを管理する時に使うんでしょうかね。。 コード class Singleton: initi…
ざっくり概要 adapterメソッドとはざっくり言うと既に 提供されているclassと既に必要な抽象classを結びつけてプログラムを作成する方法です。 ポイントは、仲介役classを設定(提供されているclassと必要な抽象class)することです。 登場メソッド 必要な抽…
ざっくり概要 builderメソッドを自分の言葉でいうと、 作成するメソッドの役割は同じだが、異なる結果を得るプログラムを何個も 作る際、有用なプログラム(パターン) といった感じです。 ここで重要な点は 作成するメソッドの役割は同じ ということです。 本…
久しぶりにrubyネタ 知らない間に自分が作ったサービスが止まっていた件 サービス 確認してみたら定期的にproduction logを削除していなかった。。。 config.logger = Logger.new("log/production.log", 5, 10*1024*1024) #第一引数ログパス、第二引数は保存…
# collectionsモジュール勉強 import collections #counterメソッドはカウント系メソッド c = collections.Counter() c['spam'] += 1 c[100] += 1 c[200] += 2 c[200] += 3 # Counter({200: 5, 'spam': 1, 100: 1}) print(type(c)) c2 = collections.Counter…
エクセルをpythonで扱う 仕事していると、エクセルで延々と だるい コピペ作業とかってありませんか。 先日、pythonを使ってコピペ作業を自動化しました。 その時、用いたpython用ライブラリ、使用方法を紹介します。 ※今回は読み込みにしぼって説明 ライブ…
後置 if 最近、rubyみたいに後置if無いかなと ぐぐってみました。 以下はメモ # testはtrueの際の出力 if True なら test = "true" test = "true" if True else "false" print(test) #true # Falseになった際、elseの式 test2 = "false" if False else "fals…