1. 클라이언트에서 서버로 데이터 전송데이터 전달 방식a. 쿼리 파라미터를 통한 데이터 전송GET 메서드 사용주로 정렬 필터(검색어) ex. www.google.com/q=hello b. 메시지 바디를 통한 데이터 전송POST, PUT, PATCH 메서드 사용회원 가입(회원 정보), 상품 주문(상품 정보), 리소스 등록 및 변경(리소스 정보) 등 4가지 상황a. 정적 데이터 조회이미지, 정적 텍스트 문서조회는 GET 사용정적 테이터는 일반적으로 쿼리 파라미터 없이 리소스 경로로 단순하게 조회 가능 b. 동적 데이터 조회주로 검색, 게시판 목록에서 정렬 필터(검색어)조회 조건을 줄여주는 필터, 조회 결과를 정렬하는 정렬 조건에 주로 사용조회는 GET 사용GET은 쿼리 파라미터를 사용해 데이터 전달 (메시지..
전체 글
1. HTTP API를 만들어보자요구사항에 따라 API URI 설계하기a. 리소스 식별 및 URI 계층 구조 활용회원 목록 조회 /members회원 조회 /members/{id}회원 등록 /members/{id}회원 수정 /members/{id}회원 삭제 /members/{id} 참고: 계층 구조상 상위를 컬렉션으로 보고 복수단어 사용 권장 b. 리소스와 행위를 분리URI는 리소스만 식별한다.따라서 리소스(= 회원; 명사)와 해당 리소스를 대상으로 하는 행위(= 조회, 등록, 삭제, 변경; 동사)를 분리해야 한다.행위 구분은 HTTP 메서드를 활용한다. HTTP 메서드 종류a. 주요 메서드GET: 리소스 조회 - 회원 조회POST: 요청 데이터 처리 (주로 등록에 사용) - 회원가입, 로그인PUT: 리소..
1. 모든 것이 HTTPHTTP(HyperText Transfer Protocol)HyperText: 링크로 문서를 연결할 수 있는 HTMLHTTP: HyperText를 전송하는 프로토콜 HTTP 메시지에 모든 것을 전송할 수 있다.ex. HTML, TEXT, IMAGE, 음성, 영상, 파일, {API: JSON, XML}거의 모든 형태의 데이터를 전송 가능하며, 서버 간에 데이터를 주고 받을 때도 대부분 HTTP를 사용한다. HTTP 역사HTTP/0.9 (1991년): GET 메서드만 지원, HTTP 헤더 없음HTTP/1.0 (1996년): 메서드와 헤더 추가됨HTTP/1.1 (1997년): 가장 많이 사용, 우리에게 가장 중요한 버전대부분의 기능이 들어 있음이걸 기반으로 성능을 개선한 게 2, 3버전..
참고용 - 표준 스펙 규격 1. URIURI(Uniform Resource Identifier)와 URL, URNUniform: 자원을 식별하는 통일된 방식Resource: 자원, URI로 식별할 수 있는 모든 것 (구분할 수 있는 것들)Identifier: 식별자, 다른 항목과 구분하는데 필요한 정보 a. URL(Uniform Resource Locator)자원이 있는 위치를 지정해 나타낸다. ex. http://www.example.com:8042/over/there위치는 변할 수 있다. b. URN(Uniform Resource Name)자원에 이름을 부여해 나타낸다. ex. urn:example:latitude:4921이름은 변할 수 없다.URN 이름만으로 실제 자원을 찾을 수 있는 방법이 보편..
하루치는 6월 23일에 진행한 UMC GAOT 지부 프리 미팅데이에서 PM님의 발표를 듣고 꼭 써보고 싶다고 생각한 서비스 중 하나였다. 1순위로 신청했는데 붙게 돼서 너무 다행이었다!알고 보니 백엔드 4명 모두가 하루치를 1순위로 선택했다고 한다. ㅋㅋㅋㅋㅋ 1순위에 붙은 만큼 책임감을 갖고 더 열심히 하지 않을까 싶다. 😊 자기소개회의는 19시 10분쯤 강남역에 있는 오픈 스페이스에서 진행됐다!아이스 브레이킹도 할 겸 PM님이 가져온 문답 종이에 답을 적고 한 명씩 말하고 싶은 것만 발표하는 시간을 가졌다. 싫어하는 것, 인생 영화/음악, MBTI, 키우는 동물 등... 간단한 질문들로 구성돼 있었는데 답을 쓰는데 되게 오래 걸렸다. 🫠'프로젝트를 통해 얻고 싶은 것'이라는 질문에 앱 런칭까지 해..
웹이나 HTTP는 인터넷 네트워크 망에 기반에서 동작하기 때문에, HTTP를 학습하기 전 기초적인 지식을 알아두는 섹션! 1. 인터넷 통신인터넷에서 컴퓨터 둘은 어떻게 통신할까?클라이언트(요청) 인터넷 서버(응답)클라이언트가 request message를 전송하면 수많은 노드들을 거쳐 서버에 도착한다. 이후 서버에서 요청을 처리하고 응답을 보내는 과정도 동일하게 진행된다.인터넷 망에서 message가 도착하는 과정은 IP(인터넷 프로토콜)에 대해 학습해야 한다. 2. IP(인터넷 프로토콜)IP 주소 부여 & IP의 역할클라이언트와 서버에 IP 주소가 부여된다. ex. 클라이언트(1.2.3.4), 서버(5.6.7.8) message를 전송하는 것은 편지를 보내는 것과 같다.편지 봉투(packet)에 ..
6th UMC HACKATHON Seoul7월 4일 낮부터 5일 낮까지 첫 해커톤에 참여했다. 신청은 6월 중순쯤 받았는데 워크북도 거의 끝나가고 있던 터라 7월쯤 되면 해커톤에 참여할 역량이 있을 거라고 생각했고, 선착순으로 마감된다고 하길래 바로 신청!ERD 설계는 조금 자신 있었고 서버 배포나 API 개발은 워크북에서 해봤으니까 괜찮을 줄 알았다. 나 혼자 개발하는 것도 아니고 서버는 3~4명은 될 테니까 ㅎㅎㅎ...🙃 전체적인 시간표는 이렇게 구성됐다. 물론 이대로 흘러가진 않았다. 🫠 아이디어 메이킹나는 프론트(Android) 4명, 백엔드(Spring Boot) 3명인 4조에 배정됐다.점심을 먹기 전 브레인스토밍으로 노래를 정하고, 노래에 맞는 서비스를 생각했다. 무려 5시 반까지 회의를 ..
기초 지식 정리1. branchbranch를 사용하지 않으면 로컬에서 작업 후 git push를 하기 전, 서버에 변경사항이 있는 경우 git pull로 원격 저장소의 변경사항(commit 내용)을 가져와야 한다. 이때 가져온(pull) 코드가 내가 수정하고 있는 코드와 동일하면 충돌(conflict)이 생겨 문제가 발생하게 된다. 같은 파일의 같은 코드를 수정한 경우 Git에서 로컬의 코드와 서버의 코드 중 뭘 골라야 할지 몰라서 고쳐달라는 오류 메시지가 뜨게 된다. 이런 상황에선 협업자와 어떻게 해결할지 결정해서 코드를 적절하게 수정해야 한다. 버전 관리 시스템에서 branch를 통해 원본의 복사본을 만들고 그 위에 개발을 진행할 수 있다. 원본에 직접 개발하지 않고 복사본(branch)에서 개발한 ..