22.11.21~22.11.26 WIL
1. 알고리즘
2. Spring 입문
1. 알고리즘
이번 주에 lv0 19문제 lv1 10문제를 풀었다.
lv0인 경우 아주 간단한 변수, 배열, 반복문, 조건문만 잘 다루면 풀 수 있는 문제가 많았지만
lv1부터는 수학적으로 다가가야 하는 문제나 list strim math map 등 자바 내, 외부의 라이브러리의 메서드를 사용하는 경우가 많았다.
그래서 난 클래스, 상속, 인터페이스와 같은 자바에 대한 심화적인 이해와 list, map 등 컬랙션 프레임워크를 공부하기로 했다. 그럼 lv1 이상인 알고리즘 문제라도 지금보다 조금 더 원활하게 풀 수 있지 않을까 기대를 하고 있다.
2. Spring 입문
이번주 목요일부터 Spring 공부를 시작했다.
김영한 님의 스프링 입문 강의를 보고 있는데 아무래도 자바에서 많은 공부를 못하고 오다 보니 자바 문법적인 부분에서 모르는 게 많았다.
예를 들어 IllegalStateException, assertThrows, isEqualTo, Optional 등이 있었다.
IllegalStateException이란 부정 또는 올바르지 않은 떄에 메서드가 불려 간 것을 나타낸다.
즉 기대한 예외가 발생할 때 에러 출력값을 정하는 등 해당 예외를 활용할 때 사용된다.
비슷한 느낌으로 사용되는 예외는 아래와 같다.
예외 | 사용법 |
IllegalArgumentExeption | null이 아닌 인자의 값이 잘못되었을 때 |
IllegalStateException | 객체 상태가 메서드 호출을 처리하기에 적절하지 않을 때 |
NullPointException | null 값을 받으면 안 되는 인자에 null이 전달되었을 때 |
IndexOutOfBoundsException | 인자로 주어진 첨자가 허용 범위를 벗어났을 때 |
ConcurrentModificationException | 병렬적 사용이 금지된 객체에 병렬 접근이 탐지 되었을 때 |
UnsupportedOperationException | 객체가 해당 메서드를 지원하지 않을 때 |
assertThrows란 Assertion.assertThrows( Class.class, () -> {~~. func();});와 같이 사용되며 인자인 블록 내부 메서드를 실행하여 첫 번째 인자인 예외 타입과 같은지 검사한다.
isEqualTo는 java에서 자주 사용된 ==와 비슷한 의미로 사용되는데 Spring에서는 == 대신 isEqualTo를 사용한다고 한다.
Optional은 null이 올 수 있는 값을 감싸는 Wrapper 클래스이다.
이외에도 모르는게 많았지만 공부하면서 더 알아갈 생각이다.
Spring으로 넘어오다 보니 controller, service, repository 등 각자 용도에 맞는 derectory에서 작업하고 다른 class에서 작성한 코드를 넘겨받아 사용하는 시스템을 보니 역시 자바는 객체지향적 언어가 맞는구나가 많이 와닿았다 ㅋㅋ.
김영한 님의 입문자용 Spring.. 입문자용이 아닌 느낌이 들 정도로 많이 어렵지만 무작정 따라 해 보며 내가 짠 코드를 뒤돌아보며 어떤 것을 사용한 건지 알아가며 공부하고 있다. 알고리즘도 lv0부터 매일 3문제씩 풀고 있는데.. 꾸준히 포기하지 않고 노력하자!
'📑WIL' 카테고리의 다른 글
Week1 WIL. (0) | 2022.11.21 |
---|