분류 전체보기
[ 2022년 5월 ] IT 세미나/컨퍼런스 일정
[ 2022년 5월 ] IT 세미나/컨퍼런스 일정
2022.04.252022년 5월 IT 세미나/컨퍼런스 일정 1. NAVER Search Colloquium’22 일시 : 5.3(화) 09:30-17:30 장소 : 온라인 주최/주관/후원 : Naver 비고 : 무료 (사전신청) NAVER SEARCH COLLOQUIUM '22 네이버는 검색 기술과 서비스를 통해 사용자 누구나 더 쉽고 편하게 네이버 서비스를 사용할 수 있도록 끊임없이 노력하고 있습니다. 네이버의 다양한 프로젝트와 노하우를 공유하는 자리에 기 searchcolloquium.naver.com 2. UNITY WAVE 2022 일시 : 5.9(월)-5.13(금) 13:00-17:50 장소 : 온라인 / 한국과학기술회관 주최/주관/후원 : Unity 비고 : 무료 (사전신청) Unity Square www.u..
[Firebase] Firebase 프로젝트 생성 - Firebase 시작하기
[Firebase] Firebase 프로젝트 생성 - Firebase 시작하기
2022.04.131. Firebase 란? Firebase는 모바일, 웹 환경에서 고품질의 서비스를 빠르게 개발할 수 있도록 도와주는 구글의 플랫폼 서비스입니다. Firebase 프로젝트는 Cloud 프로젝트이며 Firebase Console에서 새 Firebase 프로젝트를 만들면 내부적으로 Google Cloud 프로젝트가 생성됩니다. 2. Firebase 시작하기 Firebase 사이트에 이동하여 [시작하기] 를 클릭하면 Firebase Console로 이동합니다. 직접 Google Firebase Console로 이동해도 됩니다. 3. 프로젝트 추가 [프로젝트 추가]를 클릭하면 프로젝트 만드는 과정을 Step으로 제공하는 대화창이 활성화됩니다. 먼저 프로젝트명을 작성합니다. 프로젝트명은 문자, 숫자, 공백, -!..
[Python] 문자열에서 숫자만 추출하기
[Python] 문자열에서 숫자만 추출하기
2022.03.301. 모든 숫자들을 1개의 문자열로 추출 : re.sub() sub()는 string에서 pattern과 일치하는 문자들을 repl로 교체합니다. re.sub(pattern, repl, string) 다음과 같이 sub()를 사용하여 문자열에서 숫자가 아닌 문자를 모두 제거하고 숫자로 구성된 문자열을 만들 수 있습니다. import re string = 'aaa1234, ^&*2233pp' numbers = re.sub(r'[^0-9]', '', string) print(numbers) Output: 12342233 2.연속된 숫자들을 추출하여 List로 리턴 : re.findall() re.findall(pattern, string)은 string에서 pattern에 해당하는 내용들을 찾아서 리스트로 ..
CartoonGAN을 이용하여 일본 애니메이션 그림 만들기
CartoonGAN을 이용하여 일본 애니메이션 그림 만들기
2022.03.15GAN(Generative Adversarial Network) 이용하여 실제 사진을 일본 애니메이션의 감독 스타일로 변화시키는 CartoonGAN이라는 모델이 2018년에 소개 되었습니다. 앞에 U-GAT-IT 도 소개 드렸지만 GAN은 이미지를 스타일링 하는 영역에서 많이 활용되는 것 같습니다. 사전 훈련된 모델을 이용하여 테스트를 진행하려고 합니다. 먼저 사전 훈련된 모델 다운로드 후 진행하시기 바랍니다. 모델은 '센과 치히로 행방불명', '하울의 움직이는 성' 등으로 유명한 미야자키 하야오 감독의 애니메이션 스타일과 '시간을 달리는 소녀'의 호소다 마모루 감독의 스타일, '너의 이름은'의 신카이 마코토 감독의 스타일로 변경 할 수 있는 모델입니다. 추가로 Paprika 라는 일본 애니메이션 스타일..
Python으로 Slack App(Bot) 만들기 (4) - Slash Commands
Python으로 Slack App(Bot) 만들기 (4) - Slash Commands
2022.03.14이번에는 Slash Commands ( / ) 를 이용하여 요청과 응답을 하는 방법에 대해 알아보겠습니다. 상세한 내용은 Slack api 설명 페이지를 참고하시기 바랍니다. 1. slack api -> Slash Commands > [Create New Command] 2. Command, Request URL, Short Description, Usage Hint 등을 입력합니다. Request URL은 단순히 테스트를 위해서 http://localhost으로 입력해도 되지만 저는 ngrok으로 생성한 URL을 사용합니다. 그리고 기존에 Direct Message 처리부분과 구분하기 위해 URL+/slash/ 라고 입력했습니다. 3. [Save] 를 누르면 Slash Commands가 생성되었습니다...
Python으로 Slack App(Bot) 만들기 (3) - 챗봇
Python으로 Slack App(Bot) 만들기 (3) - 챗봇
2022.03.08이제 Slack App(Bot)에 질의하고 답을 받을 수 있도록 하겠습니다. 간단히 @태그로 Bot에 날짜와 요일을 요청하면 이벤트를 감지하여 답변을 하는 간단한 챗봇을 만들어 보도록 하겠습니다. 1. Event Subscriptions > subscribe to bot events 로 이동하여 [Add Bot User Event] 를 클릭합니다. 2. app_mention 권한을 추가합니다. 3. 이전 글에서 생성했던 flask_server.py 파일을 아래와 같이 수정합니다. 더보기 hello_there 함수는 Slack 과 통신이 잘 되는지 체크하여 event_handler를 호출합니다. event_handler에서는 even_type을 확인하여 질의에 대한 답을 Return 합니다. import ..
Python으로 Slack App(Bot) 만들기 (2) - 서버 구축(ngrok, Flask)
Python으로 Slack App(Bot) 만들기 (2) - 서버 구축(ngrok, Flask)
2022.03.08자동으로 응답이 가능한 Slack App(Bot)을 만들기 위해서는 Slack App(Bot)과 통신할 수 있는 서버가 필요합니다. 하지만 우리가 개발한 PC의 경우는 외부에서 접속가능한 상용 서버가 아니기때문에 도메인을 구입하고 서버를 호스팅 받아 연결해야 합니다. ngrok 과 Flask를 이용하여 외부에서도 접속 가능한 네트워크 환경을 구축하고 Slack App에서 호출 할 수 있도록 하겠습니다. 1. 먼저 ngrok 계정을 만들고 설치가 필요합니다. ngrok 설치 안내를 참고하시어 설치하시기 바랍니다. 2. Flask 설치가 필요합니다. Flask 설치 안내를 참고하시어 설치하시기 바랍니다. 3. 먼저 간단한 Flask Server를 python을 이용하여 만들도록 하겠습니다. 아래 코드를 작성..
Python으로 Slack App(Bot) 만들기 (1) - Slack App 생성
Python으로 Slack App(Bot) 만들기 (1) - Slack App 생성
2022.03.08Python과 Slack API를 이용하면 슬랙의 특정 채널에 글을 올리거나 응답을 할 수 있는 Bot을 만들 수 있습니다.그러기 위해서는 먼저, Slack API 페이지에서 App을 생성하고, App 관련 권한 설정 작업을 진행합니다. 궁극적인 목표는 내가 원하는 응답을 할 수 있는 Bot을 만드는 것이지만 이번 포스트에서는 Slack App을 생성하고 Python으로 특정 채널에 메세지를 보내는 예제까지 설명하도록 하겠습니다. Slack App 생성 1. Slack api 사이트로 이동하여 [Create an App] 버튼을 클릭합니다. 2. 활성화 된 팝업창에서 [From scratch]를 클릭합니다. 3. 앱 이름을 작성하고, 슬랙 작업 환경을 선택한 후에 [Create App]을 클릭합니다. 4..
Flask(플라스크) 설치/시작하기
Flask(플라스크) 설치/시작하기
2022.03.07Flask(플라스크)는 Django(장고)와 파이썬으로 웹 애플리케이션을 개발 할 때 가장 많이 사용하는 웹 프레임워크입니다. Flask는 많은 사람이 ‘마이크로 웹 프레임워크’라고 부릅니다. 여기서 ‘마이크로(micro)’는 ‘한 개의 파이썬 파일로 작성할 수 있다’ 또는 ‘기능이 부족하다’ 와 같은 의미가 아니라 프레임워크를 간결하게 유지(Simple)하고 확장(Extensible)할 수 있도록 만들었다는 뜻입니다. 다시말해 Flask는 최소한의 구성 요소와 요구 사항을 제공하고 필요에 따라 유연하게 확장 할 수 있도록 설계되어 있습니다. 예를 들어 Django는 프레임워크 자체에 폼(form)과 데이터베이스(database)를 처리하는 기능이 포함되어 있지만 Flask는 없습니다. 포함되어 있지 ..
[ 오류 해결 ] slacker.Error: invalid_auth
[ 오류 해결 ] slacker.Error: invalid_auth
2022.03.07Slack의 정책 업데이트로 인해 2021.2.24 이후로 새로 생성된 bot은 slacker 라이브러리를 이용 할 수 없습니다. slacker.Error: invalid_auth 라는 에러가 발생하죠. slack.chat.post_message 을 대신 할 함수를 만들어서 문제를 해결 하실 수 있습니다. import requests def post_message(token, channel, answer): response = requests.post("https://slack.com/api/chat.postMessage", headers={"Authorization": "Bearer "+token}, data={"channel": channel,"text": answer} ) # slack.chat.p..
ngrok으로 외부에서 접속가능한 로컬 네트워크 환경 구성하기
ngrok으로 외부에서 접속가능한 로컬 네트워크 환경 구성하기
2022.03.07ngrok 이란 ngrok 사이트에는 Secure tunnels to localhost이라고 설명되어 있습니다. 간단히 방화벽 넘어서 외부에서 로컬에 접속 가능하게 하는 터널 프로그램입니다. 만약 통신을 할 수 있는 프로그램을 개발했다면 서버의 역할이 필요한데 개발한 PC의 경우는 외부에서 접속가능한 상용 서버가 아니기때문에 도메인을 구입하고 서버를 호스팅 받아 연결해야 합니다. 말그대로 로컬서버죠. ngrok은 이러한 로컬서버를 간단히 외부에서 접속가능한 환경으로 만들 수 있게 도와줍니다. 물론 이런 프로그램이 ngrok뿐인 것은 아니지만, 위에서 설명한 상황에서 유용하게 쓸 수 있게 최적화되어 있어서 아주 쉽게 사용할 수 있다. ngrok은 무료 플랜과 유료 플랜이 있습니다. 무료 플랜인 경우 기본적..
[ 오류 해결 ] MacOS + ngrok + Flask Access to subdomain.ngrok.io was denied (403 Forbidden)
[ 오류 해결 ] MacOS + ngrok + Flask Access to subdomain.ngrok.io was denied (403 Forbidden)
2022.03.07Mac OS에서 Python + ngrok + Flask 를 이용하여 간단한 응답 서버를 만드려고 하는데 ngrok으로 생성한 URL을 slack api 에 Request URL에 입력하면 "Your URL didn't respond with the value of thechallenge parameter." 이란 메세지가 나옵니다. ngrok에서는 403 Forbidden 으로 나옵니다. 이유는 최근 Mac os (mojave, monterey..) 에서는 flask의 기본 포트(5000)를 사용하는 문제가 있습니다. 이 문제를 해결하려면 시스템 환경설정 > 공유로 이동하여 AirPlay 수신기 체크를 해제하시면 됩니다. 또는 flask run --port=5002를 사용하여 기본 플라스크 포트를 50..