TIL

TIL

Today's Dev Notes(2019-03-10)

목표 파라미터 바이딩 일부 구현하기! 어제 Custom하게 만든 Controller를 찾아 그 안의 각각 메서드를 형식에 맞게 등록시켜놓았습니다. 이제는 그 메서드 안으로 들어왔을 때 파라미터들이 스프링 프레임워크가 해주는 것처럼 보낸 데이터로 채워지도록 구현해야 합니다. 다시 말하면 파라미터로 User 객체가 들어있을 때 우리는 Socket 연결 중인 User 를 소켓 세션 정보를 이용하여 알아낸 다음 미리 주입시켜놔야 한다는 것입니다. 특정 타입 밖에 안되기 때문에 이전에 스프링 프레임워크에서 썼던 HandlerMethodArgumentResolver 와 같이 구현하여 특정 조건일 때 실행될 수 있도록 만들겠습니다. public interface HandlerMethodArgumentResolver ..

TIL

Today's Dev Notes(2019-03-09)

Today's Dev Notes(2019-03-09) 팀 프로젝트로 구현했던 '레이저 장기'를 리팩토링 하는 작업을 시작해보려 합니다. 프로젝트를 진행했을 때 시간이 촉박하여 좀 더 고민해보고 싶었던 부분을 생각의 흐름대로 개발한 부분이 있습니다. 또 마지막에 마스터로 부터 받은 피드백도 반영해보고 싶어 빠른 시간 내에 리팩토링을 진행하고 싶었습니다. 오늘의 목표 게임 프로그래밍에서 요청 패스가 들어오면 해당 요청 패스의 Controller로 Request가 들어오게 합니다. 스프링에서 요청 Path에 대해 HandlerMapping이 해당 Controller를 연결해줍니다. 하지만 게임 중에 이용하고 있는 소켓 프로그래밍에선 또 다른 HTTP 요청시 연결이 끊기게 됩니다. 그래서 소켓 프로그래밍 메시지..

TIL

Intellij에서 디버깅 사용하기

Intellij 디버깅 사용하기 본 글을 천청향로님의 글을 참고하여 작성되었으며 저에게 필요한 부분만 기록해보려 합니다. Break Point 라인 넘버 오른쪽에 클릭하면 빨간색 버튼이 하나 생기는데요. 그것이 Break Point입니다. 이건 아마 많은 분들이 알고 계실텐데요. 이 빨간색 버튼 위에 오른쪽 마우스를 누르면 특정 조건에서 break를 설정할 수 있습니다. 예를들어 변수 == 3 라면 그 변수가 3일 때 멈추게 되는 것이죠. 디버깅 버튼 resume : 다음 break point로 이동합니다 step over : 현재 break 라인 모두 실행 후 바로 다음 라인으로 이동합니다. step into : 현재 break 라인에서 따로 실행하고 있는 메서드가 있다면 그곳으로 이동하게 됩니다. 그..

TIL

Today's Dev Notes(2019-02-07)

JDBC 리팩토링 과정 살펴보기 저의 멘토이신 Pobi의 동영상 강의를 참고하여 작성하였습니다. 우선 리팩토링을 시작하기 전에 테스트코드부터 먼저 작성해야 합니다. 테스트코드는 이후 리팩토링 과정에서 리팩토링 과정에 문제가 없는지 빠르게 피드백을 제공하기 때문에 꼭 필요합니다!! 먼저 중복되는 부분(라이브러리로 뺄 부분)과 중복되지 않는 부분(사용자가 구현해야 하는 부분)을 구분합니다. 그리고 중복되지 않는 부분(변경이 필요한 부분)은 리팩토링 기능을 이용하여 메서드로 추출합니다. 이전에는 중복되는 부분만 추출하는 것만 생각했는데 중복되지 않는 부분, 다른 부분도 빼야한다는 것을 알 수 있었습니다. 중복되는 부분은 클래스로 추출합니다(굳이 클래스로 추출할 필요없이 메서드로 추출할 수도 있습니다) 이렇게 ..

TIL

Today's Dev Notes(2019-01-23)

안녕하세요, Brad입니다. 어제 오늘 새로 알게된 사실에 대해 정리해볼게요. Content Length 오류 관련 미션을 수행하면서 클라이언트에서 Content Length 관련한 오류가 많았습니다. 그래서 전 처음에 제가 적어주는 Response Header의 내용 때문에 그런 오류가 발생하는 줄 알고 이후에 해결하기로 하고 넘겼습니다. 그런데 어제 Pobi에게 물어보면서 제가 코드를 잘못 짠 결과라는 것을 알게되었습니다. Response의 body부분을 인스턴스 변수로 사용하다보니 생긴 문제였습니다. 200코드 Response 객체를 싱글턴으로 사용하고 있었습니다. 그런데 이 안에 인스턴스 변수로 body를 사용하다보니 여러 요청 간 간섭이 생겼던 것입니다. 스택영역에 저장되는 메서드와 지역변수와 ..

TIL

서버 N대 성능개선

서버N대성능개선 안녕하세요, Brad입니다. 어제 수업시간에 서버가 여러 대일 경우 성능개선 방안에 대해 배웠는데요. 정리해볼게요. Scalibility Scalibility는 우리말로 말하면 '확장성'이죠. 확장성은 트래픽 양에 관계없이 유연하게 처리할 수 있는 능력을 말합니다. scale을 하는 방법은 2가지가 있는데요. scale up과 scale out입니다. scale up 기존 하나의 서버를 더 크고 빠른 서버를 교체하는 것을 말합니다. 이 방법은 보통 scale out 방식에 비해 비용이 비싸다는 점이 좋지 않지만 설계의 복잡도는 크지 않다는 점에서 장점이 있습니다. scale out 서버의 개수를 늘려서 규모를 늘리는 것을 말합니다. 비용이 상대적으로 저렴하지만 설계가 복잡하다는 단점이 있..

Brad Lee
'TIL' 카테고리의 글 목록 (2 Page)