⭕️ 티스토리 블로그에 게시한 내용들을 담은 Repository입니다.
⭕️ 하위 디렉토리내의 레포지토리들에 대해 설명합니다.
Repository | 설명 |
---|---|
gitignore | 자주 사용되는 gitignore 파일들을 관리하는 디렉토리입니다. |
java-algorithm | Java 기반의 알고리즘 별 문제들을 관리하는 프로젝트입니다. |
spring-boot-common | 공통적으로 사용되는 정규식, 유틸등을 관리하는 프로젝트입니다. |
spring-boot-short | 간단한 문제 처리를 위한 모듈을 구성한 프로젝트입니다. |
spring-boot-3tier-form | 3-Tier 형태의 아키텍처 기반으로 구성한 form 프로젝트입니다. |
spring-boot-jpa | spring-boot-jpa 라이브러리를 활용하여 JpaRepository, JPQL, Criteria API를 구성하고 사용하는 API 서버를 구성한 프로젝트입니다. |
spring-boot-querydsl | spring-boot-jpa와 querydsl-jap 라이브러리를 활용한 JPA, QueryDSL을 구성하고 사용하는 API 서버를 구성한 프로젝트입니다. |
spring-boot-chatgpt | spring-boot-web 라이브러리를 활용하여 외부 OpenAI의 ChatGPT와의 통신을 통해 프롬프트를 수행하는 API 서버를 구성한 프로젝트입니다. |
spring-boot-fcm | spring-boot-web과 firebase-admin 라이브러리를 활용한 디바이스를 대상으로 FCM 메시지를 전송하는 API 서버를 구성한 프로젝트입니다. |
spring-boot-scheduler | spring-boot-quartz와 firebase-admin 라이브러리를 활용한 일정 시간마다 FCM 메시지를 전송하는 ‘스케줄러 서버’를 구성한 프로젝트입니다. |
spring-boot-test | spring-boot-test와 mockito-core 라이브러리를 활용한 JUnit, MockMVC, Mokito를 활용하여 구성한 프로젝트입니다. |
spring-boot-rabbitmq | spring-boot-amqp 라이브러리를 활용한 RabbitMQ의 메시지 큐를 생성하는 ‘이벤트 생성자’를 구성한 프로젝트입니다. |
spring-boot-rabbitmq-consumer | spring-boot-amqp 라이브러리를 활용한 RabbitMQ의 메시지 큐를 수신하는 ‘이벤트 소비자’를 구성한 프로젝트입니다. |
spring-boot-async | spring-boot-web과 spring-boot-quartz 라이브러리를 활용하여 ‘일반 비동기’ 및 ‘배치 비동기’를 구현한 API 서버 프로젝트입니다. |
spring-boot-slack | spring-boot-web와 slack-api-client 라이브러리를 활용하여 ‘Slack WebHook’ 전송 예시를 구현한 API 서버 프로젝트입니다. |
spring-boot-websocket | spring-boot-websocket 라이브러리를 활용하여 STOMP 프로토콜을 이용한 ‘웹 소켓 서버’ 프로젝트입니다. |
spring-boot-cors | spring-boot-web 라이브러리를 활용한 ‘CORS 관리’를 구성한 API 서버 프로젝트입니다. |
spring-boot2-security | spring-boot-security 2.x + jjwt 라이브러리를 활용하여 ‘jwt 기반 로그인 수행 및 리소스 접근’을 구현한 API 서버 프로젝트입니다. |
spring-boot3-security | spring-boot-security 3.x + jjwt 라이브러리를 활용하여 ‘jwt 기반 로그인 수행 및 리소스 접근’을 구현한 API 서버 프로젝트입니다. |
node-wss-server | Node 기반의 PM2 + Redis + Socket.io 라이브러리를 이용한 ‘소켓 서버’를 구성한 프로젝트입니다. |
react-chatting | Node + React 기반의 Socket.io-client, Stomp 라이브러리를 이용한 ‘채팅 시스템’을 구성한 프로젝트입니다. |
react-login | Node + React 기반의 Spring Boot Security + JWT 기반의 ‘로그인’ 클라이언트를 구성한 프로젝트입니다. |
1. java-algorithm
2. spring-boot-common
3. spring-boot-3tier-form
4. spring-boot-jpa
5. spring-boot-querydsl
6. spring-boot-chatgpt
7. spring-boot-fcm
8. spring-boot-scheduler
9. spring-boot-test
10. spring-boot-rabbitmq
11. spring-boot-rabbitmq-consumer
12. spring-boot-async
13. spring-boot-slack
14. spring-boot-websocket
15. spring-boot2-security
16. spring-boot3-security
17. spring-boot-cors
⭕️ 알고리즘 & 자료구조를 응용한 문제에 대한 풀이들을 가지고 있습니다.
- 알고리즘
- 탐색 알고리즘 > 해시
- 탐색 알고리즘 > 동적계획법
- 탐색 알고리즘 > 이진탐색
- 탐색 알고리즘 > 그리디 알고리즘
- 탐색 알고리즘 > 투포인터 알고리즘
- 탐색 알고리즘 > 완전 탐색: 비트 마스크, 브루트포스
- 자료구조
- 스택
- 큐
🔗 참고 URL
⭕️ Java 언어에 대한 공통 기능들을 가지고 있는 Repository입니다.
🔗 Repository 주요 키워드
- 정규식
- 형 변환 유틸
- 암호화/복호화 유틸
- Network 유틸
- 숫자 유틸
- 문자열 유틸
🔗 참고 URL
- 정규표현식(RegExp) 이해하기 : 패턴, 문자 클래스, 자주 사용 패턴
- IP 주소 반환받는 방법 : 클라이언트 IP, 외부 IP, 내부 IP, 호스트 IP
- SecureRandom을 이용한 랜덤 문자열 생성 방법: 숫자, 문자, 특수문자 조합, 임시 비밀번호
- Spring Boot 환경에서 Jackson 모듈 활용하기 : JSON 파싱, 직렬화, 역 직렬화, JSON 파일 읽어오기/생성
⭕️ Spring Boot & Java 기반의 N-Tier 아키텍처를 기반으로 구성한 3-tier 아키텍처 format입니다.
⭕️ 해당 환경은 API Server 용도로 구성이 되어 있습니다.
🔗 Repository 주요 키워드
- 응용 계층(Application Layer) : Controller
- 비즈니스 계층(Business Layer) : Service
- 데이터 계층(Data Layer : Data Access, Database) : DAO, Database
🔗 참고 URL
1. 계층화된 아키텍처(Layered Architecture) : N Tier Architecture
2. 개발 환경에 따라 각각 환경 파일 구성 방법: application.properties
3. 소프트웨어 아키텍처 10가지 패턴 -1 : 정의, 사용 사례
4. 소프트웨어 아키텍처 10가지 패턴 -2 : 정의, 사용 사례
6. 생성자 패턴 이해하기 : 점층적 생성자, 자바 빈즈, Builder 패턴)
7. 메서드 체이닝(Method Chaining) , 플루언트 인터페이스(Fluent Interface), 빌더 패턴(Builder Pattern)
8. RESTful API 설계 방법 -1 : 이해하기
9. RESTful API 설계 방법 -2 : 구성하기
10. Spring Web Annotation 이해하고 사용하기 -1 : 환경 구성
11. Spring Web Annotation 이해하고 사용하기 -2 : 요청 및 응답
12. Spring Web Annotation 이해하고 사용하기 -3 : 예외 처리 및 주입
13. MacOS 환경에서 Java JDK 설정 및 변경하기 : homebrew, 다운로드 파일
14. MacOS에서 PostgreSQL 로컬 데이터베이스 구성 방법
15. Global Exception 이해하고 구성하기 : Controller Exception
16. Business Exception 이해하고 구성하기 : Service Exception
⭕️ Spring Boot & Java 기반의 Spring Data JPA 라이브러리를 활용하여 구성된 Repository입니다.
🔗 Repository 주요 키워드
- JpaRepository
- JPQL
- Criteria API
- Name Method
- @Query
- NamedQuery
🔗 참고 URL
- Spring Boot Data JPA 이해하기 -1: ORM, JPA, Hibernate, QueryDSL 이론
- Spring Boot Data JPA 이해하기 -2 : 초기 환경 구성 + JpaRepository 활용 방법
- Spring Boot Data JPA 이해하기 -3 : JpaRepository 활용 방법 - Query Method, @Query, NamedQuery
- Spring Boot Data JPA + JPQL 이해하기 -1 : 정의 및 기본동작
- Spring Boot Data JPA + Criteria API 이해하기 -1 : 정의 및 기본동작
⭕️ Spring Boot & Java 기반의 Spring Data JPA 라이브러리와 QueryDSL을 활용하여 구성된 Repository입니다.
🔗 Repository 주요 키워드
- QueryDSL 개발 환경 구축
- QueryDSL JOIN
- QueryDSL SubQuery
🔗 참고 URL
- Spring Boot Data JPA + QueryDSL 이해하기 -1 : 정의 및 구성요소
- Spring Boot Data JPA + QueryDSL 이해하기 -2 : 초기 환경설정 및 사용예시
- Spring Boot Data JPA + QueryDSL 이해하기 -3: Join 활용(내부, 외부, 패치, 세타)
- Spring Boot Data JPA + QueryDSL 이해하기 -4 : 서브쿼리
⭕️ Spring Boot & Java 기반의 OpenAI의 ChatGPT와의 통신을 통해 프롬프트를 수행하는 기능으로 구성된 Repository입니다.
🔗 Repository 주요 키워드
- Open AI : ChatGPT 3.5 활용
- RESTTemplate
🔗 참고 URL
- Spring Boot 환경에서 ChatGPT API 활용하기 -1 : 정의, 환경구성, 간단한 활용방법
- Spring Boot 환경에서 ChatGPT API 활용하기 -2 : 생태계, 레거시, 새로운 모델
⭕️ Spring Boot & Java 언어를 이용한 환경에서 디바이스를 대상으로 FCM 메시지를 전송하는 예시를 관리하는 Repository입니다.
🔗 Repository 주요 키워드
- Google Firebase Admin
🔗 참고 URL
⭕️ Spring Boot & Java 언어와 Spring Boot Queartz 라이브러리르 활용하여 스케줄러 서버로 이용되는 Repository입니다.
🔗 Repository 주요 키워드
- Spring Boot Queartz
- Google Firebase Admin
🔗 참고 URL
- Spring Boot Firebase Cloud Message(FCM) 푸시 메시지 API 구축 -1 : firebase-admin
- Spring Boot Firebase Cloud Message(FCM) 구축 -2 : 예약 발송
⭕️ Spring Boot & Java 언어를 이용하며 JUnit5, MockMVC, Mokito를 활용한 예시를 관리하는 Repository입니다.
🔗 Repository 주요 키워드
- Spring Boot Test(Junit5)
- mockito-core
🔗 참고 URL
- Spring Boot JUnit5 이해하기 -1 : 이론 및 구조
- Spring Boot JUnit5 이해하기 -2 : 환경구성 및 활용 예제
- Spring Boot Mockito 이해하기 : 테스트 흐름 및 사용예시
- Spring Boot MockMvc 이해하기 : 테스트 흐름 및 사용예제
⭕️ Spring Boot 기반의 Java 언어를 이용하여 RabbitMQ의 메시지 큐를 구성하는 Repository입니다. : 이벤트 생성자
🔗 Repository 주요 키워드
- Event Proceducers
- spring-boot-starter-amqp
🔗 참고 URL
- Spring Boot AMQP RabbitMQ 이해하기 -1 : 구조 및 종류
- Spring Boot AMQP RabbitMQ 이해하기 -2 : 로컬 환경 구성
- Spring Boot AMQP RabbitMQ 이해하기 -3 : Java 구축 및 간단 예제
- Spring Boot AMQP RabbitMQ 이해하기 -4 : RabbitMQ Exchange 유형 별 이해 및 사용 예시
- Spring Boot AMQL RabbitMQ 이해하기 -5 : TTL 및 데드 레터링 사용예시
- Dockerfile을 이용한 RabbitMQ 환경 구성 및 실행방법
⭕️ Spring Boot 기반의 Java 언어를 이용하여 RabbitMQ의 메시지 큐를 수신하는 이벤트 소비자를 구성한 Repository입니다 : 이벤트 소비자
🔗 Repository 주요 키워드
- Event Consumers
- spring-boot-starter-amqp
🔗 참고 URL
- Spring Boot AMQP RabbitMQ 이해하기 -1 : 구조 및 종류
- Spring Boot AMQP RabbitMQ 이해하기 -2 : 로컬 환경 구성
- Spring Boot AMQP RabbitMQ 이해하기 -3 : Java 구축 및 간단 예제
- Spring Boot AMQP RabbitMQ 이해하기 -4 : RabbitMQ Exchange 유형 별 이해 및 사용 예시
- Spring Boot AMQL RabbitMQ 이해하기 -5 : TTL 및 데드 레터링 사용예시
- Dockerfile을 이용한 RabbitMQ 환경 구성 및 실행방법
⭕️ Spring Boot 기반의 Java 언어를 이용하여 비동기 처리를 위한 방법에 대한 예시들을 구성한 Repository입니다.
🔗 Repository 주요 키워드
- @Async, @AsyncConfig, Thread Pool, 비동기 반환 유형, Executor
🔗 참고 URL
⭕️ spring-boot-web와 slack-api-client 라이브러리를 활용하여 ‘Slack WebHook’ 전송 예시를 구현한 API 서버 프로젝트입니다.
🔗 Repository 주요 키워드
- slack, slack webhook, 모니터링
🔗 참고 URL
- Spring Boot 환경에서 Slack Incoming Webhook 이해하고 구성하기 -1 : 초기 구성 및 간단 메시지 전송
- Spring Boot 환경에서 Slack Incoming Webhook 이해하고 구성하기 -2 : 다양한 메시지 전송 방법
⭕️ spring-boot-websocket 라이브러리를 활용하여 STOMP 프로토콜을 이용한 ‘웹 소켓 서버’ 프로젝트입니다.
🔗 Repository 주요 키워드
- STMOP, websocket server
🔗 참고 URL
⭕️ Spring Boot 2.x 환경에서 spring-boot-security 2.x + jjwt 라이브러리를 활용하여 ‘jwt 기반 로그인 수행 및 리소스 접근’을 구현한 API 서버 프로젝트입니다.
🔗 Repository 주요 키워드
- spring boot security, JWT, Access Token, Refresh Token
🔗 참고 URL
- Spring Boot Security 이해하기 -1 : 2.7.x 버전 구조 및 파일 이해
- Spring Boot Security 이해하기 -2 : Spring Boot 2.x 버전 환경 구성하기
- Spring Boot Security 이해하기 -3: JWT(JSON Web Token) 이해하기
- Spring Boot Security 이해하기 -4: JWT 환경 설정 및 구성 하기
⭕️ Spring Boot 3.x 환경에서 spring-boot-security 3.x + jjwt 라이브러리를 활용하여 ‘jwt 기반 로그인 수행 및 리소스 접근’을 구현한 API 서버 프로젝트입니다.
🔗 Repository 주요 키워드
- spring boot security, JWT, Access Token, Refresh Token
🔗 참고 URL
- Spring Boot Security 3.x + JWT 이해하기 -1 : 구조 및 Client / Server 처리과정
- Spring Boot Security 3.x + JWT 이해하기 -2 : 환경설정 및 구성
- Spring Boot Security 3.x + JWT 이해하기 -3 : Refresh Token 활용한 자동 갱신 방법
⭕️ spring-boot-web 라이브러리를 활용한 ‘CORS 관리’를 구성한 API 서버 프로젝트입니다.
🔗 Repository 주요 키워드
- spring boot web, cors
🔗 참고 URL
- 교차 출처 리소스 공유 : CORS(Cross Origin Resource Sharing) 이해하기
- Spring Boot 환경에서 CORS(Cross Origin Resource Sharing) 이해하고 활용하기 -1
1. node-wss-server
2. react-chatting
3. react-login
⭕️ Node 기반의 PM2 + Redis + Socket.io 라이브러리를 이용한 ‘소켓 서버’를 구성한 프로젝트입니다.
🔗 Repository 주요 키워드
- Node, PM2, Redis, Socket.io, Socket Server
🔗 참고 URL
- Socket.io 기반 소켓 서버 구축 방법 -3: PM2 클러스터링 + Redis 기반 분산 처리
- Socket.io 기반 소켓 서버 구축 방법 -1 : 구성 요소 및 흐름 + React 기반 채팅 화면 구성
- Socket.io 기반 소켓 서버 구축 방법 -2 : Room, Namespace 별 소켓 통신 방법
- PM2(Process Manager 2) 이해하고 주요 특징 알아보기
⭕️ Node + React 기반의 Socket.io-client, Stomp 라이브러리를 이용한 ‘채팅 시스템’을 구성한 프로젝트입니다.
🔗 Repository 주요 키워드
- Node, Socket.io-client, STOMP
🔗 참고 URL
⭕️ Node + React 기반의 Spring Boot Security + JWT 기반의 ‘로그인’ 클라이언트를 구성한 프로젝트입니다.
🔗 Repository 주요 키워드
- Node, React, Spring Boot Security + JWT
🔗 참고 URL