우아한테크코스 5기

우아한테크코스 5기

12월을 맞이하며 쓰는 지극히 개인적인 우테코 5기 감정 회고(ps. 2023 회고)

우테코 5기 합격 메일을 받은지가 지금으로부터 거의 1년이 다 되어간다. 그동안 참 많은 일들이 있었는데 짧게 회고를 해보려고 한다. 레벨 1, 2때는 정말 쉴틈없이 개발 공부를 했었다. 아침 7시에 일어나서 9시 전에 캠퍼스에 등원하고, 밤 10시 30분 ~ 11시까지 끊임없이 공부하고 12시에 집에 들어왔었다. 이때를 생각해보면 그냥 불도저처럼 열심히 공부했던 것 같다. 레벨 1, 2 때는 다시 돌아가도 그 이상으로 공부하진 못할 것 같다. 그래서 만족 ^__^ 레벨 3, 4때는 팀 프로젝트를 시작했다. 프로젝트 시작 전에는 여러 기술이나 방법들을 도입해보고자 혼자 찾고 노력할만큼 열정이 가득했었다. 그런데 기획 회의를 거쳐서 개발 단계에 들어가면서 많은 에너지 소모가 발생했던 것 같다. 아무래도 제..

우아한테크코스 5기/회고

우아한테크코스 5기 레벨2 인터뷰 회고 & 피드백 정리

1. 감정 회고 어제 레벨2 인터뷰를 진행했다! 레벨 2 인터뷰는 레벨 1 인터뷰와 한가지가 달랐다. 레벨 1 인터뷰에서는 자신이 공부했던 내용을 제출하고, 그 내용을 바탕으로 질문 & 답변을 했다. 하지만 이번 레벨 2 인터뷰에서는 모든 크루가 자신이 공부했던 내용을 바탕으로 질문지를 작성하고, 해당 질문지를 보면서 다른 크루들에게 질문을 하는 방식이었다. 이렇게 새롭게 바뀐 방식은 장단점이 존재했다고 느꼈다. 먼저 레벨 1 때는 내가 공부했던 부분을 제출해서 '내가 공부한 부분인데 해당 부분을 제대로 말하지 못하면 어쩌지?' 라는 생각에 더 떨렸었다. 하지만 이번 레벨 2 인터뷰는 어떤 질문이 올지 모르므로 오히려 긴장이 덜 됐던 것 같아서 좋았다. 그러나, 깊게 공부했던 부분 이외의 질문들을 많이 ..

우아한테크코스 5기/미션 피드백 정리

[웹 자동차 경주] 배운 것 정리

1. 스프링 테스트에서 Junit5는 의존성 관리를 해주지 않는다. 스프링 테스트 시 @Autowired 어노테이션이 없으면, 의존성 주입을 해주지 않는다. 프로덕션 코드에서는 생성자 주입 시 @Autowired 어노테이션이 없어도 자동으로 스프링이 주입을 해줬다. 따라서, 테스트 코드에서도 생성자 주입 사용 시 @Autowired 어노테이션이 없어도 자동으로 주입될 줄 알았다. 하지만, 테스트 환경에서는 생성자 주입 시 스프링 IoC 컨테이너에서 스프링 빈을 찾는 것이 아니라, 생성자 매개변수 관리를 Jupiter가 하기 때문에 Jupiter에게 생성자 매개변수 관리를 처리할 ParameterResolver에게 요청을 보낸다. 하지만 해당 빈은 스프링 IoC 컨테이너가 가지고 있기 때문에 찾지 못해 에..

우아한테크코스 5기/학습 로그

함수형 인터페이스의 정의 & 사용 예제

🎯 1. 함수형 인터페이스의 정의 추상 메소드를 단 하나만 가지고 있는 인터페이스 default 메소드 & static 메소드를 여러개 가지고 있더라도 추상 메소드가 하나면 함수형 인터페이스이다. @FunctionalInterface public interface Predicate { boolean test(T t); } ※ @FunctionalInterface 해당 인터페이스가 함수형 인터페이스임을 선언하는 어노테이션 해당 어노테이션이 없더라도, 추상 메소드가 하나이면 함수형 인터페이스로 동작한다. 👉 그렇다면, 왜 @FunctionalInterface를 사용할까? @FunctionalInterface 어노테이션이 있으면, 추상 메소드가 2개 이상이면 컴파일 오류를 발생시킨다. 따라서, 검증 및 유지 ..

우아한테크코스 5기/회고

우아한테크코스 5기 레벨1 인터뷰 회고 & 피드백 정리

0. 들어가기 전 어제 우테코 레벨1 레벨 인터뷰를 진행했다! 제이슨 코치 조에 속해서 엄청난 풀스윙으로 맞았다 ㅎㅎ 😎 다음에 안 맞기 위해 맞은 기록들을 정리해보고자 한다 😂 🎯 1. 답변하지 못한 부족했던 개념 정리 ✅ 1-1. 동일성과 동등성 equals & hashCode를 함께 정의해야 하는 이유는? hashCode를 재정의 하지 않으면 어떤 문제가 발생할까요? 동일성과 동등성의 차이는 무엇이고, 어떻게 사용해야 하나요? ✅ 1-2. 객체 생성 비용 객체 생성 비용의 부담감을 느껴본 적이 있나요? 이로 인해 메모리 측면에서 효율적으로 하기 위한 시도를 해봤나요? 매번 인스턴스를 생성하는 것과 ‘캐싱’시 메모리 측면에서 어느정도의 효과가 있는지 체험해보기 🎯 2. 학습 측면 피드백 ✅ 2-1. ..

