분류 전체보기
-
Error Handling: Spring에서 Exception 대응하기각종 학습 요약/Spring 2022. 6. 17. 20:51
Error Handling: Spring에서 IllegalArgumentException 대응하기 스프링부트 프로젝트를 빠르게 훑어보고자 하는 요구가 있어서, 최근 이동욱 님의 스프링 부트와 AWS로 혼자 구현하는 웹서비스를 보고 있습니다. 간단한 생성/조회/수정/삭제 기능을 구현해보는 파트를 진행하다가 마지막 삭제 파트를 따라서 구현해놓고 궁금증이 생겼습니다. 다 따라서 만들긴 했는데... (삭제는 이미 잘 되는 상황) 삭제는 잘 작동하는데.... 만약에 다시 삭제를 시도하면 어떻게 될까? 해당 부분을 위해서 Service 계층에서 삭제하기 전에 먼저 조회로 리포지토리.findById(id).orElseThrow(() -> new IllegalArgumentException(id + "번 게시글이 없어..
-
Java: 오류Error와 예외Exception, Unchecked와 CheckedJava 2022. 6. 17. 17:44
Java: 오류Error와 예외Exception, Unchecked와 Checked 이 글에서는... 오류와 예외를 구분해 설명하고, Unchecked Exception과 Checked Exception을 구분지어 설명해봅니다. 예외의 적절한 처리를 알아봅니다. 일단, 오류Error와 예외Exception 오류와 예외 메시지를 받아주는 Throwable 밑에는 두 클래스가 존재합니다. Error와 Exception이죠. Java API Docs에서는 이렇게 설명하고 있습니다. Error : (파파고 번역) 오류는 적절한 응용 프로그램이 탐지하려고 해서는 안 되는 심각한 문제를 나타내는 폐기 가능한 하위 클래스입니다. 이러한 오류는 대부분 비정상적인 상태입니다. 스레드 데스 오류는 "정상" 상태이긴 하지만..
-
TIL: 백엔드 부트캠프 36일차 (w/코드스테이츠)Today I Learned & WIL, MIL 2022. 6. 16. 18:29
220616_TIL & 학습 평가 1. TIL 데일리 코딩 매일 하나씩 풀기 - 재귀 부트캠프 : Spring MVC - DI SpringStudy : Spring boot 도서 2. 학습 평가 학습 난이도: 5 학습 집중도: 5 습득 수준: 5 👇참고: 수준을 정하는 주관적 척도 * 긍정적인 경우는 어려움이 아니라 반대로 생각했다. * 0: 휴식 / 1: 아주 아주 쉬움 / 2: 쉬움 * 3: 보통 / 4: 어떤 부분은 조금 어려웠음 * 5: 어려움 / 6: 노력해도 모르겠는 부분이 많다 / 7: 너무 어려움 * 8: 못 따라가겠어… 노력해도 모르겠고, 뭘 봐야할지도 모르겠어.. 흰건 종이고, 검은건 글자다… * 9: 이제 진짜 더는 무리다. 누가 알려줘도 모르겠어. * 10: (그냥 물리적으로 더 공..
-
Spring: 의존관계 주입(DI, Dependency Injection) 방식 네 가지 요약각종 학습 요약/Spring 2022. 6. 16. 15:37
Spring: 의존관계 주입(DI, Dependency Injection) 방식 네 가지 요약 이 글에서는 Spring Framework의 의존관계 주입(이하 'DI') 방식 네 가지를 살펴보고, 각각의 방식이 어떤 특징을 가지고 있는지 요약해보겠습니다. DI의 네 가지 방식 Spring Framework에서 컨테이너가 관리하고 있는 Bean 객체에 의존관계를 주입하는 방법에는 크게 네 가지가 있습니다. 생성자 주입 세터(수정자) 주입 필드 주입 (일반)메서드 주입 1. 생성자 주입 생성자 주입은 아주 자주 사용됩니다. 왜 자주 사용되는지, 어떤 특징이 있는지 잘 알아둘 필요가 있습니다. 단 한 번만 호출되는 것을 보장합니다(생성 시). 불변 객체를 만들 수 있습니다. 생성 시점(컨테이너에..
-
Spring: IoC와 DI를 예시로 쉽게 이해해보자각종 학습 요약/Spring 2022. 6. 16. 13:13
지난 포스트에서 컨테이너와 빈에 대해 말했었어요. 그 내용들은 어렵지 않게 '아 그런게 있구나' 할 수 있는 내용이었죠. 근데 요 다음부터 바로 빈의 의존 주입 같은게 튀어나오면 '응? 갑자기? 왜? 뭐 때문에?'와 같은 생각이 들기 십상이거든요?(일단 저는 그랬습니다...) "컨테이너란게 있고, 빈이란게 있는데, 그래서 뭐. 굳이 왜 걔네가 객체를 관리해주고, 우리는 그걸 써야돼?"라는 질문을 해결하지 못하면, 이후의 스프링 내용들을 정말로 이해할 수는 없을 거에요. 그냥 외워서 사용하게 되는 것이죠. 그래서 이해를 돕고자 예시로 설명을 준비해봤습니다. 저나 여러분이나, 스프링을 공부하고 좀 더 잘 이해하는데에 도움이 되기를.... 바랍니다! (잘못된 설명이 있다면 지적 부탁드려요..!) 00:00 -..
-
Spring: Spring Container와 Bean각종 학습 요약/Spring 2022. 6. 16. 11:56
Spring Container와 Bean 스프링 컨테이너와 빈에 대한 간략한 설명글입니다. Spring Container란? 스프링 웹 어플리케이션 내부에서 활용되는 객체들을 관리하고 있는 관리자이자 저장소입니다. 객체를 생성하고, 저장하고, 소멸합니다. 스프링 컨테이너가 객체를 생성/사용하는 기본적인 값은 싱글톤입니다. 컨테이너에서 별다른 설정 없이 객체를 얻었다면(getBean()), 싱글톤 객체가 반환됩니다. 싱글톤 객체들은 컨테이너가 생성되고 나서 바로 객체를 생성하고, 보관하다가 어플리케이션 종료 시점에 소멸됩니다. 스프링컨테이너, DI컨테이너, IoC컨테이너, 아니면 그냥 편하게 컨테이너라고 불립니다. Bean이란? Container에서 관리/사용되는 모든 객체를 Bean이라고 합니다. 빈의 ..
-
TIL: 백엔드 부트캠프 35일차 (w/코드스테이츠)Today I Learned & WIL, MIL 2022. 6. 15. 18:47
220615_TIL & 학습 평가 1. TIL 데일리 코딩 매일 하나씩 풀기 - Implementation 부트캠프 : Spring MVC & Spring Boot SpringStudy : Spring boot 도서 2. 학습 평가 학습 난이도: 5 학습 집중도: 5 습득 수준: 4 👇참고: 수준을 정하는 주관적 척도 * 긍정적인 경우는 어려움이 아니라 반대로 생각했다. * 0: 휴식 / 1: 아주 아주 쉬움 / 2: 쉬움 * 3: 보통 / 4: 어떤 부분은 조금 어려웠음 * 5: 어려움 / 6: 노력해도 모르겠는 부분이 많다 / 7: 너무 어려움 * 8: 못 따라가겠어… 노력해도 모르겠고, 뭘 봐야할지도 모르겠어.. 흰건 종이고, 검은건 글자다… * 9: 이제 진짜 더는 무리다. 누가 알려줘도 모르겠어..
-
IntelliJ: 코드 자동 완성(Live Template) 완벽하게 사용하기(w/Auto import)IntelliJ IDEA 2022. 6. 15. 14:35
Auto Import를 곁들여서 Live Template 완벽하게 사용하기 * 이 글은 인텔리제이의 Live Template 기능과 Auto Import 기능이 어떻게 유용한지, 그리고 설정 방법을 간략하게 알아보는 글입니다. 글의 끝에는 예시로 써먹을만한 템플릿 몇 개를 추천하고 있으니, 입맛에 맞게 수정/추가해서 써보도록 하시죠! * 들어가기 앞서: 설정창 단축키는 Ctrl+Alt+S, 맥의 경우에는 커맨드 + , 이다. 원하는 설정을 좌상단에 검색해서 편하게 수정할 수 있다. Live Template란? psvm이나 main을 입력하고 Tab을 치면 메인메서드가 완성되는, 바로 그 기능입니다. 이건 인텔리제이에서 제공하는 코드 자동 완성 기능인데요. 기본적으로 main, fori, itar 등 유용..