본문 바로가기

전체 글28

[LEVEL 1] 블랙잭 미션 회고 우아한테크코스의 세 번째 미션인 블랙잭 미션을 마쳤다.이번 페어프로그래밍은 미미와 함께 진행하였는데, 정말 잘 맞아서 재미있게 했던 것 같다. 코스 때 구현해 봤던 로또미션, 최종 코딩테스트 때 구현해 봤던 출석미션과 달리 처음 해보는 구현미션이었다.그래서인지 미션이 정말 재밌었다!🗣️ 구현하면서 고민했던 점들이전 로또, 출석 미션에도 회고를 어떤 식으로 작성할까 많은 고민을 했었다.그래서 그냥 단순히 소프트 스킬, 하드 스킬 구분할 것 없이 고민했던 점들을 나열해볼 것이다!뭐 다시 다른 좋은 방법이 생각나면 바꿔야겠다 ✔️ 도메인 용어 vs 직관적인 용어나는 블랙잭이라는 게임을 잘 알지 못한 상황이었다. 이전처럼 단순히 요구사항에 적힌 내용들만 보고 구현할 수 있을 것이라 생각했다. 하지만 클래스, .. 2025. 3. 26.
[LEVEL 1] 출석 미션 회고(TDD) - (2) 두 번째 미션인 출석은 총 2주를 진행했다.앞서 회고를 작성한 페어프로그래밍 1주와 페어 프로그래밍한 코드를 모두 삭제하고 혼자서 다시 구현하는 1주의 시간을 가졌다.이번에 작성할 이야기 2주간 있었던 일들을 간단히 이야기하고 출석 미션을 홀로 구현하기 전 목표로 세웠던 점, 구현하면서 고민했던 점, 알게 된 점, 느낀 점을 이야기하려고 한다우테코 Level1 - 2,3주차내 2주간 기억은 노트북밖에 없다왜냐하면 2주간 열심히 코딩만 하고 자고 등교하고 했던 것 같기 때문이다.초반 1주일의 우테코는 적응도 안되고 긴장되는 탓인지 캠퍼스 내에 있으면 힘들어서 빠르게 집을 갔지만, 이제는 종종 캠퍼스 문을 닫는 11시까지 공부하곤 하였다.나보다 정말 열심히 하는 크루들이 많다. 조금은 자극되기도 해서 늦게까.. 2025. 3. 9.
[LEVEL 1] 출석 미션 회고 - (1) ☕ 출석 미션(Step1)두 번째 객체지향 프로그래밍 미션은 출석 미션이었다. Step1은 페어와 같이 프로그래밍하는 것이다! 출석 미션은 우아한 테크코스 7기 최종 코딩테스트에 나온 미션이기도 하다. 그때 5시간동안 구현했었는데, 4가지 기능 중 3가지만 구현을 했던 것으로 기억한다. 그마저도 객체지향 코드를 신경쓸 틈 없이 구현의 완성에만 급했었다. 시간이 부족하기도 했지만, 구현하기도 어려운 미션이었던 걸로 기억하였다. 이 어려운 미션을 익숙하지도 않은 TDD로 구현해야 한다니 참 막막했다. 나는 평소에 TDD에 대한 살짝의 거부감이 있었다. 뭔가 이상적인 방법인 것 같았지만 실현 가능성이 너무 적은 것 같기 때문이다. 아직 실무를 경험하지 못했지만, 그냥 그럴 것 같다고 생각했다. 온전히 나의 생.. 2025. 2. 25.
OSIV와 지연로딩(feat. SSE) 문제 배경프로젝트 기능 중 사용자가 동영상 업로드 시 AWS MediaConvert가 변환을 모두 완료하여 저장됨을 알리기 위해 SSE를 사용하였다. SSE는 간단하게 설명하면 HTTP의 비연결성을 해결하기 위해 서버와 클라이언트 간 연결을 해주는 것이다. Socket과의 차이점은 서버만 클라이언트로 데이터를 보낼 수 있는 단방향 통신이라는 점이다. 우리는 완료되었다는 알람만 보내면 되므로 해당 기술을 선택하였다. JPA의 Open-Session-In-View의 설정을 비활성화하게 된 이유는 위 SSE의 사용 때문이다. 먼저 OSIV에 대해 간략히 설명하면, OSIV의 활성화 여부는 JPA의 영속성 컨텍스트의 범위를 지정해 준다.OSIV를 활성화하게 되면 Servlet Container의 Filter부분.. 2025. 2. 22.
[LEVEL 1] 로또 미션 회고 우아한 테크코스 첫 번째 미션을 마치며 되돌아보려고 한다. 현재는 우아한 테크코스를 다닌지 1주일보다 조금 더 지난 상태이다. 처음 어색했던 분위기와 다르게 다들 많이 친해지고 웃으면서 얘기도 하곤 한다. 모두들 개발에 열정적이라 조금은 놀랐다. 개발에 열정적인 사람들과 같이 학습할 수 있는 환경이 우아한 테크코스의 큰 장점 중 하나인 것 같다. 지난 1주일이 정말 짧은 시간처럼 느껴졌다. 그 이유는 정말 할 일이 많았다. 연극을 기획하고 연습해야했고, 로또 페어프로그래밍을 진행했고, 리뷰어인 샐리의 피드백을 반영하고, 개인 리팩토링도 진행해야 했다. 근데 지금이 가장 시간이 여유로울 때라고 한다. 정말일까? 나는 우아한 테크코스를 1주일 경험하기전 힘들 것이라 생각하지 않았다. 그냥 앉아서 코드를 짜거.. 2025. 2. 19.
JOIN으로 성능 개선하기 🗣️ 배경해당 주제는 현재 진행하고 있는 프로젝트에 새로운 feature를 도입하다 맞이한 문제이다. 우리 프로젝트 팀원들은 기존 구글 폼지를 사용하여 맞이했던 여러 가지 문제점들을 해결하기 위해 웹사이트 내에서 직접 사용자가 작성할 수 있는 폼지 서비스를 제공하고자 하였다.폼지 서비스 중 폼지 답변에 대한 통계를 조회하는 기능이 있었다. 해당 기능에서 고민하지 않고 생각나는 대로 그대로 개발한 무능한 코드를 볼 수 있었다. 우리는 Form테이블과 1 : N 관계를 맺고 있는 FormField 테이블을 생성하였는데, 아래는 FormField의 DDL문이다. 아래는 FormField와 1: N 관계를 맺고 있는 FormAnswer 테이블의 DDL 문이다. 🤫 문제 상황아래의 사진은 폼지 통계를 조회하는.. 2025. 2. 16.