본문 바로가기

분류 전체보기

(111)
정말 간단한 등고선 예제 import numpy as np import matplotlib.pyplot as plt lats = np.linspace(1, 5, 5) #1~5까지를 5로 나눔 lons = np.linspace(1, 4, 4) #1~4까지를 4로 나눔 lat, lon = np.meshgrid(lats, lons) sss = np.array([[0, 0, 0, 0, 0], [2, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]) plt.title("Contour plots") plt.contourf(lat, lon, sss, alpha=.75, cmap='jet') plt.contour(lat, lon, sss, colors='black') plt.show()
CCTV 웹 스트리밍 cctv 영상은 보통 rtsp 혹은 rtmp 프로토콜을 사용한다. 아직까지 웹 클라이언트에서 다이렉트로 영상을 보여주는 방법은 없다. 그래서 스트리밍 서버를 사용해야한다. 가장 대중적인 방법은 hls (http live streaming) 방식이다. 영상을 n초 단위로 나눠서 저장한다음 순차적으로 보내주는 것이다. 영상 끊김이 적다. 라이브 스트리밍의 경우 계속 분할 파일이 저장되기 때문에 주기적으로 삭제해줘야한다. -> 분할 파일 최대 유지개수를 다음과같은 옵션 명령어로 정할 수 있다. -hls_list_size 20 opencv 모듈을 사용하거나 웹 소켓으로 정적 이미지를 계속 보내주는 방법도 있는데 버벅거리고 성능이 좋지 않다. 그리고 웹 소켓 방식은 경로가 아닌 포트로 영상을 식별하기 때문에 여러..
파이썬 모듈 설치 관련 에러 최소화하는 법 1. 프로젝트나 작업을 새로시작할 때에는 가상환경을 새로 만든다. 불필요한 모듈은 최소화하여 설치한다. 2. 환경을 처음 만들고 설치시, 하나씩 설치하지말고 한줄에 여러개를 동시에 설치한다. 그러면 알아서 충돌을 피해서 설치한다. ex) conda install pyinstaller pandas pyproj 3. 충돌이 났으면 검사하는 걸 기다리는 것 보다는 차라리 새로 환경을 만들어서 이제껏 설치했던 모듈 + 새로 설치하는 모듈 2번처럼 한줄에 설치를 하는게 더 빠르다. 4. 구글 코랩에서 시작한다. 기본적으로 데이터분석을 위한 모듈들이 설치되어있고 의존성 에러가 적게난다.
[SpringBoot] CORS 대응 WebConfig 파일에 추가한다. /** * CORS 대응 */@Overridepublic void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") //.allowedOrigins("http://localhost:8080") .exposedHeaders("*") .allowedMethods("GET", "POST", "PUT", "DELETE");}
REST API 정리 경로는 자원이름을 복수형으로 쓴다. 자원은 객체지향에서 객체의 개념이다. 경로에는 동작이 들어가면 안된다. uri가 아니라메소드(POST, GET, PUT, DELETE...)로 행위를 구분한다. 자원이름은 하이픈, 소문자 조합이 권장된다. 왜이렇게 하는가? 경로 이름이 일관적이지 않고 지저분하다. getMovieList/searchMovie... editMovie/updateMovie... deleteMovie/removeMovie/dropMovie... restful하게 변경하면 훨씬 깔끔하다. GET /movies, /movies/{title} POST /movies PUT /movies DELETE /movies GET 요청 자원을 검색할 때 사용한다. ex) 게시글 조회 request body를..
마리아 DB 외부접속(구글 클라우드 플랫폼 VM) 1. 설정파일 수정sudo vi etc/mysql/mariadb.conf.d/50-server.cnfbind-address 라인을 주석처리한다. 2. VM 방화벽에서 3306 인바운드 규칙 추가 3. 마리아 db 서비스 재시작sudo service mysql restart
맥에서 주피터 노트북이 실행되지 않는 경우 주피터 노트북을 설치했는데 경고가 뜨면서 실행이 안되는 사태가 발생했다. WARNING: The script {package-name} is installed in '/Users/{user-name}/Library/Python/{version}/bin' which is not on PATH. 파이썬 환경 변수 추가가 안되어있어서 그렇다. 홈 디렉토리에서 환경 변수 추가해주면 해결된다. #export PATH="$PATH:{경고 문구에 있던 경로}" export PATH="$PATH:/Users/{user-name}/Library/Python/{version}/bin" 참고 https://stackoverflow.com/questions/61026031/pip-installation-for-python3-..
해수면 온도 시각화 1. 원본 데이터 요청 폼 https://upwell.pfeg.noaa.gov/erddap/griddap/nasa_jpl_dde5_3be1_897b.html NOAA(미국국립해양대기청)에서 제공하는 해수면 온도(SST) 데이터이다. 3일전 데이터부터 가져올 수 있다. 2. 제주도 부근 데이터 URL기반으로 얻기 nc 형식의 해수면 표면 온도 데이터를 요청하는 url은 다음과 같다. https://upwell.pfeg.noaa.gov/erddap/griddap/nasa_jpl_dde5_3be1_897b.nc? analysed_sst[(시작날짜):(종료날짜)] [(북):(남)][(서):(동)] //북위+ 남위- 서경- 동경+ &.draw=surface &.vars=longitude|latitude|analy..
[SpringBoot] java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter jaxb-api 라이브러리가 설치되지 않아서 발생하는 오류이다.  gradle // https://mvnrepository.com/artifact/javax.xml.bind/jaxb-apiimplementation 'javax.xml.bind:jaxb-api:2.4.0-b180830.0359'maven javax.xml.bind jaxb-api 2.4.0-b180830.0359이 글을 미래에서 보고 있다면 주석의 링크 주소로 들어가서 최신 버전으로 바꿔주면 된다.
콘솔창에서 디버깅하기 디버깅을 시작하고 싶은 곳에 debugger;를 쓰면 breakpoint가 생성된다. breakpoint에서 화면이 멈추면 f10키를 눌러 다음 단계로 이동할 수 있다.