티스토리 뷰




코드스쿼드 8일 째 2018년 3월 12일 월요일


뽀모도로 잘해서 집중과 휴식 잘 분리!
커밋할 때 최소 단위 PR은 여러 개 커밋이 합쳐져 있어야 함.
struct 추가하면 파일 나눠서 작업, 파일 추가하면 커밋

벌써 2주차 이군요. 코드스쿼드는 카페 같은 분위기다. 좋다, 창가 자리에 앉으면 가끔 멀리도 볼 수 있고 맑은 햇빛도 받을 수 있다. 





- TODO 작은 단위로 쪼개기

✅ JK피드백 반영한 것 검사요청

검사요청에 따른 피드백 반영과 다음 단계로 갈 수 있으면 가고 

jk피드백

이정도면 단위변환기 미션에서 배워할 것들은 충분히 경험한 것 같습니다.
한 가지만 피드백 하자면 RhinoUnitConverter 객체를 도메인 객체라고 하는데 여전히 여러 가지 역할을 하는 함수들을 포함하고 있습니다.
다음 미션부터 입력/출력과 메인 흐름처리까지 모두 역할과 책임에 따라 분리하는 연습을 해봅시다.
마무리하시고 사다리게임으로 넘어갑시다.


✅ 일단 단위계산기 마무리하고


✅ 사다리게임으로 넘어가서 입력/출력/메인 흐름까지 모두 역할과 책임에 따라 분리하기 step1 시작하기


✅ 코드리뷰과정 공부... 해서 꼬인 것 해결했으나 잘 모르겠음 너무 복잡...


✅ github에 수정된 todo 정리


 {  그 외 시간에는 프로토콜좀 정리 뭘 어떻게 정리할 건지 구체적으로 하기

프로토콜 질문 한 것에 대한 답변 정리


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


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


- 제네릭 : [✅공부]  [❌질문 만들기] [❌적용] [❌정리]  }  -> 수요일 집에서 해야겠음.



- TOWILL 

1. 사다리게임 JK피드백 반영 

Printer 객체에 관련있는 함수를 모아놓은 것 자체는 좋습니다.
다만 입력이 있고, 처리하고, 출력이 있는 구조에서는 이런 구조보다는
(print가 포함되어 있지만) Input 관련 객체, 입력받은 값들로 사다리게임을 처리하는 객체, 사다리게임 구조를 출력하는 Output 객체 이런식으로 구분하는 게 좋습니다.
그래야 하나의 기능을 변경할 때 하나의 파일만 바꾸게 됩니다.

어떻게 해야할 지 고민... 감이 안 잡힘



2. 사다리 게임 2단계 요구 사항 적용

들여쓰기 depth를 1단계로 줄이기 / 메소드 라인 최대 10줄 / method가 한 가지일만 하도록

-> printLadder에서 출력하는게 3depth

-> 일단 [[Bool]]로 해서 조건 처리 하는 것 때문에 if else 를 써야 하는데 [[String]]으로 해서 풀어볼까 생각중



-오늘 잘한 점

일어나서 벌떡 일어난 것, 일찍 일어 난 것(6:40)


-오늘 잘못 한 점

학원에서 집중력이 떨어져서 집에 왔는데 집중력이 더 떨어짐


~ 06:40 기상

~ 09:00 오일풀링 영어 108배 아침 영어

~ 10:00 확원오기

~ 10:30 자리 셋팅 및 데일리 미팅

~ 11:30 프로토콜 정리

~ 12:17JK강의

~ 12:30 휴식

~ 13:30 점심

~ 14:00단위계산기 마무리

그동안의 과정 

https://gist.github.com/HaeSeongPark/2d97e1a6a94d71a810d73da4971a18c9 

8일간 열심히 했다...?

~ 14:22  브랜치 생성요청 하면 되는데 22분동안 혼자서 삽질했네... 꼼꼼히 읽자

~ 15:07 코드리뷰과정 테스트 어렵다... 내가 뭐하는지 모르겠네... upstream은 뭐고...

~ 15:18 관련 책 찾아 다님... 없음... 

~ 15:58 사다리 게임 1단계 최대한 분리중

~ 16:05 휴식

~ 16:45 사다리 게임 1단계 진행

~ 17:00 이것저것 휴식...

~ 18:00 집오기... 학원에서 집중력이 떨어지고 지금쯤이면 사람 없을 것 같아서 왔는데 사람 엄청 많네... 진빠진다 진짜...

~ 20:00 서류정리... 닭가슴살장조림 후 저녁 먹기

~ 20:30 휴식

~ 21:14 JK피드백 정리 하려는데 git github이 뭔가 엄청 꼬여서 삽질하고 있다. 아쒸

~ 22:10 통화

~ 23:30 꼬인 것 해결...하...시간 다 날렸네

~ 피드백 정리 및 내일 할 걸 정리, 


<JK강의>

간접 참조 indirection

swift array는 링크드리스트로 돼 있다. 추가 삭제 변경이 쉬우니 그럴 때 쓰고

swift continuos array 연속배열로 돼 있어 접근이 많을 때 용이

value type은 값을 복사하기 때문에 메모리 손해가 있지만, 멀티스레딩 등에서 참조타입 보다는 부작용이 덜하다

메모리가 가격이 싸기 때문에 메모리를 쓰는 게 cpu를  쓰는 것 보다 낫다

장단을 따져가면서 써야... advanced한 내용 value vs reference

inrirection은 메모리를 효율적으로 하기 위해서

모바일은 메모리리가 여전히 제한적이기 때문에 메모리를 신경써야 한다. 


클로저

indirection에서 좀 더 나간 게 functional programming

함수를 타입으로 지정, 인자값으로 넘기거나, 리턴값으로 받을 수 있다.

함수도 pure하게 짜야 한다.

반복문 비교문 없이 순수 함수만으로 재귀로 반복 그 만큼 데이터를 잘 써야 한다 map filter, 등


클로저 레퍼런스가 기본이고, 캡처목록을 사용할 수 있다. [intValue]


클로저도 객체처럼 참조 그래서 순환참조가 발생할 수 있다 따라서 캡처리스트를 써야한다. [self] ? owned? 약한참조? 뭔말인지 하나도 모르겠다.

알고리즘 풀 때 절차형, 함수형 두 가지로 알고르짐은 왜 공부하는 거지...? 


어렵다. 내 모토랑 달라. 난 필요할 때 필요한 만큼만 ㅜㅜ 뭐지 이 막막함은...


고차함수 high-order function

함수형에서는 배열이 기본 타입처럼

+, > 는 클로저처럼 함수 구현 돼 있다?


반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
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
글 보관함