본문 바로가기

분류 전체보기

(165)
선택 정렬 선택정렬(O(n^2)) 버블정렬과 마찬가지로 기본적인 정렬 0번째에 한바퀴를 돌아서 최소값을 찾아서 최소값을 0번째로 옮기고, 최소값이 있던 자리에 0번째 값을 옮긴다. 1번째에 1번째 최소값을 찾아서 1번째로 옮기고 1번째 최소값이 있던 자리에 1번째 값을 옮긴다. 이런식으로 반복 var selectionSort = function(arr) { let minIndex, temp, i, j; for (i = 0; i < arr.length - 1; i++) { minIndex = i; // 최소값 인덱스는 i로 놓고 반복 for (j = i + 1; j < arr.length; j++) { // i 다음 값부터 해서 반복 if (arr[j] < arr[minIndex]) { // 현재 위치에 담긴 값이 ..
캔버스 기초 HTML5에 추가된 그림을 그릴 수 있게 해주는 태그 자바로 Graphic2D 였나? 그래프 그리는걸 한적이 있는데 문법이 상당히 비슷하면서 자바스크립트라 더 간결하다. 주말에 공부하기 귀찮을때 캔버스 가지고 놀 생각이다. 다음에 볼 강의 https://www.youtube.com/watch?v=JFQOgt5DMBY&list=PLe9WXHRkq9p2Yl0z2zskv-FhP5sinISTc canvas 태그를 만들고 크기를 정해준다 각 기능을 실행할 버튼 태그 추가 네모 그리기 원 그리기 선 그리기 도형 그리기 캔버스로 그림을 그리는 것은 context 객체를 가져오는것부터 시작된다. fillRect, clearRect, strokeRect으로 간단히 사각형을 만들 수 있다. function drawRect..
버블 정렬과 버블정렬을 이용한 최대값, 최소값, 평균값 구하기 정렬의 기본 버블정렬(O(n^2)) 정렬 중에 가장 기본 정렬인 버블정렬이다. 앞뒤 숫자를 바꾸는 방식을 계속 반복하는 방식으로 구현된다. var arr = [100,40,30,70,10,90]; for (let i = 0; i arr[j+1]) { // 앞의 수가 더크면 const tmp = arr[j]; // 앞의 수를 임시값에 담음 arr[j] = arr[j+1]; // 앞에 뒤에껄 담음 arr[j+1] = tmp; // 뒤에 임시값을 담음 console...
[비동기 처리] Promise와 async/await 비동기의 콜백방식 처리 사실 실무에서는 setTimeout처리보다는 ajax등 비동기통신으로 오는 데이터를 가지고 처리하는데서 발생하는 문제지만 간단한 설명/분석을 위해서 setTimeout으로 예를 들었다. // 3초뒤에 2가 출력되는 것을 바라고 평범하게 코딩함 function doSomething() { let num=1; setTimeout(function(){ num = 2; },3000); console.log(num); // 결과는 바로 1 출력 } // callback 방식으로 처리 function callSomething(callback) { setTimeout(function(){ callback(2); },3000); } callSomething(function(data){ conso..
기술블로그 시작 기술향상에 도움이 되지 않는 단순 노가다 작업으로 야근/철야에 시달리며 일하다 보니 어느새 예전에 공부할 때 기록하던 습관들이 사라졌다. 스타트업으로 이직하면 기술블로그 운영하면서 기술을 갈고 닦아야지 라는 생각은 그저 생각에만 그쳤다. 이번에도 회사 뽑기에 실패하여 뭣좀 제대로 해보려던 중에 회사가 파산해서 공부&이직준비를 전념해야 하는 상황에 놓였다. 최근에 한 유명기업 서류가 붙어서 코딩테스트를 봤는데, 다섯시간정도 시험을 치루고나니 업계에서 어떤 지식을 원하는지, 따라서 어떤식으로 공부 해야겠다는 계획이 머릿속에 정리되었다. 지금 블로그의 카테고리가 내가 쉬는동안 공부하려고 생각한 과목들을 대학강의처럼 분류해놓은 것이다. 1.알고리즘(교필) 2.자바스크립트(전필) 3.리액트(전필) 4.리액트네이티..