분류 전체보기

union과 intersectionunion(|)과 intersection(&)function add(x: string | number, y: string | number): string | number { return x + y }add(1, 2)add('1', '2')add(1, '2')type A = { a: string;}type B = { b: string;}const aa: A | B = { a: 'hello', b: 'world' };const bb: A & B = { a: 'hello', b: 'world' }; union은 또는 (or)의 성질을 지닌다. 근데 string | number는 문제가 있다. return값이 number일수도 string일수도 있는데 return값에..
자바 연산자에 대해서 배우다. 산술 연산자 산술 연산자는 주로 숫자를 계산하는 데 사용된다. 수학 연산을 생각하면 된다. + (더하기) - (빼기) * (곱하기) / (나누기) % (나머지 구하기) package operator; public class Operator1 { public static void main(String[] args) { // 변수 초기화 int a = 5; int b = 2; // 덧셈 int sum = a + b; System.out.println("a + b = " + sum); // 출력: a + b = 7 // 뺄셈 int diff = a - b; System.out.println("a - b = " + diff); // 출력: a - b = 3 // 곱셈 int mul..
자바의 변수에 대해 배우다. 변수, 초기화, 선언 변수는 데이터를 담을 그릇이다. 고정된 값이 아니라 변할 수 있는 값. 여러 곳에서 사용되는 동일한 의도를 가진 데이터가 변할 수 있는 값일 때, 여러 곳에서 사용되는 데이터를 하나하나 바꾸지 않고 변수에 담아서 변수의 값만 변경해 주는 것이 훨씬 효율적이다. package variable; public class Var5 { public static void main(String[] args) { //1. 변수 선언, 초기화 각각 따로 int a; // 변수 선언 a = 1; // 변수 초기화 System.out.println(a); int b = 2; //2. 변수 선언과 초기화를 한번에 System.out.println(b); int c = 3, d..
자바 프로그램을 작성하고 실행하다. public class HelloJava { //HelloJava 클래스의 범위 시작 public static void main(String[] args) { //main() 메서드의 범위 시작 System.out.println("hello java"); } //main() 메서드의 범위 끝 } //HelloJava 클래스의 범위 끝 /* 여 러 줄 주 석 */ 자바 언어는 대소문자를 구분한다. HelloJava라는 클래스의 코드이다. 클래스 이름은 파일명과 같아야 한다. 쉽게 HelloJava라는 파일을 만들었다고 생각하면 된다. {} 블록을 사용해서 클래스의 시작과 끝을 나타낸다. 프로그램을 실행하면 main 메서드 내부가 실행된다. 자바는 문장이 끝나면 반드시 세..
JAVA 기초를 배우기 위해 시작하다. 백엔드 개발자를 목표로 하고 있는데 자바스크립트, 파이썬도 충분히 좋은 언어지만 나의 능력을 더 넓히고 싶은 욕심에 자바를 배우고 싶어졌다. Node.js의 프레임워크는 Express, NestJS가 대표적으로 있는데 Express로 프로젝트를 해본 경험도 있고 NestJS는 최근에 인프런 강의를 들어서 프로젝트 경험은 없지만 어떻게 이루어지고 작동하는지 알고 있다. JAVA 기초 문법을 빠르게 배우고 Spring, JPA까지 학습할 예정이다. 자바는 표준 스펙과 구현으로 나눌 수 있다. 표준 스펙은 자바의 순수한 기반? 설계도?이다. 표준 스펙을 기반으로 여러 회사들에 실제 작동하는 자바를 만든다. 그 회사에 최적화된 자바를 개발하는 것이다. 자바 구현들은 모두 ..
LAN (Local Area Network)에 대해 배우다. 컴퓨터 간 소통하려면 어떻게 해야 하는가? 컴퓨터 2대가 있을 경우, 컴퓨터끼리 소통하려면 어떻게 해야 할까? 물리적인 연결로 케이블로 두 컴퓨터를 연결해서 소통할 수 있다. 케이블로 전기를 주고받고 전기신호 0과 1을 주고받을 수 있다. 케이블 없이 전자기파를 통해서도 소통할 수 있다. 컴퓨터가 3대 이상일 경우, 컴퓨터끼리 소통하려면 어떻게 해야 할까? 모두 케이블을 HUB에 연결하면 컴퓨터끼리 소통할 수 있다. 하지만 HUB는 이제 주로 사용하지 않는다. 그 첫 번째 이유는 특정 컴퓨터에게만 정보를 전달할 수 있는 게 아니라 HUB에 연결된 모든 컴퓨터에게 정보가 전달된다. 두 번째 이유는 동시에 2대 이상의 컴퓨터가 정보를 전달하려고하면..
TypeORM을 배우다. 1. TypeORM TypeORM은 node.js에서 실행되고 TypeScript로 작성된 객체 관계형 매퍼 라이브러리이다. TypeORM은 MySQL, PostgresSQL, MariaDB, MS SQL Server, Oracle등 여러 데이터베이스를 지원한다. ORM은 객체와 관계형 데이터베이스의 데이터를 자동으로 변형 및 연결하는 작업이다. ORM을 이용한 개발은 객체와 데이터베이스의 변형에 유연하게 사용할 수 있다. 모델을 기반으로 데이터베이스 테이블 체계를 자동으로 생성한다. 데이터 베이스에서 개체를 쉽게 삽입, 업데이트, 삭제할 수 있다. 아래(파랑)는 기존에 자바스크립트로 DB의 데이터에 접근하는 방법으로 쿼리문을 직접 작성해야했다. 하지만 ORM을 사용하면(빨강) ..
상태 업데이트의 유효성 검사 기능을 수행하는 커스텀 파이프를 만들다. 1. Custom Pipe 커스텀 파이프는 Pipe Transform이란 인터페이스에서 transform 메서드를 사용해서 NestJS가 인자를 처리하게 만들 수 있다. transform 메서드는 value와 metatdat 파라미터를 가지는데, value는 실제 값, metadata는 value에 대한 자세한 정보가 담겨있는 메타데이터이다. value만 있어도 된다. transform 메서드에서 Return 된 값은 Route 핸들러로 전해지고, 예외가 발생하면 클라이언트에 바로 전해진다. 2. 커스텀 파이프 폴더 및 파일 생성 boards 폴더에 pipes 폴더를 새로 생성한다. pipes 폴더 내에 파이프 파일을 만든다. 나는 보..
이뮨01
'분류 전체보기' 카테고리의 글 목록 (4 Page)