본문 바로가기

분류 전체보기32

[네트워크] Keep-Alive 관련 트러블 슈팅 keep-alive 설정을 추가하여 배포한 과정에서 나타난 connection 개수가 실시간으로 줄어들고 있다.보면서 참 마음이 편-안 해졌다. 외부 통신을 위해 (Spring6의 RestClient와 함께) Apache HttpClient5 를 사용했는데, 내부에 있는 PoolingHttpConnectionManager 를 잘 활용하지 못하고 있어서 keep-alive가 안먹히는 현상이 있었다.그래서 connection 개수가 요청이 들어올때마다 만들어지고, 결국엔 k8s의 egress가 제공하는 connection pool 제한을 넘어버리면서 요청이 실패하는 현상이 일어났다. 현상이 발생했던 이유는 HttpClient 내의 또다른 설정인 RequestConfig 라는 객체를 항상 새로 만들어줘야 해서.. 2024. 5. 7.
JDK 버전 바꾸기 (Apple Silicon Mac) feat. chatGPT M1 맥을 사용하고 난 후에, 터미널 자바 버전을 바꿀 일이 생겼다. 작년에 자바 버전 바꾸는 방법을 블로그에 정리한 기억이 있어서 찾아보고 그대로 따라했는데, 그 때 당시에는 인텔 맥에 맞춰진 버전 변경 방법이어서 그런지 적용이 되지 않았다. 댓글에서도 M1 환경에서는 자바 버전을 바꾸는 방법이 다르다는 글이 있어서, 글을 하나 더 작성하게 되었다. 특히 이번에는 최근 가장 뜨거운 감자라고 할 수 있는 ChatGPT를 사용하여 이 주제로 질문을 만들어 보내보았다. 영어로 질문해야 좀 더 정확한 답변이 나온다고 들어서 부족한 영어 실력이지만 알아서 알아듣겠지 하고 질문을 해보았다. 너무 깔끔하게 답변이 나왔고, 실제로 그대로 수행하니 자바 버전이 바뀌었다. 답변이 항상 정확하다는 가정 하에 직접 검색보다.. 2023. 2. 1.
[인턴십 후기] Works Mobile 2022 하계 채용 연계형 인턴십을 마치고 개발자로서 첫 사회 경험이었던 8주 간의 Works Mobile 인턴십을 마쳤다. 판교 개발자의 삶을 조금이나마 맛볼 수 있었던 특별한 경험이었다. 테크원타워 쵝오! 8주라는 시간이 순식간으로 느껴졌다. 길다면 길고 짧다면 짧은 시간 동안 새롭게 배운 것들도 많고, 스스로 느낀 것들도 많아 글로 정리하면서 돌아보는 시간을 가지려 한다. 비밀유지 서약을 했으니, 인턴 과제에 대한 세부적인 설명은 뒤로하고 신기했던 일들, 순간순간 느꼈던 기분, 어떤 점들에서 내가 부족함을 느꼈고, 어떻게 극복했으며, 앞으로는 어떻게 나아가야 할지에 대해 중심을 맞춰 글을 쓰겠다. 첫 출근날 처음 출근했을 때 기분이 아직도 생생하다. 출근을 정해진 시간보다 20분 먼저 했지만, 마치 죄지은 사람처럼 안절부절 못하면서 식은땀도.. 2022. 9. 15.
2022 네이버웍스(웍스모바일) 채용연계형 하계 인턴 합격 후기 정말 운이 좋게 웍스모바일에 합격하였다. 사실 좀 얼떨떨했다. (왜 합격이지?) 면접에서 스스로 만족할만한 답변을 많이 하지 못했다. 카카오 면접 때와 또 다른 유형의 면접 과정이었는데, 하나의 프로젝트를 집요하게 파서 질문을 받았던 것이 그것이다. 스스로 진행한 프로젝트임에도 세세히 알지 못했다고 느껴졌고, 성능 개선을 위한 노력도 턱없이 부족하다고 느껴지는 인터뷰 과정이었다. 그래도 기본적인 CS 질문에는 잘 대답한 편이었고, 단지 이런 성능 개선 부분이나 실제 배포 운영 경험이 없다는 점이 스스로 큰 결점이라고 생각했는데, 관련 질문이 들어왔을 때 바로 "모르겠습니다"라고 답하기 보다 충분히 고민하고 "만약에 제가 그런 상황이라면~" 하면서 내가 아는 선까지 최대한 말씀드리려는 모습을 좋게 봐주신 .. 2022. 7. 15.
2022 Naver 기술 직군 신입 채용 인턴십 지원 후기 [진행 상황] 서류: 합 1차 인터뷰: 완료 2차 인터뷰: 웍스 모바일 인턴십 일정과 겹쳐 포기 스펙 간단 요약 컴퓨터공학 전공자, 2023년 2월 졸업예정 학점 4.1/4.5 지원서에 작성한 팀프로젝트 경험 두 개 (면접에서 추가로 진행한 프로젝트 어필) 자격증 없음, 이력 없음 + 추가 포트폴리오 제출란에 포트폴리오 제출 했음. (더 자세한 내용의 프로젝트 설명, 교내 수상 내역, 활동 내역 등) 서류 지원 과정 요약 지원서(이력서) + 코딩 테스트 + 인적성 검사로 평가되었다. 네이버는 지원서를 넣을 때 특정 직군(?)을 선택해서 지원하는 것이 특이했다. 천천히 모든 직군의 소개글들을 읽어보면서 내가 만족하는 지원자격과 우대조건들을 잘 비교해보았고, 결론적으로는 당연한 말이지만 내가 가장 잘 맞을 .. 2022. 7. 15.
[스프링과 객체지향 3편] DI, IoC, 스프링 컨테이너 이전 편에서 객체지향설계 5원칙에 대해 다루었다. 다형성만을 사용해서 OCP와 DIP를 지키기 어렵다는 것도 설명하였다. 이번 편에서는 OCP와 DIP를 지키기 위해 DI, IoC에 대해 알아보고, 나아가 DI 컨테이너, 스프링 컨테이너에 대해 알아볼 것이다. DI (Dependency Injection), 의존관계 주입 애플리케이션 실행 시점에 외부에서 실제 구현 객체를 생성하고 전달하여 클라이언트와 서버의 실제 의존관계가 연결되는 것을 의존관계 주입(DI)이라고 한다. 의존관계는 두 가지로 분리해서 생각해야 한다. - 정적인 클래스 의존관계 - 동적인 객체 의존관계 정적 의존관계는 애플리케이션을 실행하지 않아도 코드를 통해 알 수 있는 의존관계이다. (import 패키지로만 알 수 있는 부분) 정적 .. 2022. 7. 4.