전체보기(194)
-
Node.js
Node.js란 Node.js는 Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임입니다. 즉, Node.js를 토앻 다양한 자바스크립트 애플리케이션을 실행할 수 있으며 서버를 실행하는데 주로 사용됩니다. 내장 HTTP 서버 라이브러리를 포함하고 있어 웹 서버에서 아파치 등의 별도 소프트웨어 없이 동작하는 것이 가능하며, 이를 통한 웹서버의 동작에 있어 더 많은 통제에서 벗어나 여러 가지 기능을 가능하게 합니다. 이벤트 기반 Non Blocking I/O 모델 Node.js는 이벤트 기반 Non Blocking I/O 모델을 구현하고 있습니다. 여기서 이벤트 기반이란 이벤트가 발생할 때 미리 지정해둔 작업을 수행하는 방식을 의미합니다. 즉, 이벤트 기반 시스템에서는 특정 이벤..
2023.07.26 -
Stream 사용시 주의사항
Stream 재사용 문제 IntStream stream = IntStream.of(1, 2, 3); stream.forEach(x -> System.out.println(x)); //첫번째 stream 사용 stream.forEach(x -> System.out.println(x)); //두번째 stream 사용 stream은 오직 한번만 소비할 수 있기 때문에 두 번째 사용할 경우 IllegalStateException이 발생할 수 있습니다. Stream의 동작 순서 Arrays.stream(new String[] {"c", "python", "java"}) .filter(word -> { System.out.println("filter method : " + word); return word.leng..
2023.07.05 -
Timestamp, Datetime
Timestamp 1970-01-01 00:00:01 ~ 2038-01-19 08:44:07 까지의 데이터만 지원 4byte 크기가 필요 TIMEZONE에 따라 시간 변화 가능 데이터가 숫자형으로 저장 Datetime 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 사이의 데이터 지원 5byte + 3byte(초단위를 저장하기 위함) 크기가 필요 TIMEZONE에 따라 시간 변화 불가 데이터가 문자형으로 저장
2023.06.19 -
varchar, char, text
char 고정 크기의 문자열을 담는 데이터 타입 경우에 따라 데이터가 낭비될 수 있음 크기가 고정이라 남는 부분에 대한 연산이 필요 없기에 조회시 속도가 varchar에 비해 빠른 속도를 보임 varchar 가변 크기의 문자열을 담는 데이터 타입 인덱스 생성이 가능 text 가변 크기의 문자열을 담는 데이터 타입 최대 65535 글자를 담을 수 있지만 크기 지정 불가 길이를 표현하기 위한 2byte의 공간복잡도 존재 인덱스를 제한적으로 생성 가능. 부분 prefix 인덱스만 가능 text를 사용하는 이유 varchar 타입은 한 레코드에 65535 글자만 적재할 수 있음(한 레코드 모든 글자의 합 - InnoDB의 레코드 크기 제한사항) text 타입은 위와 같은 제한이 없고 다른 속성들과 별도로 다른 ..
2023.04.22 -
SQL SELECT 쿼리문 문법 순서와 실행 순서
문법 순서 SELECT > FROM > WHERE > GROUP BY > HAVING > ORDER BY 실행 순서 FROM > ON > JOIN > WHERE > GROUP BY > HAVING > SELECT > DISTINCT > ORDER BY FROM: 조회 테이블 확인 ON: 조인 조건 확인 JOIN: 테이블 조인 WHERE: 데이터 추출 조건 확인 GROUP BY: 특정 컬럼 그룹핑 HAVING: 그룹핑 이후 데이터 추출 조건 SELECT: 데이터 추출 DISTINCT: 중복 제거 ORDER BY: 데이터 순서 정렬
2023.03.11 -
JPA
JPA의 개념 JPA는 자바에서 ORM 기술 표준으로 사용되는 인터페이스의 모음입니다. 즉, 실제적으로 구현된 것이 아니라 구현된 클래스와 매핑을 해주기 위해 사용되는 프레임워크입니다. ORM(Object Relational Mapping) ORM이란 우리가 일반적으로 알고 있는 어플리케이션 Class와 RDB의 테이블을 매핑한단느 뜻이며 기술적으로는 어플리케이션의 객체를 RDB 테이블에 자동으로 영속화해주는 것입니다. ORM의 장점 SQL 문이 아닌 Method를 통해 DB를 조작할 수 있어 개발자는 객체 모델을 이용하여 비즈니스 로직을 구성하는데만 집중 Query와 같이 필요한 선언문, 할당 등의 부수적인 코드가 줄어들어 각종 객체에 대한 코드를 별도로 작성하여 코드의 가독성을 높임 객체지항적인 코드..
2023.01.22