분류 전체보기

· TIL/2023
💋 오늘 공부한 내용 Spring JDBC를 미션 도중 사용했는데, 조금 더 정리하고 넘어가고 싶어서 Chat GPT와 공식문서를 옆에 끼고 공부했다. JdbcTemplate, NamedParameterJdbcTemplate, SimpleJdbcInsert의 사용 위주로 학습했다. 테코톡을 들었는데, 오리의 'IntelliJ Debugging'에 대한 테코톡(발표)를 듣고 내가 이제까지 다음 breakpoint로 넘어가는데 Step Over 버튼을 잘못 사용하고 있다는 것을 알게 되었다. 💋 감정 회고 Chat GPT API를 사용해서 만든 나만의 깃짱 GPT를 선물받았다 >
· Spring
지난 포스팅에서 Spring JDBC가 무엇인지, 그리고 어떤 도구들을 사용해 DB에 접근할 수 있는지에 대해서 알아보았다. 이번 포스팅에서는 JdbcTemplate을 사용해서 DB에 접근하고, Querying과 Updating을 하는 방법에 대해 공부해볼 것이다! 💋 JdbcTemplate Spring에서 제공하는 JDBC Core 패키지에서 가장 핵심이 되는 클래스 리소스의 생성과 해제를 처리해서 연결을 닫는 것을 까먹고 못하게 되는 등의 일반적인 오류를 방지한다. SQL 쿼리를 실행한다. SQL문을 실행하여 DB에서 데이터를 변경한다. 예를 들어 DB에 새로운 데이터를 추가하거나, 기존 데이터를 업데이트하거나 삭제하는 작업을 한다. SQL 쿼리의 실행 결과로 ResultSet을 생성한다. JDBC ..
· Spring
💋 Spring을 사용해 DB에 접근하자! Spring을 사용한 애플리케이션에서 DAO(Data Access Object) 또는 레포지토리를 만들었다면, 추가적으로 예외 처리에 대한 기능을 할 수 있도록 만들어야 한다. 아래와 같이 @Repository 어노테이션을 붙여 주는 것이 가장 좋은 방법이다. @Repository public class SomeMovieFinder implements MovieFinder { // ... } @Repository 어노테이션을 사용하면 컴포넌트 스캔을 통해 자동으로 빈으로 등록된다. 기존에 하던 수동 작업이던 XML 설정 파일에 DAO나 Repository 빈으로 등록하는 것을 더이상 하지 않아도 된다! DAO나 Repository 클래스에서는 애플리케이션이 종료..
· Spring
💋 인트로 이전 포스팅에서 Spring의 @Controller에서 예외 처리를 하는 방법에 대해서 공부했다. 지정한 예외를 잡아서 처리할 수 있는 기능을 얻었지만, 우리가 만드는 애플리케이션은 여러 개의 컨트롤러를 가질 때가 많다. 컨트롤러가 여러 개인 경우, 어떻게 될까? @ExceptionHandler는 코드가 작성된 @Controller 내에서만 작동한다. 다른 컨트롤러에서 동일한 예외가 발생했더라도 잡을 수가 없다. IllegalArgumentException에 대해 동일한 처리를 해주고 싶더라도, 그 예외가 다른 컨트롤러에서 발생한다면 같은 작업을 중복해서 넣어 주어야 하기 때문에 상당히 번거롭다. 이것을 해결하기 위해 등장한 것이 @ControllerAdvice이다! 💋 @ControllerA..
· TIL/2023
💋 오늘 공부한 내용 아침에 말랑이와 @Repository를 final class로 만들면 안되는 이유에 대해 이야기했고, 나름의 답을 얻어서 블로그에 포스팅했다. 인프런 이동욱님의 강연을 들었다. 강의를 들으면서 간단하게 요약을 했는데, 생각보다 요약이 퀄리티가 좋아서 블로그에 업로드했다. 💋 감정 회고 이동욱님 강연을 듣는데, 나와 학습 방법이 굉장히 비슷한 사람이라는 생각이 들었다. 매일 감정에 대한 부분을 개인 일기에 적는 것, 다른 사람에게 가르쳐준다고 생각하고 블로그에 글을 작성하는 게 잘 맞는 것, 학습할 때 네모의 모서리를 닦기보다는 네모를 깎아서 팔각형으로, 팔각형을 깎아서 원으로 만들어 정리하는 것에서 굉장히 비슷하다고 느꼈다. 나는 늘 메이저한 내용을 공부하는 것을 좋아하고 마이너한 ..
· Spring
💋 문제 상황 코드를 작성하던 도중 예상치 못한 에외를 만났다. 에러가 발생한 코드는 아래와 같다. @Repository public final class DbGameDao implements GameDao { public DbGameDao(DataSource dataSource) { ... } public Number insertGame(TryCount tryCount) { ... } public List selectGameIds() { ... } } org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'webController’ 예외 메세지가 상당히 길고 복잡한데, 중요한 말들을 뽑..
· Spring
💋 인트로 스프링의 DI 프레임워크에 대해서 공부를 하다 보니, 기존 자바 코드에서 하던 의존성 주입에 비해 어떤 점이 더 좋은 지에 대한 궁금증이 생겼다. 자바 코드를 사용해서도 의존성 주입을 받을 수 있다. Spring이 없이도, 우리는 순수 자바 코드만으로도 이제까지 확장 가능성을 고려하면서 전략패턴 등을 사용해 효과적으로 의존성을 주입해 왔다. 그렇다면 Spring의 DI 프레임워크를 사용하는 것이 순수 자바 코드의 의존성 주입과 비교해서 더 좋은 이유는 무엇일까? 객체에 대해서 존재하는 모든 책임을 분리해서 생각하자면, 객체의 생성에 대한 책임과 객체의 사용에 대한 책임이 있다. 우리가 기존에 순수 자바 코드에서 의존성을 주입하는 방식을 사용한다고 했을 경우를 예를 들어 생각해 보자. publi..
강연에서 들었던 말 중 기억에 남는 것들을 정리해 보았다! 중간에 내가 느낀 점은 이탤릭체로 적어 놓았다! 💋 자존감 기둥 세우기 자존감 기둥은 여러 가지로 세워 놓아야 한다. 하나만 세워두게 되면 갑자기 무너질 수가 있다. 자존감 기둥은 글쓰기, 커뮤니티 참여, 운동, 멘토링, 전 동료와의 대화, 독서가 될 수 있다. 커뮤니티 참여 회사에 가면 내가 제일 못하는 사람일 수도 있는데, 다른 커뮤니티에 가면 내가 도움이 되는 사람일 수도 있다. 이럴 때는 더 못하는 회사에 가서 내가 더 잘하는 사람이 되느냐, 그대로 가면서 잘하는 사람들 옆에 붙어있느냐 두 가지 선택이 있다. 글쓰기 개인적인 감정 쓰레기통 같은 일기를 많이 썼다. 멘토링 선배 개발자들을 많이 만나면서 고민을 이야기하고, 선배들은 어떻게 해..
· TIL/2023
💋 오늘 공부한 내용 Spring MVC에서 예외를 잡고 처리하는 방법에 대해 공부했다. 웹 자동차 경주 2단계 미션 구현을 완료했다! 스프링에서 빈으로 관리하는 @Repository 클래스에 final을 붙이면 안된다는 것을 알게 되었는데, 왜 그런지에 대해서 찾아봐도 이해가 잘 안된다... 언젠가 알겠지?ㅋㅋㅋㅋ 사용하지 않는 getter라도 지울 수 없는 이유에 대해서 고민해봤다. 이것도 좀 더 정리가 필요할 듯... 이번 주 금요일 정도 되면 간신히 이해할 수 있으려나?!! 순수 자바 코드로도 충분히 의존성을 관리할 수 있을 것 같은데, 스프링의 DI 프레임워크를 사용해서 일일이 주입해주는 귀찮은 일을 하지 않아도 된다 이외의 장점이 뭐가 있는지에 대해 궁금했다. 허브와 이거에 대해 이야기해 보았..
· Spring
*공식문서를 바탕으로 공부하고 작성한 글입니다! 💋 스프링의 예외 처리 Spring에서 에외를 처리하는 방법은 많다. (출처: 지피티쌤) 이번 포스팅에서는 @ExceptionHandler 어노테이션을 사용하는 방법에 대해서 공부해보자! 💋 @ExceptionHandler 컨트롤러에서 예외가 발생했을 때, 예외를 처리하는 메서드를 지정하는 어노테이션이다. 일반적으로 예외 처리는 try-catch 블록 안에서 하게 되지만, 컨트롤러에서 예외가 발생한 경우에 별도로 @ExceptionHandler를 사용해 예외 처리 메서드를 정의해야 한다. 예를 들어서, 사용자가 로그인을 시도할 때 인증 오류가 발생했다고 생각해보자. 서버는 인증 오류에 대한 예외를 반환할 거고, @ExceptionHandler를 사용해서 예..
깃짱
'분류 전체보기' 카테고리의 글 목록 (32 Page)