분류 전체보기
-
머신 러닝(Machine learning) 의 개념과 학습머신러닝 Machine Learning 2020. 5. 15. 00:13
머신러닝 Machine learning 머신 러닝이란 인공지능의 한 분야로, 컴퓨터가 데이터 학습을 통해 일종의 패턴을 만들고, 결과를 예측 할 수 있도록 알고리즘, 관련기술을 개발하는 분야이다. 머신러닝의 용도는 다음과 같다. 쌓여왔던 방대한 데이터 더미를 특정 용도에 맞게 활용 (ex. 데이터 마이닝, 의료데이터 분석) 인간, 프로그래머가 처리하기 힘든 복잡한 계산을 처리 (ex. 자율 주행 시 장애물 판별) 유저 요구사항에 적합한 기능, 데이터를 제공 (ex. 유저맞춤형 뉴스레터) 머신러닝의 방향성 현재 머신러닝 분야의 발전 수준은 빙산의 일각으로 보고 있으며 무궁무진한 발전을 기대할 수 있는 분야이다. 멀티미디어와 융합하여 데이터 학습 데이터 베이스기반의 학습(KDD, knowledge-disco..
-
함수형 프로그래밍의 개념 및 OOP와의 차이점컴퓨터공학 2020. 5. 14. 20:47
함수형 프로그래밍과 순수 함수 함수형 프로그래밍이란 *사이드이펙트가 없는 순수 함수와 동작의 결과를 강조하는 프로그래밍 패러다임이다. 순수함수는 동일한 인자를 넣었을 때 동일한 출력값을 반환하므로 안정성과 생산성을 높일 수 있다. OOP과 비교하여 함수의 동작부가 간결해 지기 때문에, 코드 이해도와 가독성에 큰 장점을 가지고있다. 여기서, *순수 함수(Pure Function)란, 동일한 입력값을 넣었을 때 항상 동일한 리턴값을 반환하며 외부에 영향을 받지 않는 함수이다. ex) 순수 함수가 아닌 경우 // 1.외부의 요인에 따라 리턴 값이 달라지는 경우 function func(a, b) { return a + b + c; // 외부의 요인(변수) c 에 따라 리턴값이 달라짐 } // 2. 인자를 직접..
-
객체 지향 프로그래밍 (OOP) 개념과 특성컴퓨터공학 2020. 5. 8. 12:01
객체 지향 (OOP) 이란? 객체 중심의 프로그래밍 패러다임 이다. 기존, 절차지향이 위에서부터 아래로 순서대로 읽어들이면서 차례대로 명령어가 수행되었다면, 객체지향의 경우 객체라고 불리우는 요소(집합) 의 구성으로 명령어를 수행 할 수 있다. 각 객체간의 관계를 통해 코드 호출, 수행순서를 유기적으로 조정 할 수 있어서 코드의 간결함, 신뢰성, *재사용에 큰 장점을 가지고 있다. 무엇이 객체인가? 현실세계에 존재하는 모든 것(thing)이 객체가 될 수 있다. 사람, 몬스터 등 실제로 눈에 보이는 형상도 객체로 만들 수 있고, 음식 주문 프로세스, 병원 진료받기 등의 관념이나 행동도 객체가 될 수 있다. 실 세계에 존재하는 것들을 프로그래밍 적으로 구현하기 위해 객체들의 공통적인 특성과 속성을 파악하고..
-
HTTP 프로토콜 및 요청과 응답웹 개발 Web Development 2020. 1. 27. 15:49
HTTP 프로토콜 ? HTTP 프로토콜이란, 브라우저가 서버(Sever)가 정보를 주고받기 위한 통신 규약이다. TCP/UDP 어플리케이션 계층 기반으로, 연결을 상시 유지하지 않는다. 요청-응답 두가지 타입 *패킷으로 텍스트(Plan Text, XML, Json 등...) 데이터를 주고받는다. *패킷 : 데이터의 묶음 단위로 한번에 전송할 데이터의 크기 HTTP 메세지(요청/응답) 구조 HTTP 요청, 응답은 다음과 같은 구조를 하고 있다. 요청 라인 헤더 blank line (빈 줄) 바디 HTTP 요청 메서드 데이터 요청의 종류에 따라서, 다음과 같은 메서드를 사용 한다. GET : 데이터 요청 및 조회 (헤더) POST : 신규 데이터 생성하거나 기존 데이터를 가공 (바디) PUT : 데이터 변경..
-
나의 Typescript 입문기 2 - tsc 와 tdconfig웹 개발 Web Development/Typescript 2020. 1. 25. 23:26
Typescript를 브라우저가 지원하지 않기 때문에, TypeScript 컴파일러로 .ts 파일을 .js 파일로 변환하는 과정을 거친다. tsc는 TypeScript 파일(.ts)을 .js 파일로 트랜스파일링(Transpiling)한다. config 파일을 작성하여, 컴파일 옵션을 설정할 수 있다. 타입스크립트 타입 및 컴파일 설정 .d.ts 기존에 정의 되지않은 모듈의 타입 정보를 별도로 선언할 수 있는 설정 문서이다. 타입스크립트 커뮤니티에서는 dom 관련 타입 등 자주 사용되는 타입들을 정의해 놓은 문서를 공유한다. (내가 정의하지 않은 타입에 대해서는 라이브러리 업데이트 시 명칭이 변경되거나 삭제 될 수 있기 때문에 사용 시 주의) tsconfig.json 타입스크립트 라이브러리 관련 설정을 하..
-
나의 Typescript 입문기 1 - 도입웹 개발 Web Development/Typescript 2020. 1. 22. 03:18
0. 타입스크립트 공부를 시작했던 이유 리액트 업무를 하다보면, 많은 튜토리얼과 Best Practice를 찾게 되고 자연스럽게 타입스크립트를 접할 기회가 많다. 호기심에 들춰 본 타입스크립트 강좌를 통해 많은 형변환, 타입 관련 오류에 대응하게 되었다. 자바스크립트를 사용하면서 겪기 어려운 오류를 통해 어설프게 알고 넘어갔던 자바스크립트 기초(element, type) 및 객체지향 기초(제네릭 등)에 대해 다시한번 살펴볼 기회를 가질 수 있었다. 때문에 타입스크립트를 열심히 공부해서, 실무에 도입해보고 싶었다. 1. 타입 스크립트(Typescript) 란 ? 타입스크립트란 기존 자바스크립트의 변수, 함수, 파라메터, 리턴값 에 '타입'을 명시한 슈퍼셋 언어이자 라이브러리(작성일 기준) 이다. 2. 왜 ..
-
깊은 복사 얕은 복사 (Deep and Shallow Copy)웹 개발 Web Development/Javascript 2020. 1. 21. 16:28
JavaScript에서 객체(Object)를 복사 할 수 있는 방법은 깊은 복사, 얕은 복사 두가지가 있다. 1. 깊은 복사 기본적으로 String , Boolean , Number 등 원시 타입(primitive type) 을 가지는 데이터는 복사 시 새로운 메모리공간을 할당하는 '깊은 복사' 를 한다. //깊은 복사 const oldString = 'hello coding' const newString = oldString oldString = 'love coding' //oldString 데이터 변경 console.log(oldString) // 'love coding' 출력 console.log(newString) // 'hello coding' 출력 해당 변수 oldString, newStrin..