티스토리 뷰




코드스쿼드 6일 째 2018년 3월 10일 토요일


뽀모도로 잘해서 집중과 휴식 잘 분리!

주말에도 코드스쿼드 생활은 계속된다. 단, 난 집이 편하니까 집에서... 코드스쿼드는 정말 자유롭다. 그 자유속에서 안일해 지지 않고 꾸준히 지속하는 게 중요하다.






- TODO 작은 단위로 쪼개기


✅1. 값나오게하기 -> 유효한지 안 한지, 단위를 입력한지 안 한지, 지원하지 않는 단위를 입력했는지 안했는지 다 체크하니까 안심하고 


       1.1 rawUserUnit과 rawUserConvertUnit이 weigth인지 length인지 volume인지 판단해서 


       1.2 Length, Weigth, Volume객체 rawUserValue, rawUserValue, rawUserConvertUnit을 던저주면 될 듯, 


       근데 rawUserConvertUnit과 rawUser rawUserUnit이 어떻게 weigth인지 length인지 volume인지 알 수 있을까???




2. 어제 아민소스를 봤는데 프로콜과 익스텐션 제네릭이 나왔다. 사실 잘 모르겠는데 뭔가 깔끔해 보여서 


       공부 & 질문 만들기 -> 내 소스에 적용해보면서 익히기 -> 정리해서 내 것으로 만들고 -> 


   위 순서대로


       2-1 프로토콜 : [✅공부]  [✅질문 만들기] [✅적용] [❌정리]


       2-2 익스텐션 : [✅공부]  [❌질문 만들기] [✅적용] [❌정리]


       2-3 제네릭 : [✅공부]  [❌질문 만들기] [❌적용] [❌정리]



다 할 수 있을까...?




- TOWILL x표시 된 것...

       2-1 프로토콜 : [✅공부]  [✅질문 만들기] [✅적용] [❌정리]


       2-2 익스텐션 : [✅공부]  [❌질문 만들기] [✅적용] [❌정리]


       2-3 제네릭 : [✅공부]  [❌질문 만들기] [❌적용] [❌정리]


-오늘 잘한 점

컨디션 조절하기 성공 어제 12시 좀 넘어서 자고 7시 30분 기상 

뽀모도로로 집중과 휴식 분리하려고 노력한 것!


-오늘 잘못 한 점

사실 고백하자면 7시에 일어났는데 빈둥거렸다. 😂 벌떡 일어나자!

뽀모도로로 집중과 휴식 분리하려고 노력은 했는데... 잘 안 됨 swift 단위 계산기에 쓴 시간 8시간 도 안 됨..

오전 7시 부터 24시면 17시간 인데...

아침에 시간 낭비, 휴식시간 불규칙, 불필요한 영상시청, 집안일도 줄이기


~ 07:30 기상

~ 08:00 일지 쓰기

~ 09:50 집중력 강화를 위한 108배, 씻기, 밥먹기, 집안일 이것저것... 집안일은 왜이렇게 많지?

해도해도 끝이 없네 왜 벌써 1시간 50분이나 흘렀는가...?

