분류 전체보기
-
React - 생활코딩(11) CRUD 기능 & Component 로딩HTTP 웹/React 2021. 5. 4. 22:11
■ CRUD create, read, update, delete의 관점에서 필요하기 때문에 create가 중요 ■ Delete 기능 > link 구성이후 reload기능 끄고 주소를 a tag를 사용하는 경우 - create, update 경우는 상관이 없는데, 만약 미리 방문하는 addon등을 사용자가 쓰는 경우가 있을 수 있으므로 delete 기능은 다음과 같이 input 형태로 기능을 추가 ■ 실제 mode 수정부분 component 추가 - Contoller component 작성 - mode에 따른 state 변경 Component 매써드 setState( ) 함수 이용 ■ Mode에 따른 영역 reloading 1) App.js에 JSX를 받아올 변수 선언 2) JSX로 mode에 맞게 com..
-
JS (ES6 & above) - 비동기란?자바스크립트 Study/자바스크립트 2021. 5. 3. 21:21
■ 왜 필요한가? - 비동기적 통신 with server - 어떤 작업의 완료 이후, 수행되어야 하는 작업을 stack에 예약하여 실행 ...등등 ■ 비동기 예시 - setTimeout > setTimeout은 browser API - stack에 function을 저장해놓고, 지정 시간(ms) 이후 실행 - callback으로 실행할 함수를 전달 console.log('1'); setTimeout(function(){ // setTimeout(() => { arraow도 가능 console.log('2'); }, 1000); // 1초 뒤 console.log('3'); >>> 1 3 2 ■ 콜백 함수의 종류 1) Synchronous callback - 동기적 실행 - 바로 함수를 실행한다는 의미 c..
-
이진 탐색 ( Binary Search )알고리즘/탐색 2021. 5. 2. 21:49
■ 이진 탐색 1) 정의 : 배열 전체의 중간값을 target 값과 비교 중간값이 target 값보다 크면 왼쪽 부분만 선택 왼쪽부분의 중간값을 다시 target 과 비교 ■ 코드 구현 > plain 절차지향 def binary_search(m_list, target): m_list.sort() left = 0 right = len(m_list)-1 while left target: right = mid - 1 else: left = mid + 1 return False target = 25 m_list = [30, 94, 27, 92, 21, 37, 25, 47, 25, 53, 98, 19, 32, 32, 7] print(binary_search(m_list, target)) > 재귀 def binar..
-
(7) 이진탐색트리자료구조/Tree 2021. 5. 2. 13:23
■ 이진 탐색트리 1) 정의 : > Linked list - O(1) 삽입 / 삭제 - O(N) 탐색 복잡도 > Binary Search - 자료구조가 sorting되어있는 상태에서 시행 - O(logN) 탐색 복잡도 ※ 위 두개의 장점을 합친 방식으로 자료구조를 짠 것이 '이진 탐색 트리' 2) 이진탐색 트리 특징 (a) 각 노드의 자식이 2개 이하 (b) 완전이진트리 구조는 아님!! - 각 노드의 왼쪽 자식은 부모보다 작고, 오른쪽 자식은 부모보다 같거나 큼 (c) 중복노드 많은 경우 - 다른 자료구조 사용하는 것이 효율적 (d) 평균시간복잡도 O(log(N)) 편향 트리인 경우 O(N)에 가까워 짐 → 트리가 왼쪽 / 오른쪽으로 쏠려있는 경우 3) 트리 변경의 3가지 case 자식이 없는 leaf ..
-
절차지향 vs 객체지향(객체지향 3대요소)CS 지식/Common 2021. 4. 30. 11:03
■ 절차지향 1) 정의 : > 순차적인 처리가 중요한 프로그래밍 방식 - 컴퓨터 작업 방식과 비슷 - 데이터 위주의 thinkig 2) 장단점 : > 장점 - 컴퓨터의 처리구조 방식과 비슷해 실행속도가 빠름 > 단점 - 유지보수 어려움 - 실행순 변화에 따른 동일 결과 보장이 어려움 - 디버깅이 어려움 ■ 객체지향 1) 정의 : > 실제 세계를 모델링하여 소프트웨어를 개발하는 방식. - "작동 방식"을 고려하여 전체를 개발하는 방법 - 데이터 + 절차를 한 동작의 덩어리로 묶어서 생각 2) 장단점 : > 장점 - 코드 재활용성 - 코딩이 절차지향보다 쉬움 - 디버깅 용이 > 단점 - 처리속도 느림 - 설계에 많은 시간 소요 3) 객체지향 3대 요소 1. 캡슐화 캡슐화란 관련된 데이터와 알고리즘(코드)이 ..
-
(2) 데이터베이스의 본질과 indexBackend/MYSQL 2021. 4. 28. 22:40
■ 데이터베이스의 본질 > 어떻게 입력하고 출력 하는가? - 가 본질이 된다 > CRUD 가 본질 1) 입력 - Create - Update - Delete 2) 출력 - Read ■ File vs Spread-sheet vs Database > File로 무언가를 관리하기에 index가 없기 때문에... 검색이 매우 어려움 > Spread-sheet로 table화하여 데이터 관리 가능 but 수많은 데이터에 대해서 작업하기 어려움 ( 데이터 숨김 기능, filtering 등이 있음 ) ■ index란? 추가 참조 : mangkyu.tistory.com/96 [Database] 인덱스(index)란? 1. 인덱스(Index)란? [ 인덱스(index)란? ] 인덱스란 추가적인 쓰기 작업과 저장 공간을 활..
-
MYSQL (1) - 공부할 소스 정리Backend/MYSQL 2021. 4. 28. 21:32
velog.io/@devmin/database-sql-basic-command 데이터베이스의 기본 의미와 MySQL 기본 명령어 사용법 데이터베이스의 기본 의미와 MySQL 기본 명령어 알아보기 velog.io opentutorials.org/course/3161 DATABASE2 - MySQL - 생활코딩 수업소개 무료이면서, 오픈소스이고, 3대 데이터베이스 중에 하나인 MySQL의 입문 수업입니다. 수업대상 정보기술의 심장인 데이터베이스가 어떻게 동작하는지 궁금하신 분 데이터를 보다 전 opentutorials.org opentutorials.org/course/195/1410 그룹핑 (group by) - 생활코딩 GROUP BY 특정 칼럼을 기준으로 데이터를 그룹핑함 문법 SELECT * FROM..
-
(6) Tree - Heap자료구조/Tree 2021. 4. 28. 21:15
■ Heap 1) 정의 : 연관된 데이터에서 최대값 / 최소값을 빠르게 찾기 위해 고안된 "완전 이진 트리" ※ 완전이진트리 : 노드 삽입시 최하단 왼쪽 노드부터 차례로 삽입하는 트리 2) 사용 이유 : - array( and python list)에서 배열 길이만큼 index searching시간 소요 O(N) - heap에 데이터를 넣으면 O(log N) 평균시간이 걸림 - 최대 최소를 빠르게 찾아야 하는 경우 유용 ( PS 문제에 최소/최대 이용하여 문제 빠르게 해결하는 경우 있었음 ) 3) 종류 (1) min heap - 정의 : (a) 각 노드의 값은 해당 노드의 자식 값보다 작음 (b) 완전 이진트리 형태를 가짐 - python 기본 heapq library 경우 min heap으로 구성 ■ ..
-
(5) Queue자료구조/기본 자료구조 2021. 4. 28. 16:03
■ Queue 1) 정의 : First In First Out - FIFO 구조 > 들어가는 곳과 자료가 나오는 부분이 다른 구조 > array( 파이썬에서는 deque library써서 입출력 속도 높여서 사용 ) > queue는 mmutable이라 access 가능하면 변경시 다른 곳에서 참조해도 변경사항이 반영 추가 참조 : ledgku.tistory.com/54 [Python 변수] mutable과 immutable의 차이 [Python 변수] mutable과 immutable의 차이 변수 변수는 객체를 가리킨다. $$ num = 10 $$ 컴퓨터 메모리에 10이라는 값이 저장되고 num은 10이 저장된 메모리의 위치를 가리킨다. 10이라는 정수형 객체를 num이 ledgku.tistory.com..
-
(4) Stack자료구조/기본 자료구조 2021. 4. 28. 15:32
■ Stack 1) 정의 : First In Last Out - FIFO 구조 > 한쪽 끝에서만 자료를 넣거나 뺄 수 있는 구조 > array로 이루어진 자료구조 사용 2) 대표 활용 : > 컴퓨터 내부 프로세스 , 함수 콜 스택 등에 사용 > PS 중에 동적계획법에 사용되는 경우도 있음 3) 코드 > 재귀함수 stack # 재귀 함수 # 재귀 깊이 설정 import sys sys.setrecursionlimit(10000) # -> 공간 미리 확보해둔 것임!, in the system # 재귀함수는 stack으로 process가 진행된다 def recursive(data): if data < 0: print ("ended") else: print(data) recursive(data - 1) print..