전체 글 132

TypeScript 기본 타입

TypeScript 자바스크립트 변수 / 매개변수 / 리턴 값에 타입을 부여한 확장된 언어이다. - 타입스크립트 >= 자바스크립트 타스는 자스의 Superset이다. - 에러의 사전 방지와 IDE의 자동 완성 기능을 적극 활용하여 생산성이 높아진다. - 자바스크립트와는 다르게 브라우저에서 실행하기 위해 컴파일 과정을 거쳐야 한다. 기본 타입 string - 문자일 경우 사용한다. const city: string = "Seoul"; number - 수일 경우 사용한다. const age: number = 29; boolean - true / false const flag: boolean = false; null - null일 경우 사용한다. const n: null = null; undefined - u..

TIL 220518

TIL 220518 이번 주 목표 달성을 위해 타입스크립트 강의를 구매했다. 믿고 듣는 제로초님 강의 원래 계획대로라면 월요일부터 치고 나갔어야 했는데 핑계지만 오후에 하는 일이 너무 바빠 그럴 시간이 없었다. 주말에 채용 공고를 잠깐 봤는데 잠깐 봤음에도 불과하고 타입스크립트는 필수였다. 그래서 이번 주와 다음 주까지 공부하여 기존 자스 프로젝트를 타스로 다시 만들어 볼 예정이다.

기타/회고 2022.05.18

TIL 220516

TIL 220516 주말 동안 MySQL CRUD 구현 후 포스팅하였다. 완성 후 보니 MVC 패턴에 맞지 않는 거 같아 리팩토링 하는 중이다. 복잡한 프로젝트가 아니어서 별거 없다. 컨트롤러에 하드코딩되어 있는 쿼리문을 모델 폴더로 옮긴다. 모델 폴더에서 객체로 각 로직에 맞는 함수들을 내보내어 컨트롤러에서 매개변수를 넣어 사용한다. 이 과정에서 객체 리터럴과 함수 매개변수에 대해 확실하게 개념을 잡은 거 같다. 어제 우연히 유튜버 판교뚜벅초님의 영상을 시청하다 추천해 주신 책이 있어 냉큼 샀다. 전공자에게는 개념 재정립을 해주고 비전공자에게는 CS 전반적인 지식을 알려준다. 이 책 한 권으로 전공자들이 4년 동안 배운 지식들을 모두 알 수 없다. 하지만 읽은 내용을 바탕으로 추가로 어떤 부분을 자세하..

기타/회고 2022.05.16

TIL 220513

TIL 220513 오늘은 게시글 목록과 작성 기능을 구현했다. 게시글 테이블은 제목 내용 이미지 3가지 컬럼으로 구성돼있다. 이미지를 저장하는 과정에서 오랜만에 멀터를 사용했다. 하나의 이미지만 업로드할 수 있는 싱글로 구현했는데 내일 여러 개를 업로드할 수 있는 배열로 바꿀 예정이다. 그동안 CommonJS 모듈만 사용했었는데 이번 프로젝트는 ES 모듈을 쓰고 있다. 파일을 어떤 식으로 내보내고 받는지 이해하는 과정에서 시간이 제법 걸렸다. 데이터베이스 각 테이블 간에 관계에 대해서 ORM은 특정 메서드를 사용하여 관계를 정의해 줘야 하는데 MySQL은 그런 게 없이 자식 테이블이 어떤 부모 테이블의 어떤 키를 참조하고 있는지 외래키만 걸어주면 되는 거 같다. 어제까지만 하더라도 ORM보다 편한 점을..

기타/회고 2022.05.13

TIL 220512

TIL 220512 오늘은 회원가입/로그인 기능을 구현했다. 로그인 로직은 패스포트 라이브러리를 사용했으며 ORM으로 구현 한 경험이 어 크게 어렵진 않았다. 하지만 아직까지 단 하나라도 ORM보다 좋은 점을 못 느꼈다. 아직 초급 단계라 코드 작성 난이도는 모르겠지만 길이가 확실히 길어진 거 같다. 형님들은 복잡한 로직을 구현할 경우 로우 쿼리를 쓴다고 하셨는데 나도 복잡한 상황에 직면해 보고 싶다. 이 과정에서 트랜잭션과 조인을 직접 사용해 봤다. 역시 방대한 양의 기초 범위를 오랜 시간 공부하는 거보다 짧고 굵게 공부하고 작은 프로젝트라도 만들면서 직접 구글링하며 배우는 게 제일인 거 같다. 지금은 쿼리문을 컨트롤러에 작성하고 있지만 보통 MVC 중 M에 작성하는 거 같다. 요즘 하고 있는 스터디는..

