분류 전체보기(472)
-
mac Golang 설치하기(vsCode)
1. go 홈페이지에서 설치하기 자기에게 맞는 Os를 선택하여 설치해주면 된다. 2. vsCode에서 go 설정하기 (vsCode의 terminal로 실행시키면 굳이 필요업다.) vsCode에서 extension 표시에서 go를 설치해준다. 3. vsCode 추가파일 설치 vsCode에서 go를 사용하기 위해 아래의 module들이 필요한데 하나하나 설치하면 귀찮을 것이다. 그래서 임의의 go파일을 하나 만들어주면 아래와 같은 알림이 오는데 Install All을 누르면 위에 것들이 모두 설치됩니다. 4. hello World 실행 package main import "fmt" func main() { fmt.Printf("hello, world\n") } 4.1 터미널로 실행(vsCode에서 go를 설..
2020.03.17 -
백준 그래프 2206 벽 부수고 이동하기
https://www.acmicpc.net/problem/2206 2206번: 벽 부수고 이동하기 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 당신은 (1, 1)에서 (N, M)의 위치까지 이동하려 하는데, 이때 최단 경로로 이동하려 한다. 최단경로는 맵에서 가장 적은 개수의 칸을 지나는 경로를 말하는데, 이때 시작하는 칸과 끝나는 칸도 포함해서 센다. 만약에 이동하는 도중에 한 개의 벽을 부수고 이동하는 것이 좀 더 경로가 짧아진다면, 벽을 한 개 까지 부수고 이동 www.acmicpc.net 위 문제는 기존의 그래프 문제들과는 많이 다른 유형이었다. 큐나 배열에 해당 좌표뿐만 아니라 벽을 부술 수 있는지와 이전에 벽..
2020.03.17 -
백준 그래프 1697번 숨박꼭질
https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 문제 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 1초 후에 2*X의 위치로 이동하게 된다. 수빈이와 동생의 위치가 주어졌을 때, 수빈이가 동생을 찾을 수 있는 가장 빠른 시간이 몇 초 후인지 www.acmicpc.net 수빈이가 동생에게 도달하는 최소의 시간을 구하는 문제입니다. 해당 좌표까지 가는데 3가지 방법이 있는데 이는 x2, +1, -1이 있습니다..
2020.03.17 -
vanilla.js - redux
react를 통해 redux를 사용하면 action, reducer들을 설정해주었는데 vanilla.js라고 특별하게 다른 점은 없었다. 그러나 connect로 연결해주어 dispatch, state를 가져오는 것이 아닌 store의 특별한 함수를 통해서 가져온다. 이를 정리 해보겠다. 기존 웹팩 설정을 해주기 귀찮아서 아래의 명령어로 react app을 만들어 주었습니다. yarn add create react-app 폴더 이름 yarn add redux src안에 있는 기타 파일들을 삭제해주었습니다. 안쓸거니깐요! redux 위의 gif를 보면 redux가 있을때와 없을 때의 차이를 확인할 수 있다. 1) without Redux 리덕스가 없으면 스테이트가 변경시 하나하나 거쳐서 변경이 됩니다. 2)..
2020.03.13 -
typescript - this and arrow functions
this this는 함수를 호출할 때 생성된다. this는 파워풀하고 편리하지만 함수를 실행시키는데 비용이 발생한다. 또한 this는 특히 return을 해줄때나 파라미터로 넘겨줄 때 매우 혼란스럽고 악명높다. let deck = { suits: ["hearts", "spades", "clubs", "diamonds"], cards: Array(52), createCardPicker: function() { return function() { let pickedCard = Math.floor(Math.random() * 52); let pickedSuit = Math.floor(pickedCard / 13); return { suit: this.suits[pickedSuit], card: pickedCa..
2020.03.06 -
6. typescript - class
예전 부터 js에서는 함수 그리고 prototype-based를 사용한 상속으로 재사용가능한 컴포넌트들을 만들었습니다. 하지만 클래스가 기능을 상속하고 이러한 클래스로 부터 객체를 만드는 과정이 프로그래머가 편하게 객체지향으로 접근하기 어색합니다. ECMA-SCRIPT 6가 사용가능해지면서 클래스 기반의 접근이 가능해졌습니다. 타입스크립트에서 우리는 클래스를 사용할 수 있고 자바스크립트로 컴파일 하여 모든 주요 브라우저, 플랫폼에서 사용할 수 있습니다. class Greeter { greeting: string; constructor(message: string) { this.greeting = message; } greet() { return `Hello ${this.greeting}`; } } let..
2020.03.06