2-1. Data Structure - Linked-list, HashTable
·
BootCamp_Codestates/IM Tech Blog
Linked-list 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식으로 데이터를 저장하는 자료 구조이다. 각각의 노드는 데이터와 다음노드가 무엇인지 알려주는 주소(링크)를 가지고 있다. 링크를 통해서 데이터를 추가 / 삭제 / 탐색 가능 한데, 특히 추가에 용이하다. 사용예시: 플레이리스트, 이미지 뷰어 등 Singlylinkedlist, doublylinkedlist, Circularlinked lists 등이 있다. 저장은 차례대로지만 메모리들은 무조건적으로 연속적으로 위치하지는 않는다. 링크 메모리(링크 하나: 4byte)를 필요로 한다. 프로그램 수행시 크기가 동적으로 변화하기 때문에 메모리 공간 낭비가 적다. 링크드 리스트 VS 배열 링크드 리스트 메모리상에 원소들이 연속적으로..
2. Data Structure - Stack, Queue
·
BootCamp_Codestates/IM Tech Blog
helloworldjavascript.net/pages/282-data-structures.html 큐, 스택, 트리 · JavaScript로 만나는 세상 큐, 스택, 트리 어떤 데이터의 구체적인 구현 방식은 생략한 채, 데이터의 추상적 형태와 그 데이터를 다루는 방법만을 정해놓은 것을 가지고 ADT(Abstract Data Type) 혹은 추상 자료형이라고 합니다. helloworldjavascript.net 자료구조란? 데이터를 정리하고, 유용하게 활용할 수 있는지 정의해 놓은 것 Stack 먼저 들어간 게 나중에 나오는 First In Last Out or Last In First Out 구조 스택에 할당된 공간이 꽉 차면 더 이상 Push 할 수 없다. 아래 처럼 재귀 함수 실행 시 사용된다. 컴..
20201202 TIL
·
BootCamp_Codestates/TIL
오늘 한일 HA 리팩토링 with Linting 스프린트 진행 with pair 학습내용 및 성취 Modern JS 를 활용하여 HA 리팩토링 시도. Lint 공식 홈페이지를 활용하여 기능 구현 실습. 느낀점 modern JS 개념이 부족한 상태에서 HA 리팩토링을 하다보니 자유롭게 사용이 어려웠지만, Pair 와의 협업으로 진행이 가능했다. Pair와 더 적극적으로 소통하기 위해 노력했지만 역시 끝나고 나니 아쉽다. 요즘따라, 개발도 물론 중요하지만 커뮤니케이션 능력, 협업 능력도 그만큼 필수적이라는 생각이 든다. 내가 잘 알아야 더 적극적으로 협업할 수 있을 것 같다. 고맙게도, Pair 분이 내 성향을 객관적으로 알려줘 많은 도움이 됐다.
1-1. IM Prep - modern JavaScript
·
BootCamp_Codestates/IM Tech Blog
화살표 함수 this 키워드 call, apply 메소드 bind 메소드 화살표 함수 1. 함수 표현식을 축약할 수 있다. 1) function 제거하고 인수 다음에 => 추가 2) return 제거(본문에 return만 있는경우) or {} + return 조합 2. call, apply, bind 사용불가 var adder = { base : 1, addThruApply : function(a) { var f = v => v + this.base; var b = { base : 100 }; return f.apply(b, [a]); }, addThruCall: function(a) { var f = v => v + this.base; var c = { base : 100 }; return f.call..
1. IM Prep - Git workflow
·
BootCamp_Codestates/IM Tech Blog
git flow git clone 해 오면 자동으로 branch 이름은 master 가 됨. git remote -v: remote 등록된 주소가 나옴. remote repository 등록: git remote add + pair(이름) + githubUrl of pair git remote add + upstream(이름) + githubUrl of codestates git pull origin master(branch 이름) git pull pair master git pull upstream master merge : 하나로 합치기. CLI, vi editor esc => :q => 저장 안하고 탈출 esc => :wq => 저장하고 탈출 Git 충돌 해결 : 같은 레파지토리를 받아올 때 발생할..
런타임 node.js
·
BootCamp_Codestates/Pre Tech Blog
런타임: 런타임이란 프로그래밍 언어가 구동되는 환경(=프로그램) 자바스크립트 런타임: 브라우저, node.js NVM(Node Version Manager): 다양한 node version를 설치하고 관리할 수 있는 프로그램 NPM(Node Package Manager): 필요한 모듈을 다운로드할 수 있는, 모듈들이 모여있는 모듈 스토어 package.json: 프로그램을 실행시키기 위해 필요한 모듈들이 무엇인지, 프로그램을 실행시키는 방법, 프로그램을 테스트하는 방법 등이 명시 dependencies: 프로젝트가 돌아가기위해 반드시 필요한 모듈들. devDependencies: 프로젝트를 개발하는 환경에서 필요한 모듈들. 예를 들면 코드 모양을 잡아주는 lint나 테스팅 모듈. scripts: npm ..