서론 Vue.js로 프로젝트를 진행하다 게이트웨이로 헤더 값을 보내는 과정 중에 겪었던 일이었다. 기존엔 영어나 숫자로 이루어진 값을 헤더에 담아 보냈었는데, 한글 데이터를 보내게 되면 에러가 발생했다. 한글 이름을 헤더에 담아 보내야했기 때문에 반드시 필요했던 과정이었다. 원인 HTTP Header 표준에 한글은 포함되어 있지 않기 때문이다. 그래서 한글 데이터만 담으면 에러가 발생했고 해당 내용은 링크에서 알 수 있었다. 실제 에러도 HTTP RFC와 관련된 에러가 발생하는 것을 볼 수 있었다. 대처 방법 이미 잘 알고 있겠지만, 인코딩을 해서 보내면 된다. URIEncoding 방식을 이용했고, Javscript에서 제공해주는 함수를 이용했다. 대표적으로 encodeURI()와 encodeURICo..
서론 면접에서 "원하시면 코드 리뷰 문화 직접 도입해보세요~"라는 말을 들었었는데, 그것이 현실이 되었다.. 책을 보고 혼나는 기분은 처음이었다. 약 9주에 걸친 '클린 코드' 스터디가 끝나간다. 해당 포스트에서는 스터디 후기보다 '클린 코드'라는 책을 본 후기와 실무에서 어떻게 적용했는지 쓰려고 한다. 스터디와 관련된 규칙 및 진행 방식은 아래 링크를 참고 바란다. Github 링크 내가 쓴 코드를 돌아보며 나는 "가독성 좋은", "직관적인" 코드를 '클린 코드'라고 생각한다. 내가 그동안 기록이랍시고 남겨둔 Repository를 살펴보고 느낀 기분은 딱 이랬다. "가독성 떨어지는", "직관적이지 않은", "질서 없는" 사실 이 책을 보면서, 내 깃헙에 당당하게 핀을 꽂아둔 레포를 내리고 싶었다. 나름..
서론 최근 클린코드 스터디를 진행하며 겪었던 일이었습니다. ```java boolean isVisited = false; ``` 위처럼 백틱(`) 3개로 코드를 감싸는 것을 코드 블럭이라고 합니다. ```suggestion ```java boolean isVisited = false; ``` ``` Pull Request에 코드 블럭을 포함한 Suggestion을 등록했으나 백틱(`)이 제대로 동작하지 않았습니다. 원인 ```suggestion# suggestion 블럭 시작 ```java boolean isVisited = false; ```# suggestion 블럭 끝으로 인식!! ```# 실제 동작해야 하는 블럭의 끝 내용을 보면 유추할 수 있을텐데, 백틱(`)이 자신의 구역을 인지하지 못하고 j..
서론 Intellij IDE를 이용해 Spring Boot 프로젝트 생성 방법에 대해 알아보겠습니다. 생성 방법 1. 프로젝트 생성 Intellij 최초 실행 시, [New Project]를 선택하거나 위 사진처럼 [File] - [New] - [Project]를 선택하는 방법이 있습니다. 2. Spring Initialzr 선택하기 Spring Initializr를 선택하고 설정값을 적어줍니다. 저는 Maven 대신 Gradle과 Java 버전 11을 선택했습니다. Maven에서 Gradle로 변경하는 방법은 꽤 번거로울 수 있으니 잘 선택하시기 바랍니다. 본인 환경에 맞게 설정하시면 됩니다. 3. Spring boot Dependencies 설정 Dependencies는 꼭 지금이 아니더라도 이후에 ..
서론 흔히 알고 있는 "트래픽이 증가하면 서버를 늘린다"에서 그치는 것이 아니라, 어떻게 서버를 늘리는지 그 방법은 어떤 것이 있는지 궁금하여 포스팅하게 되었습니다. 팀구라는 프로젝트를 진행하면서 채팅 서버에 약 40명 정도의 인원이 동시에 채팅을 연사 한 적이 있습니다. t2.micro 서버였지만 거뜬하더라구요. 그때 느낀 점이 "내 생각보다 서버는 튼튼하다"와 "대체 얼마나 많은 트래픽이 있어야 터질까?"였습니다. 국내에서 흔히 접할 수 있는 카카오, 네이버, 당근마켓, 배달의민족과 같은 서비스를 한다면, 사용자가 늘어남에 따라 많은 트래픽을 견디기 위해 어떤 대처를 하면 좋을까요? "요새 내 몸이 하나로 부족해.." 다들 바쁘실 때 이런 말 쓰시죠? 이 상황에서 우리에겐 2가지 선택권이 있습니다. ..