농업기상정보 서비스 농업 관련 기상 데이터가 필요하게 되어 공공데이터 포털 사이트의 농업기상정보 API를 사용하여 조회하였습니다. Open API 활용 방법 농업기상정보서비스 사이트에 접속합니다. 이용방법에 따라 회원가입 후 Open API 신청을 하고 Service Key를 발급받습니다. 활용 가이드를 다운로드하여 조회 조건 및 결과 데이터를 이해합니다. 농업 기상 데이터 조회 http://weather.rda.go.kr/openapi/realtime_openapi_xml.jsp?mberid={id}®ist_ky={발급받은 Service Key} 결과 데이터(XML 형식) 380959A001 충주시 달천동 2020/07/31 14:50 28.3℃ 29.7℃ 22.5℃ -℃ -℃ -℃ -℃ -℃ -..
OpenWeather API 200,000 개가 넘는 도시를 포함하여 지구상의 모든 위치에 대한 현재 날씨 데이터에 액세스 할 수 있습니다. 현재 날씨는 글로벌 모델과 4만 개가 넘는 기상 관측소의 데이터를 기반으로 자주 업데이트됩니다. 데이터는 JSON, XML 또는 HTML 형식으로 제공됩니다. 출처 : OpenWeather OpenWeather API를 사용하여 현재 날씨 데이터를 조회하였다. 현재 날씨 데이터 조회 OpenWeather 사이트에 접속해서 API Key를 발급받는다. 메인에서 Current Weather Data를 선택받는다. 조회 조건 및 결과 정보와 다른 기능들에 대해 잘 설명되어 있다. 우리나라 전체에 대한 날씨 데이터를 조회할 것이기 때문에 조회 조건은 다음과 같다. http..
투형 변환 TM(미국좌표) 좌표와 WGS84(한국좌표) 좌표를 서로 변환한다. 다운로드 Java Map Projection Library 사이트에 접속하여 다음의 Download에서 소스 및 jar 파일을 다운로드한다. 다운로드한 jar 파일은 프로젝트의 classpath 경로에 추가한다. 샘플 // 투형 정보 입력(중부원점 직각좌표 투형정보) String[] proj4 = new String[] { "+proj=tmerc", "+lat_0=38N", "+lon_0=127.00289027777777777776E", "+ellps=bessel", "+units=m", "+x_0=200000", "+y_0=500000", "+k=1.0" } Projection proj = ProjectionFactory.f..
율리우스력 변환하기 율리우스력은 고대 로마의 정치가 율리우스 카이사르가 기원전 46년에 제정해 기원전 45년부터 시행한 양력(陽曆) 역법이다. 율리우스력의 1년은 365일 또는 366일(4년에 한번)이다. 기원전 46년 이전까지 고대 로마에서는 태음력을 사용하였으며, 점차 계절의 변화(즉, 태양의 일주)를 고려해 태음력과 태양력을 섞어서 년(年)과 월(月)을 계산하였다. 이에 따라 특히 달을 계산하는 데 적지 않은 혼란과 계산의 착오가 생겼으며, 이러한 착오는 제사장이 임의로 수정하였다. 율리우스 카이사르가 채택한 달력은 태양력을 기준으로 2월을 제외한 달은 모두 30일 또는 31일로 정함으로써 이전에 있던 번거로움을 한꺼번에 해소하였다. 출처 : 위키백과 Joda-Time Library 사용 Strin..
책 정보 책 소개 코드 품질을 개선하는 객체지향 사고법을 정리한 참고서 프로그램이 돌아가기면 하면 객체지향인가? 객체지향이라는 도구를 제대로 활용하지 못하고 마구잡이로 작성한 코드에는 악취가 진동한다. 리팩토링은 코드의 동작이나 의도는 유지하면서 코드의 구조, 재사용성, 가독성을 개선해 코드의 악취를 제거하고 전체 디자인을 개선하는 방법이다. 독자는 72가지 리팩토링 기법을 통해 코드를 점진적으로 개선하는 방법을 학습할 수 있으며, 이 책을 마쳤을 때는 객체지향 프로그래밍 능력이 한 단계 향상될 것이다. 객체지향 언어의 문법을 익혔다고 저절로 객체지향 프로그래밍을 할 수 있는 게 아니다. 리팩토링 카탈로그를 통해 어떤 코드를 고쳐야 하는지, 왜 고쳐야 하는지, 고친 코드가 왜 좋은지 이해할 수 있다. 이..
RCP 배포 시 필수사항 build.properties 에 javacDefaultEncoding..=UTF-8 추가하기 추가하지 않을 시 한글이 깨지거나 다른 클래스를 참조할 수 없는 문제로 인해 배포된 프로그램이 실행이 되지 않을 수 있습니다. Spring Bean 사용 방법 RCP에서 Spring 빈 생성 방법 서비스 인터페이스 설정 파일의 Runtime에 관련 라이브러리 Export 합니다. String : core, beans, cglib, scheduling Log : slf4f, logback 빈 설정 정보를 담고 있는 클래스 인 AppConfig를 생성하고, AppConfig 클래스에 서비스 빈등록을 하고, SpringBeanFinder 클래스를 생성하여, 애플리케이션 컨텍스트를 로딩하고, ..
Geocoding 이란 주소를 위도, 경도로 변환해 주는 Google에서 제공하는 API입니다. 링크 : 지오코딩이란? 처음엔 HttpURLConnection 으로 접속해서 InputStreamReader 로 읽은 후 JSON으로 파싱 하게 만들었는데 해외 사이트에 geocoder 라이브러리를 이용하여 받아오는 예제가 있었다. 어쨌든 더 편리하고 깔끔하게 해결되었습니다. Geocoder Maven dependency com.google.code.geocoder-java geocoder-java 0.16 Method public static Float[] findGeoPoint(String location) { if (location == null) return null; // setAddress : 변환..
Eclipse Piug-in 추가 Eclipse에 플러그인을 추가하는 방법에는 두 가지가 있습니다. 첫 번째 방법은 플러그인을 직접 복사해서 설치하는 방법이고, 두 번째 방법은 Eclipse에서 제공하는 Software Update Manager를 활용하는 방법이다. 직접 복사하는 방법 설치하고자 하는 플러그인을 Eclipse_home/plugin 디렉터리에 복사한 다음 Eclipse를 재시작하면 새롭게 설치된 Eclipse 플러그인 기능을 활용할 수 있다. Software Update Manager를 활용하는 방법 Eclipse에서 제공하는 Software Update Manager 기능은 플러그인을 개발한 곳에서 이 기능을 사용할 수 있도록 지원하지 않으면 사용할 수 없다. Eclipse에서 Help..