전체 글 (72) 썸네일형 리스트형 SQL 기본 문법 정리 1 - DDL, DML 오늘은 어제 공부했던 DDL / DML / DCL의 기본 문법을 정리할 예정이다. DDL(Data Definition Language, 데이터 정의 언어) CREATE : 테이블 생성 ALTER : 테이블 변경 RENAME : 테이블명 변경 DROP : 테이블 삭제 TRUNCATE : 데이터의 모든 내용 삭제 CREATE 데이터 테이블 생성 시 사용되며 사용예시는 아래와 같다. CREATE TABLE 테이블명( , ....) CREATE TABLE 테이블명( id INT AUTO_INCREMENT NOT NULL PRIMARY KEY, name CHAR(20) NOT NULL, age INT NOT NULL ); 사용할 데이터 타입은 아래를 참고하면 된다. 제약조건은 아래와 같다. 구분 설명 PRIMAR.. SQL 기본 구문 SQL은 Structured Query Language(구조적 질의 언어)의 줄임말로, RDBMS(관계형 데이터베이스 시스템)에서 자료를 관리 및 처리하기 위해 설계된 언어로 1970년대 IBM에서 최초 개발 되었고 관계형모델이라는 이론에서 파생된 특징을 가지고 있는데, 현재 SQL의 표준으로 ANSI SQL이 정립되었다. 각 DBMS프로그램에서 ANSI SQL을 기반으로 개발된 SQL을 사용하며 서로 근소한 차이를 보인다. SQL 문법의 종류 SQL문법은 크게 3가지 종류로 나뉜다. - DDL(Data Definition Language, 데이터 정의 언어) DB오브젝트를 생성, 삭제, 변경하는 역할 때 사용하는 언어(CREATE, ALTER, DROP...) - DML(Data Manipulation.. JPA 개념 학습목표 ORM란 JPA란 Hibernate 동작과정 JPA를 사용해야하는 이유 ORM(Object-Relational-Mapping)란 이름 그대로 객체와 관계형 DB를 매핑한다는 뜻이다. 객체는 객체대로 설계하고, 관계형 데이터베이스는 관계형데이터베이스대로 설계해서 ORM 프레임워크가 중간에서 매핑해준다. JPA 자바 진영의 ORM 기술 표준이며, 인터페이스의 모음이다. (JPA 인터페이스를 구현한 대표적인 오픈소스가 Hibernate다.) JPA가 제공하는 API를 사용하면 객체를 DB에 저장하고 관리할 때, 개발자가 직접 SQL을 작성하지 않아도 된다. JPA가 개발자 대신 적절한 SQL을 생성해서 DB에 전달하고, 객체를 자동으로 매핑해준다. Hibernate 자바 진영의 다양한 ORM프레임워크.. Spring Bean Bean의 개념과 생성원리에 대해 알아보자. Bean이란? IoC컨테이너가 관리하는 자바객체를 부르는 용어로 IoC 컨테이너에 의해 인스턴스화, 관리, 생성된다. new연산자로 객체를 생성했을 때는 Bean이 아니며, ApplicationContext.get()으로 얻을 수 있는 객체를 말한다. Bean Container는 의존성 주입을 통해 Bean 객체를 사용할 수 있도록 해준다. Bean은 보통 Singleton으로 존재한다. 싱글톤패턴 : 최초 한번만 메모리를 할당하고(Static) 그 메모리에 객체를 만들어 사용하는 디자인 패턴 생성방식 Component Scanning IoC 컨테이너를 만들고 그 안에 Bean을 등록할 때 사용하는 인터페이스들을 Life Cycle Callback이라 부른다... [SpringBoot] PasswordEncoder 적용하기 오늘 간단히 회원가입로직을 짜면서 패스워드 암호화를 진행해보았다. 비밀번호 암호화 왜 필요할까? 당연한걸 고민한다고 생각할지도 모른다. 비밀번호가 노출된다하더라도 서버에 중요한 정보가 없다면 문제가 안될수도 있다. 하지만 여러 웹사이트의 비밀번호를 동일하게 사용하는 유저라면 얘기가 달라진다. 한 사이트에서 비번이 유출된다면 이 사람이 가입된 모든 사이트가 해킹된 셈이다. 그래서 비밀번호 암호화를 해놓으면 서버가 해킹당해서 패스워드가 유출된다하더라도 해당 사용자의 이메일로 가입된 다른 웹사이트에는 접근할 수 없다. 또한 서버에서도 사용자의 비밀번호를 그대로 저장해서 책임질 일을 만들 필요가 없다. 그래서 오늘은 스프링 시큐리티의 BCryptPasswordEncoder 정의와 사용법을 알아볼 예정이다. BC.. Docker MYSQL 서버구축 이미지확인 docker images mysql 이미지 컨테이너만들기 docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password --name mysql_test mysql docker에서 실행되고있는 프로세스 확인 docker ps -a 컨테이너 삭제 docker rm [컨테이너 ID] 이미지 삭제 docker rmi [이미지id] 컨테이너 bash접속 docker exec -it mysql_test bash mysql로그인 mysql -u root -p Database 추가 및 권한설정 DB만들기 CREATE DATABASES test; DB사용자 및 권한주기 CREATE USER '계정명'@'%' IDENTIFIED BY '비밀번호'; GRANT ALL P.. SingleTon Pattern 싱글톤 패턴이란 인스턴스를 하나만 만들어 사용하기 위한 패턴이다. 객체지향에서 모든 객체들은 라이프 사이클을 가지고있다. 객체가 생성된고 GC에 의해 삭제되기까지가 하나의 사이클이다. 근데 객체를 여러개 만들지않고 1개만들어 이를 공유해서 쓰고싶을 때 싱글톤패턴을 사용하게된다. 싱글톤패턴을 사용하게 되면 객체생성에 대한 비용 및 데이터 공유를 쉽게 할 수있다. 대표적으로 DB의 트랜젝션을 관리하는 클래스가 그러하다. 싱글톤 패턴의 예제 public class Government { private static Government government; private Government() { System.out.println("직접호출 할 수 없습니다."); } public static Government .. Docker란 / Window 10 설치법 이번 토이프로젝트를 진행할 때 Docker라는 것을 사용하려한다. Docker가 무엇이고 어떻게 동작하는지 정리해보자. #Docker란? 도커는 컨테이너 기반의 오픈소스 가상화 플랫폼이다. 배가 물건을 컨테이너에 넣어 운반하는 것처럼 도코도 여러가지 원하는 프로그램들을 컨테이너에 넣어 배포할 수 있다는 점이 비슷하다. 도커는 소프트웨어를 컨테이너라는 표준화된 유닛으로 패키징하며, 이 컨테이너에는 라이브러리, 시스템도구, 코드, 런타임등 소프트웨어를 실행하는데 필요한 모든 것이 포함되어있다. 즉, 실행 환경을 컨테이너로 추상화하고 동일한 인터페이스를 제공하여 환경에 구애받지않고 애플리케이션을 신속하게 배포, 확장 및 관리를 할 수 있게 해준다. #컨테이너란? 도커의 이미지가 실행된 상태이다. OS를 가상화.. 이전 1 2 3 4 5 6 7 ··· 9 다음