전체 글
-
kotlin null safety카테고리 없음 2022. 10. 4. 13:45
코틀린을 시작하면서 신기한 연산자를 정리 했습니다. 기본적으로 kotlin은 null을 허용하지 않습니다. 다만 명시적으로 null을 허용할수 있는데요. // null 할당시 오류 var a: String = "abc" // Regular initialization means non-null by default a = null // compilation error // null 명시적 허용 처리 var b: String? = "abc" // can be set to null b = null // ok print(b) // null 인 b의 length에 접근시 오류 발생 val l = b.length // error: variable 'b' can be null 명시적으로 null을 허용하게 하였다면, ..
-
sar 툴 설치 하기설치&설정 관련 2021. 12. 29. 02:19
sar를 활용해서 시스템 모니터링을 해보자! 1. sar(Systecm Activity Reporter 이하 sar) 란? sar 는 리눅스에서 유용하게 쓰는 시스템 모니터링 프로그램입니다. 모니터링 대상이 상당히 넓은 편이며 기본값은 CPU 활동에 대한 통계를 출력합니다. 각종 활동에 대한 통계를 다른프로그램을 이용하여 파일로 저장하고 통계치를 리포팅 하는 기능을 제공합니다. sadc에서 생성한 daily activity 파일을 읽어서 보고서를 작성하기도 하고 시스템의 활동 상황을 수집 할 수도 있습니다. 2. sar 명령어로 모니터링 가능한 항목 I/O 전송량 페이징 프로세스 생성 숫자 블락 디바이스 활동 인터럽트 네트워크 통계 run 큐 및 시스템 부하 평균 메모리와 스왑 공간 활용 통계 메모리 통..
-
Redmine을 raspberry pi 4에 설치 하기Raspberry PI & Jetson nano 2021. 12. 27. 02:18
raspberry pi 에 Redmine 설치하기 redmine은 오픈소스 이슈트래커로 꽤 유명한 툴입니다 오늘은 reapberry pi 에 redmine을 설치해보고, redmineup이라는 무료 플러그인을 설치해보려고 합니다. 설치는 docker-compose를 이용해서 쉽게 진행할 예정입니다. Put Redmine docker container in Raspberry Pi 4 Model B 2GB에서 제공되는 명령어를 간략하게 작성하려고 합니다. docker-compose 설치 sudo apt-get update #업데이트 sudo apt-get -y upgrade #업그레이드 curl -sSL https://get.docker.com | sh #install docker sudo apt-get -..
-
nosql과 sql은 어떤 차이가 있을까요?설치&설정 관련 2021. 12. 26. 02:17
얼마전 nosql을 왜 써야 하냐는 질문을 받았습니다. nosql은 개발을 빠르고 편하기 위해 사용하지, 운영 업무 담당자의 입장에서는 관리 되지 않는 데이터라고 말씀 주셨습니다. 제 생각은 명확하게 nosql과 sql은 구조, 사용법이 다르다 이야기 했지만 잘 전달 되지는 않았네요. SQL vs NoSQL의 내용을 보면 수정이 거의 없는 대량 데이터는 sql보다는 nosql이 같는 잇점이 크다고 이야기 합니다. (물론 sql 만으로도 처리가 가능하지만요.) NoSQL은 언제 가장 좋은가요? 정확한 데이터 요구 사항 또는 데이터 자체가 알려지지 않았거나 변경/확장될 수 있음 높은(읽기) 처리량이 필요하지만 데이터를 자주 변경하지 않습니다(즉, 한 번의 변경으로 인해 항상 수십 개의 문서를 업데이트할 필요..
-
MS TEAMS에서 채팅방 생성, 메시지 발송, 사람 초대 등의 처리 정리설치&설정 관련 2021. 12. 25. 02:16
TEAMS 채팅방 생성 및 메시지 발송까지 우선 시작하기에 앞서서 TEAMS의 graph api는 application의 채팅방 생성(Create chat)을 지원하지 않습니다. 이를 해결하기 위해서 진행한 내용을 정리했습니다. 1. 채팅방 생성을 하고, 메시지를 발송하는 역할의 계정을 생성해야 합니다. 계정의 Access token을 이용해서 채팅방을 생성하고 메시지 발송을 하는 teams graph api를 호출합니다. 2. 계정 생성이 완료 되었으면, 채팅 관련 권한을 할당합니다. 권한 할당은 graph-explorer를 통해서 쉽게 할 수 있습니다. 3. 사용자의 Access token을 저장하는 프로그램을 작성합니다. 시작에도 이야기 했듯이 Teams graph api의 Create chat기능..
-
Error: Invalid hook call. Hooks can only be called inside of the body of a function component.HTML + JAVASCRIPT + CSS/ReactJS+AngularJS +VueJS 2021. 12. 23. 02:15
Error: Invalid hook call. Hooks can only be called inside of the body of a function component. 내가 만든 React 모듈을 rollup으로 빌드 후 사용할때 위와 같은 오류를 만났습니다. 원인으로 peerDependencies 설정을 하지 않아서 발생했습니다. package.json에 다음과 같이 peerDependencies 를 설정하고 모듈을 배포 하면 해당 오류가 사라졌습니다. "peerDependencies": { "react": "^17.0.2", "react-dom": "^17.0.2" },제가 사용한 rollup.conf 파일은 아래와 같습니다. import peerDepsExternal from "rollup-plu..
-
CentOS 에서 puppeteer 실행시 libxkbcommon.so.0를 못찾을때 처리 방법LINUX 2021. 12. 21. 02:14
CentOS 에서 puppeteer 실행시 libxkbcommon.so.0를 못찾을때 처리 방법 CentOS에서 node 기반의 puppeteer를 실생하 다음과 같은 오류를 만났다 발생 에러 로그 (node:16300) UnhandledPromiseRejectionWarning: Error: Failed to launch the brows er process! /applications/service/teamstokengen/node_modules/puppeteer/.local-chromium/linux -901912/chrome-linux/chrome: error while loading shared libraries: libxkbcommon.so.0: cannot open shared object f..