험난한 선발과정을 거치고 드디어 시작한 개발자로 향하는 여정 어렵사리 시작한 부트캠프를 100% 활용하기 위해 나만의 목표를 세웠다. 그래서 시작하는 첫번째 TIL, 학습내용의 복습과 느낀점을 써보도록 하자나의 짝과 역할을 분담해 하나의 과제를 함께 해결하는 방식나무에
자바스크립트는 왜 프로그래밍 언어 일까?당연히 프로그래밍 언어 아니에요? 라 할수도 있다. 그렇다면 HTML은 프로그래밍 언어인가?정답은 HTML은 프로그래밍 언어가 아니다. 왜냐면 컴퓨터 언어를 통해 컴퓨터가 반복 작업 혹은 yes or no를 판별 하게 할 수 없기
Javascript에서 문자열은 ' ' 혹은 " " 사이에 위치한다. 컴퓨터는 function을 함수를 동작 하라는 것인지 혹은 'function'이라는 단어를 뜻하는지 구분하지 못하기 때문에 문자열임을 알려주기 위해 구분이 필요하다.우리는 문자열을 특정 방법을 통해
HTML을 통해 웹의 구조를 짜고, CSS를 통해 시각적 요소를 추가하며 JS를 통해 상호작용 하는 웹페이지를 구성할 수 있다. 웹의 초기엔 문서로서의 역할만 강조하였기 때문에 HTML내에서 모든걸 해결하려 하였지만, 기술이 발전하며 각자의 특성을 살려 목적에 맞게 분
깜빡한 사항 템플릿 리터럴(Template Literals)변수에 할당된 값이 한가지일 경우 정보를 보관, 관리하는데에는 특별한 방법이 필요하지 않다. 하지만, 값이 백만개일 경우? 억단위의 데이터를 보관해야 한다면 각 데이터를 보관하는 백만, 억단위의 변수를 선언하는
배열과 객체를 배우면서 데이터에 따라 데이터 보관함의 크기가 유동적으로 변할 수 있음을 알았다. 기존에 다뤘던 String, Number, Boolean, undefined 등의 데이터 타입은 하나의 변수에 하나의 자료만 넣을수 있었다. 새로운 데이터를 넣으면 기존의
우리가 살아가는 세상은 추상화로 가득 차있다. 추상화는 다른 말로 요약, 우리는 살아가며 사용하는 여러 물건들이나 시스템의 작동 방식을 알아야만 사용할수 있는 것이 아니다. 오히려 이런 세부 디테일을 알아야 할수록 세상은 너무나도 복잡해 질것이다. 따라서 우리는 사용하
코딩을 하는 이유가 무엇일까? 일이라서? 무언가를 만들고자? 근원적인 이유는 문제를 해결하고자 라고 말할 수 있다. 결국 코딩은 도구 혹은 수단일뿐 문제에 대한 해결은 코딩을 하는 개발자의 논리에 달려 있다. 프로그래밍 언어는 자기 스스로 생각하지 않는다. 프로그래밍
재귀(再歸, Recursion)는 자신을 정의할 때 자기 자신을 재참조하는 방법을 뜻하며, 이를 프로그래밍에 적용한 재귀 호출(Recursive call)의 형태로 많이 사용된다.또는 구조는 동일하지만 더 작은 경우를 해결하여 문제 전체를 해결하는 방법을 재귀라 한다.
OOP 이전의 컴퓨터 프로그래밍 패러다임은 명령형 프로그래밍이 주류 였다. 명령형 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 바라 보았고 이를 순서에 맞추어 구동시키는 것으로 문제 해결에 접근 하였다. 하지만 컴퓨터 프로그래밍은 점점 사람들의 일상과 가까워 졌고
자바스크립트는 근본적으로 프로토타입 언어이다. 물론 발전을 거듭하여 멀티패러다임 언어로 거듭나긴 했지만, 세상에 처음 나왔을때는 그렇지 않았다. 시대가 흘러 프로그래밍 패러다임에서 객체 지향 프로그래밍이 대세가 되면서 자바스크립트에서도 객체 지향 프로그래밍을 할 필요성
스택은 쌓는다는 의미를 가지고 있는 단어다. 자료 구조 중 선형 구조의 한 종류이며 말 그대로 자료를 쌓는 구조이다. 스택의 특징중 하나는 후입선출 이라는 것, 나중에 들어온 것이 먼저 나간다. 배드민턴 셔틀콕 통이 좋은 예다. 셔틀콕 통의 뚜껑을 열면 제일 위에 있는
기존에 알던 그래프는 x축과 y축으로 정의된 공간에서 변수 값들의 모음이다. 자료 구조에서 그래프는 거미줄이다. 각 자료들이 기준을 가지고 연결되어 있는 것이 그래프다. 인터넷도 그래프의 한 종류라 할 수 있을 것이다. 각 사이트들이 하이퍼링크를 통해 서로 연결되어 있
Tree는 유향 비순환 그래프(DAG, Directed Acyclic Graph)의 일종이다. 마치 나무가 뿌리에서 시작해 줄기로 잎으로 뻗어 나가듯한 모습을 가지고 있다. 나무를 뒤집어 놓은 모습을 가지고 있으며, 나무는 위로 뻗어나가지만 Tree는 밑으로 파고 들어
this는 '이것'을 뜻하는 JS 키워드이다. 이건 무슨 뜬구름 잡는 소리야? MDN에 정의된 this는 다음과 같다.대부분의 경우 this의 값은 함수를 호출한 방법에 의해 결정됩니다.그렇다 this는 함수를 호출할때 값이 결정된다. 이걸 좀 더 알아들을수 있게 바꾼
화살표 함수는 function을 => 로 대체한 함수 표현이다.간결한 표현을 통해 가독성이 높아지고 코드도 축약되는 장점을 가지고 있다. 또한 좀더 시멘틱한 표현이라 볼 수 있다. 예제의 표현을 있는 그대로 해석하면 'foo 는 bar를 ${bar}!로 만드는 것(함수
동기적 처리는 입력과 출력 사이에 또 다른 일이 발생하지 않는 실행을 의미한다. 이는 하나의 task에서 입력과 처리 출력은 항상 한 묶음으로 여겨진다는 것을 말한다. 은행원이 한명만 근무중인 은행을 생각해 보면 한 고객의 업무를 처리 하기 전까지 다른 고객들은 자기
자바스크립트와 HTML, CSS를 통해 아름답게 디자인 되었으며 상호작용할 수 있는 웹페이지를 만들 수 있다. 하지만, 문서란 원래 정보를 저장하고 찾아보고 활용할 수 있어야 한다. 자바스크립트에 특정한 객체를 지정해 두고 정보를 저장할 수 있지만, 해당 웹페이지를 다
구조 분해 할당은 배열이나 객체의 속성을 해체하여(구조 분해) 그 값을 개별 변수에 담을 수 있게 하는(할당) JavaScript 표현식 입니다.구조 분해 할당을 보면 일반적인 자바스크립트 표현식과 좌변 우변이 반대로 되어 있는 모습을 하고 있다.자바스크립트 표현식에서
Why Redux? 자바스크립트 싱글 페이지 어플리케이의 복잡도가 증가하고 있습니다. 다뤄야 할 기능이 많고 보여줘야 할 UI가 늘어만 갑니다. 이 말은 다시 말하자면 관리해야할 '상태'가 무수히 많아 진다는 의미입니다. 기능이 추가되면 상태를 사용해야할 컴포넌트
The current context of execution. The context in which values and expressions are "visible" or can be referenced. If a variable or other expression is
API는 프로그램간 의사소통을 위한 인터페이스를 의미합니다. 보통 웹 구조는 클라이언트와 서버간의 통신을 필요로 하며 컴퓨터 간의 통신은 사람간의 통신에서 처럼 문맥을 통한 유추가 불가능하기 때문에 명확한 약속이 필요합니다.API는 실생활 에서도 예시를 쉽게 찾아볼 수