no image
(GIS)지도 데이터 시각화, R-tree 알고리즘
(격식체 = gpt)GIS 데이터 시각화GIS 데이터를 다루면서 시각화 렌더링시에, 위도/경도가 어느 지역에 속하는지 분류하는데 예를 들면 다음과 같다.지역1: (127.123, 36.231), (127.154, 36.271), (127.203, 36.181)지역2: (127.423, 36.531), (127.454, 36.571), (127.503, 36.581) (경도, 위도) 가 특정 지역에 적중하는지 판단하는 알고리즘은 d3.geoContains 같은 게 있다.d3.getContains는 내부적으로 어떤 알고리즘을 사용할까? 이름만 들어보자. Ray-Casting: 다각형 내 포함 여부를 판단하기 위해 주로 Ray-Casting 알고리즘을 사용합니다. 이는 주어진 점에서 임의의 방향으로 반직선을 ..
2024.11.21
no image
mapshaper - 대한민국 행정동 지도 데이터 다루기
지도 데이터, 시각화2024.10.01 - [JS,Node,React] - React, D3.js를 이용한 지도 시각화 React, D3.js를 이용한 지도 시각화지도 시각화 방법네이버, 카카오, Mapbox 등 지도 데이터를 제공하는 api를 활용한다면?장점 - 지도를 그릴 필요 없고, 적은 코드로 시각화 기능을 구현할 수 있다.단점 - 기본 디자인을 바꾸기 어렵cornpip.tistory.com저번에 지도 데이터에 대해 약간 다루었다.원하는 지도 데이터를 얻기 위한 mapshape 명령어를 더 살펴보자. https://github.com/vuski/admdongkor대한민국 행정동 GeoJson을 받고 https://mapshaper.org/mapShaper 웹 콘솔에 명령어를 입력하며 원하는 지도 ..
2024.11.06
no image
Spring RestTemplate - 공공api SERVICE KEY IS NOT REGISTERED ERROR
문제 SERVICE ERROR SERVICE_KEY_IS_NOT_REGISTERED_ERROR 30 ,[Access-Control-Allow-Origin:"*", Content-Type:"text/xml;charset=UTF-8", Content-Length:"229", Date:"Thu, 24 Oct 2024 15:24:30 GMT", Server:"NIA API Server"]>기상청 단기예보 api를 사용하는데 위와 같은 응답이 왔다. api에서 제공하는 에러 코드이다. 공공데이터 API는 위와 같이 인코딩 키와 디코딩 키를 둘 다 주고 잘 동작하는 키를 사용하라고 한다. 접근1. 인코딩키와 디코딩키를 둘 다 사용해 본다. => 실패 2. 키가 전송되면서 바뀌나?String apiUrl = ..
2024.10.25
no image
Spring Data JPA - flush(sql error 1062 sqlstate 23000)
예시)Vehicle 테이블idbigintPrimary key (Vehicle ID)license_platevarchar(255)Vehicle's license plate numberbrandvarchar(255)Manufacturer of the vehiclemodelvarchar(255)Vehicle modelyearintYear of manufacture Engine 테이블idbigintPrimary key (Engine ID)engine_numbervarchar(255)Engine serial numberengine_modelvarchar(255)Engine modelstatusenum('error', 'running', 'stopped')Current engine statusvehicle_idbi..
2024.10.20
no image
Error) Spring Security @PreAuthorize/@Secured NPE
환경Spring Boot 3.3.3Spring Security 6.3.3 문제@PreAuthorize/@Secured - NullPointerException//WebSecurityConfig.java@Configuration@EnableWebSecurity@EnableMethodSecurity(prePostEnabled = true, securedEnabled = true)@RequiredArgsConstructorpublic class WebSecurityConfig { ....}//UserController.java ...uesrService 주입.. @PostMapping(value = "/master/create", consumes = MediaType.APPLICATION_FO..
2024.10.15
no image
사이드 프로젝트) 개인용(로컬용) ChatGPT 만들기
개발 동기나는 주로 ChatGPT를 활용한다. (Claude는 사용량 제한 있고, Gemini는 찰떡같이 알아듣지를 못한다.) ChatGPT 아쉬운 점 구독 가격이 비싸다. 20+2(부가 가치세) 달러... 종종 OpenAI api는 멀쩡한데, ChatGPT 서비스가 불량이다.모델 개선 관련 옵션을 끄지 않으면 대화를 훈련에 활용한다.모델 개선 옵션과 무관하게, 대화 내역이 ChatGPT에 보관된다. 삭제할 수 있지만 암튼 모르는 거니까 종종 불안정하기도 하고 ChatGPT는 특정 주제에 특화된 세팅으로 대화를 시작할 수 있는 서비스가 있다.Openai api를 사용해 보면 다룰 수 있는 많은 파라미터가 있는데, 그 요소들을 각 주제에 맞게 세팅했을 것이다. 맞춤 GPT를 꼭 활용하는 것이 아니라면, 사..
2024.10.09
no image
React, D3.js를 이용한 지도 시각화
지도 시각화 방법네이버, 카카오, Mapbox 등 지도 데이터를 제공하는 api를 활용한다면?장점 - 지도를 그릴 필요 없고, 적은 코드로 시각화 기능을 구현할 수 있다.단점 - 기본 디자인을 바꾸기 어렵고, 원하는 시각화 기능이 없을 수 있다. 사용량에 따라 요금이 부과될 수 있다. svg나 canvas 같은 도화지에 지도부터 그린다면?장점 - 그려지는 모든 요소를 컨트롤할 수 있고, d3 같은 시각화 라이브러리를 사용하면 동적인 그래픽을 만들 수 있다.단점 - 더 많은 코드와 더 많은 상태 관리가 생긴다. 지도 데이터 준비아무튼 지도를 직접 그리기로 했다면 지도 데이터에 대해 알아보자.GeoJSON, TopoJSON 특징GeoJSONTopoJSON데이터 구조단순한 지리적 구조 (점, 선, 다각형)토폴..
2024.10.01
no image
Spring Data JPA - Cascade, orphanRemoval 차이
관련 포스팅2023.07.13 - [Spring/JPA] - 스프링) JPA Entity option 지연 로딩/영속성 전이/고아 entity삭제 (23-07-12) 스프링) JPA Entity option 지연 로딩/영속성 전이/고아 entity삭제 (23-07-12)velog에서 이전한 글 입니다. 2023.07.13 - [spring] - 스프링) JPA Entity 연관관계 - 외래 키 주인 (23-07-11) 지난 포스팅에 이어 JPA Entity Option FetchType EAGER/LAZY (지연 로딩) public @interface ManyToOne{ ... FetchType fetccornpip.tistory.com지우고자 하는 데이터가 다른 테이블에서 FK로 사용 중이라면 지울 수..
2024.09.24
no image
회고는 어려운 개발자 - 일기처럼 기록하자.
24년도 - 1,2,3분기 회고... 회고는 지난 것들을 돌이켜 보면서 과거를 정의하고, 현재와 미래를 정립한다.나는 과거를 정의하는 것이 너무 어렵다. 많은 것을 저울질해야 하지만 정답을 알 수 없고, 나도 세상도 계속해서 변한다. 그래서 무거운 회고보다는, 일기를 쓰듯이 현재 내가 던질 수 있는 생각을 기록해 보자.나중에 쌓인 기록을 읽어가다 보면, 회고도 가볍게 말할 수 있지 않을까. 지금 나의 가치관은? 세상은 완벽하지 않기에, 부딪히며 변화를 만들고 싶다. '기존에 그래왔던 것'을 만든 조직이, 꼭 인재 밀도가 높은 조직은 아니다.또 세상은 계속해서 변하고, 기술의 발전에 한계는 없다. 인재들이 머리를 모아 만든 것도 언젠가 레거시가 된다.  내가 개발의 영역에서 영향을 미칠 방법은 뭐가 있을까..
2024.09.14