-
[React] - React Props / State / Life CycleProgramming/React 2019. 4. 18. 14:13
// React의 개념 - React는 자바스크립트 라이브러리 중 하나로서 사용자 인터페이스를 제작하기 위해 사용된다 - 페이스북이 자사 서비스의 UI를 효율적으로 만들기 위하여 만든 라이브러리이다 - React를 사용하면 사용자와 상호작용 할 수 있는 UI를 쉽게 만들 수 있다 - Component(구성요소) 단위로 쪼개어 UI를 제작한다 // React - Props - 부모 Component가 자식 Component에게 전달해주는 값 - 자식 Component는 Props를 받아오기만 하고 수정을 할 수는 없다 한번 코드를 통해서 예제로 확인해보자 import React, { Component } from 'react'; import MyName from './MyName'; //App이라는 부모 ..
-
[HTTP] - GET & POST 의 차이Programming/HTTP 2019. 4. 12. 15:15
HTTP란 무엇인가? - Web상에서 Client와 Server간에 통신을 하기 위한(데이터를 주고받기 위한) 프로토콜 - Web에서 통신을 위한 규약, 약속이라고 할 수 있다 - Client가 Server에게 HTTP 프로토콜로 요청을 보내면 Server에서 Client에게 요청에 맞는 응답을 한다 GET과 POST란 무엇인가? - HTTP에서 사용되는 Method중 하나이다 GET과 POST의 차이점 - GET 1. Server에게 정보를 조회하기 위한 요청을 보내는 메소드 2. Server의 데이터를 가져오기만 할 뿐 Server의 데이터를 변경하지 않는다 3. URL 뒤 "?" 뒤로 입력한 값을 Server에게 요청한다 4. URL과 함께 쓰기 때문에 긴 데이터를 입력하기에는 한계가 있고 불편함이..
-
[Javascript] - N-Queens 구현하기Programming/Javascript 2019. 4. 12. 09:53
N-Queens란 무엇인가 - N * N의 크기의 체스판에 퀸을 N개 배치하는 문제이다 - N개의 퀸은 서로 공격할 수 없다 - 체스에서 퀸은 자신의 위치에서 상하좌우, 그리고 대각선 방향으로 공격을 할 수 있다 - 위의 문제를 구현하기 위해서는 백트렉킹 알고리즘을 사용해야한다 백트렉킹이란 무엇인가 - 특정 노드에서 유망성을 점검하고, 유망하지 않다면 그 노드의 부모 노드로 돌아가서 다른 노드에 대한 검색을 계속하는 절차 - 백트렉킹 알고리즘은 전수조사 방법중 하나인 깊이우선탐색으로 시작한다 그리고 각 노드에서 유망하지 않은 노드들은 탐색 하지 않고 유망한 노드에 대해서만 탐색을 진행한다 (가지치기, Pruning) - 탐색의 순서 1. 깊이 우선 탐색을 실행 2. 각 노드의 유망성 검사 3. 유망하다면..
-
[Javascript] - 프로토타입(prototype)Programming/Javascript 2019. 4. 8. 16:04
- Prototype(프로토타입) - Prototype(프로토타입)의 정의 - 객체지향언어의 특징인 Class라는 개념을 대체하는 Javascript의 문법 - Javascript에는 Class라는 개념이 없었지만 최근 ES6문법에 Class가 추가되었다 - 다른 객체지향언어(ex.Java, Python)의 상속이라는 개념을 Javascript에서는 Prototype(프로토타입)으로 구현할 수 있다 - Javascript가 프로토타입 기반 언어라고 불리는 이유는 Prototype문법이 있기 때문이다 Prototype(프로토타입)의 이해를 위한 예제 1 2 3 4 5 6 7 8 9 10 11 function Person() {}; Person.prototype.eyes = 2; Person.prototyp..
-
Data Structure - Hash Table(해시 테이블)Programming/Data Structure(자료 구조) 2019. 4. 7. 18:26
- Hash Table(해시 테이블) - Hash Table(해시 테이블)의 정의 - 해시함수를 사용하여 키를 해시값으로 매핑하고 이 해시값을 index(주소)로 삼아 데이터의 값(value)을 키(index)와 함께 저장하는 자료구조 - 데이터가 저장되는 곳을 버킷(buckey)이라고 부른다 - 해시 테이블의 기본 연산은 삽입, 삭제, 탐색이 있다 //다른 내용은 추후 추가 예정
-
Data Structure - Graph(그래프)Programming/Data Structure(자료 구조) 2019. 4. 7. 18:17
- Graph(그래프) - Graph(그래프)의 정의 - 노드(node)와 그 노드의 연결선인 엣지(edge)를 모아 놓은 자료 구조 - 연결되어 있는 객체간의 관계를 표현하기 위한 자료 구조 - 계층 관계인 트리와는 다르게 네트워크 관계이다 Graph(그래프)와 Tree(트리)의 차이 Graph(그래프)의 특징 - 네트워크 모델이다 - 2개 이상의 경로가 가능하다 - 트리처럼 root라는 개념이 없다 - 부모 - 자식 관계가 없다 Graph(그래프)의 탐색 방법 1. DFS(깊이 우선 탐색) - 그래프의 시작 정점에서 출발하여 먼저 시작 정점 v를 방문하였다고 표시한다. v에 인접한 정점들 중 아직 방문하지 않은 정점 u를 선택한다. - 만약 그러한 정점이 없다면 탐색은 종료한다 - 만약 아직 방문하지..
-
Data Structure - Tree / Binary Search TreeProgramming/Data Structure(자료 구조) 2019. 4. 7. 17:48
- Tree - Tree(트리)의 정의 트리는 노드로 이루어진 자료구조 최상위 노드는 루트(root) 노드라고 정의한다 노드와 노드를 연결하는 선을 edge(엣지 or 링크) 라고 정의한다 트리는 비선형 자료구조로 계층적인 관계를 가지고있다 (ex. Directory 구조) 트리는 그래프의 일종으로 사이클이 존재하지 않는 DAG(Directed Acyclic Graph), 즉 방향성이 있는 비순환 그래프의 일종이다 Tree(트리)의 특징 루트 노드는 0개 이상의 자식 노드를 갖는다 자식 노드 또한 0개 이상의 자식 노드를 갖는다 부모 노드가 없는 노드는 최상위 노드(root)이다 최상위 노드에서 임의의 노드로 가는 경로는 유일하다 (다른 임의의 노드 간의 경로도 유일하다) 자식 노드는 한개의 부모 노드만..
-
Data Structure - Stack / Queue / Linked List 정리Programming/Data Structure(자료 구조) 2019. 4. 4. 23:06
- Stack - Stack의 정의 - 스택(stack)은 제한적으로 접근할 수 있는 나열 구조이다. 그 접근 방법은 언제나 목록의 끝에서만 일어난다. 끝먼저내기 목록(Pushdown list)이라고도 한다.- 스택은 한 쪽 끝에서만 자료를 넣거나 뺄 수 있는 선형 구조(LIFO - Last In First Out)으로 되어 있다. 자료를 넣는 것을 '밀어넣는다' 하여 푸시(push)라고 하고 반대로 넣어둔 자료를 꺼내는 것을 팝(pop)이라고 하는데, 이때 꺼내지는 자료는 가장 최근에 보관한 자료부터 나오게 된다. 이처럼 나중에 넣은 값이 먼저 나오는 것을 LIFO 구조라고 한다. -> wiki pedia 출처 Stack의 대표 연산 - top(): 스택의 가장 윗 데이터를 넘겨준다.만약에 비었다면 이..