본문 바로가기

분류 전체보기303

[네트워크] HTTP 메서드 HTTP API를 만들어보자왼쪽과 같은 요구사항이 들어왔다고 했을 때 URI설계를 오른쪽과 같이 하는건 좋지 않다.가장 중요한건 리소스 식별이기 때문이다.URI에서는 회원이라는 리소스만 식별하면 된다 -> 회원 리소스를 URI에 매핑한다! 따라서 이와 같이 설계하는 것이 좋다.URI는 리소스만 식별 -> 행위는 어떻게 구분할까?? HTTP 메서드HTTP 주요 메서드는 위와 같다. GET리소스를 조회한다.서버에 전달하고 싶은 데이터는 쿼리를 통해서 전달한다.바디는 거의 사용하지 않는다.(지원하지 않는 곳이 더 많아서..)POST요청 데이터를 처리한다.메시지 바디를 통해 서버로 요청 데이터를 전달한다. 주로 신규 리소스 등록, 프로세스 처리에 사용된다.POST는 저장할때만 쓰이지는 않는다. POST를 사용하.. 2025. 3. 27.
[네트워크] HTTP 기본 모든 것이 HTTPHTTP 메세지에 모든 것을 전송한다.HTML, JSON 등 거의 모든 형태의 데이터를 전송 가능하다 우리가 주로 사용하는 것은 HTTP/1.1 버전이다. 현재 HTTP2, 3이 나왔다. HTTP/1.1, HTTP/2는 TCP를 사용하고, HTTP3은 UDP를 사용한다. HTTP 특징클라이언트 서버 구조무상태 프로토콜, 비연결성HTTP 메시지단순함, 확장가능 클라이언트 서버 구조Request, Response 구조클라이언트는 서버에 요청을 보내고, 응답을 대기서버가 요청에 대한 결과를 만들어서 응답 -> 서로 독립적으로 움직인다는 장점이 있다. Stateful, Stateless 차이상태유지상태유지는 위와 같이 점원(서버)가 클라이언트의 정보를 기억한다.-> 중간에 점원이 바뀌면 안된다.. 2025. 3. 25.
[네트워크] URI와 웹 브라우저 요청 흐름 URIuri는 로케이터, 이름 또는 둘 다 추가로 분류될 수 있다.위와 같은 형태로 되어있고, URN은 리소스에 이름을 부여한 것인데, URN이름만으로 실제 리소스를 찾을 수 있는 방법이 보편화되어있지 않다. uri의 단어 뜻은 이렇다. 자원을 다른 항목과 구분하는데 필요한 정보라는 것을 뜻한다. URL 분석전체적인 구조는 위와 같다. scheme주로 프로토콜을 사용한다.(http, https 등)http는 80포트를 쓰고, https는 443 포트를 사용해서 포트번호는 생략이 가능하다 userinfoURL에 사용자 정보를 포함해서 인증하는 방식인데 거의 사용하지 않는다. host호스트명이다. 도메인명 또는 ip주소를 직접 사용 가능하다 port포트는 접속포트이다. 일반적으로 생략하는데, http는 80.. 2025. 3. 18.
[네트워크] 인터넷 네트워크 인터넷 통신클라이언트와 서버가 어떻게 통신할까? 둘 사이가 멀지 않다면 그냥 통신하면 되지만,만약 거리가 멀다면 인터넷을 통해 통신을 해야한다. IP(인터넷 프로토콜)클라이언트와 서버는 ip주소를 통해 서로 정보를 주고받는다.이때 패킷이라는 통신 단위로 데이터를 전달한다.패킷은 위와 같이 ip주소 등의 데이터를 가지고 있다. 정상적인 패킷의 흐름은 위와 같다.하지만, 서버가 꺼져있거나, 중간에 패킷이 사라지거나, 패킷이 순서대로 오지 않거나, 같은 ip를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이라면 문제가 발생할 수 있다 TCP, UDP인터넷 프로토콜은 위와 같이 4계층으로 이루어져있다. 전체적인 프로토콜 계층은 다음과 같다.애플리케이션 계층에서는 웹브라우저가 있고, 이 소켓을 OS에 전달한다.. 2025. 3. 18.
[Spring] 빈 스코프 빈 스코프란이제까지 배운 내용으로는 빈이 생성되고, 스프링 컨테이너에 저장되고, 스프링 컨테이너가 종료될 때까지 유지된다.이건 빈이 기본적으로 싱글톤 스코프로 생성되기 떄문이다.스코프는 빈이 존재할 수 있는 범위를 뜻한다. 빈 스코프를 지정하는 방법은 다음과 같다.@Scope("prototype") @Componentpublic class HelloBean {} @Scope("prototype") @Bean PrototypeBean HelloBean() { return new HelloBean(); } 프로토타입 스코프싱글톤 스코프 빈을 조회하면 항상 같은 빈을 반환한다 반면 프로토타입 스코프를 스프링 컨테이너에 조회하면 스프링 컨테이너는 항상 새로운 인스턴스를 반환한다. 위와같이 프로토타입 스코.. 2025. 3. 11.
[백엔드 프로젝트] Hire Higher Hire Higher 프로젝트는 카카오테크캠퍼스에서 우수상을 수상한 프로젝트이다.현업 개발자님들과 열심히 하는 팀원들 덕분에 참 많이 성장하고 즐거웠던 것 같다. 프로젝트 소개이 프로젝트는 외국인 노동자를 위한 서비스이다.https://ethereal-coder.tistory.com/236 [기획 프로젝트] Hire Higher - 외국인 노동자를 위한 구인구직 서비스카카오테크캠퍼스 3단계를 앞두고 아이디어톤 행사가 열렸다. 아이디어톤 행사 3일 전에 팀이 정해졌고, 아이디어 초안을 정한 후 피드백을 받고 이를 바탕으로 하여 아이디어톤에서 서비스를ethereal-coder.tistory.com자세한 기획은 여기서 확인할 수 있다. 간단하게 설명하자면, 우리는 외국인 노동자를 구인할 때 근로계약서를 작성하.. 2025. 3. 9.