전체 글
-
순환 신경망에 대해서 [RNN]인공지능 2022. 11. 16. 18:13
순환 신경망이란? 입력과 출력을 시퀀스 단위로 처리하는 시퀀스(Sequence) 모델이다. - 순차적 (sequence)인 데이터를 입력 받아 결과값을 도출하는데 사용하는 딥러닝 모델 - 대표적으로 자연어 처리에 많이 사용된다 - 이전 입력 값들(단어들)이 현재 입력 값(단어)의 출력 값(품사)에 영향을 줌 Google 이라는 단어를 봤을 때 자리에 따라서 명사와 동사로 품사가 바뀌어서 출력된다. 이 처럼 여러 문장을 통해서 공통점을 찾아 출력될 수 있도록 만든다. 제시된 방향성을 정해줘야지 정확한 데이터를 출력할 수 있다. RNN의 기본적인 순환구조 시계열 데이터의 길이에 관계없이 입력과 출력을 받아들일 수 있기에 유연하게 구조를 만들 수 있다는 것이 RNN의 장점이다. 뿐만 아니라 아래 그림처럼 RN..
-
그래프 탐색 알고리즘 (DFS와 BFS)알고리즘 2022. 10. 11. 15:00
DFS (Depth First Search) DFS는 너비우선 탐색이라고 불리며 그래프에서 가장 깊은 곳을 우선적으로 탐색하는 알고리즘이다. 스택 자료구조 혹은 재귀함수를 사용해서 구현한다. 그래프를 구성하는 방법도 두 가지가 있는데 인접 행렬과 인접 리스트로 나뉜다. 이들은 그래프를 코드상에서 표현하는 방식 중의 하나인데 나중에 시간 복잡도를 결정하는 중요한 핵심요소이기도 하다. 인접행렬 너비우선탐색 알고리즘의 그래프를 인접행렬로 나타내는 코드는 아래와 같다. graph = [[0, 1, 1, 1], [1, 0, 0, 1], [1, 0, 0, 1], [1, 1, 1, 0]] 인접행렬의 각 행과 열은 노드를 의미한다. 즉 0번째 노드와 1번째 노드가 연결되었다면, 0행 1열에 1을 입력하고, 입력되지 않..
-
ngrok으로 로컬 네트워크 외부와 공유하기기타 2022. 10. 4. 14:42
ngrok은 NAT와 방화벽 뒤에있는 사내 로컬 서버를 안전한 터널을 통해 공개해 인터넷에 노출할 수 있도록 지원해주는 서비스에요. 즉, ngrok서비스를 사용하면 포트 포워딩 같은 네트워크 환경설정 변경없이 로컬에 실행중인 서버를 외부에서 접근이 가능해요! 이제 ngrok 서비스를 사용해서 웹 애플리케이션을 외부서버에 호스팅 해볼게요. 1. 설치하기 우선 ngrok.exe 파일을 설치해야해요. ngrok 주소로 들어가면 ngrok 사이트가 나오는데 Sign up 버튼을 눌러 회원가입을 하면 다운로드 할 수있는 창으로 넘어가게 돼요. https://ngrok.com/ ngrok - Online in One Line Zero Trust Add SSO, Mutual TLS, IP Policy, and web..
-
env 파일기타 2022. 10. 4. 14:32
env 파일이란? vue-CLI3 기준으로 서버의 endpoint API 주소를 환경변수를 관리하는 방법이다. 왜 사용할까? 실제로 해커가 AWS 아마존 웹 서비스 계정을 해킹하고 그 서버안에 있는 모든 정보까지 유출하는 바람에 AWS 계정 보유자에게 3억원이 청구되는 사건이 있었어요. 자세한 이야기는 여기에 있습니다. https://hohoya33.tistory.com/226 해킹으로 3억원 청구된 개발자 요약 1. 서버 대여해주는 플랫폼인 aws계정 해킹당함 2. 해커가 가상서버를 열은 다음 비트코인 채굴 존나해서 3억원 청구됨 3. Aws측에서는 3억원 전부는 안되고 6400만원만 내라고 함.. 개발자 오열 hohoya33.tistory.com 이 처럼 웹, 앱 개발을 하다보면 port, DB관련 ..
-
[Python] 백준 1920번 - 수 찾기알고리즘 2022. 7. 13. 03:16
문제 N개의 정수 A[1]. A[2], …, A[N]이 주어져 있을 때, 이 안에 X라는 정수가 존재하는지 알아내는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들이 A안에 존재하는지 알아내면 된다. 모든 정수의 범위는 -231 보다 크거나 같고 231보다 작다. 출력 M개의 줄에 답을 출력한다. 존재하면 1을, 존재하지 않으면 0을 출력한다. 예제 입력 1 5 4 1 5 2 3 5 1 3 7 9 5 예제 출력 1 1 1 0 0 1 알고리즘 분류 자료 구조 이분 탐색 해시를 사용한 ..
-
Node.js & 파이어베이스 연동NUGU 2022. 7. 1. 11:42
NUGU와 자녀가 했던 대화내용이 모두 Firebase에 거쳐서 앱으로 전송되게 하고 싶을 때 이걸 어떻게 구현해야되는지 공부했던 내용을 블로그에 간단하게 적어보려고 한다. 사실 Firebase 속에 Realtime Database (실시간 데이터베이스)를 사용해서 통신을 하려고 했지만, 최근에 업데이트된 최신버전에서의 연동에 대한 정보가 부족하여 상대적으로 정보가 많은 FireStore를 사용하기로 했다. 최종 결과물 1. Node.js 설치 https://nodejs.org/en/ Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org Node.js는 V8이라는 자바스크립트 엔진과 비동기 작업..
-
3학년 1학기 기말고사 정리Python 2022. 6. 23. 21:50
파이썬 문법 중 들여쓰기에 대한 설명 가독성을 위해 들여쓰기 함. 코드블럭을 구성하기 위해 다른 프로그래밍 언어에서는 주로 {}를 사용하지만 파이썬은 들여쓰기를 사용함. 들여쓰기의 방법 --> 한칸, 두칸, 네칸, 탭 등 여러가지 방식이 있음. if, for, class, def 등을 작성하면서 나오는 : 다음 아래 줄은 반드시 들여쓰기를 해야됨 위반 시 'IndentationError' 출력. 파이썬의 장단점 문법이 간결함 C보다 처리 속도가 느리다 라이브러리가 풍부함 (matplotlib, opencv, numpy, pandas, tensorflow) 데이터분석, 머신러닝 등 여러분야에서 활용됨 다른언어나 라이브러리와 연동 가능하다 Global 함수 파이썬 함수 안에서 함수 바깥에 있는 변수의 값을 ..
-
NUGU Developers - Backend Proxy에 대해서NUGU 2022. 6. 22. 12:05
Backend Proxy Backend Proxy는 응답을 생성하기 위해 필요한 정보를 외부로부터 가져와야 하는 경우, REST API를 통해 호출하는 서버이다. Backend Proxy는 아래와 같은 경우에 사용한다. 외부 서버로부터 정보를 가져와야 하는 경우 (날씨 상태, 지하철 도착 예정시간 등) 특정 Entity에 대하여 서버의 판단이 필요할 때 (2월 31일의 날씨 알려줘, 일본의 뉴욕시간 알려줘) 서버에서 연산하여 결과를 제공할 수 있는 경우 (3+5가 뭔지 알려줘) Directive를 사용하여 디바이스의 기능을 동작시켜야 하는 경우 (오디오 재생, 멈춤) Backend Proxy 서버 구축 Rest API를 처리할 수 있는 웹 서버 (개발언어는 제한없음) Backend Proxy 개발에 대한..