분류 전체보기67 [Database] JDBC - DriverManager, Connection (MySQL 접속) 1. Driver Manager 개념 User와 Driver 사이의 인터페이스를 담당. Driver의 이용가능 여부, Database와 Driver사이의 Connection을 관리한다. Driver의 등록/해제, Connection의 연결/해제를 관리한다. Driver의 Register가 반드시 성공해야 DB와 상호작용을 할 수 있다. 1.1 Driver Manager로 MySQL 접속 과거에는 클래스 로딩을 위하여 'Class.forName()'으로 해당 클래스를 클래스 패스에서 찾아서 클래스 로더가 로딩할 수 있도록 했다. 이런 방식으로 클래스 로딩이 되어야 Driver Manager가 표준 인터페이스로 메소드를 호출할 때, 해당 JDBC 드라이버의 구현체로 연결될 수 있었다. 최신 버전에서는 Jav.. 2023. 1. 13. [JDBC] JDBC (Java Database Connectivity) 문제의 상황 만약, CRUD를 해야되는 상황일 때 요구사항이 같은데, 매번 써야되는 함수가 다르다면 데이터베이스를 바꿀 때마다 모든 코드를 갈아엎어야 한다. 이때, 필요한 것이 표준 인터페이스이다. 표준 인터페이스의 필요성 개발자는 표준 인터페이스에 정의된 클래스와 함수만 사용하고, 사용하는 DB에 따라 라이브러리만 바꿔끼우면, 코드의 수정 없이 같은 동작이 가능하도록 할 수 있다. JDBC (Java Database Connectivity) Java application이 client로서 어떻게 데이터베이스에 접근하는지 정의해놓은 표준 인터페이스이다. Java Standard Edition (Java SE)에서 지원하는 스펙이다. Database에 접속하고 데이터를 업데이트하거나 쿼리(질의)할 수 있는.. 2023. 1. 12. [MySQL] Error:3780 CREATE Table 내 Column 생성할 때, int형 column 선언 시 incompatible 문제 (unsigned, signed 입력) 결론. 다른 table의 column(int type)에서 foreign key를 통해 새롭게 column(int type)을 생성할 때, 정수값(int, integer)이 갖는 범위를 일치시켜줘야 함. signed 또는 unsigned를 붙여서 선언해준다. 문제. MySQL에서 CREATE TABLE을 하면서, table 안에 column을 같이 선언해준다. 이때, int type의 column을 선언할 때, 단순히 int만 써주면 'Error Code: 3780' 에러가 발생한다. 정확하게는 이미 만들어진 Table에서 foreign key로 가져오는 column값과 내가 선언하려는 int type의 column값과 서로 일치해야한다. 이미 'product' table에서 'id' column을 'i.. 2023. 1. 11. [mac M1] brew를 활용한 간단한 MySQL 설치 및 간단한 명령어 brew를 통한 MySQL 설치하기 brew install # 먼저 brew를 update brew update # install brew install mysql brew를 통한 mysql server 실행 # start brew services start mysql # stop brew services stop mysql local 환경에서 연습하는 것이기 때문에 root 비번을 따로 설정하지 않았음. 만약 하고 싶으면, 아래 명령어를 통해 password 설정 mysql_secure_installation mysql 접속(실행) # pw 없는 경우 mysql -uroot # pw 있는 경우 (한 번에 명령) mysql -uroot -p{설정한 비번} # pw 있는 경우 (비번은 따로 치기) mysq.. 2023. 1. 10. [Web Service] 3. Web Service에서 발생하는 데이터의 종류 및 특징 1. Use Cases 2. 서버 엔지니어(Server Engineer)가 다루는 데이터 데이터 엔지니어링의 특수성이 어디서 나오는지 구분하기 위해 데이터의 성격을 구분한 것이다. 꼭 서버 엔지니어는 이런 데이터만 다루고, 데이터 엔지니어는 어떤 데이터만 다룬다는 의미가 아니다. 비즈니스나 데이터가 커지다보면, 데이터의 성격에 따라 기술 스택도 다른 것이 필요하게 된다. 그 과정에서 역할이 나뉘다 보면 자연스럽게 이런 식으로 서버 엔지니어와 데이터 엔지니어의 역할이 나뉘게 된다. 백엔드(서버) 쪽을 한다면 모두 잘 다루는 것이 좋다. 2.1 Transaction (거래 데이터) 거래 요청이 있고 요청에 대한 처리의 결과가 있는 데이터로서, 비즈니스나 시스템에서 빈번하게 생성되고 업데이트 되는 데이터를 의.. 2023. 1. 9. 이전 1 ··· 4 5 6 7 8 9 10 ··· 14 다음