본문 바로가기

전체 글

[PostGIS] 폴리곤을 분할하는 방법 (Voronoi Polygons) 공간 데이터를 변환하고 분석하기 위해 ArcToolbox 또는 QGIS Processing Toolbox를 이용하는 방법이 먼저 떠오릅니다. 가장 많이 사용했던 경험 때문에 그렇겠죠. Paul Ramsey는 원시적인 관점에서 생각하여 PostGIS에서도 다양한 방법으로 지오메트리를 다룰 수 있다는 것을 소개하고 있습니다. 그도 그 방법이 가장 익숙하니까 그렇겠죠?! 그의 블로그에 작성된 게시글을 바탕으로 아래 내용이 작성되었음을 밝히고, 사고의 다양성을 기반으로 생각하는 습관을 기르도록 해야겠네요. 아래의 예시는 Polygon을 동일한 면적의 다각형으로 분할할 수 있는 방법에 대한 소개로 사용자 정의 함수를 만들지 않고 PostGIS 함수만으로 폴리곤을 분할하는 방법에 대한 설명입니다. 1. 서울시 경계.. 더보기
[QGIS] QGIS for Peace A message of peace from the QGIS Community: We, the developers, contributors and community members of the QGIS Project view the ongoing world events in Ukraine and other conflict areas around the world with great sadness. (QGIS 커뮤니티에서 보내는 평화의 메시지: QGIS 프로젝트의 개발자, 컨트리뷰터 그리고 커뮤니티 구성원은 우크라이나와 전 세계의 분쟁 지역에서 진행중인 일을 매우 안타까운 마음으로 바라보고 있습니다.) Our aim in developing QGIS has always been to provide a powe.. 더보기
[Docker] 도커 아키텍처 도커는 클라이언트-서버 아키텍처를 사용합니다. 도커 클라이언트는 컨테이너를 빌드, 실행, 배포하는 작업을 수행하는 도커 데몬과 통신을 합니다. 도커 클라이언트와 데몬은 동일한 시스템에서 실행되거나 도커 클라이언트를 원격 도커 데몬에 연결할 수 있습니다. 도커 클라이언트와 데몬은 UNIX Socker 또는 REST API를 사용하여 통신합니다. 또 다른 도커 클라이언트는 다중 컨테이너 애플리케이션을 정의하고 작업할 수 있는 도커 컴포즈(Docker Compose) 입니다. 도커 이미지 (Docker Image) 도커 이미지는 컨테이너를 생성할 때 필요하며, 가상 머신을 생성할 때 사용하는 ISO 파일과 비슷한 개념입니다. 이미지는 여러개의 레이어로 된 바이너리 파일이 존재하고, 컨테이너를 생성하고 실행할 .. 더보기
[Docker] 가상화 머신과 도커 컨테이너 "Docker"는 Linux® 컨테이너를 만들고 사용할 수 있도록 하는 가상화 기술 오픈소스 프로젝트입니다. Docker를 사용하면 물리적인 서버 인프라 환경에서 완벽하게 분리된 애플리케이션 환경을 구축할 수 있어 코드 실행과 환경설정 시간이 줄어 소프트웨어를 빠르게 제공할 수 있습니다. Docker는 오픈소스로 커뮤니티 사용자에게 무료로 제공되며 Docker Inc.는 Docker 커뮤니티의 활동에 기반을 두고 엔터프라이즈 고객을 위한 향상되고 강화된 기술을 지원합니다. 가상화 머신과 도커 컨테이너 비교 가상화 머신은 하이퍼바이저를 이용하여 단일 호스트 컴퓨터의 리소스를 가상으로 공유하여 호스트 컴퓨터가 여러 게스트 가상 머신을 지원할 수 있도록 합니다. 각 가상머신에 Ubuntu, CentOS와 같은.. 더보기
[PostgreSQL] pg_terminate_backend pg_terminate_backend(pid) 명령은 현재 열려있는 세션을 종료할 때 사용합니다. 이 기능은 슈퍼유저(Superuser)가 사용할 수 있는 명령어로 모든 세션을 종료할 수 있습니다. pgAdmin을 사용하다 보면 Dashboard의 session 목록에서 열려있는 세션을 종료할 수 있지만 '백그라운드 작업자 세션을 종료할수 없다' 라는 메시지를 뿌리며 종료되지 않는 경우가 있을 때 사용하면 되지만 진행중이 작업이 강제로 종료되기 때문에 사용에 유의해야 한다. SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE -- don't kill my own connection! pid pg_backend_pid() -- don't kill t.. 더보기
객체 지향 설계 5대 원칙 - SOLID 객체 지향 설계(OOD : Object Oriented Design)의 5개 원칙 SOLID는 아래 5가지 원칙의 앞 머리 알파벳을 따서 부르는 이름입니다. SRP(Single Responsibility Principle) : 단일 책임 원칙 OCP(Open Closed Principle) : 개방 폐쇄 원칙 LSP(Liskov Substitution Principle) : 리스코프 치환 원칙 ISP (Interface Segregation Principle) : 인터페이스 분리 원칙 DIP (Dependency Inversion Principle) : 의존 역전 원칙 SRP(Single Responsibility Principle) : 단일 책임 원칙 어떤 클래스를 변경해야 하는 이유는 오직 하나뿐이어.. 더보기
[Linux] Linux 및 Open Source 자격증 Linux Professional Institute Linux Professional Institute LPIC-1 Linux Professional Institute LPIC-2 Linux Professional Institute LPIC-3 Linux Professional Institute DevOps Tools Engineer Linux Professional Institute BSD Specialist Red Hat Red Hat Certified System Administrator (RHCSA) Red Hat Certified Engineer (RHCE) Red Hat Certified Specialist in Virtualization (RHCVA) The Linux Foundation L.. 더보기
[GeoServer] Log4j 2 취약점 코드 CVE-2021-44228 자바 기반의 로그 생성 라이브러리인 Log4j 2에서 중대하고 심각한 보안 취약점이 발견이 되었다는 소식이 전해졌다. GeoServer도 Log4j로 로그를 생성하는 기능이 관리 기능으로 포함되어 있기 때문에 즉시 점검이 필요했다. 지난 2021년 12월 13일 GeoServer 공식 사이트에 취약점 코드 CVE-2021-44228 대응법을 안내하는 Andrea Aime의 글이 GeoServer Blog를 통해 공개되었다. http://geoserver.org/announcements/2021/12/13/logj4-rce-statement.html Log4J2 zero day vulnerability assessment The Java world has been taken by storm, last we.. 더보기