일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- first project
- code states
- Algorithm
- 코드 스테이츠
- html
- 서버 배포
- 리덕스 어려워
- 고객 세분화
- toy problem
- Data Structure
- Class
- SR
- Date Structure
- SR완료
- 마케팅 분석
- worflow
- RDS 오류
- JavaScript
- 코드스테이츠
- nvm
- 자바스크립트
- Node.js
- css
- reactjs code snippets
- 데이터리안
- 초보 개발자
- 맥북 git 에러
- Java Script
- Pre코스
- ERROR 2003
- Today
- Total
목록전체 글 (52)
Nathan's 개발 일지
keypoint inheritance prototype OOP (Object Orientered Programming) OOP는 객체 지향적 프로그래밍을 의미한다. 인간의 말과 비슷한 언어로 컴퓨터가 동작하게 만드는 프로그래밍 하는 것이다. 이러한 객체 지향적 프로그래밍은 고차원 언어라고 한다. 이와 반대인 절차 지향 언어는 순서를 중요하시는 프로그래밍이다. 인간의 말과 비슷한 고차원 언어와 반대로 저차원으로 컴퓨터의 말로 입력하여 동작을 처리할 때 객체 지향 언어보다 빠르게 처리된다. 절차 지향 언어는 빠르게 처리되지만 컴퓨터의 언어와 가까울수록 프로그래밍 하기는 어렵다. 현재에는 컴파일러의 발달로 객체 지향으로 프로그래밍을 해도 빠른 속도가 나오기 때문에 OOP를 한다. 객체지향적 프로그래밍은 사용하..
오늘 배운 것 arrow function / this 복습 function 키워드를 쓰면? 어떻게 실행되는지 따라 결정된다. arrow function을 쓰면 this값은 상관하지 않는다. (arrow function을 쓸거면 this를 쓰지 말기) this는 안쓰는 추세로 가고있으나, 기억해야할 것이 있다. 객체지향 프로그램에서는 쓰기때문에.. this에서 기억해야할 3가지 obj.foo() new foo() foo.call() / foo.apply() NPM (Node Package Manager) 프로그램이 어떻게 실행되는지 적혀있는 파일인, package.json 안에 어떤 모듈이 필요한지 적혀져 있다. 그 안에 필요한 모듈은 npm을 이용해 다운받으면 된다. npm install을 하면 node..
오늘 배운 것 화살표 함수 (arrow function) 함수의 표현식을 축약한 형태로 표시하는 함수인데, 여러모로 유용하게 쓰일 것 같다. 함수 안에 표현식이 두줄 이상일때는 return 값을 생략하는 것 보단 중괄호랑 return을 써주는게 보기 좋다. 보기만 편하게 하는 함수가 아니라 this를 binding하는 과정이 생략된다는 점을 기억하자. this 키워드 this는 함수가 호출될 때 결정이 된다. 호출되는 방식에 따라 this도 바뀐다는점이다. 호출되는 방법과 무관하게 하려면 bind로 묶어버리자. 직접 호출하는 코드를 살펴보면 this가 무엇을 가르키는지 파악할 수 있다는 점.( . 온점 옆에 있는 친구를 잘 보자. ex) child.getAge() ) 쉽게 이해하려면 궁예를 떠올리면 될 ..
오늘 배운 것 JavaScript 런타임과 node.js 런타임이란? 프로그래밍 언어가 구동되는 환경을 말합니다. 여기서 환경이란, 어떤 프로그래밍 언어가 동작할 수 있는 프로그램"입니다. 자바스크립트가 돌아가는 환경은 브라우저 밖에 없었으나, node.js라는 새로운 자바스크립트 런타임이 나왔습니다. 이 덕에 자바스크립트를 이용하여 웹페이지 뿐만 아니라 서버같은 다른 프로그램에서도 자바스크립트를 사용 가능하게 되었습니다. 요약하면, JavaScript 런타임은 자바스크립트가 돌아가는 환경, node.js는 자바스크립트 런타임입니다. NVM Node Version Manager를 말합니다. NVM은 다양한 node version를 설치하고 관리할 수 있는 프로그램입니다. Git Workflow 여러 개발..
소프트워를 개발할 때 개발자들은 동일한 소스코드를 함께 공유하고 다룹니다. 동일한 소스코드 위에서 각 개발자들은 다른 일을 진행하게 되는데요. 이와같이 여러 사람이 동일한 소스코드 기반으로 서로 다른 작업을 할 때는 서로 다른 버젼의 코드가 만들어 질 수 밖에 없습니다. 여러 개발자들이 동시에 다양한 작업을 할 수 있게 해주는 기능이 바로 브랜치(branch)입니다. 각자 독립적인 영역에서 소스코드를 변경할 수 있고 이렇게 분리된 영역에서 변경된 내용은 원래 버젼과 비교하여 새로운 버젼으로 만들 수 있습니다. 메인 브랜치 (main branch) master: 배포 가능한 상태만을 관리. 커밋할 때에는 태그를 사용하여 배포 번호를 기록. develop: 통합 브랜치의 역할을 하며, 평소에는 이 브랜치를 ..
자바스크립트를 웹페이지 뿐만 아니라 서버같은 환경에서도 사용 가능하도록하려면, node.js를 설치해야합니다. 물론, 구글에서 node.js홈페이지에 들어가서 최신 버젼과 LTS버젼을 설치 할 수 있지만, 개발을 하다보면 다양한 node.js버젼에 대응해야 할 상황이 올 수 있습니다. 이 상황은 NVM을 설치하여 해결 가능합니다. NVM을 설치하여 다양한 버젼의 node.js를 설치하고 관리하면 매번 다른 버젼을 설치하고 지울 필요가 없게됩니다. NVM Node Version Manager를 말합니다. NVM은 다양한 node version를 설치하고 관리할 수 있는 프로그램입니다. 맥북 환경에서 설치 방법 0. 맥북에서 터미널을 킨다. 1. 설치 $ sudo curl -o- https://raw.git..
Big - O? 알고리즘의 성능을 수학적으로 표현해주는 표기법 시간 복잡도와 공간 복잡도를 표현할 수 있음 데이터나 사용자의 증가율에 따른 알고리즘의 성능을 예측하는 것이 목표 시간 복잡도 = 얼마나 시간이 오래 걸리는지 공간 복잡도 = 얼마나 메모리는 차지하는지 Big - O 표기법의 성능 O(1) O(log n) O(n) O(n log n) O(n²) O(n³) O(2n) O(n!) 1~8까지 데이터의 증가에 따른 수행시간 비교하였습니다. 아래 내용은 해당 영상을 참고하여 정리하였습니다. O(1) // constant time 입력 데이터의 크기에 상관없이 언제나 일정한 시간이 걸리는 알고리즘을 표현할 때 사용합니다. n개의 데이터가 얼마나 큰지와 상관없이 언제나 일정한 속도로 결과를 반환합니다. 위..
ES6? ES란 ECMA스크립트의 줄임말이며, 표준화된 스크립트 프로그래밍 언어를 말합니다. 자바스크립트를 표준화하기 위해 만들어졌습니다. 기존의 자바스크립트의 부족한 점을 보완하고자 2015년 ECMAScpript(ES2015)인 ES6가 출판되었고, 기존보다 효율적으로 코드를 작성할 수 있게 되었습니다. 그중 가장 많이 쓰이는 ES6 문법들에 대해 정리해보았습니다. 아래 정리 내용은 자바스크립트 최신문법~ 내용을 보며 정리한 내용입니다. ~ES6 (2015) Shorthand property names Destructuring assingnment Spread Syntax Default parameters Ternary Operator Template Literals Shorthand property..