~ 10: 38 1.1 rawUserUnit과 rawUserConvertUnit이 weigth인지 length인지 volume인지 판단하기 (48분)


 mutating func start(){

     while true {

         self.userInputValue()

         // 여기까지 오면 안전하게 rawUserValue, rawUserUnit, rawUserConvertUnit이 있으니까

         // rawUserUnit rawUserConvertUnit이 weigth인지, length인지, volume인지 확인하기

         // -> 확인하는 함수 만들기 InvalidChecker보다는 RhinoUnitConvert에 있는 게 맞는 것 같다.

         // 이름은 단위를 체크하는 거니까 unitCheck가 좋겠군 인자는 위에 값 두게 나오는 거는 weigth, length, volume중 하나

         // 3개 중 한 개가 나오면 그 객체와 값들을 가지고 초기화 해서 기본단위(length면 cm 등)로 변환하고

         // 객체 convert(:convertUnit)를 하면 되겠다.

         // 근데 untiCheck()에서 weigth, length, volume 중 하나가 나오게 하려면 어떻게 해야 하지...? 타입이 다 다른데...?

         // 하 뭐하나 쉬운 게 없군 어제 아민 소스에서 봤던 프로토콜, 익스텐션, 제네릭을 하면 될까...?

         // 오 될 것 같아 빅너드책 프로토콜 설명에 

         "프로토콜을 적용하면 어떤 타입 자체를 몰라도 타입의 인터페이스를 지정하는 등 타입을 다룰 수 있다" 라고 돼 있네.

         // 오호 어쩌면 unitCheck()가 필요 없을 수도

         // 프로토콜 공부시작, 아 요새 xcode 너무 자주 죽는데...

        }

    }


~  10:55 휴식 겸 빨래널기 집안일 정말 ㅜㅜ

~  11:26 빅러드렌치 chapter19 프로토콜 코드 19.4 까지 (78분)

~  11:52 휴식 및 쇼미더모니 김하온 시청... 하... 얼마나 연습하면 저렇게 될 수 있는거지...?

~  12:34 빅러드렌치 chapter19 프로토콜 코드 19.11까지 (118분)

~  12:40 휴식

~  13:14 빅러드렌치 chapter19 프로토콜  구성까지 ( 152분 )

~ 13:19 휴식 설거지

~ 13:48 질문거리 남기기 (181분) 질문 남기는데 29분이나 썻다고?

~ 14:37 점심

~ 15:22 빅러드렌치 chapter21 확장을 추가하여 프로토콜 준수 추가하기 까지 (197분)

~ 15:27 휴식

~ 15:59 빅러드렌치 chapter21 확장 1독 완료 

~ 16:30 휴식

~ 17:30 빅러드렌치 chapter22 제네릭 타입제한 조건까지 (257분)

~ 18:00 빅러드렌치 chapter 22 제네릭 1독 (287분)

~ 18:05 휴식

~ 18:35 빅러드렌치 chapter 23 프로토콜확장 1독 (317분)

~ 19:40 타입 합치고 프로토콜, 익스텐션으로 중복 구조 변경 (382분)


protocol Unit{

    func changeToBasicValue(_ value:Double, _ unit:UnitRatioAndSymbol) -> Double

    func convert(basicValue:Double, to convertUnit:UnitRatioAndSymbol) -> String

}


extension Unit{

    func changeToBasicValue(_ value:Double, _ unit:UnitRatioAndSymbol) -> Double{

        return value / unit.ratio

    }

    func convert(basicValue: Double, to convertUnit:UnitRatioAndSymbol) -> String {

        return "\(basicValue * convertUnit.ratio)\(convertUnit.symbol)"

    }

}



struct Length:Unit {


    enum LengthUnit:String,UnitRatioAndSymbol, EnumCollection{

        

        case cm, m, inch, yard

        

        var ratio:Double{

            switch self {

            case .cm: return 1.0

            case .m: return 0.01

            case .inch: return 0.3937

            case .yard: return 0.109

            }

        }

        

        var symbol:String{

            switch self {

            case .cm: return "cm"

            case .m: return "m"

            case .inch: return "inch"

            case .yard: return "yard"

            }

        }

    }

}


~ 20:50 TODO1 해결, 

     TODO2 프로토콜과 익스텐션 공부 후 내 소스에 적용 -> 정리필요

             제네릭은 공부만 -> 내 소스에 활용할 부분 고민해보기 (452분)

~ 21: 21 휴식 및 한 것 정리

~ 22 :40 운동 후 저녁 먹기

~ 22: 51 운동일지쓰기

~ 23: 47 영어공부

~ 오늘 하루 분석

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/03   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
글 보관함