분류 전체보기 91

JS 기초_03 (Variables & Identifiers)

Variables & Identifiers (변수와 식별자) 식별자 정의와 특징 식별자(identifier)는 변수를 구분할 수 있는 변수명을 말함 식별자는 반드시 문자, 달러($) 또는 밑줄(_)로 시작 대소문자를 구분하며, 클래스명 외에는 모두 소문자로 시작 예약어 사용 불가능 예시: for, if, case 등 식별자 작성 스타일 카멜 케이스(camelCase, lower-camel-case) 변수, 객체, 함수에 사용 파스칼 케이스(PascalCase, upper-camel-case) 클래스, 생성자에 사용 대문자 스네이크 케이스(SNAKE_CASE) 상수에 사용 상수 : 개발자의 의도와 상관없이 변경될 가능성이 없는 값 // 카멜 케이스 const userInfo = { name: 'Theo',..

Web/JavaScript 2021.05.09

JS 기초_02 (ECMAScript 6)

ECMAScript 6 ECMA? 정보 통신에 대한 표준을 제정하는 비영리 표준화 기구 ECMAScript는 ECMA에서 ECMA-262 규격에 따라 정의한 언어 ECMA-262 : 범용적인 목적의 프로그래밍 언어에 대한 명세 ECMAScript6는 ECMA에서 제안하는 6번째 표준 명세를 말함 참고로 ECMAScript6의 발표 연도에 따라 ECMAScript2015라고도 불림 세미콜론 자바스크립트는 세미콜론을 선택적으로 사용 가능 세미콜론이 없을 경우 ASI에 의해 자동으로 세미콜론이 삽입 ASI : 자동 세미콜론 삽입 규칙 (Automatic Semicolon Insertion) 자바스크립트의 문법, 개념적 측면에 집중하기 위해 세미콜론을 사용하지 않고 진행하고자 함 코딩 스타일 가이드 코딩 스타일..

Web/JavaScript 2021.05.09

JS 기초_01 (Event)

Event 네트워크 활동 혹은 사용자와의 상호작용 같은 사건의 발생을 알리기 위한 객체 이벤트는 마우스를 클릭하거나 키보드를 누르는 등 사용자 행동에 의해 발생할 수도 있고, 특정 메서드를 호출(HTMLElement.click())하여 프로그래밍적으로도 만들어낼 수 있음 이벤트 처리기 (Event-handlers) EventTarget.addEventListener() 해당 메서드를 통해 다양한 요소에서 이벤트를 붙일 수 있음 removeEventListener()를 통해 이벤트를 제거 가능 Event 기반 인터페이스 UIEvent ref : https://developer.mozilla.org/en-US/docs/Web/API/UIEvent AnimationEvent, ClipboardEvent, Dr..

Web/JavaScript 2021.05.09

JS 기초_00 (DOM)

DOM, BOM 브라우저에서 할 수 있는 일 DOM 조작 문서(HTML) 조작 BOM 조작 navigator, screen, location, frames, history, XHR JavaScript Core (ECMAScript) Data Structure(Object, Array), Conditional Expression, Iteration DOM (Document Object Model) HTML, XML 등과 같은 문서를 다루기 위한 언어 독립적인 문서 모델 인터페이스 문서를 구조화하고 구조화된 구성 요소를 하나의 객체로 취급하여 다루는 논리적 트리 모델 단순한 속성 접근, 메서드 활용 뿐만 아니라 프로그래밍 언어적 특성을 활용한 조작 가능 주요 객체 window : DOM을 표현하는 창, 가장..

Web/JavaScript 2021.05.09

DRF (Django REST Framework)

DRF (Django REST Framework) Web API 구축을 위한 강력한 toolkit을 제공 REST framework 개발에 필요한 다양한 기능을 제공 Serialization (직렬화) 데이터 구조나 객체 상태를 동일하거나 다른 컴퓨터 환경에 저장하고 나중에 재구성할 수 있는 포맷으로 변환하는 과정 예를 들어 DRF의 Serializer는 Django의 Queryset및 Model Instance와 같은 복잡한 데이터를, JSON, XML 등의 유형으로 쉽게 변환할 수 있는 Python 데이터 타입으로 만들어 줌 DRF의 Serializer는 Django의 Form 및 ModelForm 클래스와 매우 유사하게 작동 Django와의 비교 Django DRF Response HTML JSON..

Web/Django 2021.05.08

REST API

