본문 바로가기
반응형

[우아한테크코스 AN]5

[우아한테크코스] 5주차 회고 5주차에서는 정말 많은 것을 배울 수 있었다고 생각합니다. 그동안 알지만 놓치고 있었던 부분들에 대해서도 다시 생각해볼 수 있었던 기회였고, 좋은 리뷰어분을 만난 행운이 크다고 생각합니다. 가변성 불변성, 캡슐화 정보은닉 접근제한자와 가변 / 불변을 더 신경써야 합니다. 외부에 공개될 필요가 없는 것들은 private으로 제한해줘야하고, 외부에서는 get 만 가능하고 set은 내부에서만 해주려면 private set을 적극 잘 활용해야 합니다. 또한 backing property도 이를 위한 활용에 속합니다. 객체 스스로의 역할 각 객체마다 아래와 같은 생각을 해봐야 합니다. - 이 데이터가 외부로 노출되어야만 하는가? - 내부에서 수행할 수 있지만 외부에 의존하고 있지 않은가? 이는 일급컬렉션의 활용 .. 2024. 3. 23.
[우아한테크코스] 4주차 회고 4주차에는 블랙잭 미션을 진행했습니다. 이번 미션에서 학습한 내용은 다음과 같습니다. 블랙잭 미션에서는 정말 많은 것들을 얻어가게 되었다고 느낍니다. DSL(Domain-specific language) 선언적 언어. 젯팩 컴포즈나 코틀린의 UI 방식입니다. 이걸 처음 봤을 때, 빌더 패턴이 이렇게 생겼구나 라고 느낄 수 있었습니다. buildString을 활용할 줄만 알았는데, 시야를 조금 더 깨우칠 수 있는 계기였습니다. 설계의 중요성 기본적인 설계를 어느정도 생각해 두고 가면 뒤에 사고가 발생하는 것을 방지할 수 있습니다. 그 전까지는 어느정도 설계를 마치고 진행했었는데, 이번 주차에는 페어와 함께 주먹구구식의 방식에 도전해보기로 했습니다. 결과는 3일동안 매일 남아서 미션을 했습니다. 의존성 관계.. 2024. 3. 23.
[우아한테크코스] 3주차 회고 3주차에는 로또 미션을 마무리하는 시기를 가졌습니다. 이번 미션에서 중점적으로 배웠던 내용은 다음과 같습니다. 가변인자 인자의 갯수가 정해져 있지 않은 가변인자 fun sum(vararg numbers: Int): Int { var total = 0 for (number in numbers) { total += number } return total } fun main() { val result1 = sum(1, 2, 3, 4, 5) val result2 = sum(10, 20, 30) println("첫 번째 결과: $result1") println("두 번째 결과: $result2") } 고차함수 인자로 넘기는 :: numbers.map { LottoNumber(this) } 대신에 numbers.m.. 2024. 3. 23.
[우아한테크코스] 2주차 회고 아 정말.. 2주차에 쓰기 위해 문서에 메모해놨던 내용이 지워졌다 ㅎㅎ 어쩔 수 없지.. 다시 생각해서 써야겠다. 2주차에는 1주차에서 페어 프로그래밍으로 진행했던 자동차 경주에 대해 혼자만의 리팩토링 과정을 거칩니다. 저는 미션을 진행할 당시 '팩토리 메서드' 와 '전략 패턴' 에 대해 집중해서 구현했었습니다. 또한 2주차에는 연극 발표를 진행했고, 저희 조가 1등을 했습니다..! 그리고 방과후 수업이라는, 크루 간 자체적인 세미나 교육을 시행하면서 첫 주자로 참여했습니다. DI와, 의존 역전 원칙에 대한 발표를 진행했습니다. 그리고 자동차 경주 미션이 명시적으로 종료되었고, 새로운 페어와 함께 새로운 로또 미션이 시작되었습니다. 로또는 TDD를 기반으로 구현해야 하는 요구사항이 추가되었습니다. 이번 .. 2024. 3. 4.
반응형