본문 바로가기

부트캠프 일지

부트캠프 22일차 후기

오늘 CodeKata는 2문제를 풀었다. 누적 합 문제를 풀면서 가끔씩 생각하는 거지만 누적 합에서 인덱스를 어떻게 할 지에 대한 문제는 은근 까다롭다. 그래서 시간이 생각보다 오래 걸렸고, 따라서 오늘 CodeKata로 배운 것은 없다.

 

오늘도 Spring Security를 활용하려고 여기저기 정보를 끌어모으며 찾아다녔다. 하지만, Spring Security 버전상의 이유인지 구글링을 통해 얻은 정보가 계속 조금씩 달라서 이것을 선별하는데 오늘이란 하루를 보내고야 말았다... 결국 로그인/회원가입 기능 추가를 하지 못했다., 구현은 구현대로 늦어져서 빨리 해결하고 다른거 공부하고 싶다는 초조감만이 늘어만 가고 있는 중이다.

 

그래도 배운 것이 없는 건 아니다. 일단 Kotlin의 companion object에 대해 알게 되었다. 이 object는 정의된 객체의 타입으로 접근이 가능해서 해당 객체와 연관이 있지만, 멤버 변수등에 영향을 주지 않는 메소드나, 변수를 정의할 수 있다. 또한 일종의 객체라서 이름을 붙일 수 있고, 인터페이스를 구현할 수도 있다. 이 object는 다른 언어의 static과 유사하게 작동한다고도 한다. 엄밀히 말하면 static과 차이점은 있지만, 나는 static처럼 사용할 것 같다

 

또 takeIf란 메소드도 배웠다. 이 메소드는 object.takeIf{predicate..} 처럼 사용해서 predicate가 참이면 object를 반환하고, 아니면 null을 반환하는 메소드이다. 반대로 작동하는 takeUnless도 있다. 이 메소드들을 잘 사용하면 더욱 간편하게 코드를 구현할 수 있을 것 같다.

 

"as?"는 Kotlin에서 안전한 캐스팅을 제공하기 위한 연산자이다. 이 연산자는 지정된 타입으로 캐스트를 해주는데, 대상 타입으로 캐스트를 할 수 없으면 null을 반환해주는 편리한 연산자이다.

 

아무래도 Spring Security 정보를 찾느라 여러 군데를 돌아다니다 보니 계속 헷갈려서 시간을 많이 허비한 것 같다. 내일은 한 곳에 집중해야겠다.

'부트캠프 일지' 카테고리의 다른 글

부트캠프 25일차 후기  (1) 2024.01.02
부트캠프 23일차 후기  (0) 2023.12.28
부트캠프 21일차 후기  (0) 2023.12.26
부트캠프 20일차 후기  (3) 2023.12.22
부트캠프 19일차 후기  (2) 2023.12.21