전체 글

웹 프론트엔드 개발자를 꿈꾸고 있습니다 :)
Study/인공지능

[인공지능] 에이전트 요약

에이전트란? 특정 환경 내에 위치하여, 설계된 목적을 만족시키기 위하여, 자율적으로 유연하게 행동할 능력이 있는 컴퓨터 시스템 인공지능에서의 문제에 주체 지능형 에이전트란? 센서로부터 인지된 주변 환경을 인지하고 효과기를 통해 외부환경에 적절한 행동을 취할 수 있는 로봇/기계/소프트웨어 에이전트의 종류 Rational Agents Do right thing Simple Reflex Agents 당장의 정해진 규칙에 의해서 행동, 경험 활용 X Model based Reflex Agents 특정 상황에서 수행되는 행동의 영향력을 이해하고 환경을 모델링한다. Goal based Agents 행동을 실행하기 이전에 목적에 부합하는지 고려 Utility based Agents 과정을 중시할 수 있는, 효율성을 ..

Study/인공지능

[인공지능] 인공지능의 개요 요약

인공지능이란? - 사람처럼 생각하고 사람처럼 행동하는 기계를 만드는 연구 인공지능의 역사 제 1기: 태동기(1943 - 1956) Turing Test : 사고하는 기계 제안 → 기계가 인간과 얼마나 비슷하게 대화할 수 있는지를 기준으로 기계에 지능이 있는지를 판별하고자 하는 테스트 인간의 사고(학습) 과정을 최초로 연결망을 통한 모델화 성공 Hebbian Learning Theory - 인간의 두뇌가 학습하는 과정을 신경세포가 어떻게 받아들이는지 설명하는 이론 SNARC: 최초의 신경회로망 컴퓨터 제 2기: 초기 관심기(1952 - 1969) Perceptron (F.Rosenblatt, 1957): a single layer artificial neural network, a FeedForward n..

Project/Nomadcoder

[프로젝트] 영화 정보 웹사이트 React로 구현하기

링크 깃허브: https://github.com/crohasang/React-Practice GitHub - crohasang/React-Practice: 별점이 8.5점 이상인 영화들을 정렬해서 보여주는 사이트를 React를 활 별점이 8.5점 이상인 영화들을 정렬해서 보여주는 사이트를 React를 활용하여 구현하였습니다. - GitHub - crohasang/React-Practice: 별점이 8.5점 이상인 영화들을 정렬해서 보여주는 사이트를 React를 활용 github.com 사이트 접속: https://crohasang.github.io/React-Practice/ React App crohasang.github.io 만들게 된 계기와 과정 노마드코더의 'ReactJS로 영화 웹 사이트 만들기..

Life/일상

[일상] 한 달 간의 아침 수영 강습 후기

수영을 시작한 계기 지난 7월, 친구들과 같이 빠지를 가기로 약속했었다. 한 번도 빠지를 안 가봐서 인터넷으로 검색을 해보았는데, 조금만 삐끗해도 바로 호수에 빠져버리는 영상들을 보게 되었다. 비록 구명조끼를 입고 있어서 위험하지는 않았지만, 수영을 하지 못했던 내게는 저 상황이 너무 무서웠다. 그래서 조금이라도 물과 친숙해지면 덜 무섭지 않을까라는 생각이 들어서 수영 강습을 신청하였다. 처음에는 귀에 물이 들어가는 것조차 무서워서 한 달 동안 월, 화, 목, 금 아침 9시에 수영 강습을 받기로 했다. 내가 갔던 수영장은 강습 시작일이 따로 정해져있는 것이 아니라 매주마다 새로 참석하는 방식이라 빨리 강습을 시작할 수 있어서 좋았다. 맨 처음 수영장에 들어와서 일단 머리부터 물에 담그는 것부터 시작했는데..

Project

[프로젝트] 구글 크롬 확장 프로그램 모멘텀(Momentum) Javascript로 구현하기

링크 깃허브: https://github.com/crohasang/momentum_js GitHub - crohasang/momentum_js: 구글 크롬 확장 프로그램 모멘텀(Momentum)을 Javascript로 구현하였습니다. 구글 크롬 확장 프로그램 모멘텀(Momentum)을 Javascript로 구현하였습니다. Contribute to crohasang/momentum_js development by creating an account on GitHub. github.com 사이트 접속: https://crohasang.github.io/momentum_js/ Momentum crohasang.github.io 모멘텀(Momentum)이란 무엇인가? 모멘텀은 Chrome 웹스토어에서 설치가 가..

