
분류 전체보기

나는 방금 우아한테크캠프 7기에서 2주를 보냈다.
글을 쓰기 전에 언제부터 우아한테크캠프와의 인연이 시작됐었는지 궁금하여 메일함을 뒤져봤는데 2024.4.3 우아한테크캠프 7기에 첫 지원을 했던 기록이 있었습니다. 그때까지만 해도 합격할 수 있을까 하는 생각은 하나도 하지 못했는데, 지금은 어느덧 교육을 시작한 지 2주라는 시간이 흘렀습니다.우테캠은 어떤 곳인가?지원할 때까지만 해도 우아한형제들에서 올린 공고를 제외하곤 정보가 거의 없었습니다. 백엔드 교육은 작년 6기가 처음이었고, 뽑는 인원도 20명 내외로 알고 있었기에 인터넷에선 몇 개 안 되는 후기 글밖에 없었습니다. 교육이 시작되고 2주가 지난 지금 당장 우테캠은 어떤 곳이냐고 물어본다면 주어진 짧은 요구사항 속에서 개개인의 저마다의 합리적인 이유를 가지고 미션을 해결하기 위해 고군분투하는 우아..

[Tomcat 디버깅 해보기] mapper.writeValue() 이후 response.setStatus()를 하면 안되는 이유
과거 개발 디코 채널에서 response.setStatus()를 적용했지만 응답이 무조건 200 OK로 내려진다는 이슈에 대한 질문이 있었습니다. (지금은 채널이 사라짐 ㅠ) 실제 테스트 해본 결과 정말 200으로밖에 응답이 내려지지 않았고, 그 이유에 대해서 간단히 디버깅해보고 설명해보고자 합니다. 예제 코드는 아래 저장소에서 확인할 수 있습니다! https://github.com/HiiWee/hiiwee-lab/tree/master/basic-spring-boot ✅ 문제 코드 및 실행 결과 문제 코드 아래 코드는 그때 상황을 발생시키기 위해 비슷하게 작성한 예시 코드입니다! BasicController @Slf4j @Controller public class BasicController { priv..
[Java] Java Generic (2) - 타입 소거 및 제한 사항
지난 시간에는 제네릭의 종류와, 사용법에 대해서 알아봤습니다. 이번시간에는 제네릭에 대해 컴파일러가 수행하는 타입 소거와, 공식문서에서 제안하는 제네릭 사용시 제안 사항에 대해서 알아보겠습니다. ✅ Type Erasure(타입 소거) 타입 소거는 제네릭의 사용 방식이라기 보단 컴파일러가 제네릭을 대하는 방식이라고 생각할 수 있습니다. 제네릭은 컴파일시 엄격한 유형 검사를 제공합니다. 자바 컴파일러는 제네릭 구현을 위해 Type Erasure 기능을 적용합니다. 타입 소거에 대한 규칙은 다음과 같습니다. 제네릭 타입의 모든 타입 매개변수를 해당 경계 혹은 Object 타입으로 교체합니다. 제네릭 타입을 제거한 후 타입이 일치하지 않는다면 타입 캐스팅을 합니다. 확장된 제네릭 타입의 다형성을 보존하기 위해 ..
[Java] Java Generic (1) - 기본적인 제네릭의 사용!
제네릭은 익숙하듯 하다가도, 시간이 지나면 내가 제대로 알고있나? 라는 생각이 들었던 부분이었습니다. 자바 뿐만 아니라 여러 언어에서도 타입에 대한 안정성을 보장하기 위해 제네릭을 차용해 사용하고 있습니다. 무백스 스터디를 진행하면서 공식문서와 레퍼런스를 통해 공부한 제네릭의 모든 내용을 정리해보려고 합니다!! ✅ 제네릭은 왜 사용할까? 컴파일 타임에 강력한 유형 검사를 할 수 있습니다. 자바 컴파일러는 제네릭을 사용한 코드가 type safety를 위반한다면 오류를 발생시킵니다. 형 변환을 제거할 수 있습니다. // 제네릭 사용 x List list = new ArrayList(); list.add("hello"); String s = (String) list.get(0); // 제네릭 사용 O Lis..