개발자 기술 면접 준비/정리 68

GET VS POST

GET과 POST 는 HTTP 메소들 중 하나 GET POST - 서버로부터 정보를 조회하기 위해 설계된 메소드 - 요청을 전송할 때 필요한 데이터를 Body에 담지 않고 쿼리스트링을 통해 전송 - 서버에 동일한 요청을 여러번 전송하더라도 동일한 응답이 돌아와야 하므로 주로 조회할 때 사용 - 리소스를 생성 및 변경하기 위해 설계된 메소드 - 전송해야 될 데이터를 HTTP의 Body에 담아서 전송 - 서버에 동일한 요청을 여러번 전송할 때 응답은 항상 다를 수 있다. 때문에 추가, 수정, 삭제 등에 사용

리팩토링이란?

리팩토링이란? - 외부에서 본 프로그램의 동작은 변하지 않고 프로그램 내부의 구조 개선을 하는 것 - 사용하지 않는 코드나 중복된 코드를 지우고, 코드의 로직을 더 깨끗하고 이해하기 쉽게 하는 것 예시 - 이름 재설정 - 클래스를 더 잘 맞는 패키지로 이동 - 메소드, 슈퍼클래스 추출 장점 - 버그를 찾아내기 쉽게 한다. - 기능을 추가하기 쉽게한다. - 리뷰하는 것이 쉬워진다. [ 참고 ] https://itdar.tistory.com/159

웹컨테이너란?

웹 컨테이너 (=서블릿 컨테이너) - JAVA EE 명세 중 Servlet API만 구현할 수 있는 것 - 서블릿을 관리해주는 것, 서블릿의 생명주기를 관리하고 요청에 따른 스레드를 생성해준다. - 클라이언트의 Request를 받아주고 Response를 보낼 수 있게 웹 서버와 소켓을 만들어서 통신을 해준다. - URL과 특정서블릿을 맵핑하여 URL 요청이 올바른 접근 권한을 갖도록 보장해준다. 쉽게 말해, WAS 내부에서 개발자 대신 서블릿 관리 해주는 것! 동작 1. WAS의 Web Server는 Client의 요청이 동적인지 정적인지 파악한다. 2. 동적일 경우 Web Server에서 처리하기 힘드므로 WebContainer에게 보낸다. 3. Web Container의 Sevlet이 동적 컨텐츠를 ..

프록시서버란?

프록시서버란? - 클라이언트와 서버간의 응답, 요청을 하게 되는데 중계 역할을 하는 서버 구축 이유 - 보안, 속도, 지역 네트워크의 제한을 우회하기 위해 사용 1. 포워드 프록시 - 클라이언트가 요청하는 end point가 실제 서버 도메인 - 클라이언트의 정보 감춰진다. 2. 리벌스 프록시 - 클라이언트가 요청하는 endpoint가 프록시 서버 도메인 - 서버의 정보가 감춰진다. * 나의 경우 리벌스 프록시를 사용해본 경험이 있다! 하지만 아직 개념이 제대로 잡히지 않은것 같으니 더 공부하는걸로!

프레임워크 VS 라이브러리

프레임워크 - 소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 일련의 협업화된 형태로 클래스들을 제공하는 것 - 개발할 때 설계 기본이 되는 뼈대, 개발자들이 개발을 하기 위한 업무를 추상적으로 만들어 놓은 틀이기 때문에 자신이 필요한 기능만 구현해서 사용하면 된다. 라이브러리 - 자주 사용되는 로직을 재사용하기 편리하도록 잘 정리한 일련의 코드들의 집합 프레임워크 VS 라이브러리 프레임워크 : 전체적인 흐름을 자체적으로 제어 라이브러리 : 사용자가 흐름에 대한 제어를 하며 필요한 상황에 가져다가 쓸 수 있음 자동차를 예시로 들때 프레임워크는 기본적으로 구성하고 있는 뼈대, 라이브러리는 자동차의 기능을 하는 부품