목록분류 전체보기 (97)
Stack Building
1. 기계 학습 - 인간이 가지고 있는 학습 능력을 로봇이나 컴퓨터에서 실현하는 기술 - 인공지능 분야에서 수학적인 기초가 잘 잡혀있는 분야 2. 지도학습(Supervised Learning) - '지도': 학습에 사용되는 자료의 정답 - 정답이 있는 학습 데이터(Training Data)를 통해 학습을 수행하여 예측(또는 인지) 모형을 구성 따라서 정확한 답이 존재하는 양질의 데이터가 주어지는 것이 중요. - 학습된 모형을 정답이 있는 검증 데이터를 통해 성능을 향상시킴 ex. 강아지 사진 10장 학습, 고양이 사진 10장 학습 후 강아지/고양이 맞추기 ex. 면적, 화장실 갯수, 시세를 학습, 시세 예측 - 지도학습 수행의 필수요소 - 학습 데이터(Training Data) : 모델 학습에 필요한 자..
1. 프로그래밍 개념 - 컴퓨터 프로그램: 컴퓨터가 수행할 명령어(instruction)들을 적어 놓은 문서 (ex.작업지시서) - 소스 코드: 컴퓨터가 수행할 명령어가 저장된 파일 - 컴퓨터가 이해할 수 있는 프로그래밍 언어를 사용해야 함 - 변수: 프로그램에서 일시적으로 데이터를 저장하는 공간. 데이터가 입력되면 어딘가에 저장해야만 다음에 다시 사용할 수 있음. 1.1 변수 이름 부여하기 - 변수 이름은 변수/함수를 식별할 수 있게 하고, 언어마다 지정하는 방식에 조금씩 차이가 있음 (강제는 아님) - 의미 있는 이름을 사용 - 대문자 =/= 소문자 - 변수의 이름은 영문자, 숫자, underscore( _ )로 구성 - 첫 번째 문자는 반드시 알파벳 또는 underscore( _ ) - 변수의 이름..
1. 문제 특화적 지능 - 인공지능은 세부 영역에 대한 해법을 수학적인 모델로 정의하여 세부지능을 구현 - 요리(만), 바둑(만), 그림(만) 2. 프레임 문제 - 프레임: 구체적으로 처리 대상을 규정하거나, 지식의 형태나 변경 방법을 규정하는 등 인공지능의 행동을 제한된 세계에 가두는 것 - 프레임 문제: 인공지능이 주어진 문제(영역) 외에는 해결할 수 없음을 의미 3. 현실 문제를 해결하는 모형(또는 수식)을 스스로 판단하지 못함
"액션과 리듀서 사이의 중간자" 사용처 비동기 작업 (ex. 네트워크) 콜백 지옥 비동기적으로 해야할 일이 많아지면, 코드의 구조는 자연스레 깊어질 것이고 그러면 코드를 읽기 힘들어진다. 하는 일 액션이 디스패치(dispatch) 되어서 리듀서에서 이를 처리하기전에 사전에 지정된 작업들을 설정 PromiseMiddleware (사용 예제: 예제 코드 분석) (1) promise - ES6에서 비동기 처리를 다루기 위해 사용되는 객체 (2) redux-promise-middleware promise가 payload로 전달되면 요청이 시작, 성공, 실패 할 때 액션의 뒷부분에 _PENDING(시작), _FULFILLED(성공), _REJECTED(실패)를 반환한다. ※ 이 글은 velopert님 블로그의 이..
환경 설정 1. 파이썬과 필요한 라이브러리 requests beautifulsoup4 selenium 2. 크롬 드라이버 73버전 (https://sites.google.com/a/chromium.org/chromedriver/downloads) 목표 - 아고다(www.agoda.com)에서 특정 날짜, 특정 지역 숙소를 저렴한 비용 순으로 스크래핑 1. beautiful soup으로 스크래핑하기 1.1 검색창 접근하기 아고다 홈페이지 화면 중앙의 검색창을 소스코드에서 접근한다. 정상적으로 실행될 경우 인풋 태그가 출력되지만, 여기서는 출력되지 않는다. 를 해 보면, 인풋 태그는 아예 찾을 수 없을 것이다. 아고다가 리액트를 이용해 개발한 사이트이기 때문이다. 단순하게 request의 response에 ..
component 컴포넌트 - 자바스크립트 함수와 유사하지만, 실제로는 클래스 - 화면에 무엇을 그려주는가?를 의미 - props를 받아 리액트 요소를 반환함. - render() 필수 컴포넌트는 props와 state 두 가지의 인스턴스를 가진다 - props: 컴포넌트의 mounting, updating 프로세스 시점에 값이 할당될 뿐 컴포넌트 내부에서 값을 변경할 수 없음. 컴포넌트 간에 데이터를 주고받는 방법. - state: 상황에 따라 변경되어야 하는 값 라이프 사이클에 근거하여 작성 참고 자료 React의 기본, 컴포넌트를 알아보자
이 글을 공부 목적으로 일부 재가공 및 요약함 1. while - 루프를 지속할 조건만 있음, 증감식 및 초기식 없음 - 제어 변수 개념 없음 - 루프 내부에서 조건식 진위 여부 변경해야 - 선평가 후실행문 (while은 한 번도 실행되지 않을 수 있음.) - 반복 횟수가 가변적 - 언제 발생할지 모르는 조건에 대해 반복할 때 사용 2. do-while - while처럼 제어 변수 없고, 반복 횟수 가변적 - 선실행 후평가문 (최소한 한 번은 실행하게 됨.) : 조건을 점검하는 시기가 다르기 때문. while은 루프로 들어가기 전, do-while은 일단 명령 수행 후 루프 계속 여부 점검. 3. for - 제어 변수 사용 - break과 같은 특수 상황을 제외하면 루프 중간에서 탈출하는 경우 드묾 - ..
출처: 권동섭 교수님 github 검색창에 도시 이름을 영문으로 입력하면 해당 도시의 기온, 습도 등을 그래프로 보여주고, 그 아래에 평균치를 보여주며 도시 위치를 구글맵으로 보여주는 웹사이트다. 이번 프로젝트는 미세먼지 정보를 보여주는 웹사이트 프론트를 만드는 것이라서 유사한 기능을 하고 있는 예제를 분석해 보기로 했다. 아래 분석에서 node_modules 폴더는 단순한 모듈 모음이고, css는 꾸며주는 기능이므로 제외했다. public은 기본 리액트 템플릿과 똑같다. manifest.json은 웹이 안드로이드 홈에 올라갈 때 메타데이터로 쓰인다. src 안에는 actions, components, containers, reducers 폴더가 있다. actions는 액션, reducers는 리듀서를 ..
리덕스에 대해 자세히 기술한 이 페이지를 참고하여 공부 목적으로 요약 정리함 등장 배경 - 너무 많은 상태 관리 - 복잡한 코드 - 변화와 비동기(asynchronous, 위임, *)의 혼용 => 상태 변화가 일어나는 시점에 제약, 상태 변화 예측 가능하게 3가지 원칙 - 모든 state(상태)는 하나의 store 안에 하나의 객체 트리 구조로 저장 - state를 변화시키는 방법은 action 객체의 전달 외에 없다. (store.dispatch) - action에 의해 상태 트리가 어떻게 변화되는지 순수 함수로 작성해야 한다. 이 순수 함수가 바로 reducer다. 이전 state를 변경하는 것이 아니라 새로운 state 객체를 생성, 반환 action - "무언가 일어난다" 기술 (간단한 소식들이라..
공통점 - 리액트 컴포넌트에서 다루는 데이터 컴포넌트 (예제 출처: velopert 님 블로그 글) - props를 input으로 하고 UI가 어떻게 보여야 하는지 정의하는 React Element를 output으로 하는 함수 (*) - 받아온 props 값은 this. 키워드로 조회 가능 - 단순히 props를 받아 보여주기만 하는 컴포넌트는 간단하게 함수형(예제는 출처 참고)으로 작성 가능. 함수형에는 state와 LifeCycle이 빠져 있어 초기 마운트가 미세하게 빠르고 메모리를 덜 사용함. props - 부모컴포넌트에게서 (위로부터) 받는 값 - 컴포넌트 자체에서 defaultProps로 설정 가능 (빠트리거나 일부러 비우는 경우) 디폴트 선언 방법은 두가지가 있음 (위 예제 출처 게시글 참고)..