학교에서 주관한 프로그램을 통해 우아한형제들에 계시는 시니어 개발자분으로부터 자바 스프링을 이용한 웹서버 구축과 전반적인 지식을 배울 수 있는 소중한 기회가 있었다. 본 글은 프로그램에서 배운 내용들에 대해 정리하는 글이다. 해당 글은 키워드를 중심으로 작성하였으며, 추후 꾸준히 내용을 채워넣으며 리팩토링할 예정이다. 1주차 테스트 코드의 중요성 : 개발단계 초기에 문제를 발견하게 도와준다. 나중에 코드를 리팩토링하거나 라이브러리 업데이트 등의 변화가 있을 때 기존 기능에 영향이 있는지 없는지 쉽게 판단할 수있다. (예: 회귀테스트) 기능에 대한 불확실성을 감소시킬 수 있다. 단위 테스트 자체가 문서로 사용될 수 있다. IDE에 의존하지 않고 명령어로 서버 실행해보기 ./gradlew dependenci..
분류 전체보기

MySQL 사용을 위해 새로 설치를 받았는데, default 포트 값인 3306 포트로 설치가 되었다. 그런데 기존에 docker를 이용한 mariaDB 포트 또한 3306 포트로 되어있었기에 충돌이 일어나 실행이 원활히 되지 못했다. 바로 다음과 같은 에러메세지와 함께 말이다. ERROR: for mariadb Cannot start service mariadb: Ports are not available: exposing port TCP 0.0.0.0:3306 -> 0.0.0.0:0: listen tcp 0.0.0.0:3306: bind: Only one usage of each socket address (protocol/network address/port) is normally permitted..

클라이언트가 서버에 요청을 보내는 HTTP 프로토콜 메소드에는 대표적으로 GET, POST 메소드가 있다. 1. GET GET은 쉽게 생각하면 DB에서 SELECT를 하는 개념이다. 클라이언트가 서버에 GET 요청을 보내게 되면 서버는 해당 값을 반환한다. 먼저 GET 요청 예시를 살펴보면, 다음과 같다. http://localhost:0000/login?id=kim12&pw=1234 다음과 같이 URL 뒤에 쿼리 파라미터가 직접적으로 드러나있는 것을 볼 수 있으며 이에 따라 여러 특징이 파생된다. GET 특징 URL 뒤에 쿼리 스트링을 드러낸 채로 서버에 전송 따라서 정보들이 그대로 노출되어 보안에 취약 캐싱 가능 전송하는 데이터 양에 제한이 있음(브라우저마다 상이) 브라우저의 히스토리에 기록이 남음 ..