Baekjoon(C++)

[백준] 1927번: 최소 힙 C++로 풀어보기

https://www.acmicpc.net/problem/1927 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 생각 사실 이 문제의 목적은 직접 최소 힙을 구현하라는 것이지만, C++에서는 STL priority_queue가 있어서 최소 힙을 직접 구현하지 않고도 문제를 풀 수 있다. C++에서 최소 힙을 사용하려면 아래와 같은 방식으로 선언해야한다. priority_queue pq; 코드 #include using namespace std; priority_queue pq; // 최소..

Baekjoon(C++)

[백준] 7662번: 이중 우선순위 큐 C++로 풀어보기

https://www.acmicpc.net/problem/7662 7662번: 이중 우선순위 큐 입력 데이터는 표준입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터의 첫째 줄에는 Q에 적 www.acmicpc.net 생각 동일한 정수가 삽입될 수 있다. -> 중복이 허용된다. 최댓값과 최솟값을 삭제해야 한다. -> 정렬이 되있어야 한다. 그렇다면 STL multiset를 사용하면 편리하다. multiset을 사용하면 수를 중복해서 삽입할 수 있고, 자동으로 오름차순 정렬을 해준다. 그러므로 최솟값을 꺼내려면 iterator를 사용하여 set의 맨 왼쪽 부분(ms.begin() )을, 최댓값을 꺼내려면 se..

Baekjoon(C++)

[백준] 13414번: 수강신청 C++로 풀어보기

https://www.acmicpc.net/problem/13414 13414번: 수강신청 입력 데이터는 표준 입력을 사용한다. 입력은 1개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 과목의 수강 가능 인원 K(1 ≤ K ≤ 100,000)와 학생들이 버튼을 클릭한 순서를 기록한 대기목 www.acmicpc.net 생각 '처음에는 단순히 벡터에 값들 집어넣고, 중복한 값 넣으면 제거하고, 차례대로 출력하면 되는 거 아닌가?'라는 생각을 했었는데, 바로 시간초과가 떴다. 그래서 해시를 사용하는 unordered_set을 사용할까 고민했지만 unordered_set은 입력 순서를 보장해주지 않고 랜덤으로 출력된다는 문제를 가지고 있었다. 어떻게 하면 입력 순서를 보장할까 생각하던 중에, 해시를 사용..

Frontend/React

[React] useEffect()에 대해서

useEffect()는 코드의 실행 시점을 관리할 수 있는 함수이다. useEffect()는 두 개의 argument를 가지고 있는데, 첫 번째 argument는 우리가 실행하고 싶은 코드가, 두 번째 argument에는 [] 배열(dependency)이 있다. 두 번째 argument에 무엇이 들어가느냐에 따라 실행 결과가 달라지는데, 1. 빈 배열을 넣는 경우 -> 최초 1회 랜더링 될 때만 실행한다. 2. [a] -> a가 변경될 경우만 랜더링한다. 3. [a, b] -> a나 b중 하나가 값이 변경 될 때 랜더링한다. useEffect()를 사용하여 불필요한 렌더링과 작업을 방지할 수 있다. 예시 코드 const onChange = (event) => setKeyword(event.target.v..

Frontend/React

[React] Props에 대해서

React에서 Props는 부모 컴포넌트로부터 자식 컴포넌트로 데이터를 전달하는 데 사용되는 매커니즘이다. 요소를 만들 때마다 스타일들을 작성해주는 것은 너무 시간이 오래 걸린다. 그 대신 스타일들을 모두 갖는 단 한가지의 컴포넌트를 만들어서 사용할 수 있다. Props 코드 예시 내가 만들고 사용하는 모든 컴포넌트들은 function Btn() -> 괄호로 argument(인자)를 받는데, 이 때 argument의 이름은 마음대로 지어줄 수 있다. 리액트가 실제로 하는 작업은 함수(Btn())를 호출해서 우리가 넣어둔 모든 것들을 첫 번째 인자로 넣어주는 것이다. Btn 컴포넌트의 prop들에게 접근하려면 prop.text 등으로 적어준다. React.memo() props에 function도 보낼 수..

퀵차분
QC's Devlog