본문 바로가기

모바일환경코딩

(12)
[quartz scudule] 1. 스케쥴러로 특정 시간에 DB업데이트 환경설정 업무를 하며 특정 시간대에 특정 테이블에 업데이트를 해야하는 건이 생겼다. 기존에 개발된 형식이 있어서 그대로 따라하면 금방 해결된다. 금방 해결되지만 어떻게 흘러가는지 확인하고 설계한 다음 개발을 해야 시행착오를 면할 수 있다. 그림은 간단하다. 아래 그림은 대략적인 흐름이다. 데이터도 있고 quartz schedule도 있던 거라서 환경설정만 해 주면 되는 소스가 있어서 설정이 간단했다. 아래는 quartz schedule부분의 환경설정한 부분이다. QuartzProperties.java에서 어노테이션으로 application.yml에 있는 데이터를 읽어올 수 있다. crontabservice.sh는 서버에 설정하는 부분인데 application.yml하고 구분되는 부분은 대문자와 언더바 이다. 이걸..
[파일내용 합치기] java로 파일내용 합치는 간단한 방법 업무를 하다 보면 백업된 쿼리(QUERY)가 DB 데이터로 들어가 있는 경우가 있다. 이 데이터는 칼럼에 CLOB 또는 BLOB형태로 들어가 있다. 이렇게 들어 있는 파일을 query 실행하는 툴(toad, orange 등)을 사용하여 데이터를 추출한 후 이걸 파일로 만들었다. 만들고 보니 각 쿼리마다 파일이 하나가 생성되었다. 이런 경우에 쓸 수 있는 java 구문이다. 이렇게 안 하더라도 다른 방법으로 하나의 파일에 넣는 방법은 있다. 그래도 오늘 소개할 방법은 나중에 파일내용 합칠 때 또 사용하기 위해 작성한다. [전체 java class 구문] import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.Fil..
[2탄] goorm ide에서 flutter가 설치 될까? 지난번에는 설치하려고 스마트폰은 켜두고 잠들었다. 설치는 잘 된듯하여 flutter doctor라는 명령어로 설치 여부를 확인하였다. 설정도 하도 명령어를 실행할 때 마다 설정을 해야하는지 계속 찾는듯 하다. 이제 flutter doctor가 필요하다는 안드로이드스튜디오와 크롬을 설치해 봐야 할 차례이다. 음... 크롬은 이전에 설치했던 방법이 있었는데 안드로이드 스튜디오는 터미널 설치가 없다니 찾아봐야겠다. 크롬도 설치하고 linux설정이라고 있어서 설치를 했다. sudo apt-get install clang cmake ninja-build pkg-config libgtk-3-dev 데스크톱 지원 이라는 설정도 있어서 설치했다. flutter config --enable-linux-desktop 설치..
goorm ide에서 flutter는 설치가 될까? 설치가 될지 안될지는 모르지만 일단 해 보기로 합니다. flutter가 핫하다길래 한번 설치라도 되는지 해 봐야죠. ubuntu에서 설치가 될지는 알 수 없기에 구름 ide에서 빈 프로젝트를 만들고 설치 명령어를 넣고 실행을 해 봅니다. 실행되면 좋고 다른 방법이 있는지도 봐야겠죠. 도전도 안 해보면 평생 모를 일이니 해봐야 하지 않겠어요? 설치 방법은 세 가지가 있네요. 명령어로 설치, 다운로드 후 압축 풀기, git으로 받기. 1. sudo 명령어로 설치 sudo snap install flutter --classic - 안되는 명령어라서 안되네요. 뭔가 깔아야 하는데 설치 안 해서 안되는 것 같습니다. 2. 다운로드 후 압축을 푼다. cd ~/development tar xf ~/Downloads/..
[모바일환경코딩] java NULL 공백 체크 용 공통함수 작성. java에서는 NULL point exception방지를 위해 꼭 체크를 해야한다. 가끔 잊어버리면 에러기 나서 난감한 상황에 놓인다. 자주 사용하는 함수를 미리 만들어서 체크 하는데 사용하자. python 처럼 가상환경을 제공하는 구름ide에서 진행하였다. 컨테이너는 5개까지 만들 수 있으니 하나 더 생성하였다. 생성 후 java파일을 하나 생성한 후 코드를 작성해 보았다. 코드는 간단하다. 널인지 공백인지 리스트가 비었는지.. 등을 체크한다. 작성된 코드는 NULL이거나 리스트나 맵에 데이터가 없으면 TRUE를 리턴한다. 반대로 FALSE를 하게 하는 방법은 해당 함수를 리턴할 때 !(부정) 이것만 붙이고 리턴하면 된다. isNotEmpty는 데이터가 있으면 true를 반환한다. [코드] public..
[모바일환경 코딩] pythom selenium 이미지캡쳐 해보기 웹크롤링 검색하다가 발견한 내용인데 이미지를 다운 받는것이 아니라 캡처하는 방밥도 있었다. 이미지를 캡쳐하면 어떻게 나올지 궁금하기도 하고 필요하신분은 사용해도 될듯하다. 기존 소스를 복사해서 내용만 살짝 바꿀까 한다. 기존소스 복사는 복사할 파일을 선택한 후 복제를 누르면 파일생성 됩니다. 생성된 파일을 이름을 변경해주겠다. 이름변경으로 누르면 이름을 변경할 수 있는 팝업이 뜨는데 거기에서 변경해 줄 수 있다. 파일이 그대로 복사 되었으니, 캡쳐하는 부분을 넣고 실행해 보도록 하겠다. 초기 소스라 하나만 테스트 해 보겠다. 스크린샷을 찍어서 저장된 파일을 확인할 수 있고, x버튼도 함께 들어있는걸 확인했다. 이렇게 저장된 이미지를 볼 수 있고 더 깔끔하게 저장하는 방법은 또 테스트를 진행해 봐야 할것 ..
[웹크롤링 따라하기] 구름ide에서 python가상환경 selenium모듈로 이미지크롤링 따라하기 - 3 조코딩님 댓글보니 오류가 있으면 추가하라는 부분이 있는데, 브라우저로 인식하도록 헤더를 추가하는 부분이 오류를 해결해 줄 것이라 믿어 의심치 않았다. 헤더를 입력하는 부분이고 열심히 타이핑했다. 코드블럭이 이상하긴한데 이렇게라도 붙여 넣겠다. opener = urllib.request.build_opener() opener.addheaders=[('User-Agent','Mozilla/5.0 (Windows NT 6.1;WOW64) AppleWebKit/537.36 (KHTML like Gekco) Chrome/36.0.1941.0 Safari/537.36')] urllib.request.install_opener(opener) 해당 내용을 입력하는 부분은 반복문 시작전에 넣어두도록 하자. 한번만 불러오..
[웹크롤링 따라하기] 구름ide에서 python가상환경 selenium모듈로 이미지크롤링 따라하기 - 2 이제 경로 나오는걸 확인했으니 직접 다운로드를 해 보고 실행되는지 확인해 봅시다. 경로가 다 나온게 아니더군요.. 그래서 sleep을 걸어주어 이미지가 뜨기를 기다렸다가 경로를 가져와 봅니다. sleep을 걸기위해 상단에 import time 을 입력하여 time을 사용하겠다고 선언 합니다. 그리고 작은 이미지를 클릭 후 3초를 기다리는 구문을 입력합니다. sleep(3)를 입력하고 터미널에 python google.py를 입력하여 경로를 잘 가져오는지 확인합니다. 경로를 잘 가져 왔으니 이제 본격적으로 이미지를 다운로드 해 봅시다. 우선 구글링! 이건 필수죠. 모든 정보가 다 있죠. 가끔 없지만.. 검색창에 [python download image by url] 를 입력하고검색합니다. stack ove..
[웹크롤링 따라하기] 구름ide에서 python가상환경 selenium모듈로 이미지크롤링 따라하기 - 1 이제 크롤링을 따라해 볼 시간이다! 예제 구문을 붙여넣고 실행해 보도록 하자! 헤더에는 가상환경에 맞게 브라우저 뜨지 않는 설정으로 한다. 이제 그냥 무작정 따라하기를 시전 합니다.. 사진에서 에러가 나는 구문은 처음에는 그냥 오타인줄만 알았는데, 오타가 아니라 필요한 구문이다. from 부분에 있는 구문인데, option부분은 브라우저 안띄우는 부분이고 keys부분은 엔터를 입력하는 부분이다. 혹시나 따라하다가 놓치지 않기를 구글의 이미지url를 가져오려면 이미지까지 나오는 웹페에지까지 들어가서 주소를 복사한다. 모바일도 어렵지 않게 복사가능! 복사후 url부분에 붙여 넣는다. 하나씩 다른 구문들응 붙여넣고 실행해 보았다. 구글이 잘 동작하는지 실행해 보았다. 오류만 없으며누실행 되었다고 생각해 볼까 ..
[모바일환경 코딩] - 구름ide이용하여 selenium 설치 및 chrome설치 구름ide로 웹 크롤링을 따라하려다 걸림돌이 생겼다. 크롬 드라이버를 설치하고 실행해야 하는데, pc가 아니라 chrome의 버전이 따로 없었다. 다행히 조코딩님의 채널에 관련 링크가 있어서 설치가 가능했다. [구름ide의 도움말] help.goorm.io/ko/goormide/18.faq/language-and-environment/selenium-chromewebdriver 크롤링할 때 selenium을 사용하면 웹페이지가 변경 되더라도 사용할 수 있다. 구름ide에 접속하여 selenium을 설치하겠다. 터미널에서 pip3 install selenium 명령어를 실행하면 설치가 진행된다. 크롬을 설치해야하는데, 설치는 복사해서 붙여 넣으면 설치가 진행된다. [설치명령어] 해당 명령어는 위 링크에서 ..