전체 글 46

도커 입문, 역할 이해하기

Docker? 내 컴퓨터에서 작업한 결과가 다른 컴퓨터에서도 똑같이 복제되어 동작할 수는 없다. 컴퓨터마다 각기 운영체제가 다르고 사양이 다르기때문이다. 워드나 파워포인트 문서를 다른 컴퓨터로 열었을 때 종종 글꼴이 다르게 나오는 경우가 있다. 이런 문제를 해결하기 위해서 폰트를 포함하여 저장하는 기능이 있다. 도커도 마찬가지이다. 우리가 개발하는 컴퓨터는 어떤 환경들이 있을까? 윈도우, 맥OS가 대부분일 것이다. 그러나 서버는 대부분 리눅스 계열의 운영체제를 가지고 있다. 윈도의 계열 서버도 많지만 임대료가 비싸다.. 운영체제가 다른 서버에서 우리 개발환경에서 만든 프로그램을 잘 실행하려면 환경 설정이 복잡할 수 밖에 없다. 이러한 문제를 해결하기 위해서 도커 기술이 나왔다. 가상환경과 같지 않냐라고 ..

Server/Docker 2021.12.06

iTerm 과 zsh

최근에 iTerm2를 설치했는데 기본 터미널보다 사용하는 데 좋다고 하여 설치했는데, 생각없이 설치하느라...뭐가 뭔지도 모르겠어서. 다시 정리해본다. iTerm2는 MacOS에서 기본 터미널을 대체할 수 있는 보조 터미널 프로그램이다. 다양한 플러그인, 테마를 통해서 개발할 때 도움이 되는 도구이다. iTerm2 설치 2가지 방법 첫째, iTerm2 홈페이지에서 다운로드한다. iterm2.com 둘째, Homebrew를 통한 설치 $ brew install Caskroom/cask/iterm2 테마 변경은 구글에 검색하면 잘 나와있다. 한글은 대부분 유니코드 설정에서 깨지는데, Unicode에서 None설정을 'NFC'로 변경한다. 폰트는 D2Coding으로 설정해두면 안 깨진다~! ZSH zsh는 '..

Mac OS 2021.12.05

MAVEN

용어만 익숙한 것들이라 다시 정리하면서 내가 남에게도 설명할 수 있을 정도로 익혀보자. MAVEN 프로젝트 전체적인 라이프 사이클을 관리하는 도구, 자바용 프로젝트를 빌드를 자동화 해주는 build tool이다. Conversion over Configuration CoC 개념으로 프로그램을 구성할 때 소스파일은 어떤 위치에 있어야하고 컴파일된 파일들은 어떤 위치에 있어야하는지 미리 정해 놓는 것이다. 메이븐..이라고 하면 환경 설정을 할 때, 복잡하고 까다롭게 ... 느껴지는데, 결론적으로는 배포를 편하게 해주기 위한 도구이다! 수동으로 라이브러리를 추가하는 번거로움과 규모가 큰 프로젝트를 진행할 때 더 복잡해지는 과정을 방지하기 위해서 라이브러리들을 편리하게 공유하고 다운받고자 나온 것이 메이븐이다...

Json Web Token

웹사이트에 수많은 사용자가 접속을 하는데 그 중 회원/비회원 여부에 따라 로그인 인증 결과에 따라 접근 권한을 부여를 할지 결정해서 응답을 해줘야한다. 특정 사이트에서 어떤 활동이든 사용자의 로그인 여부가 매번 확인해야된다. Q) 브라우저에 사용자 로그인 정보를 저장한다면? A) DB에 저장된 사용된 계정의 해시값 등을 꺼내온 정보가 사용자의 암호를 복잡한 알고리즘으로 계산한 값과 일치하는지 확인하는 과정이 필요하여 사이트에서 모든 활동에 대해 실행하기 굉장히 부담되는 작업이다. 시간+자원 손해/매번 아이디,패스워드 정보가 이동되면 보안상 취약 이러한 취약성을 보안하기 위해 전통적으로 사용된 '세션' 세션방식은 사용자가 로그인에 성공하면 서버는 '세션 표딱지'란 걸 출력한다.(a.k.a 입장표) 사용자 ..

딥러닝과 머신러닝 뭔 차이?

이름에서도 보여지다시피 딥러닝 = deep learning은 뭔가 심화되었다고 의미적으로도 유추해 볼 수 있다. 근데 둘다 머신인데 어떤 차이가 있는걸까? 우선 머신러닝에 대한 개념을 잠시 살펴보자. 머신러닝은 "구문 데이터를 분석하고 해당 데이터를 통해 학습한 후, 그 정보를 바탕으로 결정 내리기 위해 학습한 내용을 적용하는 [알고리즘]이다". 역시 알고리즘......IT에서 절대 빠져서는 안될 필수요소다. 머신러닝을 우리의 실생활에서 편리한 서비스로 제공해주는 대표적인 예로는 주문형 음악 스트링 서비스이다. 서비스에 맞춰서 청취자에게 추천할 새 노래나 아티스트를 결정하기 위해 머신 러닝 알고리즘은 청취자의 선호 사항을 음악적 취향이 비슷한 다른 청취자와 연관시킨다. 종종 간단히 AI라고 불리는 이 기..

RASA 챗봇

Rasa? Rasa는 자동화된 텍스트 및 음성 기반 대화를 위한 오픈 소스 기계 학습 프레임 워크이다. 기본적인 대화 기능은 물론 머신 러닝을 적용하거나 이용자의 대화의 의도를 파악하고 개체를 식별하는 등 다양한 형태의 챗봇을 제작할 수 있다. 다른 외부 시스템과 연동 기능을 가지고 있으며, Rasa X는 Rasa 오픈 소스위에 리뷰, 학습, 배포 등의 추가 기능을 제공한다. Rasa 어시스턴트 구조 1. NLU 데이터 사용자가 말하는 내용을 인식할 수 있도록 메세지를 제공한다. 메세지가 표현하는 아이디어 또는 목표에 따라 상황을 그룹화하는 것을 의도라고 한다. 위의 그림은 Example에 있는 예시 메세지가 포함된 Greeting인텐트이다. 2. 응답 사용자의 말을 이해하고 응답할 수 있는 데이터를 등..

About 'IT'/챗봇 2021.09.06