일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 도커 #docker #docker-compose.yml #도커컴포즈 #배포 #spring #mysql #docker-compose
- 도커 #Docker #배포 #Spring #MySQL #백엔드배포
- /
- Today
- Total
목록웹 (19)
개발자 데뷔!
## Spring Boot Spring Boot는 자바 기반의 웹 애플리케이션을 빠르게 개발할 수 있도록 도와주는 프레임워크입니다. 다양한 기능과 라이브러리를 제공하여 개발자들이 간편하게 프로젝트를 구성할 수 있습니다. 아래는 Spring Boot 프로젝트에서 사용할 수 있는 몇 가지 예제입니다: 1. JPA 예제: Spring Data JPA를 사용하여 데이터베이스와의 상호작용을 간편하게 처리할 수 있습니다. 엔티티 클래스와 Repository 인터페이스를 작성하고, 자동으로 CRUD 기능을 제공받을 수 있습니다. 2. REST API 예제: Spring MVC와 함께 사용하여 RESTful API를 개발할 수 있습니다. 컨트롤러 클래스를 작성하고, HTTP 요청에 대한 응답을 처리하는 메소드를 구현합..
Spring Security, JWT, Redis를 함께 사용하여 로그인 기능을 구현한 시스템 아키텍처의 도형도 1. 클라이언트는 아이디와 비밀번호를 입력하여 로그인을 시도합니다. 2. 서버는 입력된 정보를 확인하고, 인증이 성공한 경우 JWT 토큰을 생성합니다. 3. 서버는 생성된 JWT 토큰을 Redis에 저장하고, 클라이언트에게 응답으로 전달합니다. 4. 클라이언트는 응답으로 받은 JWT 토큰을 쿠키에 저장합니다. 5. 이후 클라이언트의 요청에는 쿠키에 저장된 JWT 토큰이 함께 전송됩니다. 6. 서버는 클라이언트의 요청에 포함된 JWT 토큰을 검증하고, Redis에서 해당 토큰을 조회하여 인증을 처리합니다. 7. 인증이 성공한 경우, 서버는 요청에 대한 응답을 반환합니다. 8. 로그아웃 시, 클라..
CORS 개발자가 CORS에러를 만나는 경우 PostMan, 스프링 등에선 URI요청이 정상적으로 보내진다. 웹사이트(크롬, 엣지, 사파리)등 브라우저(Front End)에서 발생 보안상의 이유로 JavaScript에서는, 오류의 상세정보에 접근 불가 상세정보는 브라우저의 콘솔에서 확인해야함 CORS :Cross-Origin Resource Sharing (교차 출처 리소스 공유) 브라우저-서버 간 안전한 교차출처 요청과 데이터 전송을 지원하는 체제 웹 애플리케이션은 자신, 또는 다른 출처(도메인, 프로토콜,포트)에서 리소스를 요청한다. 외부 출처의 자원에 접근할 때, 교차 출처 HTTP요청을 실행한다. ‘교차 출처 HTTP요청’은 외부 출처의 자원에 접근할 수 있는 권한을 부여하며, 이를 추가 HTTP..
Redis 💡 키-값 구조의 비정형 데이터 전용 DBMS (NoSQL) 인메모리 데이터 저장소 (속도↑) Key-Value 구조 (쿼리 사용할 필요 X) 다양한 자료구조 지원 Single Thread 사용 DB / 캐시 / 메시지브로커로 사용 오픈소스 DB서버 VS 캐시서버 기존의 DB서버 소규모 서비스(WEB-WAS-DB 구조) 데이터를 물리 디스크에 직접 접근해 write 서버가 다운되도 데이터 손실 x DB부하 큼 기존의 캐시서버 한번 읽어온 데이터를 임의의 공간에 저장해, read시 빠르게 결과값 받음 같은 요청이 여러번 들어올 경우, DB까지 가지 않아도 캐시서버 단에서 저장된 결과값 반환 서버가 다운되면 데이터 손실 DB부하 적음 캐시 서버의 두가지 패턴 클라이언트가 데이터 요청 웹서버: ca..
Lombok Lombok은 자바 개발을 편리하게 해주는 라이브러리입니다. Lombok을 사용하면 일반적으로 반복적이고 번거로운 작업을 자동화할 수 있습니다. 주요 기능은 다음과 같습니다: Getter 및 Setter: Lombok을 사용하면 자동으로 필드에 대한 Getter 및 Setter 메서드를 생성할 수 있습니다. 이를 통해 코드를 간결하게 유지하면서도 필드에 접근할 수 있습니다. 생성자: Lombok은 생성자를 자동으로 생성할 수 있습니다. @AllArgsConstructor 애너테이션을 사용하면 모든 필드를 인수로 받는 생성자를 생성할 수 있습니다. 불변 클래스: @Value 애너테이션을 사용하면 불변 클래스를 쉽게 생성할 수 있습니다. Lombok은 필드에 대한 Getter 메서드뿐만 아니라 ..
Hibernate Hibernate는 자바 기반의 객체-관계 매핑(ORM) 프레임워크입니다. 객체와 데이터베이스 간의 매핑을 자동으로 처리하여 개발자가 SQL 쿼리를 직접 작성하지 않고도 데이터베이스에 접근할 수 있습니다. Hibernate는 객체 지향적인 프로그래밍 모델을 사용하므로, 개발자는 객체를 조작하고 이를 데이터베이스에 자동으로 반영할 수 있습니다. Hibernate는 데이터베이스의 특정 플랫폼에 종속되지 않고, 다양한 데이터베이스 시스템과 호환됩니다. JPA (Java Persistence API) JPA는 자바의 ORM 기술 표준입니다. JPA는 데이터베이스와의 상호작용을 위한 인터페이스를 제공하며, Hibernate와 같은 구현체를 사용하여 실제로 동작합니다. JPA는 객체와 데이터베이스..
웹 개발 과정 요구사항 분석 프론트엔드 개발 백엔드 개발 통합 테스트 배포 및 운영 프론트엔드 구성 HTML, CSS, JavaScript를 사용하여 사용자 인터페이스 개발 프레임워크: React.js, Angular, Vue.js 등 패키지 관리자: npm, Yarn 빌드 도구: Webpack, Parcel 테스트 도구: Jest, Enzyme 백엔드 구성 언어: Java 프레임워크: Spring Boot 데이터베이스: MySQL ORM(Object-Relational Mapping): Hibernate API 문서화: Swagger 보안: Spring Security 로깅 및 디버깅: Lombok 테스트 도구: JUnit, Mockito 배포: AWS, Jenkins 시스템 구성도 graph LR A..
모델링이란, 문제를 현실로 부터 뜯어내, 고도의 추상화 과정을 거친 후, 컴퓨터라는 새로운 현실로 옮겨담는 것 다음 유튜브 강의를 듣고 내용을 요약해 작성했다. [생활코딩 - "RDB모델링법"] https://www.youtube.com/watch?v=zZmRQHgLhMo&list=PLuHgQVnccGMDF6rHsY9qMuJMd295Yk4sa&index=2 https://opentutorials.org/module/4134/25270 [오용철의 데이터베이스 모델링] https://www.youtube.com/channel/UCF5CqIVuw0S05ihUIb-HtAA/videos [생활코딩 강의의 실습링크] normalization 실습 denormalization 실습 RDB : 관계형 데이터베이스 내포..