| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 맥북 #맥os #Mac #단축키 #키보드단축키 #맥단축키 #MacOS #MacOS단축키
- /
- 도커 #Docker #배포 #Spring #MySQL #백엔드배포
- chatgpt #gpt #챗지피티 #ai
- 노션 #Notion #단축키 #노션단축키 #Notion단축키
- 티스토리 #Tistory #블로그에디터 #블로그추천 #티스토리단축키 #블로그글작성 #단축키
- AI #AI2025
- 도커 #docker #docker-compose.yml #도커컴포즈 #배포 #spring #mysql #docker-compose
- Today
- Total
목록CS (32)
개발자 데뷔!
## Spring BootSpring Boot는 자바 기반의 웹 애플리케이션을 빠르게 개발할 수 있도록 도와주는 프레임워크입니다. 다양한 기능과 라이브러리를 제공하여 개발자들이 간편하게 프로젝트를 구성할 수 있습니다. 아래는 Spring Boot 프로젝트에서 사용할 수 있는 몇 가지 예제입니다:1. JPA 예제: Spring Data JPA를 사용하여 데이터베이스와의 상호작용을 간편하게 처리할 수 있습니다. 엔티티 클래스와 Repository 인터페이스를 작성하고, 자동으로 CRUD 기능을 제공받을 수 있습니다.2. REST API 예제: Spring MVC와 함께 사용하여 RESTful API를 개발할 수 있습니다. 컨트롤러 클래스를 작성하고, HTTP 요청에 대한 응답을 처리하는 메소드를 구현합니다...
[Web] Restful API REpresentational State Transfer : 자원(resource)을 ‘이름’으로 구분해, 해당 자원의 상태(state) 정보를 주고 받는 서버-클라이언트 통신 방식 중 하나 👉 URI에 **자원(resource)**를 명시하고, HTTP Method(POST, GET, PUT, DELETE)로 행위를 지정함 HTTP 프로토콜을 그대로 사용 웹의 장점을 최대한 활용할 수 있는 아키텍처 다양한 클라이언트(브라우저, 기기) 에서 통신하기 위해 필요 단점) 표준이 존재하지 않음 method가 4개 밖에 없어 한정적임 구형 브라우저의 경우 patch, put 이 안먹힘 ! (전부 post 써야함 ) RDBMS의 표현에 적합하지 않다?? 📗 CRUD Create :..
Interrupt CPU 가 프로그램 실행 중, 예외상황 처리를 위해 프로세스를 잠시 중단하는 것 CPU는, 한번에 하나의 프로세스를 처리하기 때문에, 이를 핸들링하기 위해 필요 CPU가 다른 장치와 통신하기 위해 필요. [내부] SW 인터럽트 overflow / underflow / 0 division [외부] HW인터럽트 전원 이상 / IO관련 / 기계이상 ... Interrupt 동작방식 : Interrupt 이벤트마다 각 ‘실행코드’ 를 가리키는 주소를 IDT(Interrupt Descriptor Table) 에 기록. (컴퓨터 부팅 시, OS가 기록) 0~31: 예외상황 인터럽트 (내부/ 소프트웨어 인터럽트) 32~47: 하드웨어 인터럽트 (주변 장치의 종류 및 개수에 따라 변경 가능) 128:..
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는 객체와 데이터베이스..