우아한테크코스 5기/회고

우아한테크코스 5기 4주차 체스 미션 감정 회고

0. 들어가기 전 미션 피드백이 아닌 감정 회고는 1주차 자동차 경주 미션 이후로 오랜만인 것 같다. 너무 바빠서 미션에 사용한 것들에 관해 적을 시간이 없어서 감정 회고를 하는 것은 아니다 ㅎㅎ (맞을지도) 이번 미션은 역대급으로 바빴던 것 같다. 나는 시간 박치기를 많이하는 타입이라서 항상 시간이 부족하기는 하지만 이번엔 달랐다. 이전 미션들에서는 구현을 완성하고 리뷰어의 피드백을 받아 리팩토링하는 과정에서 시간이 부족했다면, 이번 체스 미션은 구현을 완성하는 데까지만 해도 시간이 부족했다. 그래서 이러한 역대급 체스 미션을 끝내고(아직 끝낸 건 아니지만...) 느낀 감정들을 3L 포맷을 통해 회고하고자 한다. (감정 회고에 맞는 포맷은 아닌 것 같긴 한데, 일단 해본다) 🎯 1. 나는 무엇을 좋아하..

우아한테크코스 5기/학습 로그

instanceof 사용을 지양하기 - Why? Solution?

🎯 0. 주제 선정 이유 이전 블랙잭 미션에서 간간히 캠퍼스에서 ‘instanceof를 지양해야한다!’라는 소리가 들려왔는데, 블랙잭 미션에서는 instanceof를 사용할 경우가 없었어서 공감하지 못했다. 하지만 이번 체스 미션에서 2번 instanceof를 사용하게 되었다. ‘instanceof를 지양해야한다!’라는 소리를 들어서 지양하고 싶었지만, instanceof 대신 어떤 방법을 사용해야할지 몰라서 instanceof를 사용하게 됐었다. 따라서 이번에 instanceof를 왜 지양해야하는지를 알아보고, instanceof를 쓰지 않고 어떻게 해결할 수 있는지를 알아보자. 🎯 1. instanceof가 뭐지? 다들 클래스의 인스턴스(instance) 라는 말은 적어도 한번은 들어봤을 것이다. 객..

우아한테크코스 5기/학습 로그

VO(Value Object)는 무엇일까? 왜 사용할까?

1. VO(Value Object)란? VO의 의미를 보면 다음과 같다. * VO란 도메인에서 한 개 또는 그 이상의 속성들을 묶어서 특정 값을 나타내는 객체를 의미한다. * 해당 속성들을 primitive 타입이다! (int, boolean, ...) 여기서는 의미만 간단하게 살펴보고, 아래에서 VO의 예시를 살펴보면서 이해해보자. 2. VO, 그래서 왜 쓰는건데? VO가 필요한 이유는, primitive 타입이 도메인 객체를 모델링하기 위해 충분하지 않기 때문이다. primitive 타입으로는 도메인에서 의미 있는 값으로 인식하기 힘들다. 지금부터 VO가 필요한 이유를 살펴보자. 🎯 2-1. primitive 타입의 기능들을 객체가 전부 사용하지 않는다. '사다리 타기 게임'을 예시로 들어보자. 사다..

우아한테크코스 5기/미션 피드백 정리

우아한테크코스 LV 1 - 사다리 타기 피드백 정리

0. 들어가기 전 사다리 타기는 오늘 미션이 끝나는데 자동차 경주 미션 피드백 정리와는 달리 끝나는 날인 오늘 정리해보려고 한다! 이렇게 바로 정리하는 것도 내일 바로 새로운 미션이 시작되기 때문에 다음 미션에 바로 적용해볼 수 있어서 괜찮을 것 같다! 1. 리뷰어 피드백 🎯 1) static 사용 관련 static 사용 관련해서 언제 사용해도 되는건지 기준이 모호해서 질문을 드렸었다. 리뷰어님께선 먼저 '해당 클래스를 여러 객체로 생성할 필요가 있는가?'를 고민해본다고 하셨다. '상태를 지니는가?'도 고민해보고 상태를 지니면 공통된 객체가 아니라, 인스턴스화된 객체로 여러 객체로 생성해야하므로 static을 쓰지 않는다고 하셨다. 이렇게 상태를 가지고 있지 않는 클래스 '유틸리티 클래스'라고 한다. 내..

우아한테크코스 5기/학습 로그

도메인에 처음 접근하기 - Out -> In / In -> Out 접근 방식

우테코 강의에서 처음 보는 도메인에 접근할 때의 방식 2가지를 소개해줬다. 1. Out -> In 접근 방식 2. In -> Out 접근 방식 1. Out → In 접근 방식 VS In → Out 접근 방식 * Out -> In 접근 방식 - 큰 관점에서 접근하는 방식 ex : 사다리 한 개의 의미가 뭘까? 사다리 한 라인은 뭘까? 사다리 전체가 있고, 사다리 한 라인이 있네! * In -> Out 접근 방식 - 가장 작은 단위를 찾아서 접근하는 방식 ex : 이게 가장 작은 단위인 것 같으니, 여기부터 시작해보자. 작은 것부터 하고, 이걸 합치다보니 완성되어 있다. 이 접근 방식은 취향의 차이지만 좀 더 적합한 것은 존재한다. Out → In 방식은 도메인 지식이 없거나 요구사항을 객체로 도출할 수 없..

BE_성하
'우아한테크코스 5기' 카테고리의 글 목록