글 전체 보기 썸네일형 리스트형 [Spring] REST API란 ? 1. REST API란? REST API는 웹 서비스 간의 통신을 위한 아키텍처 스타일입니다. REST(Representational State Transfer)의 원칙을 따르며 리소스를 중심으로 설계됩니다. 1-1. REST(Representational State Transfer)의 개념REST 아키텍처의 주요 원칙클라이언트-서버 구조: 관심사의 분리를 통해 확장성을 개선합니다.무상태성: 각 요청은 독립적이며, 서버는 클라이언트의 상태를 저장하지 않습니다.캐시 가능성: 응답은 캐시 가능 여부를 명시해야 합니다.계층화 시스템: 클라이언트는 서버와 직접 연결되었는지 중간 서버와 연결되었는지 알 수 없습니다.인터페이스 일관성: 일관된 인터페이스로 전체 시스템 아키텍처를 단순화합니다.2. REST API의 .. 더보기 [Spring JPA] JPA란 ? 현재 진행중인 프로젝트에서 JPA를 사용하면서 느낌 점들과 추가적으로 더 학습한 내용을 정리해보려고 합니다.JPA가 무엇인지 설명하기 전에 ORM이 뭔지 먼저 설명을 해보겠습니다. 0. ORM이란? ORM(Object-Relational Mapping)은 객체와 관계형 데이터베이스를 매핑해주는 기술입니다. 개발자가 직접 SQL을 작성하지 않고도 객체를 통해 데이터베이스를 조작할 수 있게 해줍니다.예를 들어서 자바의 User 클래스가 있다면 데이터베이스의 users 테이블과 자동으로 매핑됩니다.User 객체를 생성하면 → users 테이블에 새로운 행이 추가됨User 객체의 속성을 변경하면 → users 테이블의 해당 데이터가 수정됨 User 객체를 삭제하면 → users 테이블의 해당 행이 삭제됨 1. .. 더보기 [Spring Boot / JWT] Spring Boot에서 JWT를 활용한 인증 시스템 구현 이번에 제가 Study Record라는 프로젝트를 진행하고 있는데 거기서 인증 시스템을 구현 해야하는 상황이 생겼습니다. 그래서 제가 JWT를 활용해 구현했는데 JWT가 뭔지 어떻게 구현했는지 보여드리도록 하겠습니다.목차1. JWT 소개 및 개념1-1. JWT란?1-2. JWT를 사용하는 이유2. JWT vs 세션 기반 인증2-1. 세션 기반 인증의 한계2-2. JWT의 장점2-3. JWT의 단점과 해결 방안2-4. 토큰 무효화2-5. 추가적인 토큰 무효화 방법3. Access Token과 Refresh Token3-1. 두 토큰의 필요성3-2. Access Token3-3. Refresh Token3-4. Access Token을 짧게 설정하는 이유3-5. 실제 동작 프로세스3-6. 보안 강화 효과4... 더보기 [Spring Boot] Maven과 Gradle의 차이점 Spring Boot를 사용하다 보면 빌드 도구로 Maven과 Gradle 중 하나를 선택해야 하는 상황이 자주 발생합니다. 두 도구 모두 프로젝트 관리와 빌드 자동화를 돕는 도구지만 어떤 도구를 사용할지 선택하기 위해서는 각 도구의 특징과 차이를 이해하는 것이 중요합니다. 이번 포스팅에서는 Maven과 Gradle의 차이점을 비교하고 어떤 상황에서 어떤 도구를 선택하면 좋을지에 대해 알아보겠습니다. 빌드란?빌드는 소스 코드, 리소스 파일 등을 컴퓨터가 실행할 수 있는 형태로 변환하는 과정을 의미합니다. 예를 들어 Java 소스 파일을 컴파일하여 실행 가능한 JAR 파일로 만드는 작업이 빌드의 대표적인 예입니다. 빌드 과정에는 의존성 다운로드, 테스트 실행, 패키징, 배포 등의 다양한 작업이 포함될 수 .. 더보기 [spring/ flutter] flutter를 활용해 Spring Boot 서버 화면을 웹뷰로 띄우기 [2/2] 우선 저번 포스팅을 안보고 오신분들중 아직 설치가 안되어있으시면 저번 글을 보고 오시면됩니다.https://kjunh972.tistory.com/135 [spring/ flutter] flutter를 활용해 Spring Boot 서버 화면을 웹뷰로 띄우기 [1/2]Spring Boot로 반응형 웹페이지를 만들었고 모바일 앱으로도 웹을 띄우고 싶었다.1. 개발 환경 세팅먼저, Xcode를 먼저 설치하자1. Xcode 설치https://developer.apple.com/download/all/ 로그인 - Apple idmsa.apple.comkjunh972.tistory.com저번 글에는 flutter를 활용해 Spring Boot 서버 화면을 웹뷰로 띄우기 위해 이것저것 설정을 해보았고 이번엔 프로젝트를.. 더보기 [spring/ flutter] flutter를 활용해 Spring Boot 서버 화면을 웹뷰로 띄우기 [1/2] Spring Boot로 반응형 웹페이지를 만들었고 모바일 앱으로도 웹을 띄우고 싶었다.1. 개발 환경 세팅먼저, Xcode를 먼저 설치하자1. Xcode 설치https://developer.apple.com/download/all/ 로그인 - Apple idmsa.apple.com앱스토어에서 Xcode를 다운 받을 수 있고 다운로드 속도가 너무 느리다면 위 링크로도 설치 할수도 있다.View Details을 눌러서 압축파일을 다운 받아서 자기가 원하는 버전을 선택하여 다운 받을 수 있다.설치가 끝나면 그 후 Flutter를 설치 할껀데 그전에 Homebrew을 먼저 설치하자2. HomeBrew 설치https://brew.sh/ko/ HomebrewThe Missing Package Manager for .. 더보기 [MySQL 오류 해결] MySQL 접속 안되는 오류 해결 졸업작품에서 사용하던 MySQL에 접속 했는데 오류가 뜨면서 접속이 안됐다. 구글에 검색해서 해결 할려고 하였지만 예상하지 못한 다양한 오류들이 떴다. 여러번 삽질 끝에 겨우 MySQL에 다시 접속 하는데 성공했다.# 사용 환경OS : mac m1 15.0.1MySQL 버전 : 9.0.1MySQL 경로 : /opt/homebrew/bin/mysql먼저 내가 사용하고 있는 환경이다.# 오류 1ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)맨 처음에 떴던 오류이다. /tmp/mysql.sock를 찾을 수 없다고 오류가 뜬다. /tmp 폴더를 가서 확인 해보니 mysql.sock 파일이 잘 있.. 더보기 Optional이란? 0. OptionalOptional은 Java 8에서 도입된 클래스로, null이 될 수 있는 객체를 감싸는 래퍼 클래스입니다. NPE(NullPointerException)을 방지하고 더 안전한 코드를 작성할 수 있게 해줍니다. 1. Optional이란?Optiomal은 null이 될 수 있는 객체를 감싸는 래퍼 클래스 입니다. 이를 통해 NPE를 방지하고 더 명확하고 안전한 코드를 작성 할수 있습니다.public String getUserName(Long userId) { User user = findUserById(userId); // userId가 null이면 findUserById 메서드 내에서 NPE가 발생할 수 있음. // user 객체가 null일 경우 NPE를 방지하기 위.. 더보기 이전 1 2 3 4 ··· 17 다음