분류 전체보기

🖥️ 백엔드/Git

[Git] 현재 브랜치를 main 브랜치에 병합하기

현재 브랜치가 'feature-branch'라면 명령어는 다음과 같다.git add .git commit -m "작업 내용에 대한 설명"git checkout maingit pull origin maingit merge feature-branch# (충돌 해결 후 커밋)git push origin main

🖥️ 백엔드/Git

[Git] 현재 브랜치에 main 브랜치의 수정사항 가져오기

기본 흐름1. main 브랜치를 최신 상태로 업데이트 한다.git checkout maingit pull origin main2. 작업 중인 브랜치로 전환한다.git checkout 3. main 브랜치의 수정 사항을 현재 브랜치로 병합한다.git merge main 충돌 해결하기병합 과정에서 충돌이 발생할 수 있으며, 이런 경우 충돌을 해결하고 변경 사항을 커밋해야 한다. 1. 충돌된 파일 수정하기충돌이 발생한 파일을 열고, 충돌 부분을 수동으로 수정 2. 충돌 해결 후 변경 사항 추가하기git add 3. 병합 완료 커밋하기git commit

🗂️ 개인프로젝트/프로그

[개인프로젝트/프로그] 3. 스프링 시큐리티로 회원가입, 로그인/로그아웃 구현하기

1. 개요인증과 인가인증(authentication)보호된 리소스에 접근하는 것을 허용하기 이전에, 등록된 사용자의 신원을 입증하는 과정ex) 로그인인가(authorization)특정 부분에 접근할 수 있는 권한이 있는지 확인하는 과정ex) 관리자 페이지접근 주체(principal)인증된 사용자의 신원을 나타내는 객체사용자 로그인 후, 스프링 시큐리티는 인증된 사용자의 정보를 세션에 저장하고 이를 통해 애플리케이션 내에서 인증된 사용자의 신원을 확인할 수 있다. 스프링 시큐리티https://docs.spring.io/spring-security/reference/index.html스프링 시큐리티(Spring Security)는 스프링 기반의 애플리케이션 보안(인증, 인가, 권한)을 담당하는 스프링 하위 ..

🗂️ 개인프로젝트/프로그

[개인프로젝트/프로그] 2. 블로그 화면 구성하기

1. 화면 구성하기타임리프란?스프링의 대표적인 템플릿 엔진*컨트롤러에서 모델을 통해 데이터를 설정하면, 모델은 뷰에서 사용할 수 있게 데이터를 전달해 줌내추럴 템플릿으로 HTML의 모양을 유지하면서 뷰 템플릿 적용 가능*템플릿 엔진: 데이터를 넘겨받아 HTML에 데이터를 넣어 동적인 웹페이지를 만들어주는 도구 타임리프 표현식과 문법타임리프 표현식표현식설명${...}변수의 값 표현식#{...}속성 파일 값 표현식@{...}URL 표현식*{...}선택한 변수의 표현식th:object에서 선택한 객체에 접근 타임리프 문법표현식설명예제th:text텍스트를 표현할 때 사용th:text=${person.name}th:each컬렉션을 반복할 때 사용th:each="person:${persons}"th:if조건이 tr..

🗂️ 개인프로젝트/프로그

[개인프로젝트/프로그] 1. 프로젝트 생성

1. 프로젝트 생성이번 프로젝트의 목표는 회원가입과 로그인/로그아웃 조지기!!간단한 블로그 구성에 스프링 시큐리티를 조합한 버전과JWT + OAuth2를 조합한 버전 2가지 버전을 만들어보며, 관련 개념을 학습하고다음 개인 프로젝트의 기반을 다지려고 한다. 공부할 때, 이 책을 많이 참고했는데 현재 버전에 코드가 달라진 부분들이 있어서 그런 부분들을 수정하면서 DTO에 자바 record를 도입하거나, 엔티티가 API에 그대로 노출되지 않게 변경하는 등 자잘한 코드 변경점이 있다. 스프링 부트 3 백엔드 개발자 되기: 자바 편 | 신선영 - 교보문고스프링 부트 3 백엔드 개발자 되기: 자바 편 | 실력을 갖춘 개발자로 성장하려면 시작이 중요합니다. 그래서 이 책은 무엇부터 익혀야 하는지 막막한 입문자에게 ..

🗂️ 개인프로젝트/프로그

[개인프로젝트/프로그] 0. 프로젝트 개요

