분류 전체보기

https://school.programmers.co.kr/learn/courses/30/lessons/12939 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 풀이 그냥 보자마자 reduce가 생각이 났다. 하지만 다른 사람 풀이 보니까 아 이렇게 하면 더 쉬운데... 라는 생각이 들었다. 하지만 뭐 나한테는 이게 쉬웠고 바로생각나서 이렇게 했다. function solution(s) { return s.split(" ").reduce((acc,cur) =>{ acc[1] = acc[1] ?(+cur > acc[1] ? +cur : acc[1]) ..
call signatures call signatures는 우리가 작성한 함수에 마우스를 올려놓으면 나오는 것을 말한다. 이것은 우리가 함수를 어떻게 호출해야하는 지 알려준다. 즉 인자의 타입이랑 return의 타입을 알려주는 것이다. 자 그럼 우리만의 call signature를 어떻게 선언할 것인지 알아보자. type Add = (a:number, b:number) => number const add:Add = (a,b) => a+b 이렇게 해놓으면 우리가 처음 함수를 만들 때 처럼 일일히 type을 지정해줄 필요가 없다. 이런식으로 type Add만 만들고 함수 옆에 적어준뒤 마우스를 올리면 어떤 type인지 다 알려준다. overloading Function(=Method) Overloading은..
1) unknown TypeScript 3.0에서 unknown 타입이 도입이 되었다. unknown 타입은 단어의 뜻과 동일하게 '알 수 없다, 모른다'라는 의미를 가진다. unknown 타입은 any 타입과 동일하게 모든 값을 허용하지만, 할당된 값이 어떤 타입인지 모르기 때문에 함부로 프로퍼티나 연산을 할 수 없다. unknown 타입은 any와 마찬가지로 모든 타입의 값이 할당될 수 있다. let variable: unknown variable = true // OK (boolean) variable = 1 // OK (number) variable = 'string' // OK (string) variable = {} // OK (object) 하지만 조금 다른 것은 unknown 타입으로 선언..
1) readonly readonly는 말 그대로 읽기만 가능하게 해준다. readonly 속성을 타입에 추가할 수 있다. 우리가 name을 수정하려고 한다면 Typescript가 그것을 막을 것이다. 왜냐하면 typescript에게 이 속성은 readonly라고 말했기 때문이다. 이런식으로 새로운 name을 할당 할 수 없다고 알려준다. 이렇게 배열을 만들었을때 원본 배열을 변환시키는 push, unshift 등등의 함수는 사용할 수 없다 원본 배열을 바꾸지 않은 함수만 사용가능하다. 자바스크립트는 이런 readonly같은 기능이 없다. 2) tuple tuple은 JS에서는 지원하지 않는 데이터 타입이지만, TS에서는 배열 타입을 보다 특수한 형태로 사용할 수 있도록 지원하는 기능이다. tuple에 ..
Type part 1 Object 타입 설정하는 방법 let a : number[] = [1, 2]; let b : string[] = ["12"]; let c : boolean[] = [true]; 위와같이 array안에 type도 설정해 줄 수 있다. 그런데 Objcet는 조금 다르다. const player : objcet = { name:"kim" } player.name 이렇게 하면 오류가 뜬다. name이 없다고 그럼 어떻게 해야할까 ? const player : { name : string, age?: number } = { name : "kim" } if(player.age < 10) { console.log("hi") } 이렇게 만들면 된다. age에 물음표를 붙이면 선택적으로 data를..
https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr dfs/bfs문제를 처음 접하는데 하루종일 풀었다. 이건 혼자서 풀어볼려고 하는 것보다 dfs/bfs 개념을 충분히 숙지한 뒤 푸는 게 더 좋을 것 같다. 처음에 이상한 풀이봐서 이해가 가지 않았는데 너무 친절하게 설명해주는 블로그 만나서 이해가 되었다. 📒 풀이 function solution(numbers, target) { let answer = 0; dfs(0, 0); function df..
타입스크립트는 자바스크립트에 추가적인 구문을 추가하여 editor(ex. vscdoe) 와의 단단한 통합을 지원합니다. 따라서 이를 통해 editor에서 초기에 오류를 잡을 수 있습니다. 타입스크립트는 자바스크립트를 이해하고 타입 추론을 사용하여 추가 코드 없이도 훌륭한 도구를 제공합니다. const player = { age: 12 } player.age = false 타입스크립트에서 이런식으로 코드를 작성하면 바로 실행되기전에 player.age에 빨간 밑줄이 생긴다. 왜냐하면 타입스크립트는 타입 추론으로 age를 number로 인식하는데 갑자기 boolean을 할당하려고하니 타입이 다르다고 경고해주는 것이다. let a = "hello" a = "bye" a = 1 이와같이 첫 번째 a = "bye..
자바스크립트는 진짜 오류를 거의 만들지 않는다. 그냥 어떻게든 실행시켜줄려고 한다. 그래서 아래와 같은 코드도 작동이된다. [1, 2, 3, 4] + false // '1,2,3,4false' 이런식으로 array와 boolean을 그냥 string으로 만들어서 합쳐버린다. 엄청 이상한 일인데 자바스크립트는 아무렇지 않듯이 작동시켜준다. 다른 언어는 이를 허용하지 않는다. 허용되서는 안 되는 코드인데 허용이 된다니 .... 바로 이게 자바스크립트의 가장 큰 단점중에 하나이다. 이상적인 상태는 저렇게 했을때 자바스크립트가 저 부분이 잘못되었다고 알려주는 것이다. "왜 배열에 boolean을 더하려고 하나요?" 라고 말이다. 다른 경우도 보자 function divide(a, b) { rueturn a/b ..
· 정보
와 오늘은 진짜 지옥이었다. 먼저 아침에 도메인 이름을 처음 구입하기에 한참 고민을 해서 ryandia.com이라는 도메인 이름을 구입하였다. 바로 EC2에 고정 IP를 할당하고 aws route 53에서 레고드를 생성하여 프로젝트를 할당했는데 헉 갑자기 에러가 떴다. crbug/1173575, non-JS module files deprecated 이 에러가 터졌다. 이 에러에 잘못걸리면 진짜 고생이다. 이 에러의 해결법은 너무나도 많다. 즉 원인이 다양하다는 것이다. 그 수많은 원인 중에 어떤 원인때문에 저 에러가 떴는지 찾아야한다. 해결법은 1 인터넷 연결확인 2 크롬을 종류후 다시 켜기 (쿠키삭제) 3. 크롬 네트워크 창의 throttle 설정이 오프라인으로 되어 있는지 확인 4. node mod..
개발자성장기
'분류 전체보기' 카테고리의 글 목록 (21 Page)