백엔드 도전기 12일차

홍성준·2022년 11월 16일
0

오늘 배운 내용

오늘도 역시 알고리즘 수업과 오후 수업인 일정에서 벗어나지 못한다. 이 일정이 앞으로 5주정도 더 남았다. 하지만 할 수 있다. 사람은 적응의 동물이고 이 일상 또한 익숙해질테니까

오전 알고리즘 수업은 콜라츠 추측 문제와 배열 내의 두 수를 곱해서 나오는 모든 경우의 수를 구하는 문제였다. 콜라츠 문제의 경우 문제만 잘 읽어본다면 크게 어려움 없이 답을 구할 수 있는 문제였다. 두 번째 문제는 사실 중복 값이 있을 경우 하나의 값만 남기고 출력이 되야 하는 조건이 있었다. 그래서 새롭게 배운 Set을 이용하면 배열 내의 중복 값을 없애는게 가능했다.

오후에는 의존성 주입을 통한 강한결합을 느슨한 결합으로 바꿔주기, 타입스크립트 설치 및 간단한 실습을 진행하였다. 의존성 주입이라는 단어를 이번 수업에서 처음 들어봤다. 단어만 보면 되게 복잡해 보이지만, 막상 해보니 간단했다. 그 후 여태껏 자바스크립트만 써오다가 이제 타입스크립트로 넘어가는 단계가 되었는데, 전에 배운 c와 비슷하게 변수와 함수 등에 타입을 써주는다는 점이 비슷했다. 앞으로 더 배우다보면 많은 차이점들이 있을 것이고, 적응할려면 시간이 좀 더 걸릴 것 같다.

TypeScript

타입스크립트는 자바스크립트를 기반으로 해서 여기서 기능을 좀 더 추가한 프로그래밍 언어이다. 요즘에 각광을 받고 있고, 개발자 구인 시 요구하는 기술스택 중 하나이다.

자바스크립트는 동적 언어이기 때문에 런타임을 하는 과정에서 오류를 찾아내지만, 타입스크립트는 정적언어라 코드 작성 단계에서 타입을 체크해 오류를 확인할 수 있고, 미리 타입을 결정하기 때문에 실행 속도가 빠르다는 장점이 있다.
하지만 매번 타입을 결정해야 하기 때문에 번거롭고, 코드량이 증가하며, 시간이 오래걸린다는 단점 또한 존재한다.

타입스크립트는 확장자로 ts를 사용하는데, 제대로 작성된 자바스크립트 코드라면 .js에서 .ts로 바꿔서 사용이 가능하다. 또한 객체지향프로그래밍도 지원하기 때문에 클래스, 인터페이스, 상속, 모듈등과 같은 것들을 제공한다. 이러한 특징을 제외하고도 높은 수준의 코드 탐색과 디버깅, 점진적 전환 가능등의 수많은 장점이 있기 때문에 많은 사람들이 선택하는 언어이다.

profile
안녕하세요

1개의 댓글

comment-user-thumbnail
2022년 11월 16일

훌륭합니다

답글 달기