분류 전체보기89 IM 6일차 초보개발자 TIL(Linked list & Hash table) DATA 구조에서 linked list 와 hash table에 대해서 배우는 날이었다, stack과 queue에 비해서는 조금 더 복잡한 형태의 DATA구조 였다. Linked list linked list(연결 리스트)는 각 노드(Node)가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식으로 데이터를 저장하는 DATA구조이다. 데이터를 담고 있는 노드들이 연결되어 있는데, 노드의 포인터가 다음이나 이전의 노드와의 연결을 담당하게 된다. 위 그림과 같이 노드는 자기자신을 가리키는 원소와 다음 노드를 가리키는 포인터로 구성되어 있다. 연속되는 노드들은 포인터로 연결되어 있으며, 마지막 항목은 Null을 가리킨다. 또한, 프로그램이 수행하는 동안 크기가 커지거나 작아질 수 있으며, 메모리 공간을 낭.. 2020. 5. 5. IM5일차 TIL (Stack & Queue) 오늘은 데이터 구조에 대해서 배우는 시간이었다. 이번 시간에 배운 것은 stack 과 queue 였다. stack은 LIFO: last in, first out 의 개념으로 정보가 위로 차곡차곡 쌓이며 쌓은 이후 가장 위에 쌓였던 정보가 우선적으로 나오는 형태이다. 접시를 쌓는 거나, 하노이의 탑의 구조를 생각하면 이해하기 쉽다. stack method가 존재 하며 해당 메소드는 다음과 같다. pop — Pulls (removes) the element out of the stack. The location is specified by the pointer push — Pushes (inserts) the element in the stack. The location is specified by the .. 2020. 5. 1. [Javascript] Scope Scope란 지역적인 뜻을 내포하고 있으며, 쉽게말해 어떤 블록({})이나 함수를 만들었을 때 그 범위에 해당되는 것을 의미하기도 한다. 우리가 변수를 선언할때 흔히 var / let / const 이 3가지를 쓰고 있으며, 이 3개는 각각 다른 특징을 가진다. 우선 첫번째로 var 에 대해서 설명하고자 한다. var는 해당 함수 레벨 scope에서 변수로서 정의되어 작동한다. 예를 들어 var abs = 10 function numb () { var abs = 20 console.log(abs) } console.log(abs) // 10 numb() // 20 함수내에서 정의된 값은 함수가 생성되면 그 값을 받고, 함수 밖에서 경우에는 함수 밖(전역)에서 정의한 값을 받는다. 하지만 블록 레벨 sco.. 2020. 5. 1. git workflow & conflict 해결 이전에 git 과 github 사용 법에 대해 배워왔다. 이번에는 pair programming을 위한 workflow를 배워보도록 하자. 그전에 우선 git workflow가 어떻게 이루어지는 지를 알아야 한다. git workflow github에서 fork를 하고 my repo에서 git clone을 하게 되면 local로 작업을 불러들일 수 있다. working directory에서 코딩작읍을 한 이후 git add를 통해 staging area에 저장되고 git commit을 하여 해당 작업에 대한 메세지를 넣어 local repo로 옮겨진다. 이상태에서 git push origin master를 입력하여 my repo로 넘어간다. 새로운 브랜치를 만들어 진행하기 위해서는 git checkout.. 2020. 4. 29. IM 3일차 초보개발자 TIL (Linting & Testing) 3일차 Pair programming 을 진행하면서 고딩과정에서 Liting 과 testing 과정이 필요하다. 우선 testing은 작성한 코드가 의도대로 작동하는지, 또는 결함이나 문제가 없는지 확인하는 과정이다. 이번 과정에서 testing을 위해 jest를 사용하는 방법을 배웠다. npm을 사용하는 경우 터미널에서 npm install --save-dev jest 입력하여 설치할 수 있다. 해당 폴더에서 package.json 파일에 { "scripts": { "test": "jest" } } 라고 적혀 있으면 설치가 완료되었다는 의미이다. 해당 js파일을 확인하고 test.js파일에 작성된 코딩 작성 요구사항을 확인한다. js파일을 수정하고 해당 레포지토리와 관련된 testing을 진행하기 위해.. 2020. 4. 29. IM 1일차 초보개발자 PRE course를 통과하고 드디어 Immersive 코스를 본격적으로 시작하는 하루였다. OT 를 하면서 Immersive 코스에서는 어떤 것을 배우고 , 무엇이 중요한지를 배울 수 있었다. 그 첫걸음으로 github에서 Pair programming을 어떻게 진행할 것인지에 대해 알려주었다. github에서 fork 한 이후 pair의 url주소를 연결하여 협업을 진행하는 방식이었다. 우선 터미널에서 나의 repo에서 local로 git clone 을 진행 한 이후 git remote add pair git remote -v 를 통해 페어의 url에 연결한다. 그리고 새로운 파일을 만들고 수정 후 git add git commit -m git push origin master 를 진행 하여 pair.. 2020. 4. 28. DOM DOM 이란 HTML 또는 XML document와 상호작용하고 표현하는 API이다 페이지의 구조, 컨텐츠 및 스타일을 구현할 수 있는 인터페이스이다. 다음은 자바스크립트에 의해 구현되는 DOM의 예시이다. let newdiv = document.querySelector('.id') let divElement = document.createElement('div') divElement.classList.add('newid'); divElement.textContent = document.getElementById('namebox').value; newdiv.appendChild(divElement); DOM의 요소를 선택하는 방법에 대해 하나하나씩 찾아보기로 하자. querySelector를 사용한 요소.. 2020. 4. 24. 5주차 초보개발자 TIL 4주간의 PRE course가 끝나고 개인 학습 시간을 가지는 한주 였다. 화요일 이때까지 배워왔던 중요한 부분에 대한 test를 진행하였다. 코플릿 문제를 비롯하여 알고리즘, array 메소드, DOM , 재귀 함수를 이용한 문제들이었다. 가장 어려웠던 문제는 array 메소드였다. 아직까지 map메소드와 reduce메소드에 대한 이해가 많이 부족하구나 하는 걸 느꼈다. 시험이 끝난 이후 다시 한번 map과 reduce 메소드에 대한 내용을 다시 한번 되짚어 보고, 더 부족한 점이 없는지 확인 하는 시간이 되었다. 5주차 한주동안 부족한 부분이 무엇인지 더 찾아보고 다음주 진행 되는 Immersive course에서 뒤 떨어지지 않도록 준비를 해야 겠다는 생각이 드는 주차였다. 2020. 4. 23. HTML / CSS HTML 하이퍼텍스트 마크업 언어 뜻하며 요소와 속성으로 이루어 져 있으며 꺽쇠 로 표현된다. 웹 브라우저를 표현하는 데 사용되며, 자바스크립트와 CSS 를 연동하여 사용한다. 즉 웹브라우저의 기본적인 뼈대라고 생각하면 된다. 마크업의 기본 구조는 다음과 같다. Hello World! 마크업 요소는 다음과 같다. 단락바꾸기 단락바꾸기 목록 순서없는 목록 만들기 줄바꾸기 테이블표 만들기 버튼만들기 그리고 마크업 속성으로 표현 하기 위해 = 을 붙이며 이 속성에는 id 와 class가 있다. id는 고유식별자로 하나만 존재하며, 스타일 시트를 통해 꾸밀 수 있다. class는 유사한 요소를 구현하기 위해 사용되며, 해당 class값을 갖는 모든 요소들을 해당 텍스트에 종속된다. HTML CSS 캐스케이팅 스.. 2020. 4. 23. 이전 1 ··· 5 6 7 8 9 10 다음