Today I Learned
-
2023 - 07 - 19 컴파일러 Complier, tsc, 타입스크립트 컴파일러, tsconfig.json, 컴파일러 옵션Today I Learned/TIL 07 2023. 7. 25. 12:09
오늘 배운 것: 컴파일러, tsc(TypeScript 컴파일러) ✅ 체크리스트 [ ] 컴파일러의 개념에 대해서 공부하고 tsc를 어떻게 사용하는지 파악합니다. [ ] tsconfig.json의 필수 옵션들을 숙지합니다. [ ] boolean, number, String, tuple, enum, 배열의 사용법을 이해합니다. [ ] enum, object literal의 차이점과 활용법을 이해합니다. [ ] Partial, Required, Readonly, Pick, Omit를 이해합니다. [ ] 클래스, 상속, 추상 클래스 및 인터페이스에 대해 이해합니다. [ ] S.O.L.I.D 원칙을 기반으로 좋은 객체 지향 설계 방법을 이해합니다. 컴파일러: 특정 프로그래밍 언어가 정적 언어로써의 정체성을 유지할 ..
-
2023 - 07 - 18 타입스크립트 TypeScript의 장점, 자바스크립트의 약점 보완, 객체지향 프로그래밍 OOPToday I Learned/TIL 07 2023. 7. 25. 10:59
오늘 배운것 : 타입스크립트 1. 자바스크립트의 약점은, 자바스크립트는 "동적 타입언어"라는 것이다. 프론트엔드의 에러는 우리가 보는 뷰의 일관성을 해칠 수는 있으나, 전반적인 동작에 피해를끼치지는 않는다. 하지만, 예외처리가 제대로 되지 않은 백엔드의 단순한 에러 하나로 인해 서버가 다운될 수 있다. (약점1) 자바스크립트의 변수는 실행시간(런타임)에 결정되기 떄문에, 개발자가 실수를 한다고 하더라도 실행하는 순간 알 수 있기 때문에 오류를 찾기 까다롭다. (약점2) 타입 체크가 let, const 같은 변수/상수를 구분하는 정도의 키워드만 지원이 되기때문에, let a = 1; a = “Hello”; 이런 식으로 a가 숫자인줄 알았는데 문자열로 바뀌어버릴수도 있다. (약점3) 너무 물렁물렁한 객체 c..
-
2023 - 07 - 17 AXIOSToday I Learned/TIL 07 2023. 7. 20. 17:17
오늘 배운것 : AXIOS Axios는 브라우저, Node.js를 위한 Promise API를 활용하는 HTTP 비동기 통신 라이브러리 아다. 쉽게 말해서 백엔드랑 프론트엔드랑 통신을 쉽게하기 위해 Ajax와 더불어 사용한다. 이미 자바스크립트에는 fetch api가 있지만, 프레임워크에서 ajax를 구현할땐 axios를 쓰는 편이라고 보면 된다. 운영 환경에 따라 브라우저의 XMLHttpRequest 객체 또는 Node.js의 http api 사용 Promise(ES6) API 사용 요청과 응답 데이터의 변형 HTTP 요청 취소 HTTP 요청과 응답을 JSON 형태로 자동 변경 서버에서 axios 설치 > npm install axios 클라이언트(html)에서 axios 설치 또는 axios 파라미터..
-
2023 - 07 - 16 HTTP 프로토콜Today I Learned/TIL 07 2023. 7. 18. 09:41
웹개발에서 서버와 유저(클라이언트)가 데이터를 주고받게 만드려면, 이는 요청(Request)와 응답(Response)로 이루어진다. 예를들어 고객이 인터넷쇼핑몰에서 상품을 산다면, 고객이 지불한 돈이 요청이고, 인터넷쇼핑몰이 보낸 상품이 응답이다. HTTP통신의 특징 1. 요청과 응답 (Request - Response) 요청이 없다면 응답도 없다. 응답을 보낼 주소를 못찾기 때문이다. 1개의 request에는, 반드시 1개의 response만 존재한다. 2. 무상태 프로토콜 (Stateless) HTTP프로토콜은 상태값을 갖고있지 않다. 고객이 주문을 할때, 주문에 대한 정보가 있어야한다. "주문"이라는 행위 자체는 상태가 없으므로 요청이 아니다. 3. 비연결성 고객이 상품을 주문하면, 쇼핑몰은 상품을..
-
2023 - 07 - 15 쿼리문 Query - 테이블 생성, 수정, 삭제, 조회Today I Learned/TIL 07 2023. 7. 18. 09:39
로우쿼리로 데이터베이스 생성해보기. CREATE TABLE Customers ( customerId INT NOT NULL AUTO_INCREMENT PRIMARY KEY, email VARCHAR(255) NOT NULL UNIQUE, password VARCHAR(255) NOT NULL, createdAt DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, updatedAt DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE Items ( itemId BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY, optionId BIGINT NOT NULL DEFAULT 0, name VARCHAR(..
-
2023 - 07 - 14 쿼리문 Query - 데이터 생성, 수정, 삭제, 조회Today I Learned/TIL 07 2023. 7. 18. 09:30
1. SELECT : 데이터를 불러오는 쿼리문 1. SELECT 컬럼명 FROM 테이블명 (모든 컬럼을 가져올경우 컬럼명에 *) 2. SELECT 컬럼명 FROM 테이블명 WHERE 조건 (컬럼명=값)으로 적을 겨우, 컬럼명의 값이 지정한 값인 데이터행의 데이터만 불러옴 3. SELECT 컬럼명 FROM 테이블명 WHERE 조건 ORDER BY 컬럼명 ASC or DESC (ASC= 오름차순, DESC=내림차순) 4. SELECT 컬럼명 FROM 테이블명 WHERE 조건 ORDER BY 컬럼명 ASC or DESC LIMIT 개수 LIMMIT구문을 추가해 데이터행이 많을때, LIMIT절의 개수만큼 데이터 불러옴 2. INSERT : 데이터를 삽입하는 쿼리문 1. INSERT INTO 테이블명 (컬럼명1,..
-
2023 - 07 - 13 쿼리문 Query 컬럼 (column, field) 생성, 추가, 수정, 삭제Today I Learned/TIL 07 2023. 7. 13. 15:10
컬럼 추가 ALTER TABLE dbo.emp ADD email VARCHAR(25) 컬럼 삭제 ALTER TABLE dbo.emp DROP COLUMN email 데이터 사이즈변경 (VarChar 25 => 100) ALTER TABLE dbo.emp ALTER COLUMN email VARCHAR(100) 데이터 타입 변경 ALTER TABLE dbo.emp ALTER COLUMN email TEXT ALTER TABLE [테이블명] ALTER COLUMN [칼럼명] [변경할 데이터 타입] Not Null 설정 또는 제거 -- NOT NULL 설정 ALTER TABLE dbo.emp ALTER COLUMN email VARCHAR(25) NOT NULL -- NOT NULL 제거 ALTER TABLE..
-
2023 - 07 - 12 레이어드 아키텍쳐 Layered Architecture PatternToday I Learned/TIL 07 2023. 7. 12. 19:58
오늘 배운 것 : 레이어드 아키텍쳐 1.컨트롤러 Controller 컨트롤러(Controller)란 클라이언트의 요청을 처리 한 후 서버에서 처리된 결과를 반환해주는 역할을 한다. 클라이언트의 요청(Request)을 수신한다. 요청(Request)에 들어온 데이터 및 내용을 검증한다. 서버에서 수행된 결과를 클라이언트에게 반환(Response)한다. 2. 서비스 Service 서비스 계층(Service Layer)이란 비즈니스 로직 계층(Business logic layer)이라고도 불린다. 아키텍처의 가장 핵심적인 비즈니스 로직을 수행하고 실제 사용자(클라이언트)가 원하는 요구사항을 구현하는 계층이다. 프레젠테이션 계층(Presentation Layer)과 데이터 엑세스 계층(Data Access La..