전체 글
[JS] map 함수
공부는 하면 할수록 모르는 게 많은 것 같다.. 오늘은 자바스크립트의 map 함수에 대해서 공부한 내용을 정리해보려 한다. - map() 메서드는 배열 내의 모든 요소 각각에 대해 주어진 함수를 호출한 결과를 모아 새로운 배열을 반환한다. arr.map(callback(currentValue[, index[, array]])[, thisArg]) callback: 새로운 배열 요소를 생성하는 함수. 다음의 세가지 인수를 가진다. currentValue: 처리할 현재 요소 index(Optional): 처리할 현재 요소의 인덱스 array(Optional): map()을 호출한 배열 thisArg(Optional): Optionalcallback을 실행할 때 this로 사용되는 값 map은 callback..
[JS] 배열 정렬 sort() 함수
Javascript에는 배열의 요소들을 정렬해주는 sort() 함수가 존재한다. 이의 사용 방법을 정리해보려 한다. arrayobj.sort(sortFunction) arrayobj는 임의의 Array 개체, sortFunction은 요소 순서를 결정하는 데 사용되는 함수의 이름이다. 생략하고 arrayobj.sort()로만 쓰면 오름차순, ASCII 문자 순서로 정렬된다. sortFunction 인수에 함수를 지정하면 아래의 값 중 하나가 반환된다. 첫 번째 인수가 두 번째 인수보다 작을 경우: - 값 두 인수가 같을 경우: 0 첫 번째 인수가 두 번째 인수보다 클 경우: + 값 1. 문자 정렬 var fruit = ['orange', 'apple', 'banana']; fruit.sort(); // ..
React의 LifeCycle
LifeCycle method는 React component의 생성부터 소멸까지 일련의 이벤트들이라고 할 수 있다. 리액트의 모든 이벤트는 lifecycle을 지난다. 1. Mounting 2. Updating 3. Unmounting 1. Mounting - 컴포넌트가 생성될 때, 다음과 같은 순서대로 호출된다. constructor() static getDerivedStateFromProps() render() componentDidMount() constructor() - React component의 constructor()는 컴포넌트가 마운트되기 전에 호출된다. 보통 개체를 this.state에 할당하여 로컬 상태를 초기화하거나, 인스턴스에 이벤트 처리기 메소드를 바인딩할 때 사용한다. 그리고 ..
[알고리즘] 완전탐색(Brute-Force)
완전탐색이란 가능한 모든 경우의 수를 일일히 나열하면서 계산하는 방법이다. 이는 100%의 확률로 문제의 답을 찾아낼 수 있는 방법이다. 하지만 완전 탐색은 답으로 가능한 경우의 수가 많은 경우에는 이용하기가 어려우므로 이를 활용할 수 있는 문제인지 잘 생각해보고 쓰는 것이 좋다. 아래는 완전 탐색을 이용할 수 있는 예제들 정리 (풀어볼 것!) https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net https://www.acmicpc.net/problem/22..
자바스크립트로 난수 맞추는 게임 만들기
자바스크립트로 간단하게 컴퓨터가 생성시킨 난수를 사용자가 맞추는 게임을 만들어 보았다. 구현하면서 몰랐다가 새로 알게 된 내용들을 아래에 정리해보려 한다. (전체 코드는 맨 아래에!) 1. Range 바뀐 값을 실시간으로 보여주기 2. input안에 있는 값이 text인지 확인하기 3. 난수 발생시키기 4. 자식 노드 모두 없애기 1. Range 바뀐 값을 실시간으로 보여주기 range 값이 변경될 때마다 실시간으로 보여주는 것을 하고 싶었는데 addEventListener에서 값을 "change"로 하면 바뀌고 나서의 값만 떠서 그 방법을 찾아보았다. function init() { numberLabel.innerHTML = `Generate a number between 0 and ${numberRa..
[Linux] 하둡 start-all.sh Permission denied(publickey, passwd) 문제 해결
하둡을 설치하고 $HADOOP_HOME/sbin/start-all.sh 명령어로 하둡을 실행하려고 해도 자꾸 permission denied(publickey, passwd) 오류가 떠서 실행을 하지 못했다. 구글링 해서 시키는대로 다 해봐도 안되서 좌절하던 도중 해결 방법을 찾았다. ~/.ssh에 대한 권한 설정이 잘못되어있는 것이 문제였다. 전에 ssh 파일 생성할 때 문제가 생겨 권한을 chmod 777로 줬었는데 그게 문제였다. 일단 .ssh와 그 안에 authorized_keys까지 다 만들었다고 가정했을 때 chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys 명령어를 입력해주고 나서 하둡을 실행하니 잘 동작하는 것을 확인했다. 괜한 걸로 오래 고민한 것같아..
윈도우에서 SSH Key 생성하기(cmd,명령프롬프트 사용)
깃허브를 시작하면서 Clone을 해보려고 하는데 아래와 같은 메세지가 떠서 윈도우에서 ssh key 만드는 방법을 찾아보았다. 일단 C드라이브의 Users 폴더에서 ssh-keygen -t rsa -b 4096 -C "아이디@이메일.com" 을 입력하고 엔터를 세번 눌러준다. (비밀번호를 설정해줄 것이라면 Enter passphrase: 에 비밀번호를 입력해주면 된다.) 그러면 아래와 같은 화면이 나올 것이다. 그리고나서 C드라이브에 \Users\유저이름\.ssh 에 들어가보면 id_rsa.pub 파일이 생성된 것을 확인할 수 있는데, 파일을 그냥 눌러서 열었더니 열 수 없다는 메세지창이 떠서 그냥 cmd상에서 파일내용을 읽어오게 해줬다. 윈도우 명령프롬프트에서 파일 내용을 보려면 'type 파일이름' ..