목록Javascript TIL (28)
coding etude
정말 오랜만에 포스팅을 하는.. 쿨럭.. 정신줄 놓고 sprint 끝내는거에만 집중 해서인지.. 그동안 복습을 하나도 안했다는... 이러다가 진짜 아무것도 못하게 될까봐.. 다시 한번 정신을 붙잡고.. 쿨럭.... fs(file system) 이라는것이 처음 나왔다.. 여기서부터는 서버와 DB의 영역으로 들어서는 듯한데.. 당췌 이해하기가 어렵다.. 일단 개연성 없이 주어진 데이터를 머리속에 입력해 보자. 아무튼 이 fs를 정확하게 인지하고자 검색을 했다.(en.wikipedia.org/wiki/File_system) 해석하자면 컴퓨터에서 데이터를 저장하고 불러올 때 메모리에 그냥 저장만하면 구분없는 하나의 큰 데이터로 표시 될것이고 원하는 파일을 찾을 수 없게 되는데, 이러한 상황을 방지하기 위해 데이..
Linked List : node 들의 연결 구조로 head 와 tail을 가지고 있고 각 node는 다음 node의 값을 가지고 있는 구조이다. 1. Linked List의 장점과 단점 : Linked List는 데이터와 link 주소 를 가지고 있는 node 들의 연결 이라고 볼 수 있다. 실제로 node 들이 연결 되어 있는것이 아니라 단순히 데이터가 다음 데이터의 주소를 가지고 있는 것이다. 이 node들 데이터와 주소 두가지를 모두 가지고 있어야 하는 특이한 데이터 이다. @장점 - node들의 link주소를 이용하면 데이터의 삽입과 삭제가 간편하다. : 만약 리스트의 모든 위치를 파악하고 있다면 단순하게 node.next를 바꿔주는것 만드로 어느 위치에서든 데이터를 삽입 할 수 있다. @단점 ..
OOP (Object-Oriented Programming) : 사전적 의미 그대로 객체 지향 프로그래밍의 약자로 명확히 정의된 의미는 없다. 하지만, 객체 지향의 특성을 통하여 객체지향의 의미를 알 수 있다. 객체 지향 프로그래밍이란 실세계에 존재하는 모든 것(객체)을 가상의 프로그램의 세계에 구현하기 위해 객체의 특징적인 개념 또는 기능들을 추상화(abstraction)작업을 통하여 간결하게 만들어 내는 프로그래밍의 한 형식이라고 할 수 있다. (abstraction 을 통한 encapsulation을 실행하는것) *지향의 사전적 의미 : 그것(객체구현)을 실현하는 데 필요한 수단과 예상되는 결과의 관념을 이르는 말 객체지향 언어는 이전의 컴퓨터 친화적인 언어에 가까운 절차지향 프로그래밍과 다르게 인..
Stack : 한쪽으로만 자료를 넣고 뺄수 있는 Last in first out(LIFO) 형태의 자료구조 Stack 의 method pop : Stack의 제일 위(끝)에 자료를 제거한다. push(node) : Stack 의 제일 위(끝)에 node(자료)를 추가한다. peek : 가장 마지막의 자료를 반환 한다. isEmpty : Stack가 비어있을 때 true 를 반환. Stack 의 사용 예시 재귀의 사용 : 재귀 사용 시 임시데이터를 스텍에 넣어주고 backtrack(퇴각검색)을 하면서 스택의 자료를 다시 꺼내온다. 웹브라우져의 뒤로가기 실행취소 (Undo) 역순 문자역 만들기 후위표기 계산법 Stack의 구현 class Stack { constructor() { this.storage = ..
ESlint : linting 을 위해 개발된 유틸리티 Eslint 는 node.js 로 개발 되어서 npm으로 쉽게 설치가 가능하고 설치 후 기본적으로 제공되는 몇가지의 규칙이 제공된다. ESlint의 장점으로 오류를 찾아 내는 규칙을 동적으로 언제나 사용자가 직접적으로 작성 및 수정 할 수 있다는 것이다. 보통 프로그램을 코딩 할 때 오류를 찾기 위해서 따로 코딩을 해줘야 했지만 ESlint를 이용하면 그 수고를 조금은 줄여줄수 있다. ※ lint = 보풀이라는 뜻으로 linting 은 보풀을 제거 한다는 뜻으로 프로그래밍에서는 오류를 제거하다 라는 뜻을 갖는다. ★설치하기 - npm 으로 제작 vsCode 터미널에서 다음 명령어를 입력하면 쉽게 설치가 가능 하다 $ npm install eslint..
Arrow Funcion(화살함수) : ES6 에서 추가된 함수 기능으로 간결한 익명의 함수 이다.(lambda) @화살함수의 특징 - 혼자서는 사용 될 수 없다. : 간결한 익명 함수이고 메소드 형식으로 표현 할 수 없기 때문에 혼자서는 사용 할 수 없다. - 사용 시 parameter 값을 받아 사용하게 된다. // 일반함수 예제 arrow.map(function(parameter){조건식}); // 화살함수 예제 arrow.map((parameter) => { ... }); : 위의 예시처럼 더 간갈한 익명 함수를 선언 할 수 있게 되었다. - 화살 함수는 this, arguments, super(class 상속), new.target(생성자) 를 바인딩 하지 않고 오직 상위객체의 값만을 사용 할 ..
Function method : 함수 내장 메소드// Function.prototype.method @함수 실행 방법 - function(method) 호출 - new 생성자 호출 - 함수 메소드 .call()/.appl() 를 사용하여호출 1. call 메소드 : 생성 되어 있는 객체(함수 / 메소드)를 재할당 할때 사용하는 메소드로 인자로(this, argument) 로 주어진다 //예제1 function Product(name, price) { this.name = name; this.price = price; if (price < 0) { throw RangeError('Cannot create product ' + this.name + ' with a negative price'); } } fu..
git(형상관리도구 /버전 관리 시스템) 와 github(형상관리 도구 웹 호스팅 시스템) https://goddaehee.tistory.com/91 // git 에 관한 설명 (꼭 읽어보자) https://www.44bits.io/ko/keyword/github#%EA%B9%83%ED%97%88%EB%B8%8Cgithub%EB%9E%80 // github 설명 github의 자료 내려받기 : github의 원본 자료를 나의 github 로 복사 하고 다시 local(pc or laptop)로 다운 받기 ※ git Bash 를 먼저 다운 받아서 설치해야 한다. 1. github의 master 에서 나의 github(master) 로 fork 한다. 2. git Bash에서 다운받을 디렉토리로 이동해서 -..