본문 바로가기

전체 글

(404)
[6일차] 1~5일차 요약 컴퓨터 하드웨어는 모든 종류의 디지털 하드웨어를 아우르며, 집적회로의 발명을 시작으로 60년 동안 기하급수적으로 성능이 향상되었는데, 일정 기간마다 회로는 꾸준히 특정 비율로 더 작아지거나 저렴해지거나 성능이 높아졌다. 이는 무어의 법칙으로 약 18개월마다 특정한 크기의 집적 회로에 들어갈 수 있는 소자의 수가 약 2배가 된다는 것을 의미한다. 이 엄청난 성능의 향상은 우리의 삶을 바꿔 놓는다. 성능과 용량의 증가는 컴퓨팅과 컴퓨터에 대한 인식도 변화시키는데, 최초의 컴퓨터는 탄도 계산, 무기 설계 등 공학용 연산에 적합한 고속 계산 장치로서 여겨졌다면, 현재는 사무 데이터 처리 용도 및 데이터베이스 관리 목적으로도 사용중이다. 컴퓨터의 기본 아키텍처(각 부분이 어떤 것이고 무슨 일을 하고 어떻게 서로 ..
[Day17 - DB] SELECT/FROM, WHERE, 문자열 함수 시작 전 알면 좋은 것들 1. 문자열의 타입은 VARCHAR(문자 크기)로 선언됨 단, 30으로 크기를 지정한다고 하더라도 30을 다 채우는 것이 아닌 5를 채우면 5만 생성되며, 30이 넘어가면 에러 발생 2. 날짜 타입은 DATE / DATETIME 타입이며, 입력시 형식을 맞춰서 작성해줘야 하며 형식이 맞지 않을 경우 에러가 발생. 크기 비교도 가능함. 3. 문자열은 기본 왼쪽 정렬, 숫자는 기본 오른쪽 정렬이 디폴트 4. 문자열을 사용 시에는 작은 따옴표를 이용하며, 큰 따옴표는 alias에서 별칭 지정시에만 사용 가능 5. 배열과 달리 순서를 지정할 때 1번이 첫 번째 SELECT SELECT FROM : 테이블의 데이터를 조회할 때 사용 SELECT [조회할 칼럼명] FROM [테이블명]; -..
[Day17 - DB] 데이터베이스 및 DBMS 기본 DBMS 개요 1. 데이터베이스의 정의와 특징 데이터베이스란? : 데이터의 집합 : 여러 명의 사용자, 응용 프로그램이 공유 : 동시 접근이 가능해야 함 : MariaDB에서는 '데이터의 저장공간' 자체를 의미하기도 함 DBMS : 데이터베이스를 관리/운영하는 역할 : 대부분 우리가 알고 있는 DB인 MySQL, MariaDB, Oracle 등이 DBMS임 : Excel의 경우 대용량을 관리하지 않고, 여러 명의 사용자가 공유하지 않으므로 DBMS가 아님 : 제일 많이 사용하는 DBMS는 테이블 형태의 데이터베이스인 관계형 데이터베이스임 2. 데이터베이스 및 DBMS 특징 1) 데이터 무결성 - 오류가 없는 무결성 : 경로에 상관없이 데이터에 오류가 없어야 함 - 제약조건을 통한 무결성 구현 : 반드시 ..
[MariaDB] MariaDB 설치하기(맥북 포함) & Sequel Pro 사용 MariaDB 설치하기 아래 홈페이지에서 MariaDB 설치가 가능함 https://mariadb.org/download/?t=mariadb&p=mariadb&r=11.2.1&os=windows&cpu=x86_64&pkg=msi&m=blendbyte Download MariaDB Server - MariaDB.org REST API Release Schedule Reporting Bugs … Continue reading "Download MariaDB Server" mariadb.org 윈도우의 경우 위 링크를 통해 설치 및 HeidiSQL을 통해 설치 및 사용이 바로 가능 하지만, 맥북에서는 설치할 수 있는 파일이 존재하지 않기 때문에 homebrew를 통해 설치가 가능 1. 터미널을 통해 homeb..
[05장.3] 3. 엔티티 상태 엔티티는 4가지(비영속, 분리, 관리, 삭제) 상태 1. 엔티티를 처음 생성하면 영속성 컨텍스트와 관계없는 상태인 비영속성 상태 2. persist() 메서드를 통해 영속성 컨텍스트가 관리하는 관리 상태로 변환 3. detach() 메서드를 통해 영속성 컨텍스트가 관리하고 있지 않은 분리 상태로 변환 4. remove() 메서드를 통해 영속성 컨텍스트에서 삭제하는 삭제 상태로 변환 public class EntityManagerTest{ @Autowired EntityManager em; // 엔티티 매니저 프록시 생성 public void example(){ Member member = new Member(1L, "홍길동"); // 비영속성 상태 em.persist(member); // 엔티티 관리 e..
[05장.3] 2. 영속성 컨텍스트 영속성 컨텍스트란? : 엔티티 매니저가 엔티티를 저장하는 공간 : JPA의 중요한 특징 중 하나로, 엔티티를 관리하는 가상의 공간 : 데이터베이스에서 효과적으로 데이터를 가져오고, 엔티티를 편하게 사용할 수 있도록 해줌 기존에는 데이터 조작을 위해 쿼리를 직접 작성해야 했지만, 현재는 스프링 부트에서 이런 쿼리를 자바 코드로 작성하고 이를 JPA가 알아서 쿼리로 변경해주고 있음 영속성 컨텍스트 기본 특징 1. 1차 캐시 : 엔티티를 보관하는 장소 : 트랜젝션을 시작하고 종료할 때까지만 1차가 유효 : 끄고 켤 수 있는 옵션이 아니며, 영속성 컨텍스트 자체를 1차 캐시로 봐도 무방함 : 엔티티 조회시 1차 캐시에서 조회하며, 값이 없을 경우 데이터베이스에서 조회한 이후 1차 캐시에 저장한 다음 반환 2. ..
[05장.3] 1. JPA와 Hibernate, Entity JPA(Java Persistance API)란? : 자바에서 사용하는 표준 ORM : 자바에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스 JPA는 인터페이스이기 때문에 실제 사용을 위해 ORM 프레임워크가 필요 Hibernate란? : JPA를 사용하기 위해 JPA를 구현한 구현체이자 자바용 ORM 프레임워크 : 자바 객체를 통해 데이터베이스 종류에 상관없이 데이터베이스를 자유자재로 사용할 수 있도록 함 : 내부적으로는 JDBC API를 사용 데이터 엑세스 계층(Data Access Layer) : 데이터 저장/조회 등의 작업은 JPA를 거쳐 구현체인 Hibernate ORM을 통해 진행되며, JDBC API를 통해 DB에 접근 엔티티(Entity)란? : 데이터베이스 테이블과 매핑되는 객..
[1. 소프트웨어 설계] 소프트웨어 아키텍처 소프트웨어 아키텍처(Software Architecture)란? : 여러 가지 소프트웨어 구성요소와 그 구성요소가 가진 특성 중에서 외부에 드러나는 특징, 그리고 구성요소 간의 관계를 표현하는 시스템 구조로, 소프트웨어를 설계하고 전개하기 위한 지침과 원칙 소프트웨어 아키텍처 필요성 : 주요 이해관계자들 간의 관점 조율을 통한 시스템을 최적화 : 비기능적인 요소에 집중해서 만들어지고, 기능적인 요소도 고려 소프트웨어 아키텍처 프레임워크(Software Architecture Framework)란? : 소프트웨어 집약적인 시스템에서 아키텍처가 표현하는 내용 및 이들 간의 관계를 제공하는 아키텍처 기술 표준 소프트웨어 아키텍처 프레임워크 구성요소 2023.08.30 - [학습 기록/정보처리기사] - [1. ..