전체 글 186

46. [ JAVA ] API 문서 문제 : JWT(Json Web Token)(보안) / User (1)

문제  지난 시간 알려드린 JWT(Json Web Token)(보안) 추가 하여 문제 풀이를 진행하겠습니다. USER, OWNER, ADMIN으로 나누어 3가지로 진행하겠습니다.   테이블명세서  음식점 리뷰 시스템 테이블 명세서  1. user  사용자 정보를 저장하는 테이블칼럼명데이터 타입NULL기본값설명idBIGINTNOAUTO_INCREMENT기본키emailVARCHAR(100)NO-사용자 이메일, UNIQUEpasswordVARCHAR(200)NO-암호화된 비밀번호nicknameVARCHAR(50)NO-사용자 닉네임roleVARCHAR(10)NO'USER'권한(USER, OWNER, ADMIN)created_atTIMESTAMPNOCURRENT_TIMESTAMP생성일시 2. restaurant ..

API/실습 2025.01.04

45. [ JAVA ] Spring Boot에 JWT적용하여 구현: 기초 세팅

Spring Boot에 JWT(Json Web Token)에 대하여 알아보았았습니다.    intelliJ  위와 같이 Postman 에서 로그인을 진행하면  token이 발행될 수 있도록  intelliJ에서 초기 작업을 진행하도록 하겠습니다.  초기 세팅을 잘해두면 차후 클라이언트의 요청에 의해 몇 가지만 수정하여 재사용이 가능합니다.  intelliJ에 아래 문구를    application.yml 파일 설정     1. Config  설정 파일(Configuration file) 또는 Config 파일은 소프트웨어 애플리케이션이나 시스템의 매개변수와 초기 설정을 정의하는 데 사용되는 텍스트 파일입니다.   주요 특징코드와 설정 분리: 설정을 소스 코드와 분리하여 유지보수와 수정을 용이하게 합니다...

Install/API Install 2025.01.03

44. Back-end : 좋은 네이밍의 습관 10 (네이밍 컨벤션)

네이밍 컨벤션 Quora 및 Ubuntu 포럼에서 진행된 토론 스레드에 따르면 토론에 응답한 개발자 49%가 이름 짓는 걸 가장 어려운 작업으로 답했습니다. 네이밍 컨벤션은 코드에서 변수, 함수 등의 이름을 짓는 일관된 규칙을 말합니다. 네이밍컨벤션은 코드의 가독성을 높이고 협업 시 통일성을 유지하기 위해 사용합니다. 네이밍 컨벤션의 중요성 및 장점코드 가독성 향상: 명확한 네이밍 규칙을 따르면, 누구나 코드를 쉽게 이해할 수 있습니다. 변수가 무엇을 나타내는지, 함수가 어떤 역할을 하는지 직관적으로 파악할 수 있습니다.유지보수 용이: 이름이 잘 정의된 코드는 코드 수정이 간편합니다. 시간이 지나도 코드의 의미를 잊지 않고 파악이 가능하며, 다른 개발자가 코드를 이어받았을 때도 이해가 쉽습니다.협업 효..

Basic 2025.01.03

43. [ JAVA ] JWT(Json Web Token)(보안) 정의

1. JWT 토큰이란?JWT(Json Web Token)은 Json 객체에 인증에 필요한 정보들을 담은 후 비밀키로 서명한 토큰으로, 인터넷 표준 인증 방식입니다. 공식적으로 인증(Authentication) & 권한허가(Authorization) 방식으로 사용됩니다. 여기서 일반 로그인 과정과 인증 방식을 헷갈릴 수 있습니다. 바로 jwt 프로세스를 살펴보겠습니다.  1) 사용자가 아이디와 비밀번호 혹은 소셜 로그인을 이용하여 서버에 로그인 요청 2) 서버는 비밀키를 사용해 json 객체를 암호화한 JWT 토큰을 발급 3) JWT를 헤더에 담아 클라이언트에 전달 여기까지가 JWT를 발급받기까지의 (로그인 전) 과정입니다. 로그인 이후에는 다음과 같은 과정이 이루어집니다.클라이언트는 JWT를 로컬에 저장..

API/이론 2024.12.30

42. [ JAVA ] API 문서 문제 : review_db (1)

