다양한 주제 12

기상청 API 이용방법

기상청 API 허브 홈페이지 기상청에서 제공하는 날씨 데이터는 기상자료개방포털을 통해서 csv 형태로 데이터를 얻어내는 방법이 있다. 하지만, 이 방법은 원하는 데이터를 얻어야 할 때 마다 직접 홈페이지로 들어가서 csv로 다운을 받아야 하는 번거로운 작업을 해줘야 한다. 이에 대한 대안으로 기상청 API 허브를 이용할 수 있다. 상황 1) 지상관측 데이터를 받아온다. 2) Java를 이용해서 기상청 데이터를 csv 형태로 저장하려고 한다. 3) 회원가입을 하고나서 인증키까지 받아냈다. URL 파악 지상관측 자료 중 기간 정해서 조회하는 URL을 살펴보겠다. - 시간자료(기간조회) ex) https://apihub.kma.go.kr/api/typ01/url/kma_sfctm3.php?tm1=2015121..

다양한 주제 2023.07.28

Windows 배치파일

배치파일이란? MS-DOS, OS/2, 윈도우에서 명령 인터프리터에 의해 실행되게끔 고안된 명령어들이 나열되어 있는 텍스트 파일 배치 파일이 실행될 때, COMMAND.COM 또는 cmd.exe와 같은 shell 프로그램이 파일을 읽어 명령어를 줄 단위로 실행한다. 배치 파일은 보통 실행 파일을 자동으로, 연속적으로 실행할 때 유용하며 시스템 관리자가 따분한 일들을 자동화하기 위해 자주 사용한다 파일 확장자 .bat : 마이크로소프트가 배치 파일에 사용한 최초의 파일 확장자. MS-DOS, 모든 버전의 윈도우즈에서 실행됨 .cmd : Windows에서 배치 파일에 사용되고 명령어를 해석하기 위해 cmd.exe로 출력됨 (COMMAND.COM은 식별하지 못함) 예시 @echo off REM scp 명령어 ..

다양한 주제 2023.07.27

Windows 작업 스케줄러

Linux에는 crontab이 있다면 Windows에는 작업 스케쥴러가 있다. crontab과 마찬가지로 원하는 동작을 정해진 시간에 동작시키거나 정해진 간격에 따라 실행하도록 할 수 있다. 작업 스케줄러를 windows 창에서 검색해서 들어간다. 작업 만들기를 클릭해서 새 작업 만들기 창을 열고 가장 먼저 나오는 `일반` 부분을 본다. 여기서 작업의 이름과 설명을 원하는대로 설정하면 된다. 밑에 있는 보안 옵션도 마찬가지로 사용자가 원하는대로 설정하면 된다. 3. `트리거`부분을 본다. 트리거는 원하는 작업이 실행되는 시간을 설정하는 부분이다. 새로 만들기를 클릭한다. 해당 창을 통해 원하는 동작을 언제 어떻게 실행할 지 설정할 수 있다. 자세한 내용은 각 설정의 명칭에 잘 나와있으니 그걸 참고하면 된..

다양한 주제 2023.07.26

netstat에 대해

netstat이란? 네트워크 연결, 라우팅 테이블, 인터페이스 통계정보 등을 보여주는 명령어 네트워크 연결 관련 정보 출력 netstat [address_family_options] [--tcp|-t] [--udp|-u] [--raw|-w] [--listening|-l] [--all|-a] [--numeric|-n] [--numeric-hosts][--numeric-ports][--numeric-ports] [--symbolic|-N] [--extend|-e[--extend|-e]] [--timers|-o] [--program|-p] [--verbose|-v] [--continuous|-c] [delay]netstat 바로 뒤에 옵션이 아닌 다른 아무것도 없기 때문에 열려 있는 소켓의 리스트를 출력한다...

다양한 주제 2023.07.25

scp에 대해(정의, 사용법, 비밀번호 없이 동작하도록 하는 방법)

scp scp = OpenSSH Secure file copy 네트워크를 통해 host 간의 파일을 복사한다. 데이터 전송을 할 때 ssh 연결 위에서 SFTP 프로토콜을 사용한다. 로그인 세션을 통해서 동일한 인증과 보안을 제공한다. 인증을 필요로 할 때 마다 비밀번호(password) 또는 암호(passphrase)를 요구한다. 사용법 기본적인 문법 scp [-옵션] 데이터를_가져올_경로 데이터를_저장할_경로 이때, 가져올 경로 또는 저장할 경로가 원격 PC에 있는 경로라면 아래의 형식으로 적어주면 된다. user이름@ip주소(host주소):/원하는/파일/또는/디렉토리경로 로컬이라면? /원하는/파일/또는/디렉토리경로 만 적어주면 된다. ex) 로컬의 /home/usera/test 경로의 디렉토리를 원..

