목록분류 전체보기 (115)
coding etude
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에서 다운받을 디렉토리로 이동해서 -..
고차 함수 (HOF : Higher order function) : 다른함수를 인자(argument)로 받거나 다른 함수를 리턴하는 함수. @first class citizen(1급 시민의 조건) - 변수에 할당(assignment) 할 수 있다. - 다른 함수에 인자(argument)로 전달 할 수 있다. - 다른 함수의 결과로 리턴 할 수 있다. ※javascript에서는 함수도 1급 객체이다. @함수가 1급객체인 것이 중요한 이유. - 함수를 전달 할 수 있다는 것은 인자로 조건에 맞는 함수를 넣어주면 작업이 쉽게 처리되기 때문이다. ※함수 선언식과 표현식의 차이점. // 호이스팅을 제외하면 실행의 차이는 없으나 함수 표현식은 함수의 할당과 실행 위치가 중요하기 때문에 코드의 위치가 어느정도 예측 ..
DOM(Document Object Model) : javascript 를 이용하여 html 에 접근해 html을 조종 할 수 있는 model 1. 부모와 자식이 존재하는 트리구조의 html - 부모와 자식의 관계를 이해하고 찾을 수 있어야 한다. ※트리구조(tree strucment)에서 하위요소를 가지고 있다면 부모, 상위 요소를 가지고 있다면 자식, 동일한 부모를 가지고 있다고 있다면 형제의 구조를 가지고 있다. - 자식(children) 찾기 : document.부모.children // 부모 element에 속해 있는 자식 element 를 모두 찾을 수 있다. - 부모(parent) 찾기 : 변수에 자식객체를 선언한 후 변수.closest(조건) 을 이용하여 조건에 해당하는 부모를 찾을 수 있..