전체 글
-
MySQL | 데이터베이스 엔진 InnoDB, MyISAM▼ DataBase, NoSQL/MySQL 2023. 1. 28. 15:09
MySQL을 사용해왔지만 데이터의 입출력을 위해 기본 작업만 진행했었지 내부적인 구조에 대해서는 생각해 본적이 없어서 이번에 대표적인 스토리지 엔진인 InnoDb와 MyISAM에 대해 알아보려고 한다. 물론 그 외에 다른 스토리지 엔진들(Memory, Archive, CSV, Federated 등)도 있다. 스토리지 엔진 - 서버 엔진이 필요한 데이터를 물리적 장치에서 가지고 오는 역할을 수행한다. - 성능 향상을 위해 키 캐시(MyISAM), 버퍼 풀(InnoDB) 등의 기능을 내장한다. - 스토리지 엔진은 여러 개를 동시에 사용할 수 있다. 즉, 테이블 마다 다른 스토리지 엔진 사용이 가능하다. - 특정 테이블이 어떤 스토리지 엔진을 사용하는지 확인하려면 SHOW TABLE STATUS 명령을 이용한..
-
공공 데이터 API | 한국 거래소 주식 시세 조회하기API (Application Programing Interface) 2023. 1. 28. 15:05
📌 공공 데이터 포털을 이용하여 한국 거래소 주식시세, 신주인수권 증서 시세, 수익증권시세 등을 조회할 수 있습니다. 🌈 Step 1. 공공데이터 포털 접속 및 금융 위원회 주식 시세 정보 API 활용신청 2. 활용신청 승인 확인 3. 주식 시세 데이터 조회 1. 공공 데이터 포털 접속 및 금융 위원회 주식 시세 정보 API 활용신청 금융위원회_주식시세정보에 들어가서 활용신청을 합니다. *공공 데이터 포털 회원 가입을 해야 진행이 가능합니다. 활용 목적 선택, 사유 작성 및 이용하려는 상세 기능 정보 선택 후 활용 신청을 합니다. 2. 활용신청 승인 확인 마이페이지에 들어가면 오픈 API → 개발 계정에서 활용 신청 승인 여부를 확인할 수 있습니다. 승인이 완료되었으면 상세 페이지로 들어갑니다. 3. 주..
-
Spring | IOC, DI, Bean▼ Backend/스프링 (Spring) 2023. 1. 28. 14:55
🌈 Spring IOC, Container, DI, Bean? 스프링을 사용하다 보면 꾸준히 들어오던 용어들이다. 이 장에서는 그 개념에 대해서 알아보고 정리해 본다. IOC (Inversion of Control) 제어의 역전이라 부른다. 아래에서 컨테이너와 함께 설명한다. Container (컨테이너) 컨테이너는 보통 객체의 생명주기, 생성된 인스턴스들에게 추가적인 기능을 제공한다. 스프링 컨테이너는 의존성도 관리한다. Spring IOC Container - 스프링 IOC 컨테이너 스프링은 스프링 IOC 컨테이너에서 객체를 관리하는데, 이때 스프링이 제어 권한을 가져 객체 생성, 관계, 의존성, 생명주기 관리 하는데 이때 생성된 객체를 Bean이라고 한다. 이 Bean들은 싱글톤으로 관리된다. 즉,..
-
JAVA | 압축(zip)파일 해제하기▼ Backend/자바 (JAVA) 2022. 6. 7. 16:58
java.util.zip 자바에서 기본적으로 제공하는 패키지로 압축 파일(zip)의 압축 및 해제를 할 수 있다. 구성환경 Windows 10, IntelliJ IDEA 2022.1.2, Java 1.8 압축 파일 해제 예제 import java.io.*; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; public class CompressUtil { public void unCompressZip() throws Exception { // 압축(zip) 파일의 경로 String zipFolder = "C:\\Users\\NB061\\Downloads\\"; // 경로/demo.zip 이름으로된 파일에 대한 파일 객체 생성 File..
-
JAVA | 파일 압축(zip) 하기▼ Backend/자바 (JAVA) 2022. 6. 7. 12:04
java.util.zip 자바에서 기본적으로 제공하는 해당 패키지를 이용하여 파일의 zip 압축 및 해제 할 수 있다. 구성환경 Windows 10, IntelliJ IDEA 2022.1.2, Java 1.8 파일 압축 예제 import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.ArrayList; import java.util.List; import java.util.zip.ZipEntry; import java..
-
Spring Boot | JPA, 다중 데이터베이스 구성하기▼ Backend/스프링 (Spring) 2022. 5. 25. 16:31
구성환경 Spring Boot 2.7.0, MariaDB 10.5.13 기존에 하나의 데이터 소스를 통해 정상 작동하는 프로젝트에서 2개 이상의 데이터 소스를 사용하기 위해 작성된 내용입니다. 기본 스프링 부트 데이터베이스 연동은 데이터베이스(MariaDB) 연동 및 JPA CRUD을 참고해주세요. application.yml 2개의 datasource를 설정합니다. (2개 이상 필요시 이름을 다르게 해서 추가) spring: datasource: driverClassName: org.mariadb.jdbc.Driver jdbcUrl: jdbc:mariadb://localhost:3306/first_database username: admin password: password!@# second-datas..
-
Spring Boot | application.properties(yml) 환경에 맞게 분리하기▼ Backend/스프링 (Spring) 2022. 5. 13. 17:30
📌 구성환경 Mac OS, IntelliJ Community, Gradle, Jar 기존에 스프링 부트 프로젝트 생성 시 존재하는 application.properties(yml)은 default로 지정되는 설정 파일로 추가로 생성하여 환경에 맞게 분리 및 지정하여 배포할 수 있다. 이렇게 배포하면 MSA(MicroService)에 사용되는 Config Server에서도 유연하게 사용이 가능하다. application.yml 파일을 복사해서 아래 이미지처럼 local, dev, prod으로 이름을 변경해 추가한다. local: 현재 사용하는 로컬 환경 dev: 운영서버에 올라가기 전 테스트를 하기 위한 개발서버 환경 prod: 실제 사용자가 사용하는 운영 서버 환경 각 환경에 맞게 프로퍼티 파일을 분리했..