REST API API (Application Programming Interface) 프로그래밍 언어가 제공하는 기능을 수행할 수 있게 만든 인터페이스 어플리케이션과 프로그래밍으로 소통하는 방법 프로그래밍을 활용해서 할 수 있는 어떤 것 CLI, GUI는 각각 명령줄과 그래픽(아이콘)을 통해서 특정 기능을 수행하는 것이며, API는 프로그래밍을 통해 그 일을 수행할 수 있음 Web API 웹 어필리케이션 개발에서 다른 서비스에 요청을 보내고 응답을 받기 위해 정의된 명세 현재 웹 개발은 추가로 모든 것을 개발하지 않고 여러 Open API를 가져와서 활용하는 추세 예시) 구글 및 카카오 지도 API, 우편번호/도로명/지번 검색 API 등 API Server Client가 Server에 요청 Server..

Web/Django 2021.05.08

Dijkstra (최단 경로 다익스트라 알고리즘)

최단 경로 최단 경로 정의 간선의 가중치가 있는 그래프에서 두 정점 사이의 경로들 중에 간선의 가중치의 합이 최소인 경로 하나의 시작 정점에서 끝 정점까지의 최단 경로 다익스트라(dijkstra) 알고리즘 음의 가중치를 허용하지 않음 벨만-포드(Bellman-Ford) 알고리즘 음의 가중치 허용 모든 정점들에 대한 최단 경로 플로이드-워샬(Floyd-Warshall) 알고리즘 Dijkstra 알고리즘 시작 정점에서 거리가 최소인 정점을 선택해 나가면서 최단 경로를 구하는 방식 시작정점(s)에서 끝정점(t) 까지의 최단 경로에 정점 x가 존재 이때, 최단경로는 s에서 x까지의 최단 경로와 x에서 t까지의 최단경로 구성 탐욕 기법을 사용한 알고리즘으로 MST의 프림 알고리즘과 유사 알고리즘 # 다익스트라 알..

Algorithm 2021.05.05

MST (Minimum Spanning Tree, 최소신장트리)

최소신장트리 (MST) 그래프에서의 최소 비용 문제 모든 정점을 연결하는 간선들의 가중치의 합이 최소가 되는 트리 두 정점 사이의 최소 비용의 경로 찾기 신장 트리 n 개의 정점으로 이루어진 무향 그래프에서 n개의 정점과 n-1개의 간선으로 이루어진 트리 최소신장 트리 (Minimum Spanning Tree) 무향 가중치 그래프에서 신장 트리를 구성하는 간선들의 가중치의 합이 최소인 신장 트리 MST 표현 그래프 간선들의 배열 인접 리스트 부모 자식관계와 가중치에 대한 배열 (트리) Prim 알고리즘 하나의 정점에서 연결된 간선들 중에 하나씩 선택하면서 MST를 만들어가는 방식 임의 정점을 하나 선택해서 시작 선택한 정점과 인접하는 정점들 중의 최소 비용의 간선이 존재하는 정점을 선택 모든 정점이 선택..

Algorithm 2021.05.05

Disjoint-Sets (서로소 집합)

서로소 집합 (Disjoint-Sets) 서로소 또는 상호배타 집합들은 서로 중복 포함된 원소가 없는 집합들 집합에 속한 하나의 특정 멤버를 통해 각 집합을 구분 → 이를 대표원소(representative)라고 함 상호배타 집합을 표현하는 방법 연결 리스트 트리 상호배타 집합 연산 Make-Set(x) Find-Set(x) Union(x, y) 상호배타 집합 예시 Make-Set(x) Make-Set(y) Make-Set(a) Make-Set(b) Union(x, y) Union(a, b) Find-Set(y) → return x (representative) Find-Set(b) → return a (representative) Union(x, a) 상호배타 집합 표현 - 연결리스트 같은 집합의 원소..

Algorithm 2021.04.29

Graph (그래프)

그래프 아이템(사물 또는 추상적 개념)들과 이들 사이의 연결관계를 표현 정점(Vertex)의 집합과 이들을 연결하는 간선(Edge)들의 집합으로 구성된 자료 구조 v : 정점의 개수, e : 간선의 개수 v 개의 정점을 가지는 그래프는 최대 v(v-1)/2 간선이 가능 선형 자료구조나 트리 자료구조로 표현하기 어려운 N : N 관계를 가지는 원소들을 표현하기에 용이 그래프 유형 무향 그래프 (Undirected Graph) 유향 그래프 (Directed Graph) 가중치 그래프 (Weighted Graph) 사이클 없는 방향 그래프 (DAG, Directed Acyclic Graph) 완전 그래프 정점들에 대해 가능한 모든 간선들을 가진 그래프 부분 그래프 원래 그래프에서 일부의 정점이나 간선을 제외한..

Algorithm 2021.04.29