목록전체 글 (106)
공부해봅시당
값(Value)프로그램이 실행될 때 실제로 사용되는 데이터const x = 10; // 여기서 10은 값const obj = { name: "Alice", age: 30 }; // obj는 객체 값 타입(Type)값의 형태와 구조를 정의하며 컴파일 타임에 타입 검사를 위해 사용let x: number; // number는 타입입니다.type Person = { name: string; age: number }; // Person은 객체의 타입입니다. 요약값: 실제 데이터 (예: 10, "Alice", { name: "Alice", age: 30 })타입: 데이터의 형태와 구조를 정의하는 것 (예: number, string, { name: string; age: number }) 타입스크립트에서 자바스..

boolean단순한 참(true) / 거짓(false) 값let isBoolean: boolean;isBoolean = true;let isDone: boolean = false; number정적 타입이라 해서 C / JAVA 처럼 int, float, double 타입은 없고, Javascipt의 number 자료형을 그대로 사용16진수, 10진수, 2진수, 8진수 리터럴도 지원let num: number;let integer: number = 6;let float: number = 3.14;let hex: number = 0xf00d; // 61453let binary: number = 0b1010; // 10let octal: number = 0o744; // 484let infinity: numb..
1. 원시타입- undefined정의되지 않음- null명시적으로 비어있음을 나타냄- booleantrue, false 값 할당- string문자열- Symbol어떤 값과도 중복되지 않는 유일한 값 생성- Numeric(Number, BigInt)number: 모든 숫자 할당 가능, NaN(Not A Number)도 할당 가능bigint: 타입스크립트 3.2버전부터 사용 가능, 새롭게 도입됨, number보다 더 큰 수 처리가능, number와 호환 불가 2. 객체 타입- object객체에 해당하는 모든 타입 유동적으로 할당 가능, 원시 타입은 호환되지 않음, 객체 타입의 any 느낌- {}객체 생성 시 사용, {} 빈 객체 생성 시 어떤 값도 속성으로 할당 불가- array하나의 타입 값만 가질 수 있..

무언가를 공부하기 시작할 때, 가장 좋은 것은 이것이 왜 등장하게 되었는지에 대한 배경, 즉 역사를 알아보는 것이다.그래야만 왜 나오게 되었는지, 왜 이것을 공부해야 하는지 알고 공부할 수 있으며 앞으로의 공부에 나침반이 되어준다. 따라서 Typescript가 등장하게 된 배경에 대해 살펴보고 Typescript에 대해 하나씩 공부해보도록 하겠다. 웹 개발의 역사자바스크립트의 탄생1990년대 마이크로소프트의 인터넷 익스플로러와 넷스케이프 커뮤니케이션즈의 넷스케이프 네비게이터가 가장 많이 사용되는 웹 브라우저였다고 한다. 이후 1995년 넷스케이프의 브랜든 아이크는 웹의 다양한 콘텐츠를 표현하기 위해 이미지, 플러그인 요소를 쉽게 조합할 수 있는 새로운 언어가 필요하다고 생각하고 자바스크립트를 만들었다. ..

HTML을 작성하며 HTML이 HyperText Markup Language라는 것을 들어본 경험이 있을 것이다.여기서 HTML에 대해 익숙하게 사용하고 활용하면서도, 막상 HyperText가 뭔지 설명해보라고 하면 설명하기가 어려워서 부끄러웠다.따라서 이번 기회에 HyperText에 대해 간략히 정리해보고자 한다. 우리나라 말이 아닌 용어를 이해할 때 가장 좋은 방법은 역시 그 용어 자체의 뜻을 이해하는 것이다.Hyper의 의미에 대해 먼저 살펴보도록 하자. Hyper그리스어 접두사로 `over` 또는 `beyond`의 의미를 가지고 있다.영어로는 `초월한`, `과도한`, `과한` 등의 의미로 사용된다.그러니까 보통 `Hyper`가 포함된 단어들은 어떤 것의 범위를 넘어서거나, 일반적인 수준을 뛰어넘는..
세션이라는 단어를 접할 때, 웹 세션과 네트워크 세션, 데이터베이스 세션 등 여러 세션에 대해 접하면서 세션의 의미에 대해 혼란스러워 했었다. 그래서 세션이 무엇인지, 세션에는 어떤 것들이 있는지, 세션 중에서 어떤 것이 쿠키와 비교되는 것인지, 그리고 같이 혼동하게 되는 개념인 토큰과 캐시에 대해서도 총망라하여 이번 글과 다음 글에서 정리해보고자 한다. 세션세션이란?영어단어로 먼저 이해해보자대부분의 용어가 영어 단어로 이뤄져 있기 때문에(당연하다... 영어권 사람들이 만들었다...),영어 단어로서 어떻게 사용되는지 알아야 컴퓨터 과학에서 용어의 진짜 의미를 파악할 수 있다. 영어에서 `세션`은 `일반적으로 모임이나 회의의 기간`을 의미한다.예를 들어 'The conference session laste..

1차 캐시와 2차 캐시 1차 캐시(First Level Cache)영속성 컨텍스트(Persistence Context)의 내부에는 엔티티를 보관하는 저장소가 있는데, 이것을 `1차 캐시(First Level Cache)`라고 부른다. 그래서 1차 캐시는 트랜잭션이 시작하고 종료할 때까지만 유효하다.즉, 트랜잭션 단위의 캐시이다.따라서 애플리케이션 전체로 보면 데이터베이스 접근 횟수를 획기적으로 줄이지는 못한다. 1차 캐시 특징- 1차 캐시는 영속성 컨텍스트 내부에 있음 -> 따라서 1차 캐시는 활성화하거나 비활성화할 수 있는 옵션이 아니고, 영속성 컨텍스트 자체가 사실상 1차 캐시임- 엔터티 매니저로 조회하거나 변경하는 모든 엔터티는 1차 캐시에 저장됨- 트랜잭션을 Commit 하거나 Flush를 하게..

JPA 영속성 컨텍스트(Persistence Context)JPA 영속성 컨텍스트란 엔터티를 영구 저장하는 환경이라는 뜻으로, 애플리케이션과 데이터베이스 사이에서 객체를 보관하는 가상의 데이터베이스 같은 역할을 한다.EntityManager에 엔티티를 저장하거나 조회하면 EntityManager는 영속성 컨텍스트에 엔티티를 보관하고 관리한다. Entity를 영속성 컨텍스트에 저장하는 코드로, 해당 코드는 DB에 저장이 안 된 상태이다. (트랜젝션이 끝나야 DB에 반영함)entityManager.persist(entity); 특징- 영속성 컨텍스트는 논리적인 개념- 영속성 컨텍스트는 엔터티 매니저를 생성할 때 하나 만들어짐, 엔터티 매니저를 통해 영속성 컨텍스트에 접근하고 관리할 수 있음- 스프링에서 En..