다양한 주제 2023.07.25

crontab

cron은 유닉스 계열 컴퓨터 운영 체제의 시간 기반 잡 스케줄러이다. 작업을 고정된 시간, 날짜, 간격에 주기적으로 실행할 수 있도록 스케줄링하기 위해 cron을 사용한다. 사용환경 : Ubuntu 20.04.6 LTS(GNU/Linux 5.15.0-75-generic x86_64) 설치 및 상태 확인 sudo apt install cron # 설치 sudo service cron status # 상태 확인 - active이면 크론탭이 실행된 상태인 거고 inactive이면 크론탭을 시작해줘야 한다. sudo service cron start # 크론탭 시작 사용법 ① crontab -l : 크론탭으로 설정한 작업들의 리스트를 보여준다. ② crontab -e : 크론탭을 수정할 때 사용한다. 크론탭을..

다양한 주제 2023.07.20

[Linux] 배포판, shell, 커널

OS는 shell을 통해서 명령을 통해서 kernel에 명령을 전달한다. 즉, Linux OS는 대표적으로 bash shell을 통해서 linux kernel에 명령을 전달한다. 그럼, ubuntu, debian 같은 건 뭐냐. 이런 것들은 리눅스 배포판이라고 하는데 Linux 커널을 기반으로 한 완전한 운영체제이다. Linux 커널은 운영 체제의 핵심이지만 단독으로 사용하기는 어렵다. 그래서, 배포판에서 Linux 커널과 함께 애플리케이션, 라이브러리, 도구, 설정 등을 포함해서 사용자에게 전달한다.

다양한 주제 2023.05.17

[Nginx] Nginx 도커에 설치하고 실행하기

Nginx란 Nginx란 HTTP 프록시 서버, reverse 프록시 서버, 메일 프록시 서버, 범용 TCP/UDP 프록시 서버 HTTP 서버 측면의 기본적인 특징 정적(static) 파일, 인덱스(index) 파일을 제공 캐싱을 이용한 가속화된 리버스 프록싱 FastCGI, uwsgi, SCGI, memcached 서버의 캐싱을 이용한 빠른 속도 지원 모듈 구조(modular architecture) SSL, TLS SNI 지원 HTTP/2 에서 동작 가능 동작 환경 OS : Windows 10 커맨드 : Windows Powershell (ver 5.1.19041.2673) Docker에서 Nginx 설치 1) NGINX 이미지를 pull한다. docker pull nginx 2) static con..

다양한 주제 2023.05.03

DBeaver에 대해

데이터를 다루던 업무를 하던 중에 ubuntu 기반으로 데이터를 조회하는데 한계를 느꼈다. 그러던 중 회의 때 DBeaver를 사용하는 걸 봤고 이를 적용해서 일을 좀 더 수월하게 할 수 있었다. DBeaver란 개발자와 데이터베이스 관리자를 위한 오픈소스 데이터베이스 도구이다. 관계형 데이터베이스의 경우 JDBC API를 사용하여 JDBC 드라이버를 통해 데이터베이스와 통신한다. 그 밖의 데이터베이스(NoSQL)의 경우 사유 데이터베이스 드라이버를 사용한다 설치 링크 에서 운영체제에 맞게 설치하면 된다.

다양한 주제 2023.04.19

MySQL 관련된 여러 내용

1. Powershell을 이용해서 MySQL에 접속 1) mysql.exe가 있는 경로로 이동한다. 2) 해당 경로에서 mysql 명령을 실행한다 ==> ./mysql.exe -u 사용자이름 -p ==> 엔터 친 이후에 비밀번호 입력하면 됨 3) 이후에 mysql을 이용해주면 된다. 2. DATE_FORMAT : 날짜/시간 표기 방식 지정 DATE_FORMAT에서 사용하는 자세한 포맷들은 링크에 있다. 많이 사용했던 포맷 위주로 나열해놓겠다. '%Y-%m-%d' SELECT date_format([컬럼 이름], '%Y-%m-%d') FROM [테이블 이름] ==> 해당 컬럼 값을 2023-04-12와 같이 출력한다. '%y-%m-%d' SELECT date_f..

다양한 주제 2023.04.19