우아한테크코스를 수료했다. 이것만 해도 이야기보따리가 넘쳐나지만, 이번 포스팅에서는 따끈따끈한 취업 소식을 들고 왔다. 🏃 레벨 5 이야기 레벨 4가 마무리되고, 레벨 5와 함께 본격적인 취업 활동이 시작되었다. 우테코 측에서 취업 활동을 지원해주는 건 아니지만(우테코에서는 테크코스 과정을 더 중요시하고, 이 과정에서도 수료를 위해 해야하는 과제들이 넘쳐난다. 나 또한 그렇게 생각한다), 하반기 채용 시장이라는 시기와 맞물려있기 때문에 다들 이력서를 하나둘 써나가는 모습을 볼 수 있었다. 테크코스보다 취업이 중요하다면.. 테크코스를 나가는 방법이 있다⋯
🪨 그만 괴롭혀요 DTO 몇 달간 백엔드 팀을 괴롭힌 주제가 있다. DTO 매핑과 그 깊이인데, 그 시작은 엔티티 연관관계까지 거슬러 올라간다. 🚀 JPA를 활용한 엔티티 연관관계의 기준을 무엇으로 할 것인가? 에 대한 결론이 어느 정도 수립돼 있었기에, 새로운 도메인이 등장하거나 요구사항이 등장하더라도 어렵지 않게 추가하거나 변경할 수 있었다. 네 명이 다같이 데이고 공감한 부분이 많다보니, 함께 싱크를 맞춰나가는 것도 어렵지 않았다 🙂 리뷰미의 코드는 크게 ReviewGroup, Review, Template, Highlight 네⋯
JdbcTemplate을 직접 구현하는 미션 덕에 이것저것 공부하던 도중, 다른 크루의 미션 제출 현황을 보고 궁금한 게 생겼다. 우선 옵셔널이 무엇인지는 조이썬의 테코톡을 한 번 보고 오자 🤙🏻, Optional이 등장하게 된 배경과 주의할 점을 잘 설명해 주었다! 희선이 최고 🙌🏻 📦 Optional Java 8과 함께 등장한 Optional. 값을 감싸는 Wrapper class의 역할을 한다. 추가적인 클래스이므로 orElse(), orElseGet()와 같은 편의 메서드 또한 제공한다. 존재 여부를 null로 처리하지 않고, 한 번 더 추상화해⋯
🍪 세션이 만들어주는 쿠키 한 조각 세션을 활용하던 중, 컨트롤러에서 httpServletRequest.getSession()을 통해 세션을 생성하고 있었다. 이렇게 하면 톰캣 내부에서 세션을 생성할 때 응답 헤더에 Set-Cookie 필드를 추가하게 된다. 아래와 같은 예제 코드를 보자! 서버를 실행하고 /session에 접근하면, 아래와 같은 응답 헤더를 확인할 수 있었다. 예상했던 대로 Set-Cookie 필드에 세션 ID가 포함되어 있었고, HttpOnly와 같은 보안 설정도 확인할 수 있었다. 🧙🏻♀️ 헨젤과 그레텔 그리고 쿠키 프로젝트를 진행하면서 세션을 추가해야할 일이 생겼다.⋯
🔥 메모리 부족, 서버 중단 레벨 3 방학이 시작된 다음 날 토요일 아침, 리뷰미 서비스가 중단되었었다. 아침 7시 남짓부터 접속이 불가능했고, 그 이유는 리눅스 로그를 담는 syslog에서 확인할 수 있었다. 메모리 부족으로 인해 oom-killer가 java 프로세스를 중단하게 되었다. 2024-08-23T22:28:02.426195+00:00 kernel: Out of memory: Killed process 69224 (java) total-vm:2967296kB, anon-rss:326152kB, file-rss:1644kB, shmem-rss:0kB, UID:0 pgtables:1160kB oom_score_adj:0 그리고 그 메모리 부족을 일으켰던 건 nginx였다. 2024-08-23T22:28:02.185357+00:00 kernel: nginx invoked oom-killer: gfp_mask=0x140cca(GFP_HIGHUSER_MOVABLE|__GFP_COMP), order=0, oom_score_adj=02024-08-23T22:28:02.377758+00:00 kernel:⋯
🚨 문제 발생 런칭 페스티벌이 끝나가는 오후 3시 50분 즈음, 여러 크루로부터 정상적이지 않은 웹사이트 응답이 내려온다는 이야기를 들었다. 직접 개발자 도구에서 확인해보니 꾸준하게 500 응답 코드를 내려주고 있었다. 뒤쪽에서 무언가 문제가 발생했다. 서버가 켜진 지는 3시간이 다 되어 가던 때였다. 런칭 페스티벌 직전에 몇 가지를 수정해 릴리즈했기 때문에 업타임이 길지는 않았다. API의 정상 동작을 확인했고, 처음 두 시간 정도는 모니터링 상에서도 큰 이슈가 존재하지 않았었다. 어플리케이션 로그는 즉각 확인할⋯
Categories