💻 백엔드개발/멋쟁이사자처럼 12기 7

git 명령어

🪄충돌 해결 방법 - command line 방식(1) main 브랜치의 최신 코드를 내 로컬 main 브랜치에 가져오기 - (main)git pull origin main(2) 내가 작업 중인 feature 브랜치로 돌아오기 - (feature)git checkout -(3) main 브랜치의 내용과 내가 작업 중인 featrue 브랜치 머지하기 - (feature)git merge main(4) 충돌난 코드 해결하기 - (feature)(5) 완성된 코드 올리기 - (feature)git add . / git commit / git push(6) pr 성공!🪄Commit Convention브랜치 이름 → ex) feature/-# commit → ex) feat: - # pr title → ex)..

Cookie와 Header

🛠️Cookie와 Header Cookie클라이언트가 서버에 로그인 요청서버가 클라이언트에게 쿠키 발급클라이언트는 쿠키를 신경 쓰지 않고 이후 요청에 자동으로 쿠키를 포함되어 서버에 요청 전송Header클라이언트가 서버에 로그인 요청서버가 response body로 토큰 전달클라이언트가 모든 요청에 Header에 토큰을 넣어서 서버에 요청 전송 → 클라이언트가 신경 쓰는 것. PathVariableRESTful api에서 리소스를 식별하기 위해 사용 vs. HeaderHTTP 통신에서 부가적 정보를 저장POST → 필수적인 정보 전달 시 @RequestBody 필요AuthController → 로그인, 회원가입, 로그아웃 등 구현 (로그아웃 시 쿠키 삭제)UserController → 유저 정보 수정,..

인증, 인가, JWT, 요청 캐싱

🛠️인증, 인가, JWT, 요청 캐싱 인증: 신원 자체를 검사하는 것.유저가 누구인지 확인하는 절차, 로그인존재하는지 안하는지인가: 신원 검증된 유저가 특정 자원에 대한 접근 권한이 있는지 검사하는 것.접근 권한이 있는지 없는지 🪄실패 시 HTTP status codeBad request (400) = client가 서버에 보낸 요청에 포함된 데이터가 잘못되었을 때. ⇒ DTO에 알맞지 않은 request.Unauthorized (401) = 인증에 실패했을 때 ⇒ 로그인 실패Forbidden (403) = 인가에 실패했을 때 ⇒ 권한 없음Not Found (404) = 해당 리소스를 찾을 수 없을 때 ⇒ 해당 id를 찾을 수 없을 때Conflict (409) = 리소스를 생성하려는데, 이미 존재할 ..

RDB, 데이터베이스 구축, JPA

🛠️RDB, 데이터베이스 구축, JPA 📍In-Memory: javaApp에서 만들어진 (list 등) 것이 RAM에 저장되는 것.많은 양의 데이터 저장 불가데이터가 사라짐 (휘발성)IO 처리 속도가 빠름하드디스크 DB를 사용하면 영구적으로 많이 보관할 수 있음📍mySQLRDB(관계형 데이터 베이스)테이블형 관계형 데이터베이스 관리 시스템(RDBMS)SELECT : 어떤 Column의 정보를 요청할 것인지FROM : 어떤 테이블에 정보를 요청할 것인지WHERE : 조건name convention → 전부 소문자로 작성하고, ‘_’로 단어 구분.Primary Key(PK) → ID Column : 유일해야 함. (=Field=Attribute)→ Entity에는 ID 컬럼이 필수로 들어가야 하는데, ..

HTTP Request & Response, 예외처리

🛠️HTTP Request & Response, 예외처리 REST API▷REST 구성1. 자원서버가 관리하고 저장하는 모든 데이터2. 행위HTTP Method (GET, POST, PATCH, PUT, DELETE 등)3. 표현클라이언트가 요청한 정보에 대한 응답 처리(JSON 사용) ▷REST APIURI를 통해 자원 명시HTTP Method를 통해 자원에 대한CRUD (Create, Read, Update, Delete) 기능 적용 ▷REST API 설계 규칙1) 슬래시(/) 계층이나 연관 관계를 표현- 특정 자원이 다른 자원을 포함 →계층관계2) URI 마지막에는 슬래시(/)를 사용하지 않음.3) 불가피하게 URI가 길어지면 "-"을 적절히 사용해 가독성을 높임.4) 밑줄 "_"은 사용하지 않음..

Spring MVC, 컨트롤러, 서비스, Lombok

🛠️Spring MVC, 컨트롤러, 서비스, Lombok 📍Sping Boot 기초 및 Spring MVCURI vs. URL웹 사이트 주소 → scheme(protocol), Host, Path로 구성. URL 위치만 나타냄.URI/URL 위치+식별자를 나타냄.IP 인터넷 상 PC 주소 식별자local host 자신의 컴퓨터(127.0.0.1)Domain IP주소의 별칭PORT Number IP주소로 PC 접속을 위한 연결 통로 번호22 : SSH 요청 포트80 : HTTP 요청 포트443 : HTTPS 요청 포트📍Spring 구조Web Server : 정적컨텐츠를 반환해줌.(동적 컨텐츠 반환X)Web Container : 동적인 데이터들을 정적인 파일로 반환해줌.→ 동적 데이터 처리, 동적 응답..

Java 기초와 디자인 패턴, Spring Boot 기초

🛠️Java 기초와 디자인 패턴, Spring Boot 기초 자료형기본 자료형(Primitive type): Java에서 기본적으로 제공하는 데이터 형식▷int, short, long, double, char 등참조 자료형(Reference type): 객체의 메모리 주소를 참조▷String, Class, Interface, Array, Enum 등 객체 지향 프로그래밍: 객체들이 모여 서로 상호작용하며 데이터를 주고 받는 프로그래밍 설계 방식.  객체: 클래스에서 만들어진 인스턴스→클래스를 기반으로 다른 객체와 데이터를 주고 받는 실질적 주체 🪄객체지향프로그래밍 특징추상화, 캡슐화, 상속, 다형성유연하고 변경이 용이함. 클래스: 객체의 설계도 접근 제어자public 공개. 모든 클래스에서 해당 클래..