100day’s blog

思いついた事や、プログラミングの毎日の作業工程を短めにまとめてます。

swift デザインパターン メモ Adapter

アダプター

 

🔌 Adapter

The adapter pattern is used to provide a link between two otherwise incompatible types by wrapping the "adaptee" with a class that supports the interface required by the client.

Example

protocol OlderDeathStarSuperLaserAiming {
    var angleV: NSNumber {get}
    var angleH: NSNumber {get}
}

Adaptee

struct DeathStarSuperlaserTarget {
    let angleHorizontal: Double
    let angleVertical: Double

    init(angleHorizontal:Double, angleVertical:Double) {
        self.angleHorizontal = angleHorizontal
        self.angleVertical = angleVertical
    }
}

Adapter

struct OldDeathStarSuperlaserTarget : OlderDeathStarSuperLaserAiming {
    private let target : DeathStarSuperlaserTarget

    var angleV:NSNumber {
        return NSNumber(double: target.angleVertical)
    }

    var angleH:NSNumber {
        return NSNumber(double: target.angleHorizontal)
    }

    init(_ target:DeathStarSuperlaserTarget) {
        self.target = target
    }
}

Usage

let target = DeathStarSuperlaserTarget(angleHorizontal: 14.0, angleVertical: 12.0)
let oldFormat = OldDeathStarSuperlaserTarget(target)

oldFormat.angleH
oldFormat.angleV

Further Examples: Design Patterns in Swift

Carrierwave拡張 gemを使う。 rmagickでリサイズなど

 

paranishian.hateblo.jp

 

- gem rmagick

- もとのソースにある程度コメントアウトしてあるので、それを有効に

- erbファイルでテスト

 

 以下の方法でバリデーションと思ったが、whitelist(コメントアウトしてあるやつ)で

対応できたので良しとする。

 

 

 

validation?(使いませんでした。)

morizyun.github.io

 

 

 

 

サービスを考える入り口 と PC,ITが持つ本当の意味での力の価値。

サービスを考える上での入り口

1「○○が無くてもよくなる」

例えばsiriがあるのでメモ帳がいらなくなるとか。
現在ある物の代わりになるかどうかからスタートさせる方法

 

2「○○の時間が短くなる」

例えば計算機などもその一例。
検索するための入力時間がなくなったりとか。

 

PC,ITが持つ本当の意味での力の価値とは?

1 一人分 < 多人数分になる。
2 一人の性能が上がって、問題解決の時間が短くなる。

大きくは上記のベクトルでしか、効果を出す方法はなさそう。

 

aiが普及して得られるのは1,2の複合的な力。

 

 

 

 

 

presentViewControllerで画面が黒くなる

問題のコード

        // Viewの移動する.

        self.presentViewController(SecondViewController(), animated: true, completion: nil)

    

ja.stackoverflow.com

 

上記のリンクで解決

今回は

- storyboardはプロジェクト生成時のもの(Main.storyboard = nameはMain)

- 移行先は同ボード内に足したもの。SecondViewControllerクラスでIDも同じく

SecondViewControllerになっている。

 

※ 新しくViewを追加するときMain.storyboardに ViewControllerをドラッグドロップで作成している場合。連携するファイルも新しいファイルで追加している。

そのファイルへの結びつけの方法、IDの設定方法も知っているものとして

 

 

 

 

qiita.com

 

satomi.hatenablog.jp

 

 

 

 

 

 

 

 

 

 

Java チュートリアル ガイド 最終成果物 フレームワーク メモ

Java チュートリアル

Java?チュートリアル 本家

NetBeans NetBeans 日本語サイト ネットビーンズ ソフト操作も含む

   The Really Big Index 英語にしたやつかな?

 

 

 

ガイド

Java SE API & ドキュメント 本家

Java入門 日本語補足

http://dotinstall.com/lessons/basic_java_v2 ドットインストール

 

とりあえず一度おさえるポイント

- classの作成関係

- concurenccy

- swing

 

 

ある程度いけばそのままspring bootに行っても問題ないかも。

 

 

 

 

最終成果物・参照

http://www.head.co.jp/case/service/4_001.html

オープンソースを活用したJavaフレームワークの提供を開始 | NTTデータ

 

番外だが・・

www.sei-info.co.jp

 

 

 

 

 

フレームワーク メモ

 

qiita.com

blog.codecamp.jp

 

 

言語仕様に問題なければ、いきなりフレームワークから入るのもいいかもしれない。