기타/회고 2022.05.12

TIL 220511

TIL 220511 5일에 걸쳐 MySQL 강의를 완강했다. 사실 이틀이면 다 들을 수 있는 강의였는데 평일에 공부 시간도 줄고 배운 개념들을 그날 그날 포스팅하느라 조금 늦어졌다. 이 강의로 MySQL에 대해 깊은 개념은 아니지만 SELECT 문에 대한 응용과 테이블 설정 인덱스 트랜잭션 등 한 사이클을 빠르게 돌았다. 나머지는 배운 개념을 활용하여 더욱더 깊이 파고들어야 할 일만 남았다. 기존 Sequelize ORM으로 만든 개인 프로젝트가 있는데 이번 기회에 로우 쿼리로 다시 만들어볼 계획이다. 직접 만들면서 MySQL을 익히고 ORM의 장단점들을 파악할 수 있을 거 같다.

기타/회고 2022.05.11

TIL 220510

TIL 220510 오늘은 테이블 생성 시 필요한 기본 키와 각 테이블 간의 관계를 설정할 수 있는 외래 키를 배웠다. 외래 키는 ORM에 hasOne hasMany belongsToMany 같은 테이블의 간의 관계를 설정해 준다. 또 인덱스가 필요한 이유와 트랜잭션에 대한 개념을 배웠는데 기초만 보고 실제로 복잡하게 사용해 보지 않아서 모르겠지만 크게 어려운 개념은 아니었다. 현재 수강하고 있는 강의 진도가 거의 다 마무리되어간다. 마음 같아선 전부 다 듣고 싶지만 몸이 따라주지 않는다. 무리해서 들으면 집중도 안 될뿐더러 그냥 코딩쇼 보는 거나 마찬가지라고 생각한다. 쉴 시간에 쉬고 집중할 시간에 집중하자.

기타/회고 2022.05.10

TIL 220509

TIL 220509 지금은 저녁 시간이라 잠시 후면 화요일이지만 한 주의 시작 월요일이다. 요즘 듣는 MySQL 강의가 수업 시간이 짧아 하루에서 이틀이면 다 들을 수 있었는데 개인 사정으로 강의를 많이 듣지 않았다. 반성한다. 저번 주 수요일부터 개인 사정으로 당분간 오후 1~6시까지는 공부에 집중할 수가 없다. 한 달 정도면 마무리될 거 같지만 생각보다 타격이 큰 거 같다. 개인적으로 오전 시간보다 점심 먹고 바로 공부하는 오후 시간대가 집중이 제일 잘 된다. 공부 시간이 많이 줄었지만 길고 긴 개발자의 길 한 달 정도는 내 인생에 큰 영향을 끼치지 않는다라고 생각한다. 오늘은 말로만 듣던 서브 쿼리와 조인 기능에 대해 강의를 듣고 공부했다. ORM 인클루드를 많이 사용해 본 게 많은 도움이 되어 조..

기타/회고 2022.05.09

MySQL 자료형 옵션

MySQL 자료형 옵션 관계형 데이터베이스로 RDBMS의 한 종류이다. - 속도 안정성 확장 가능성을 추구한다. - 대용량 데이터 처리와 보안에도 뛰어나다. - 상업적으로 사용 시 비용이 발생하나 Oracle에 비해 저렴하고 기본적으로 무료이다. 자료형 정수 자료형 바이트 SIGNED UNSIGNED TINYINT 1 -128 ~ 127 0 ~ 255 SMALLINT 2 -32,768 ~ 32,767 0 ~ 65,535 MEDIUMINT 3 -8,388,608 ~ 8,388,607 0 ~ 16,777,215 INIT 4 -2,147,483,648 ~ 2,147,483,647 0 ~ 4,294,967,295 BIGINT 8 -2^63 ~ 2^63-1 0 ~ 2^64 - 1 고정 소수점 수 좁은 범위의 수 ..

데이터베이스 2022.05.08