본문 바로가기

▶ Back-End132

Cassandra 설치 방법과 간단한 Node 분산 Test Docker를 이용해 Cassandra를 간단하게 설치할 수 있다.*단일 노드 / 다중 노드(Cluster) 설치방법 중 선택해서 사용*단일 노드 설치방법을 진행했다면 모든 과정을 초기화하고 진행*다중 노드(Cluster)  설치 방법은 단일 호스트에서 진행*docker-compose를 사용해도 됨*자세한 설명 생략   ▷ 바로이동    ① 다중 호스트에서 다중 노드 설치 방법    ② 단일 노드 설치 방법    ③ 다중 노드 설치 방법    ④ Node 분산 Test  ▷ 다중 호스트에서 다중 노드 설치 방법*Docker Cluster(Swarm 모드)구성▶ Node 1 💡docker run --name cassandra-node1 -v cassandra-node1:/var/lib/cassandra.. 2023. 8. 8.
SLF4J 기본 사용 방법 spring-boot-starter 에는 SLF4J와 Logback이 기본으로 설정 돼있다.*자세한 설명 생략  ▷ SLF4J란?     - Simple Logging Facade 4 Java     - 다양한 Logging Framework를 하나의 방식으로 사용할 수 있는 방법을 제공        *Logging Framework : java.util.logging, logback, log4j     - Spring Boot는 SLF4J + Logback을 사용        *Logback : SLF4J의 구현체이자 Logging Library(log4j보다 더 좋은 성능)  ▷ 기본 사용 방법*Spring boot에서 아래 2가지 방법 중 선택해서 사용    ① Logger객체 직접 생성    ② .. 2023. 8. 7.
Tomcat 이란? 동적인 웹을 만들기 위한 서블릿 컨테이너*자세한 설명 생략  ▷ Tomcat 이란?     - Tomcat(WAS)은 Web Server(Apache)와 통신하여 JSP와 Servlet이 작동하는 환경을 제공        *Tomcat은 내부 WebServer를 포함하여 독립적으로 사용 가능     - Tomcat은 여러 Connector(HTTP/1.1", "AJP/1.3", SSL ...)와 Connector interface를 제공        *HTTP/1.1 과 HTTP/2 Connector는 Tomcat이 독립적으로 동작하거나 다른 web server의 요청을 받아 WAS의 역할을 수행하도록 지원        *AJP Connector는 Apache HTTP Web server의 요청을 처리하.. 2023. 8. 4.
MySql ON DUPLICATE KEY UPDATE 구문 MySql에서 데이터가 없으면 INSERT, 이미 데이터가 있으면 UPDATE*하나의 쿼리로 두 가지 경우를 해결할 수 있다.  ▷ 사용법 INSERT INTO [TABLE] ( [COLUMN1], [COLUMN2], [COLUMN3], [COLUMN4] ) VALUES ( [VALUES1], [VALUES2], [VALUES3], [VALUES4])ON DUPLICATE KEY UPDATE[COLUMN2] = [VALUES2],[COLUMN3] = [VALUES3],[COLUMN4] = [VALUES4];  ▷ Example /** 테스트 테이블 생성 */CREATE TABLE test( TEST_ID varchar(225) NOT NULL, TEST_NAME varchar(225) NOT.. 2023. 8. 2.
Custom Annotation 생성 Example 간단한 Custom Annotation 생성, 확인*메타 어노테이션 관련 자세한 설명 생략*Reflection 설명 생략  import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;/** * 사용자 정의 어노테이션 생성 */@Target(ElementType.TYPE) // @interface 어노테이션의 적용 위치를 설정하는 옵션@Retention(RetentionPolicy.RUNTIME) // @interface 어노테이션의 적용범위로 어떤 시점까지 사용될 지 결정하는 옵션@in.. 2023. 7. 26.
Lombok이란? 간편한 코드 작성, 가독성, 유지보수를 편리하게 해주는 Lombok*자세한 설명 생략  ▷ Lombok 이란? Java의 라이브러리로 반복되는 메소드를 Annotation을 사용해서 자동으로 작성해 주는 라이브러리*Annotation(@) : 작성한 코드에 대해 추가적인 정보를 제공하여 기능을 실행*Annotation 종류 :    - 표준 어노테이션(Java에서 기본적으로 제공)    - 메타 어노테이션 (Annotation을 정의하는데 사용)    - 사용자 정의 어노테이션(사용자가 직접 정의)Lombok을 이용해서 작성한 코드는 컴파일 과정에서 Annotation을 이용해 코드를 생성 후 자동 컴파일  ▷ 참고 [자바] 자주 사용되는 Lombok 어노테이션Engineering Blog by Dale.. 2023. 7. 25.
Docker 란? 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼*자세한 설명 생략  ▷ Docker 란? Container 기반의 오픈소스 가상화 플랫폼하나의 Host OS위에 Docker를 설치하여 다수의 Container를 생성하고 관리*Container : 리눅스 자체 기능을 사용한 프로세스 단위의 독립된 환경 안의 가상공간*Container에 필요한 커널은 Host OS의 커널을 공유하여 사용  (애플리케이션을 구동하는데 필요한 패키지만 있으면 Container 구동)    *커널 : 컴퓨터 자원을 관리하는 OS의 핵심 부분(쉘 : 사용자와 커널 사이의 인터페이스)VM보다 가볍고 빠르고 효율적확장성과 이식성이 뛰어남Docker가 설치돼 있다면 Image를 통해 Container 실행 가.. 2023. 7. 24.
TDD, BDD, DDD란? 다양한 개발 방법론 중 TDD, BDD, DDD의 기본 개념을 간단히 소개*자세한 설명 생략  ▷ TDD(Test Driven Development) - 테스트 주도 개발*코드 양 증가(테스트 코드들의 관리 이슈)로 빠른 생산성이 요구되는 시점에는 적용이 어려움 테스트 코드를 먼저 작성(단위 테스트)짧은 개발 서클을 반복하는 개발 방식요구사항에 따른 테스트 케이스를 설정해당 코드를 리팩토링 하는 과정으로 프로그래밍을 진행작동하는 깔끔한 코드를 작성새로운 기능 추가 시 기존 기능들과 성능 평가  ▷ BDD(Behavior Driven Development) - 행동 주도 개발 TDD에서 파생테스트 코드 자체가 요구사항이 되도록 개발하는 방식(통합 테스트)코드가 수행할 행위에 대한 명세를 먼저 작성  ▷ D.. 2023. 7. 23.
PWA 란? PWA의 기본 개념을 간단히 소개*자세한 설명 생략  ▷ PWA(Progressive Web App)이란?     - Web에 최신 기술을 더하여 브라우저가 있는 환경(데스크톱, 태블릿, 모바일)이면       어디에서나, 마치 Native App과 같은 사용성을 가진 Web App을 제공하고자 하는 시도이자 방법론         *HTML, CSS, 자바스크립트와 같은 웹 기술들을 사용해 App과 같은 기능을 갖춘 Web App         *푸시 알림 등 Native App의 기능 제공         *Native App, Web App의, Hybrid App의 : 아래 참고     - 최초 구글이 PWA라는 이름으로 방법론과 개념을 제시하였고,      자신들의 브라우저인 Chrome에 새롭게 개.. 2023. 3. 14.
728x90
728x90