IT/Python 2023. 2. 12.
chatgpt를 이용하여 유튜브 API 사용하여 동영상 목록 가져오기
최근 ChatGPT 가 화제다 회사에서도 개발한 리펙토링을 잘해줘서 자주 사용하고 있고 한달에 20달러 정도로 아래와 같이 Plus 플랜이 있다. 해서 어디까지 사용할수 있을지 해서 제목과 같은 질의문을 통해서 얻은 결과는 아래와 같다. chatgpt : 다음은 파이썬에서 유튜브 API를 사용하여 동영상 검색 결과를 가져오는 예제입니다. 이 코드는 Google API 클라이언트 라이브러리를 사용하므로 먼저 클라이언트 라이브러리를 설치해야합니다. 이 코드는 googleapiclient 라이브러리를 사용하여 YouTube API에 액세스하고 search 메서드를 사용하여 검색 결과를 검색합니다. 검색 결과에서는 각 동영상의 제목, ID, 설명 및 썸네일 URL을 추출하여 딕셔너리에 저장하고 결과를 리스트에 ..
IT/ELK 2022. 3. 8.
Java를 이용한 Elasticsearch aggregation (어그리게이션) 사용 및 정리
최근 엘라스틱서치 8버전이 공개되었습니다. 공개된 ML모델적용을 손쉽게 할 수 있다고 합니다. 이번 포스팅에서는 자바, 특히 스프링 부트를 이용한 Elasticsearch (엘라스틱서치) aggregation (어그리게이션) 사용방법과 관련 내용에 대해서 소개드리려고 합니다. 우선 어그리게이션이 무엇인지 알아보겠습니다. 어그리게이션(Aggregation) Aggregation은 검색결과에 다양한 연산을 적용해서 출력하는 기능을 지원하기 위해 개발된 모듈입니다. 버킷(bucket) 어그리게이션과 메트릭(metric) 어그리게이션, 파이프라인(Pipeline) 어그리게이션이 있습니다. 버킷 어그리게이션 (bucket aggregation) Terms, Filter, Range, Histogram, Globa..
IT/Spring Boot 2022. 1. 29.
Spring boot Elasticsearch(엘라스틱서치) 설정하기
Spring boot 를 이용하여 Elasticsearch 에 접근 하기 이번 포스팅에서는 스프링부트를 활용해서 엘라스틱서치에 데이터를 넣는 방법까지 해보도록 하겠습니다. 또한 기본적인 엘라스틱서치에 대한 내용을 소개해드리려고 합니다. 기본적으로 엘라스틱서치는 루씬 기반 검색엔진으로 오픈소스 입니다. ELK (Elasticsearch Logstash Kibana) 스택으로 아주 유명합니다. 제품간 연동이 메뉴얼을 조금만 읽으면 손쉽게 연동이 가능합니다. 먼저 엘라스틱서치는 분산형 Restful 검색 및 분석이 가능하고 정형, 비정형, 위치정보, 메트릭 등 원하는 방법으로 다양한 유형의 검색을 수행할 수 있습니다. 또한 작은 규모로 적용해도 이후 점차 쉽게 확대할 수 있으며, API 등을 이용해 구조를 단..
IT/Java 2021. 12. 23.
[Java/Selenium, jsoup] 자바를 이용하여 스크린샷, 텍스트 수집하기
https://kingname.tistory.com/221 [Python] 파이썬 selenium을 이용한 스크린샷 찍기 이전에는 셀레니움을 설치하는 포스팅을 했다면 https://kingname.tistory.com/219 파이썬 크롬브라우저 자동화 컨트롤러 Python Selenium 설치하기 Selenium이란 Selenium은 웹 어플리케이션을 자동으로 테스팅,. kingname.tistory.com 저번 글에서는 파이썬을 이용하여 스크린샷을 찍는 글을 포스팅 했었습니다. 이번에는 Java를 이용하여 저번에 작성한 파이썬 코드를 Java를 이용하여 보도록 하겠습니다. 우선 아래의 라이브러리를 설치해야합니다. 메이븐레파지토리에서 다운로드가 가능합니다. // selenium implementation..
IT/Python 2021. 12. 15.
[Spark/Python] 파이썬, pyspark 를 이용하여 ElasticSearch 데이터 가져오기
우선 파이썬을 통해서 엘라스틱서치 데이터를 수집하는 방법은 아래와 같다. from elasticsearch import Elasticsearch from elasticsearch.helpers import scan as escan def searchAPI(query): es = Elasticsearch('localhost:9200') index = 'search-2021*' res = es.search(index=index, body=query) return res ------------------------------------------------ query = { "size": 10, "_source": "[member_id, birth_year, address]", "query": { "term"..
IT/Python 2021. 12. 14.
[Python] 파이썬 selenium을 이용한 스크린샷 찍기
이전에는 셀레니움을 설치하는 포스팅을 했다면 https://kingname.tistory.com/219 파이썬 크롬브라우저 자동화 컨트롤러 Python Selenium 설치하기 Selenium이란 Selenium은 웹 어플리케이션을 자동으로 테스팅, 크롤링, 스크린샷 찍기등에 사용하기 위한 프레임 워크입니다. Python 과 Java 등 많은 언어들을 지원합니다. Selenium 설치하기 Selenium을 사 kingname.tistory.com 이번 포스팅에서는 파이썬 셀레니움(Selenium)을 이용해서 스크린샷을 찍어보도록 하겠습니다. from selenium import webdriver from selenium.webdriver.chrome.options import Options from se..
IT/Linux 2021. 12. 14.
리눅스 한글깨짐 문제 해결방법 (리눅스 셀레니움 스크린샷 한글깨짐)
리눅스 환경에서 Selenium(셀리니움)을 이용해서 데이터를 수집하는 도중에 한글깨짐이 발생하여 해결방법을 알아보았습니다. 리눅스 폰트를 설치하지 않아서 발생하는 문제입니다. 해결방법은 아래와 같습니다. 리눅스 기본 제공 한글폰트를 패키지관리자에서 다운로드합니다. (yum, apt-get) yum install fonts-korean 혹은 fonts-unfonts-core 설치되는 경로는 /usr/share/fonts 입니다. 시스템 폰트 리스트를 새로고침합니다. fc-cache -r 이후 나눔고딕 폰트 파일을 다운로드합니다. wget [http://cdn.naver.com/naver/NanumFont/fontfiles/NanumFont_TTF_ALL.zip](http://cdn.naver.com/na..
IT/Python 2021. 12. 14.
파이썬 크롬브라우저 자동화 컨트롤러 Python Selenium 설치하기
Selenium이란 Selenium은 웹 어플리케이션을 자동으로 테스팅, 크롤링, 스크린샷 찍기등에 사용하기 위한 프레임 워크입니다. Python 과 Java 등 많은 언어들을 지원합니다. Selenium 설치하기 Selenium을 사용하기 위해서는 웹 브라우저 드라이버와 'selenium' 라이브러리를 설치해야 합니다. 드라이버는 크롬을 대상으로 진행하였습니다. 리눅스 환경에서 사용하기 위해서는 리눅스용 드라이버를 설치해야 합니다. (크롬 드라이버 설치 링크 : http://chromedriver.chromium.org/downloads ) pip install selenium 다운로드를 마치고 구글에 접속하는 파이썬 코드를 작성합니다. from selenium import webdriver # 설치한..
IT/Spring Boot 2021. 7. 8.
스프링 스케쥴러 (spring scheduler) 설정 및 사용방법
1. Annotation 사용예시 @Service public class TaskTestService { @Scheduled(fixedDelay=1000) public void TestScheduler(){ System.out.println("스케줄링 테스트"); } } 위와 같이 @Scheduled 어노테이션을 이용하여 간단하게 스케쥴에 따른 작업을 처리할 수 있게 된다. @Scheduled 의 value 같은 3가지(cron, fixedDelay, fixedRate) 종류가 있다. cron은 CronTab에서의 설정과 같이 cron="0/10 * * * * ?" 과 같은 설정이 가능하고 fixedDelay은 이전에 실행된 Task의 종료시간으로 부터 정의된 시간만큼 지난 후 Task를 실행한다.(밀리..
IT/Spring Boot 2021. 2. 13.
Spring boot와 React + gradle 연동하여 개발하기 build(빌드) 하기
1. 스프링 부트를 백엔드, 리엑트를 프론트엔드 연동하기 보통 스프링 부트를 사용하면 thymeleaf 를 이용하여 프론트를 개발하는 경우가 많이 있었습니다. 하지만 최근 1~2년 사이에 리엑트 강의를 들으면서 어느정도 리엑트에 대해서 감이 잡혀 토이프로젝트를 진행하였습니다. 하여 Spring boot와 React를 연동하여 개발하는 방법을 공유하고자 합니다. 2. Spring boot 프로젝트 생성하기 스프링 부트를 이용하여 간단한 컨트롤러를 만들어준뒤 아래와 같은 간단한 api를 만들어서 사용합니다. 아래의 사진은리그오브레전드 api를 이용하여 사용자의 정보를 조회하는 토이프로젝트로 1~2일 정도 걸려서 만들었습니다. kingname.tistory.com/110?category=811074 스프링 부..
IT/Java 2021. 2. 1.
Java 파일 읽는 방법, Apache Tika(아파치 티카) 사용하여 파일 읽기
Apache Tika Java를 통해서 파일을 읽어 오는 방법을 소개하겠습니다. 아파치 티카는 PPT, CSV ,PDF 등 다양한 형태의, 파일의 메타 데이터와 텍스트를 감지하고 추출하는 라이브러리입니다. 지원되는 포맷을 아래와 같다고 합니다. tika-core - 핵심 라이브러리 (파서 없음) tika-parsers - core + Tika Parser interface (두가지) 위 두가지 라이브러리를 사용하여 파일을 읽을 수 있습니다. org.apache.tika tika-core 2.0.0-ALPHA org.apache.tika tika-parsers 2.0.0-ALPHA pom 위 라이브러리를 추가 후 public String parseExample() throws IOException, SAX..
IT/Environment 2021. 1. 10.
[MAC, 맥OS] xcrun 에러 해결 방법
git 이나 make 기타 개발 용어들이 어느날 갑자기 안된다면 xcode를 제거 했는지 확인해보아야 한다 저번에 모르고 xcode를 삭제한 후 어느 시점이 지나서 git clone 명령어를 실행하니 위 사진과 같아 보이는 에러가 뜬다.. xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun xcode가 깔려있다면 아래의 명령어를 입력하면 빠르게 해결할 수 있다. xcode-select --install 끝.
IT/Environment 2020. 12. 10.
도커(docker) 명령어 모음
ㅇ 도커 이미지 실행 # docker run -d -it --name 컨테이너이름 -p 8888:8888 -p 3306:3306 도커이미지이름/ID -d : 백그라운드로 실행 -it : 콘솔창으로 접속 가능하도록 shell 로 실행 (/bin/bash) --name : 컨테이너 이름 설정(하고싶은걸로 아무거나) -p : 포드 매핑. host포트:docker포트 ㅇ 도커 컨테이너 접속 # docker exec -it 컨테이너ID/이름 /bin/bash ㅇ status 에 따른 컨테이너 삭제 # docker rm $(docker ps --filter 'status=exited' -a -q) ㅇ컨테이너 자동 실행 옵션 --restart="always" 실패했을때 N 번 재시도 --restart="on-..
IT/Python 2020. 12. 9.
파이썬 라이브러리 로컬 설치 방법
파이썬 로컬 설치 방법 Python 환경에서 인터넷을 쓸 수 없는 경우 즉 오프라인상태의 경우 파이썬 라이브러리를 설치하는 방법에 대해서 알아보겠습니다. 파이썬 라이브러리 설치 준비 및 설치하기 python -m pip freeze > requirements.txt python -m pip download -r .\requirements.txt python -m pip install --no-index --find-links="./" -r .\requirements.txt 위 명령어를 사용하면 로컬 설치를 할 수 있습니다. 자세한 순서는 아래와 같습니다. 1. 인터넷이 가능한 환경에서 동일한 python 환경을 구축한다. 2. 인터넷이 가능한 환경에서 pip를 이용하여 현재 사용중인 패키지 리스트를 re..
IT/Environment 2020. 11. 28.
정규식, 정규표현식 사이트 소개 ( Regex101 )
안녕하세요 오랜만에 포스팅을 올립니다. 오늘 소개해드릴 사이트는 바로 정규표현식을 테스트할 수 있는 사이트입니다. 바로 Regex101 입니다. 정규 표현식이라는 문구는 일치하는 텍스트가 준수해야 하는 "패턴"을 표현하기 위해 특정한 표준의 텍스트 신택스를 의미하기 위해 사용되어진다고 합니다. 정규표현식 기본 개념 해당 사이트 주소는 regex101.com/ Online regex tester and debugger: PHP, PCRE, Python, Golang and JavaScript Please wait while the app is loading... regex101.com 이고 해당 사이트에서 영어로된 설명을 오른쪽 하단에서도 확인 할 수 있다. 몇가지 설명을 돕기위해서 아래의 기본적인 설명을..
IT/Linux 2020. 10. 18.
Linux SSH key 비밀번호 없이 로그인하기 ssh-keygen
Linux SSH key 비밀번호 없이 로그인하는 방법에 대해서 알아보도록 하겠습니다. ssh-keygen을 생성하여 리눅스에서 다른 서버로 비밀번호 없이 이동하거나 깃랩에 ssh 키를 등록하여 사용할 수 있습니다. 키젠을 생성하는 방법은 아래와 같습니다. cd ~ ssh-keygen -t rsa 후 엔터 세번 cat ~/.ssh/id_rsa.pub | ssh id@host 'cat >> ~/.ssh/authorized_keys' 홈 디렉토리로 이동하여 ssh-keygen 생성 비밀번호를 엔터로 설정하면 끝입니다. 아래의 chmod 명령은 참고만 하시면 됩니다. 안하셔도 상관없습니다. SSH Key란? 서버에 접속 할 때 비밀번호 대신 key를 제출하는 방식이다. SSH Key는 언제 사용하는가? 비밀번..
IT 2020. 8. 15.
2020년 개발자가 사용하는 웹 프레임워크 TOP 10
2020년 개발자가 사용하는 웹 프레임워크 TOP 10 웹프레임 워크는 개발자가 웹 애플리케이션을위한 고유한 기능을 구축하고 만들 수 있도록하는 소프트웨어 개발의 중요한 부분입니다. 개발자가 더 빠르고 효율적인 방식으로 응용 프로그램을 만들 수 있도록 도와줍니다. 최근 Stack Overflow Developer Survey 2020에서는 거의 65,000 명의 개발자를 대상으로 설문 조사를 실시했으며, 이곳에서 이동 도구 및 라이브러리에 투표했습니다. 여기에서는 2020 년에 전 세계 개발자가 가장 많이 사용하는 설문조사 에서 나온 프레임워크 종류에 대해서 알아보겠습니다. 프레임워크는 GitHub의 별에 개수 따라서 나열했습니다. 1 | Vue.js 별 : 170k About : Vue.js 는 Sta..
IT/Environment 2020. 8. 4.
VMware(브이엠웨어)에 Windows 10(윈도우10) 설치하는 방법
VMware(브이엠웨어)에 Windows 10(윈도우10) 설치하는 방법 마이크로소프트에서 윈도우10을 출시했습니다. 여러가지 방법으로 Windows 10을 설치할 수 있지만 데스크탑에 직접 설치하는 대신 OS를 테스트하는 것이 좋습니다. VMware 워크 스테이션의 장치에 Windows 10을 설치할 수 있습니다. VMware Workstation은 사용자가 단일 시스템(한개의 데스크탑)에서 하나 이상의 가상 시스템(VM)을 설정하고 실제 시스템과 동시에 사용할 수 있는 가상환경을 설치할 수 있습니다. 보통 하둡이나 여러가지 테스트를 진행할 때 사용합니다. https://kingname.tistory.com/51 Apache Hadoop ( 아파치 하둡 ) 2.6.5 소개 및 설치하기 Teragen(테..
IT/Java 2020. 7. 31.
[디자인 패턴] Java를 이용한 소스로 보는 디자인 패턴 종류 정리 2편
이번 포스팅에서는 디자인 패턴 정리 Java를 이용한 디자인 패턴 종류 정리를 하려고 합니다. 바로 시작하겠습니다. 2020/07/30 - [IT/Java] - [디자인 패턴] Java를 이용한 소스로 보는 디자인 패턴 종류 정리 1편 [디자인 패턴] Java를 이용한 소스로 보는 디자인 패턴 종류 정리 1편 이번 포스팅에서는 디자인 패턴 정리 Java를 이용한 디자인 패턴 종류 정리를 하려고 합니다. 바로 시작하겠습니다. 인터페이스 - 기능에 대한 선언과 구현 분리 - 기능으로 사용 통로 기�� kingname.tistory.com 이전 편에 이어서 2편입니다. 이전편에서는 스트레터지 패턴, 어댑터 패던, 템플릿 메소트 패턴, 팩토리 메소드 패턴, 싱글톤 패턴, 프로토타입 패턴, 빌더 패턴에 대해서 정..