목록전체 글 (108)
컴퓨터를 공부하고자 마음먹은지 N일차
About Geolocation API for weatherAPI 날씨앱을 만들다가 문득 이런생각이 들었다. 현재 나와있는 기본 날씨앱들은 위치를 기반으로 날씨 정보를 전달해준다. 하지만 내가 만들었던 날씨앱은 그저 위치를 검색해고, 검색한 위치를 기반으로 날씨를 찾아주는데 그치치않았다. 그래서 위치를 전달해주는 API는 없을까 보다가 ECMA스크립트는 그걸 가능하게 해준다는걸 깨달았다. Geolocation API활용법 사용자의 현위치는 navigator.geolocation 객체를 통해 알수있다. 놀랍지 않은가? 스크립트 언어가 내장객체를 통해 사용자의 위치도 알려준다. 위치를 받아오는지 확인하는 방법 1 2 3 navigator.geolocation.getCurrentPosition(function..
javascript로 직관적인 하노이 만들기 하노이의 탑은 재귀응용으로 많이 나온다. 가장중요한 뼈대는 세가지다. 1.아래 원반을 제외한 나머지 원반을 목표와 다른곳으로 2.아래 원반을 목표지점으로 3.목표와 다른곳에 있던 원반들을 다시 목표지점으로 진하게 표시된 부분이 재귀적으로 활용되어야 될 부분이다. function 하노이옮기기(블럭갯수, 시작지점, 목표지점, 목표와다른){} 이라는 함수가 있다 했을때, 1과 3이 재귀적으로 되는 이유는, 재귀적으로 목표지점이 곧 목표와 다른곳으로 바뀌고, 목표와 다른곳이 곧 목표지점으로 설정되며 반복되기 때문이다. 코드를 적으면서도 당연히 이해가 잘 가지않는다. 자바스크립트로 하노이를 표현하는 코드는 흘러넘친다. 웹브라우저로 좀더 직관적으로 봐보자! 고 한게 이 ..
컴퓨터를 공부하고자 마음먹은지 70일차 회고 컴퓨터, 특히 프로그래밍 언어를 배운다는것은 어릴적 나에게 그저 로망에 불과했다. 한번쯤은 배워보고 싶었고, 커맨드라인창에서 멋있게 작업하는 모습이 그저 선망의 대상일 뿐 한번도 도전해 봐야겠다 생각하지는 않았었다. 그저 프로그래밍에 대해 배우고 개발환경에 대해 배우는건, 아무나 할 수 있는게 아니라며 나름의 로망을 뭉게버리곤 했었다. 배우고자 마음먹은 계기 주변에서 배우는사람은 정말 단언할 수 있다. 내 주변에 정말 단 한명도 없다. 조금 찾아보면 있을 수 있지않나? 정말 없다.. 하지만 배우고 싶었던 계기는, 나도 무언가 창업을 해보고 싶었다. 카페나 꽃집 등등등 오랜 수험생활을 끝냈던 나로써는 다양한 욕구가 생겨났었다. 그런데 창업을 하려면 권리금, 각종..
About array.sort() method underbar라는 과제를 풀다가 마지막에 _.sortby라는 함수를 구현해야하는데, sort라는 메소드의 활용과, 정확한 용도에대한 학습이 부족하다고 느껴져서 이렇게 정리하며 복습하려 한다. 일반적인 형태 정리할배열.sort(비교함수) sort메소드 역시 함수를 인자로 갖기에, 헷갈리는 부분이 많다. 하나씩 짚고 넘어가보자. 비교함수가 없을경우 12const numArr = [1, 5000, 450, 9, 30000, 2500000, 6000, 70];numArr.sort();Colored by Color Scriptercs 이 근본없는 정리가 보이나? 비교함수가 없을경우 모든 요소를 스트링으로 바꿔서, 유니코드 순서대로 정렬한다 비교함수가 있을경우 비교함..
forEach 배열 메소드 다음주에 forEach를 활용해 주어진 과제를 해결해야 한다. 그치만 나는 한번도 forEach를 활용해 문제를 푼적이 없다(두둥) 그래서 예습겸 MDN문서를 보며 예제 몇개를 만들려고 한다. 그런데 놀랍도록 편한 forEach문..! 일반 for문과 비교해 활용방안을 알아보자. for문으로 인덱스값을 할당해줘서 순회하기 12345678const fruits = ['apple', 'kiwi', 'banana', 'pineapple', 'mango', 'grape']const fruitILike = []for (i = 0; i
외부함수를 이용해 다른 외부함수의 컨텍스트에 접근하고 싶을 때 이걸 궁금했던 이유는 클로저 함수를 활용해, 외부에 선언했던 변수들에 많이 접근을 해서 문제를 해결해왔다. 그런데 많은 함수를 만들다가 어느 순간, 외부함수가 다른 외부함수를 참조해야되는 상황이 온것이다..! 무수히 많은 클로저를 만들면서, 이걸 외부로 빼버리고 안쪽에서 호출해버리면 클로저마냥 외부를 참조하지 않을까? 생각했다 내가 생각했던 구조 1234567891011121314151617function getNumberAndAlarmMe (){ let inputNum = prompt('나 무슨숫자 생각하고 있게') const result = document.createElement('button') result.textContent = '..
About reduce method 리듀스 메소드는 페어와 함께 과제풀이중, 제대로 사용법을 익힌 메소드인데, 이것에 대한 정리가 부족하다고 느껴서, 한번 정리해보려고 한다. How to use reduce 리듀스는 배열을 대상으로 한 메소드다. 다른 함수 메소드와 비슷하게, 메소드 괄호 안에 함수를 갖는다. 12345const arr = [1, 2, 3, 4, 5]let reducePlate = arr.reduce(function(acc, cur){ return acc + cur;}, 0) Colored by Color Scriptercs 기본구조다. acc와 cur은 임의로 정할 수 있는 매개변수다. acc는 누적값 cur은 현재값 이다 반복문과 유사하지 않은가? reduce안 함수블록이 끝나는곳 쉼..
callback이 뭔디? 고차함수 문제를 풀면서, 여러 다른 개념은 이해를 하고 문제까지 풀었다. 각종 메소드를 활용도 하는데, 설명에서 계속 나오는 그놈의 callback의 의미를 도통 모르겠는거다. 사전적 의미로는 * 다른한수의 인자로 활용되는 함수 * 어떠한 루틴이나 행위를 완료시키는 외부함수 * 직역하면 다시 부른다 A callback function is a function passed into another function as an argument, which is then invoked inside the outer function to complete some kind of routine or action. mdn문서에서 찾아본 내용이다. 예제 위 사전적 의미들을 예시를 통해 알아보자. ..