오늘은 심부름으로 인해 평소보다 살짝 늦게 CodeKata를 시작하였다. 그럼에도 이전보다 더 많은 6문제를 풀었다는 것은 내가 Kotlin에 어느정도 익숙해졌다는 나름의 성과라 할 수 있겠다.
오늘의 CodeKata를 통해 배운 것은 딱 하나이다. 바로 downTo인데, Kotlin의 for( a in 1..9) 이런 식의 for문은 증가하는 방향으로밖에 나아가지 않는다, 혹시나해서 for(a in 9..1)을 시험해봤지만, 반복문이 작동을 하지 않았다. 결국 구글링을 통해 찾아본 결과, 감소하는 방향으로 for 문을 진행하기 위해선 for(a in 9 downTo 1) 이런 식으로 코드를 작성해야한다란 사실을 배우게 되었다.
어제 팀 프로젝트의 LV3까지의 얼개를 작성하였고, 오늘은 각자 어제 작성한 코드를 바탕으로 LV4, LV5를 코딩을 하였다. 일단 오늘 나는 LV4까지 코드를 짜고 미리 만들어둔 나만의 Branch에 올려두었고, 내일 마저 LV5를 코딩하고, 약간의 리팩토링 과정을 거칠 예정이다
오늘 구현한 부분은 키오스크 메인 화면의 추가, 돈 넣는 기능, 결제 기능, 장바구니 기능이다. 장바구니는 Map을 사용한 클래스로 사용하였는데, 장바구니에서 정보는 들어간 물품의 이름과 물품 갯수 그리고 현재 담아둔 장바구니 물품들의 가격이였기에 물품의 이름으로 물품 갯수를 조회하는 기능이 필요해서 Map을 사용하였다. 그 외의 기능은 특별한 자료구조나 알고리즘 사용 없이 단순히 구현해서 특별히 이곳에 적을 내용이 없다는 것이 안타깝다.
프로젝트를 진행하며 알게 된 메소드가 있는데, coerceAtMost란 메소드이다. 이 메소드는 Java에 Math.min 메소드에 대응되는 메소드로, 호출하는 객체와 파라미터로 전달된 객체를 비교해 작은 값을 전달한다. 그 반대로 큰 값을 반환하는 coerceAtLeast란 메소드도 있다. 내가 Math.min을 사용하니 Intellij에서 이 메소드는 Java에서 사용되는 것으로, Kotlin다운 메소드를 위해선 해당 메소드를 사용해보는 것이 어떠냐면 추천해주어서 알게 되었다. 역시 Intellij는 편리하다.
이제 오늘은 여기서 마치도록한다, 내일은 프로젝트 구현을 마치고, 팀원과 프로젝트에 대해 상담을 해보는 시간을 가져야겠다.
'부트캠프 일지' 카테고리의 다른 글
부트캠프 15일차 후기 (1) | 2023.12.15 |
---|---|
부트캠프 14일차 후기 (0) | 2023.12.14 |
부트캠프 12일차 후기 (0) | 2023.12.12 |
부트캠프 11일차 후기. (1) | 2023.12.11 |
부트캠프 10일차 후기 (1) | 2023.12.08 |