1. 문제API 명세서1. User API1.1. 사용자 등록URL: /usersMethod: POSTRequest Body:{ "username": "john_doe", "email": "john.doe@example.com", "password": "securepassword" }Response:201 Created:{ "id": 1 }1.2. 사용자 상세 조회 (주문 내역 포함)URL: /users/{id}Method: GETResponse:200 OK:{ "id": 1, "username": "john_doe", "email": "john.doe@example.com", "created_at": "2024-12-20T10:00:00Z", "orders": [ { "order_id": 1, "pro..

API/실습 2024.12.25

41. [ JAVA ] API 문서 문제 : 유저 관리(sb-user-server)

1. 문제   2. 풀이 초기세팅 https://danmi1109.tistory.com/46 40. [ JAVA ] 서버  API 문제 풀이 : 초기 세팅문제 풀이를 하기전에 초기 세팅 방법에 대하여 알아보겠습니다.문제풀이에 필요한 프로그램 및 사이트는 DBeaver,Spring Boot,Gibhubdp, intelliJ ,putty입니다.   DBeaver DBeaver 실행후 새로운 Databases생성danmi1109.tistory.com 위의 설명대로 API 초기 세팅을 해주시면됩니다. Github를 통하여 intelliJ를 실행하여 줍니다.  entity(패키지)생성 -> User 클래스 생성->   사용자 추가  생성자 초기화및 필드 getter/setter(private의 경우) 생성하여 줍..

API/실습 2024.12.21

40. [ JAVA ] API 문제 풀이 : Spring Boot와 MySQL (초기세팅)

문제 풀이를 하기전에 초기 세팅 방법에 대하여 알아보겠습니다.문제풀이에 필요한 프로그램 및 사이트는 DBeaver,Spring Boot,Gibhubdp, intelliJ ,putty입니다.   DBeaver DBeaver 실행후 새로운 Databases생성 -> Table 생성  -> 컬럼생성  Spring BootSpring Boot에서 필요한 Dependencles를 선택후 각Project명및 내용기제를 해준후 파일을 다운로드 해줍니다. Gibhub  Gibhub에 new repository생성  서버 이름및 세팅 후 Create repository 생성 해주시면됩니다.  위와같이   new repository생성 된것을 볼 수있습니다. 이제 Spring Boot에서 다운받은 파일을 이동하겠습니다. ..

Install/API Install 2024.12.21

39. [ JAVA ] 데이타 교환형식

데이터 교환 형식은 다양한 애플리케이션과 시스템 간의 데이터 전송을 원활하게 하는 중요한 요소입니다. 이 글에서는 두 가지 대표적인 데이터 교환 형식인 JSON과 XML을 비교해보고, 각각의 장단점과 사용 사례를 살펴보겠습니다.  1. JSON (JavaScript Object Notation)  JSON은 가볍고 가독성이 뛰어난 데이터 교환 형식으로, 주로 웹 애플리케이션에서 널리 사용됩니다.본래는 자바스크립트 언어로부터 파생되어 자바스크립트의 구문 형식을 따르지만 언어 독립형 데이터 포맷이다. 즉, 프로그래밍 언어나 플랫폼에 독립적이므로, 구문 분석 및 JSON 데이터 생성을 위한 코드는 C, C++, C#, 자바, 자바스크립트, 펄, 파이썬 등 수많은 프로그래밍 언어에서 쉽게 이용할 수 있습니다.J..

Basic 2024.12.21

38. [ JAVA ] Git과 Github

1. GitGit은 분산형 버전 관리 시스템(DVCS)으로, 소스 코드와 같은 파일의 변경 사항을 추적하고 여러 사용자가 동시에 작업할 수 있도록 지원합니다.  2005년에 리누스 토르발스에 의해 개발되었습니다.  1) 주요 특징빠른 속도: 로컬에서 작업할 수 있어 네트워크에 의존하지 않고 빠르게 버전을 관리할 수 있습니다. 비선형 개발 지원: 여러 브랜치를 생성하여 독립적으로 작업한 후, 이를 병합할 수 있습니다. 데이터 무결성: 각 커밋은 고유한 체크섬(커밋 ID)을 가지며, 이를 통해 데이터의 무결성을 보장합니다.   2. GitHubGitHub는 Git을 기반으로 한 웹 호스팅 서비스로, 개발자들이 소스 코드를 공유하고 협업할 수 있는 플랫폼입니다.  GitHub를 통해 프로젝트를 공개하거나 비공..

Install/API Install 2024.12.19

37. [ JAVA ] 서버 개발 환경 설정

1. API(Application Programming Interface) 1) API(Application Programming Interface)란 API(Application Programming Interface)는 서로 다른 소프트웨어 애플리케이션이 통신하고 상호 작용할 수 있게 해주는 프로토콜과 도구의 집합입니다.    2) API의 주요 특징중개자 역할: API는 애플리케이션 간의 통신을 facilitate 하는 소프트웨어 중개자 역할을 합니다. 추상화: 복잡한 시스템 세부 사항을 숨겨 프로그래밍 과정을 단순화합니다. 표준화: 애플리케이션이 정보를 요청하고 교환하는 표준화된 방법을 제공합니다. 다용도성: 모바일 앱, 웹 애플리케이션, IoT 기기 등 다양한 환경에서 사용될 수 있습니다.  3..

API/이론 2024.12.18
home top bottom
}