본문 바로가기

개발

(131)
COCKPIT : Web Base Monitoring & Management Tool For Ubuntu 리눅스 서버 모니터링을 위해서 별도의 Dash Board 를 구축하는 경우가 많습니다. 저도 리눅서 장비를 모니터링하기 위해 Grafana 를 이용해 Dash Board 를 만들기도 했습니다. (링크 : Grafana 를 이용한 DashBoard) 이런 귀찮은 작업이 필요 없는 Web Base Linux Monitoring & Management Tool 인 cockpit 이 있습니다. 이런 유용한 때문인지 CentOS 는 7 이후, Ubuntu 는 17.04 이후 버전부터 기본 Package 에 포함 되어 있습니다. Cockpit 은 아래와 같은 기능을 제공 합니다. :-) - CPU, MEMORY, DISK I/O, NETWORK Traffic 확인 - SEVER Restart, Shut Down -..
Python Run Thread 파이썬은 기본적으로 싱글 쓰레드로 동작한다. 따라서, 병렬 처리를 위해서는 threading 모듈을 이용하여 Multi Thread 로 동작 하도록 해야 한다. python 에서 병렬 처리를 하는 방법인인 Thread 는 가볍지만 GIL로 작업은 한번에 하나의 Thread 에서만 동작하므로 CPU 작업이 적고 IO 작업이 많은 경우에 효과적이라고 한다. 이런 경우 thread =threading.Thread(target=functionn) 과 같이 thread 를 선언하고 thread.start() 로 시작 하면 된다. 아래의 코드는 flask 로 http://localhost:5000 에 접속하면 thread 2개가 실행되면서 randint 로 생성한 숫자(초) 간격으로 randint 함수로 생성한 숫..
Cent OS Root Partition Resize /, /home partition resize Cent OS 를 사용하다 보면 가끔 /opt 영역의 용량이 부족한 경우를 겪게 된다. 그 이유는 Cent OS 의 경우 Ubuntu 등과 달리 / 영역과 /home 영역의 파티션을 다르게 나누어서 사용하기 때문이다. Cent OS 에서 Hadoop 과 같이 /opt 에 많은 용량을 사용해야 하는 경우에는 Cent OS 를 재 설치해야 하는 고민에 빠지는 경우가 생기는데, 그럴 필요 없이 볼륨 용량을 다시 설정 하면 된다. 다시 말해, Hadoop 과 같이 / 영역에서 용량을 많이 사용 하는 경우 /home 은 용량이 많이 남는데 / 는 용량이 모자라는 상황이 발생한다. CentOS 는 원칙적으로 / 와 /home 을 구분하여 파티션을 생성한다. / /dev/mapper/centos-root /home ..
postgresql 배열을 row 로 바꾸기 : unwrap postgresql array into rows QUERY 를 짜다 보면 DATABASE 에 저장하지 않고 임시 테이블을 만들어 QUERY 에서 사용하고 싶을때가 있다. 이런 경우 PostgreSQL에서는 UNNEST 라는 함수를 이용하여 ARRAY 를 TABLE ROWS 로 변환 할 수 있다. SELECT UNNEST( '{1,2}'::INT[] ), UNNEST( '{Name-1,Name-2}'::TEXT[] ) 이런 몇가지 유용한 함수를 postgresql 에서는 제공한다. 자세한 내용은 “https://www.postgresql.org/docs/9.3/functions.html” 여기를 읽어 보면 필요한 함수를 찾을 수 있을 것이다~~:)
Flutter Launcher Icon 변경 Flutter 로 App 을 개발 하면서 icon 을 변경 하고자 하는 경우는 flutter launchear icons 를 이용하면 쉽게 App 의 icon 을 쉽게 변경 할 수 있다. https://pub.dev/packages/flutter_launcher_icons flutter_launcher_icons | Dart Package A package which simplifies the task of updating your Flutter app's launcher icon. pub.dev App 의 icon 을 변경하는 방법은 아주 간단하다. 1. 변경할 icon 을 asset 폴더 안에 추가한다. 2. pubspec.yaml 에 flutter launchear icons 을 추가한다. flut..
Docker ubuntu Image Build Proxy 설정 Docker 이미지를 만들다 보면 간혹 Proxy 망 안에서 사용 해야하는 경우가 생긴다. 이런 경우는 Docker Image 를 Build 할때 Proxy 설정을 해야 한다. 이렇게 Docker Image Build 시 아래와 같이 설정하면 ubuntu 이미지지는 proxy 가 설정 된다. ENV http_proxy=[http://1.1.1.1 #PROXY SERVER] ENV https_proxy=[http://1.1.1.1 #PROXY SERVER] ADD [CERTIFICATION FILE : *.crt] /usr/share/ca-certificates/ RUN echo [CERTIFICATION FILE : *.crt] >> /etc/ca-certificates.conf RUN update-ca..
Portainer 설치 및 사용법 : Docker Container Management Web Service Ubuntu, Mac 장비를 자주 사용하다 보면 Terminal 작업에 익숙해져서인지 Docker CLI 명령어가 어색하지는 않지만!! 항상 그렇듯이 조금 더 편하게 쓰고 싶다는 생각을 많이 하게 된다. 이런 경우 보통 추천하는게 Docker Kitemetic과 portainer 이다. 이 두개 모두 Docker CLI 기능을 제공하고 있기 때문이다. 하지만, portainer 의 경우 Docker swarm 을 이용해서 여러 서버 장비들의 Docker Container 까지 한번에 관리 할 수 있다는 장점이 있습니다. 간단한 Docker Orchestration 도구라고 할 수 있습니다. Local 환경에서 하나의 장비의 Docker Container 를 관리 한다면 kitemetic 을 여러 장비에서..
java, java script 에서 list, json object 의 중복 제거 Spring Boot + Vue 로 프로젝트를 진행하면 List 에서 중복된 값들을 제외 하는 경우가 많이 발생하고 한다. 여기 저기서 계속 찾아보다가, 귀찮아서 정리를 해봤다~~~:) 1. java 에서 List 의 중복 값 제거 For 문을 이용하여 하나씩 비교 하 수도 있지만, HashSet 을 이용하면 간단하게 중복된 object 를 제거 할 수 있다. List customVoList = new List(); customVoList.add(test1); customVoList.add(test2); HashSet customVoListSet = new HashSet(customVoList); List processedList = new List(customVoListSet); 2. javascrip..
Workspaces Layout Change 2x2 in Ubuntu 18.04 Ubuntu 16.04 에서 Ubuntu 18.04 가 되면서 개인적으로 불편한 것 중 하나는 Workspace 가 1x4 로 구성 되어서 위/아래로 고정 되었다는 것이다. 개인적으로는 4x1 처럼 좌/우로 Workspace 가 구성 되는 것을 선호 하기 때문이다. 항상 리눅스는 방법이 있으니까... 찾아 보았다! 이런 Workspaces 구성은 Gnome Tweak 의 Extension 인 Workspace Matrix, WorkSpace Grid 를 이용하여 변경 할 수 있다. Gnome Tweak Extension 이므로 Gonme Tweak 이 설치 되어 있어야 한다. :) 개인적으로는 Workspace 이동시 Thumbnail 이 나오는 Workspace Grid 가 좋아서 사용하고 있다. 둘 ..
Ubuntu Use MagicMouse2 & Pad2 : Touch Scroll Working 맥을사용하다 Ubuntu 등의 리눅스를 사용하면서 아쉬운 부분이 몇 가지가 있다. 그 중 하나는 Magic Mouse & Magic Track Pad 를 사용하지 못한다는 것이다.(사용은 가능하나 상/하/좌/우 스크롤이 안된다;;) 개인적으로 Magic Mouse 의 '상/하/좌/우' 스크롤을 너무 편하게 잘 써왔기에 그렇게 느끼는 것 같다. 이런 불편함을 나만 가지고 있었던것은 아닌지 Ubuntu 에서 Magic Mouse & Magic Track Pad 를 사용 할 수 있도록 해주는 프로젝트가 있었다. 이 프로젝트의 Driver 를 이용하면 ‘상/하/좌/우' 스크롤이 잘 된다. https://github.com/rohitpid/Linux-Magic-TrackPad-2-Driver rohitpid/Li..