본문 바로가기

전체 글35

[MySQL] 컬럼 정보 수정하기 컬럼 추가 1. 테이블에 컬럼 맨뒤에 추가 ALTER TABLE [테이블명] ADD [컬럼명] [자료형] ALTER TABLE board ADD board_type varchar(100) NOT NULL; 2. 테이블에 컬럼 맨앞에 추가 ALTER TABLE [테이블명] ADD [새컬럼명] [자료형] FIRST ALTER TABLE board ADD board_id varchar(256) NOT NULL FIRST 3. 테이블에 지정 컬럼 뒤에 추가 ALTER TABLE [테이블명] ADD [새컬럼명] 자료형 AFTER [앞컬럼명] ALTER TABLE board ADD board_contents varchar(256) NOT NULL COMMENT '게시글 내용' AFTER board_id 컬럼 삭제 .. 2023. 7. 20.
[MySQL] 데이터베이스, 테이블 정보 조회 Database 목록 조회 -- Database 목록 조회 SHOW databases; Table 목록 조회 -- table 목록 조회 SHOW tables; Table 정보(컬럼 정보) 조회 -- table 정보 조회 SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '데이터베이스명' AND TABLE_NAME = '테이블명' ; SHOW FULL COLUMNS FROM '테이블명'; Create Table 정보(컬럼 정보) 조회 -- Create table 조회 SHOW CREATE TABLE '테이블명'; 2023. 7. 19.
[MySQL] SELECT 결과 INSERT 하기 SELECT 결과 INSERT 하기 1. 특정 필드를 insert 하는 경우 INSERT INTO tbl_temp2 (fld_id) SELECT tbl_temp1.fld_order_id FROM tbl_temp1 WHERE tbl_temp1.fld_order_id > 100; 2. 전체 필드를 insert 하는 경우 INSERT INTO tbl_temp2 SELECT * FROM tbl_temp1 WHERE tbl_temp1.fld_order_id > 100; -- 조건은 없는 경우 입력하지 않아도 됨 2023. 7. 18.
chapter 18,19. 모니터링 및 배포하기 (책. Spring in Action) JMX로 스프링 모니터링하기 JMX이란? Java Management Extensions로 MBeans(managed beans)을 통해자바 애플리케이션을 모니터링하고 관리하는 표준 방법을 말함. jconsole을 사용하면 현재 실행중인 스프링 부트 애플리케이션의 액추에이터 엔드포인트 MBeans을 연결해 확인할 수 있다. management.endpoints.jmx.exposure.include와 exclude 설정을 통해 MBeans에 노출되는 엔드포인트를 선택할 수 있다. 19. 스프링 배포하기 19.1 배포옵션 STS 나 IntelliJ IDEA 등의 IDE 에서 애플리케이션을 빌드하고 실행한다. 메이븐 spring:run이나 그래들 bootRun 태스크를 사용하여 명령행에서 애플리케이션을 빌드하.. 2022. 4. 16.
chapter 15. 실패와 지연 처리하기 (책. Spring in Action) 15.1 서킷 브레이커 이해하기 서킷 브레이커 패턴 (circuit breaker pattern) 우리가 작성한 코드가 실행에 실패하는 경우 안전하게 처리되도록 한다. 마이크로 서비스의 실패가 다른 마이크로서비스의 연쇄적인 실패로 확산이 되는 걸 방지할 수 있다 어떤 이유로든 메서드의 실행이 실패하면, 서킷 브레이커가 개방되고 실패한 메서드에 대해 더이상 호출이 수행되지 않음. 이때 풀백을 제공해 자체적으로 실패를 처리한다. 서킷브레이커로 보호되고 있는 메서드가 실행에 성공하면(Success) 서킷은 닫힘 상태를 유지한다. 실패할 시 지금 실행되고 있는 실패한 메서드 대신 풀백 메서드가 호출되고 서킷 상태는 열림으로 바뀐다. 때때로 서킷이 절반-열림 상태(half-open)로 바뀌면서 실패했던 메서드의 .. 2022. 3. 25.
REST란? REST API란? REST API란 REST를 기반으로 만들어진 API를 의미합니다. REST란? REST(Representational State Transfer)의 약자로 자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 모든 것을 의미 1. 자원(resource)의 표현(representation)에 의한 상태 전달 2. 데이터가 요청되어지는 시점에서 자원의 상태(정보)를 전달 (일반적으로 JSON이나 XML을 통해 데이터를 주고 받음) 3. HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고 HTTP Method를 통해 해당 자원의 대한 CRUD Operation을 적용 4. REST의 형식을 따른 시스템을 RESTful 이라고 부른다. CRUD Oper.. 2022. 3. 18.
chapter 13. 서비스 탐구하기 (책. Spring in Action) 13.1 마이크로서비스 이해하기 단일 어플리케이션이란? 배포 가능한 하나의 JAR 나 WAR 파일로 개발된 어플리케이션 단일 애플리케이션 문제점 전체를 파악하기 어렵다 : 코드가 점점 더 많아질수록 애플리케이션에 있는 각 컴포넌트의 역할을 알기 어려워진다. 테스트가 더 어렵다 : 애플리케이션이 커지면서 통합과 테스트가 더 복잡해진다. 라이브러리 간의 충돌이 생기기 쉽다 : 애플리케이션의 한 기능에서 필요한 라이브러리 의존성이 다른 기능에서 필요한 라이브러리 의존성과 호환되지 않을 수 있다. 확장 시에 비효율적이다 : 시스템 확장을 목적으로 더 많은 서버에 애플리케이션을 배포해야 할 때는 애플리케이션의 일부가 아닌 전체를 배포해야 한다. 애플리케이션 기능의 일부만 확장하더라도 마찬가지다. 적용할 테크놀로지.. 2022. 3. 12.
chapter 12. 리액티브 데이터 퍼시스턴스 (책. Spring in Action) 12.1 스프링 데이터의 리액티브 개념 이해하기 릴리즈 트레인 kay (2017-10)부터 리액티브 레퍼지터리 지원을 제공하기 시작 리액티브 레퍼지터리는 카산드라, 몽고DB, 카우치베이스, Redis 등을 지원 (RDB나 JPA는 지원하지 않는데, 이는 표준화된 비동기 API를 제공하지 않기 때문이라고.. ) 스프링 데이터 리액티브 개요 리액티브 레퍼지터리는 도메인 타입이나 컬랙션 대신 Mono나 Flux를 인자로 받거나 반환하는 메서드를 갖는다는 것이 핵심 Flux findByType(Ingredient.TYPE type); 위 코드 처럼 findByType() 메서드는 Flux 타입을 반환 간단히 말해, 스프링 데이터의 리액티브 레퍼지터리는 도메인 타입이나 컬렉션 대신 Mono나 Flux를 인자로 받.. 2022. 3. 4.
chapter 8. 비동기 메시지 전송하기 (책. Spring in Action) chapter 8. 비동기 메시지 전송하기 - 비동기 메시지 전송 - JMS(Java Message Service), RabbitMQ, 카프카(kafka)를 사용해서 메시지 전송하기 - 브로커에서 메시지 가져오기 - 메시지 리스닝하기 tip. 비동기 메시지는 애플리케이션 간의 결합도를 낮추고 확장성을 높여준다. JMS(Java Message Service), RabbitMQ, AMQP(Advanced Message Queueing Protocol), 카프카 등이 있음. 1. JMS로 메시지 전송하기 - JMS는 두개 이상의 클라이언트 간에 메시지 통신을 위한 공통 API를 정의하는 자바 표준 - 스프링은 JmsTemplate이라는 템플릿 기반의 클래스를 통해 JMS를 지원 - 프로듀서(producer)가.. 2022. 1. 28.
Spring Profile 설정법 2022. 1. 7.
DB Replication에 따른 Spring 설정 1. DB Replication - 데이터베이스 이중화 방식 중 하나로 하나의 Master DB와 여러대의 Slave DB로 구성. Master DB에 데이터의 변경이 감지되면 Master DB의 로그를 기반으로 Slave DB에 복제 합니다. - 서비스 사용자의 증가로 트래픽이 늘어날 경우 DB에 부하가 생겨 속도 저하, time out 에러가 발생할 수 있습니다. - Replication을 통해 select요청은 Slave DB(읽기전용)에서 처리, CUD는 Master DB에서 처리할 수 있도록 분리하여 트래픽을 분산되도록 합니다. Spring의 @Transactional 설정에 따라 설정하는 DB가 달라지게 됩니다. @Transactional(readOnly = true) 인 경우는 Slave D.. 2021. 12. 10.
Springboot에서 h2 Database 설정 Springboot를 사용하면서 간단하게 인메모리 데이터베이스 구성하여 확인하기 위해 사용합니다. 1. dependency 추가 (maven) - DB연결을 하기 위한 jdbc 인터페이스 추가 - h2 dependency를 추가 (사용하는 DB에 따라 맞는 dependency를 추가합니다.) org.springframework.boot spring-boot-starter-jdbc com.h2database h2 runtime 2. Configuration application.yml (Springboot 프로젝트에 포함된 application.properties 또는 application.yml에 설정) spring: h2: console: enabled: true path: /h2-console dat.. 2021. 12. 10.
반응형