프로젝트명:프로그의 블로그 개발 환경:IntelliJ, Gradle, Java, JavaScript, Spring Boot, 스프링 데이터 JPA, 스프링 시큐리티, JWT, OAuth2, MySQL, Docker, Git/GitHub, AWS, Github Actions, RESTful API

👩‍💻 개발개념

HMAC과 RSA

HMAC(Hash-based Message Authentication Code)개념HMAC는 암호화 해시 함수와 비밀 키를 사용하여 메시지의 무결성과 인증을 보장하는 방식주로 메시지의 무결성을 확인하고, 송신자의 인증을 보장하기 위해 사용됨 특징무결성 보장: 메시지가 전송 중에 변경되지 않았음을 확인할 수 있음인증: 송신자의 신원을 확인할 수 있음비밀 키 사용: 대칭 키 암호화 방식으로, 송신자와 수신자가 동일한 비밀 키를 공유속도: 해시 함수의 속도에 따라 HMAC의 생성 및 검증 속도가 결정되며 보통 MD5, SHA-1, SHA-256 등의 해시 함수를 사용 작동원리메시지와 비밀 키를 결합해서 해시 값을 생성생성된 해시 값이 메시지와 함께 전송수신자는 동일한 비밀 키로 해시 값을 생성하여, 전송된 해..

🖥️ 백엔드/스프링

[스프링] 어바웃 OAuth2 & 구글 토큰 발급받기

이전글 [스프링] 토큰 기반 인증과 JWT토큰 기반 인증이란?사용자가 서버에 접근할 때 이 사용자가 인증된 사용자인지 확인하는 방법은 다양하다.대표적인 사용자 인증 확인 방법은 2가지세션 기반 인증토큰 기반 인증세션 기반 인progfrog.tistory.com OAuth란?OAuth는 제3의 서비스에 계정 관리를 맡기는 방식네이버 로그인, 구글 로그인 등OAuth 용어설명리소스 오너(resource owner)자신의 정보를 사용하도록 인증 서버에 허가하는 주체서비스를 이용하는 사용자가 리소스 오너에 해당리소스 서버(resource server)리소스 오너의 정보를 가지며, 리소스 오너의 정보를 보호하는 주체네이버, 구글, 페이스북 등이 리소스 서버에 해당인증 서버(authorization server)클..

🖥️ 백엔드/스프링

[스프링] 토큰 기반 인증과 JWT

이전글 [개인프로젝트/프로그] 3. 스프링 시큐리티로 회원가입, 로그인/로그아웃 구현하기1. 개요인증과 인가인증(authentication)보호된 리소스에 접근하는 것을 허용하기 이전에, 등록된 사용자의 신원을 입증하는 과정ex) 로그인인가(authorization)특정 부분에 접근할 수 있는 권한이 있는progfrog.tistory.com 토큰 기반 인증이란?사용자가 서버에 접근할 때 이 사용자가 인증된 사용자인지 확인하는 방법은 다양하다.대표적인 사용자 인증 확인 방법은 2가지세션 기반 인증토큰 기반 인증세션 기반 인증사용자마다 사용자의 정보를 담은 세션을 생성하고, 저장해서 인증토큰 기반 인증토큰은 서버에서 클라이언트를 구분하기 위한 유일한 값서버가 토큰을 생성해서 클라이언트에게 제공하면, 클라이언..

🛠️ 개발유용

[맥북] 특정 포트를 사용하는 프로세스 확인하기 & 죽이기

1. 현재 8080 포트를 사용하는 애플리케이션 확인하기lsof -i :8080lsof: list open files 2. 해당 프로세스 죽이기1에서 PID(프로세스 ID)를 확인kill -9 12345-9는 SIGKILL 신호를 의미하며, 프로세스를 강제로 종료하는 신호이기 때문에 프로세스가 이 신호를 무시할 수 없다.SIGKILL 신호는 즉각적으로 프로세스를 중단시키며, 프로세스가 정상적으로 종료할 기회를 주지 않는다.일반적인 kill 명령어인 kill PID 또는 kill -15 PID에서 -15는 SIGTERM 신호로, 프로세스가 종료 준비를 할 수 있게 해준다.-15보다 -9가 더 강력하기 때문에 kill -15 PID를 시도하여 프로세스가 정상적으로 종료할 기회를 주고, 프로세스가 종료되지 않..

케로⸝⸝◜࿀◝ ⸝⸝
'분류 전체보기' 카테고리의 글 목록 (10 Page)