본문 바로가기

분류 전체보기188

Block Chain [typescript] #4 이전 실습에서는 인수에 타입 지정하는 방법은 (인수:type) 방식을 배웠는데, 오늘 inteface 키워드와 typescript에서 타입 지정하는 방법을 배웠다. interface 인수에 타입을 설정할 때, 위와 같이 (인수 : 인수의 타입) 방법으로 설정을 했다면, 오늘은 interface 키워드를 사용해 객체 안에 인수의 타입을 설정하는 방법을 배웠다. Student 인터페이스는 문자열 타입의 name 프로퍼티와 숫자타입의 age 프로퍼티 2개를 가진다는 것을 의미한다. [함수에 전달된 객체가 나열된 요구 조건을 충족하면, 허용] 타입 검사는 프로퍼티들의 순서를 요구하지 않고, 요구하는 프로퍼티들이 존재하는지와 프로퍼티들이 요구하는 타입을 가졌는지만을 확인 1. interface의 선택적 프로퍼티 .. 2021. 2. 26.
Block Chain [typescript] #3 TypeScript 실습 1. 인자값에 대한 에러 출력 자바스크립트는 함수를 선언할 때 인자를 3개를 넣고, 함수 실행시 매개변수를 2개만 넣어도 실행이 되었다. 하지만! 타입스크립트에서는 3개 인자가 모두 들어가지 않으면 오른쪽 사진과 같은 에러를 출력해준다. 만약 특정 인자가 필수가 아닌 옵셔널이라면 ? ?를 인자 뒤에 붙여주면 옵셔널이라고 인식을 하고 함수실행시 에러를 출력하지 않는다. 2. 타입 설정하기 타입스크립트에서는 인자에 타입을 설정할 수 있다. 설정하지 않은 상태라면 왼쪽과 같은 사진처럼 모든 인자가 any 라고 표기 되어있고, 오른쪽처럼 설정을 한다면 인자에 타입이 지정된 것을 확인할 수 있다. 만약 매개변수가 해당 타입을 하고 있지 않는다면 에러를 출력한다. 타입스크립트는 출력되는 결.. 2021. 2. 25.
깃헙 잔디가 심어지지 않을 때 스터디를 한 후 레포에 푸쉬를 하고 확인했는데 커밋기록이 없었다. 아무리 찾아봐도 contribution가 오르지 않았다. 첫번째 원인은 main이 아닌 추가한 브랜치에 푸쉬를 했을 때, 기록이 남지 않는 다는 것을 알 수 있었다. 머지를 시킨 후 확인해보니 커밋기록이 생겼다. 두번째는 git config --global user.email(name) [이메일] 을 통해 연결된 깃헙 계정을 확인해야 한다. 계정 이메일이 연결되어 있지 않아 발생하는 경우도 있다. 2021. 2. 25.
Block Chain [typescript] #2 TypeScript: 컴파일-타임 타입 검사자가 있는 JavaScript의 런타임 1. TypeScript 타입 시스템 TypeScript은 JavaScript 위에 레이어로서 자리잡고 있는데, JavaScript의 기능들을 제공하면서 그 위에 자체 레이어를 추가한다. JavaScript는 이미 string, number, object, undefined 같은 원시 타입을 가지고 있지만, 전체 코드베이스에 일관되게 할당되었는지는 미리 확인해 주지 않는다. TypeScript는 일관되게 변수의 타입을 지정할 수 있다. 자바스크립트의 유연하게 개발할 수 있는 환경은 런타임 환경에서 쉽게 에러가 발생할 수 있는 문제점이 있다. 타입스크립트는 이러한 자바스크립트에 강한 타입 시스템을 적용해 대부분의 에러를 컴파.. 2021. 2. 23.
Block Chain [typescript] #1 헷갈리게 만드는 Javascript 1. intro함수의 인자 값에 city가 없어도 출력이 되는 이유는? 첫번째 로직은 intro 함수에 필요한 인자 값을 3개를 요구해서, 3개를 모두 넣었을 때 모든 값이 정상적으로 출력되는 것을 볼 수 있다. 하지만 그 밑의 경우에는 똑같이 함수가 요구하는 인자 값은 3개지만, 함수를 실행시킬 때 city라는 인자를 넣지 않은 상태로 함수가 실행이 되었다. [자바스크립트는 변수 선언시 값을 할당하지 않아주면 기본값으로 undefined가 할당된다.] 2. area에 NaN이 출력된 이유는? 첫번째 코드를 보면 area 부분에 obj.heigth를 obj.heigth로 철자를 잘못 써줬기 때문이다. 3. 분명 저 셋은 모두 다른데 왜 true가 나올까? 동등 비교(=.. 2021. 2. 22.
Kakao project 100 19년에 어학학원을 다니면서 래리라는 친구가 하루 한 문장씩 100일 프로젝트 그룹원을 모집했고, 좋은 습관을 만들고 싶었던 나는 해당 프로젝트에 참여했다. 프로젝트를 들어가기 위해선 먼저 10만원의 보증금을 걸고, 기부할 곳을 선택한다. 보증금을 거는 이유는 습관을 만들기 위한 장치이다. 주말을 제외한 100일중 인증을 안하면 하루에 천원씩 차감이 된다. 차감되는 돈은 자신이 선택한 단체에 기부가 된다. 왼쪽처럼 인증을 하게 되면 그룹 게시판에 글이 올라간다. 그룹 게시판에는 다른 그룹원들이 올린 글을 볼 수 있고, 코멘트를 달 수 있게 되어있다. 서로 피드백을 주고 받을 수도 있고, 상대방의 글을 보고 느낀점도 적을 수 있다. 영어 공부할 때 너무 좋았다. 프로젝트를 인증할 때마다 인증률을 확인할 수.. 2021. 2. 22.
pull에 대한 에러발생 git --version / git version 2.24.3 (Apple Git-128) main 레포에는 readme 밖에 없는 상황. #1Setting branch에 있는 자료들을 pull을 하려고 했으나, 다음과 같은 에러가 계속 발생했다. stack overflow 검색해보니 나와 같은 에러를 겪는 사람이 있다. : ) 해당 키워드를 사용하니 해결되었다. 원인 : 신규로 만든 프로젝트와 기존에 있는 프로젝트는 같은 방향을 보고 있지 않아 서로 다른 프로젝트라고 인식 함. 독립적인 두 프로젝트를 병합하려면 --allow-unrelated-histories를 사용해야 함. github.com/git/git/blob/master/Documentation/RelNotes/2.9.0.txt#L58-L68.. 2021. 2. 21.
4. Big O Big O : 단계 수 계산 알고리즘의 효율성을 쉽게 분류하고 이해하기 위해서 사용된 표기법 Big O는 시간단위가 아닌 알고리즘에 필요한 단계 수만을 고려한다. "데이터가 증가할수록 단계 수는 어떻게 변하는가 ?" 라는 질문의 답 자료구조에 표기된 Big O는 최악의 시나리오를 바탕으로 표기됨 , 왜? 최악의 시나리오에서 알고리즘이 얼마나 비효율적인지 파악해야 최악을 대비함과 최선의 알고리즘을 선택할 수 있기 때문에 최악의 경우를 표기한다. ex) 보통 배열에서 검색을 할 때, 찾고 싶은 요소가 배열의 맨 앞에 있을 때, Big O는 constant이다. 하지만 배열의 검색은, 찾고 싶은 요소가 배열의 맨끝에 있다는 시나리오로 표기한다. Big O의 종류 1. O(1) 상수시간 [constant tim.. 2021. 2. 21.
0220 www.youtube.com/watch?v=V9AGvwPmnZU 1. 2016년부터 1일 1커밋 2. 업무시간을 제외한 모든 시간은 개인 개발공부 3. 사소한 것도 모두 기록하는 습관 4. 혼자보단 공유를 통한 피드백 5. 하나의 문제를 발견했을 때, 해결하기 위한 집요함 6. 누가봐도 이해할 수 있는 코드 2021. 2. 20.