2020-01-01から1年間の記事一覧

JSで意識すること メモ ES6

JSで意識すること 自分用のJS扱うときに意識することメモ 参照のコピーとthis list2 list3 図 JSで意識すること 参照のコピーとthis 見出し1-1 見出し1-2 見出し1-3 非同期Promiseチェーン 見出し2-1 見出し3 見出し3-1 参考リンク 関連リンク

rubyでデザインパターン strategyパターン

strategy(戦略)パターン 戦略を切り替えるパターンです。 処理を他のクラスに委譲することを前提とし、クライアント(この例ではsorterです。)が自由にそのクラスを切り替えることが出来ます。 strategyとtemplate methodパターンの違いはこんな説明がわか…

rubyでデザインパターン builderパターン

砂糖水を作る( ビルダ (Builder) | Ruby デザインパターン | 酒と涙とRubyとRailsと ) こちらの写生です。操作と手順を分離するパターンです。 factoryパターンとの大きな違いは、factoryパターンは作成が1ステップでできる場合に使うのに対し、builderパタ…

rubyでデザインパターン abstract_factoryパターン

ドアを作るには専門のドア職人にお願いしなければなりません。 しかしドア職人も万能ではありません。木製のドアしか作れない職人、鉄製のドアしか作れない職人と専門があります。 この際のオブジェクトをグループ化したいです。つまり、木製のドアは木製の…

rubyでデザインパターン factory_methodパターン

面接官が面接を行います。しかし、一人でマーケターやエンジニアなどすべて職種の面接官を一人で行うことは出来ません。エンジニアの面接はエンジニアにお願いし、マーケターの面接はマーケターにしてもらいましょう。 ここでのfactoryはHiringManagerです。…

rubyでデザインパターン simple_factoryパターン

module Door def getWidth end def getHeight end end class WoodenDoor include Door attr_reader :width, :height def initialize(width, height) @width = width @height = height end def name "木製のドアです。" end end class DoorFactory def self.m…

rubyでデザインパターン commandパターン

class Bulb def turnOn puts "電気がつきました" end def turnOff puts "真っ暗です" end end class Command def execute end def undo end def redo end end class TurnOn < Command def initialize(bulb) @bulb = bulb end def execute @bulb.turnOn end d…

オブジェクト指向

「人の認識に近い形で」というところが一般的に言われる「責務に応じた形で」と同じニュアンスです。

rubyでデザインパターン compositeパターン

あるオブジェクトの集合で構成されたオブジェクトも同一のインターフェースをもつパターンです。 class Employee attr_reader :salary, :name def initialize(name, salary) @name = name @salary = salary end end class Developer < Employee attr_reader …

rubyでデザインパターン adapterパターン

ライオンを狩るハンタークラスがあったのですが 急遽、野犬も狩るように言われてしまいました。 しかし、野犬はライオンとは別のインターフェイスを持っているので このままではうまく使えません。 そこで野犬クラスを包み込んだようなadapterクラスを用意し…

rubyでデザインパターン decoratorパターン

class Coffee #価格 def getCost end #商品説明 def getDescription end end class SimpleCoffee < Coffee def getCost 10 end def getDescription 'Simple coffee' end end class MilkCoffee < Coffee def initialize(coffee) @coffee = coffee end def get…

Rubyでデザインパターン proxyパターン

class Door def open puts 'open door!' end def close puts 'close door!' end end class SecurityDoor def initialize(door) @door = door end def open(password) if password == 'open goma!' @door.open else puts 'password fail' end end def close(p…

Rubyによるオブジェクト指向 8章 コードサンプル

attr_reader :size, :parts def initialize(args={}) @size = args[:size] @parts = args[:parts] end def spares parts.spares end end class Part attr_reader :name, :description, :needs_spares def initialize(args) @name = args[:name] @description…

rails route 自分用メモ

namespace :api do scope module: 'weather' do get 'weather' end end URLが/api/weatherでapi/weather_controllerのweatherアクションにルーティングしたい場合はこうやってかく namespaceがURLもcontrollerも追加、scope moduleはURLだけ scopeはcontroll…

SQL 自分用まとめ

DESTINCT SELECT DISTINCT 入金額 FROM 家計簿 みたいにDISTINCTは列名を指定して使う SELECT DISTINCT 入金額, 費目 FROM 家計簿 みたいに2つ列を指定するとこの2つが同じだったら取り除かれるようになる。 selectされた列にDESTINCTされるイメージをもつ…

git 他の人のブランチで作業したい場合。

gitで開発中にバックエンドの実装をAさんがしてフロントはBさんにお願いするとなった場合にAさんのブランチから新たなブランチを切ってBさんが作業するか Aさんのブランチでそのまま作業するかはチームの方針によると思いますが、 今回は後者のパターン。 前…