unittestpython에서 테스트 코드를 작성하는 패키지이다. 내장 패키지이므로 따로 설치할 필요는 없고 바로 import 해서 사용이 가능하다.테스트는 최대한 작은 단위로 쪼개서 하는것이 나중에 프로젝트가 커짐에 따라 유지보수에 유리하다.사용 방법unittest.TestCase를 상속받는 테스트 클래스를 생성한다.클래스 메소드로 테스흐를 하고자하는 코드를 작성한다.assert*() 등의 테스트 메소드를 이용하여 원하는 코드가 동작하는지 체크한다.assert에서 실패하면 에러로 취급하여 테스트 실패가 된다.아래 각각의 메소드는 독립적으로 테스트되며 서로 영향을 주지 않는다.전체를 실행할 시에 테스트 메서드의 순서는 문자열 이름순으로 동작한다.import unittest class TestStringM..
htophtop 명령어는 터미널 상에서 cpu를 사용하고 있는 프로세스들을 모니터링하고 싶을 때 사용한다.top 명령어도 있지만 htop이 색과 정보, 기능들이 더 많아 직관적이기 때문에 htop을 주로 사용한다. 사용법F1 키를 누르면 아래처럼 전체적인 사용방법과 설명이 나온다.CPU, Memory, Swap, 프로세스 상태에 대한 설명과 단축키에 대한 기능을 알려준다. 또는 아래 메뉴 중에 필요한 Function 키를 누른다.F1: 위와 같은 설명을 보여준다.F2: 화면 구성, 레이아웃, 테마 등 설정을 관리한다.F3: 원하는 프로세스를 검색한다.F4: 원하는 프로세스만 출력되도록 필터링 한다.F5: PID에 따라 트리 형태로 보여준다.F6: 원하는 옵션에 따라 정렬해서 보여준다. (e.g. 메모리 ..

개요Dice score는 IoU와 같이 두 개의 영역 A, B가 얼마나 겹쳐지는 지를 나타내는 지표이다. Segmentation과 같은 기술을 사용할 때, GT와 예측된 영역 Pred를 비교할 때 사용할 수 있다.Dice Coefficient(Score)공식아래와 같이 A와 B의 겹쳐지는 정도로 계산할 수 있다. Dice 공식이 IoU와 다른 점은 분모에 교집합 부분(TP)이 한 번 더 더해지고, 분자에도 이와 마찬가지로 교집합(TP)이 한 번 더 더해진다. IoU=A∩BA∪BIoU=\dfrac{A\cap B}{A\cup B}IoU=A∪BA∩B Dice=2∗∣A∩B∣∣A∣+∣B∣=2∗TP(TP+FP)+(TP+FN)Dice = \dfrac{2*|A\cap B|}{|A| + |B|}= \dfrac{2*T..
Homebridge란?요새 출시되는 전자기기들은 wifi나 원격으로 제어할 수 있도록 출시 된다. 그러나 문제는 대부분 각 제조사에서 지원하는 어플을 통해서만 가능하다는 것이다. 어떤건 삼성앱 어떤건 lg앱 어떤건 샤오미앱 등등.. 이게 번거로워서 애플의 홈 앱을 통해 통합할 수 있는지 찾아봤다.공식적으로 홈킷을 지원하진 않는 기기들도 homebridge라는 오픈소스를 통해서 추가할 수 있는 방법이 있었다.모든 기기가 되는 것은 아니고 wifi를 통해서 컨트롤할 수 있는 기기는 대부분 등록이 되는 것 같다.일단 아래처럼 집에서 가능한 기기 중 LGtv랑 샤오미 선풍기, 그리고 다른 전등 등을 추가해봤다.홈킷에 등록하면 Siri를 통해서 음성 명령이 되고 제어센터에서 버튼으로 쉽게 제어할 수 있어서 굉장히..
cp 문제점기존에 cp 로 파일을 복사하게 되면 상태가 출력되지 않기 때문에 진행중인지 끝난건지 알 수가 없었다. 프로세스를 확인하면 되긴 하지만 진행도를 알기가 쉽지 않다.따라서 rsync를 통해 파일을 복사하면서 진행률을 표시하는 법을 알아봤다.rsyncremote sync의 줄임말로 여러가지 옵션을 이용해 원격 또는 로컬간에 파일이나 디렉토리를 복사하는 명령어이다.옵션여러가지 옵션이 있지만 주로 아래 옵션과 명령어로 사용한다. -a: 이 옵션은 다른 대부분의 옵션을 동시 적용한 것으로 권한이나 시간 등도 동일하게 복사하는 옵션이다.-h: 파일 크기를 사람이 알아 볼 수 있도록 kb, mb, gb 단위로 출력한다. --info=progress2: 파일 단위가 아닌 전체 진행도를 한번에 출력한다. 이게..
개요드디어 Notion에서 Tistory 옮기는 코드를 정리해서 공개하려고 합니다. 처음 작업을 시작한지가 벌써 1년 반 정도가 지난 것 같네요. 지금까지 오픈하지 못했던 이유는 코드가 너무 지저분했고, 개개인마다 설정해줘야 하는 다양한 번거로움이 있었습니다. 지금은 어느정도 해결된 부분이 있어 최소한의 설정 파일로 동작하도록 개발하였습니다.아래는 N2T 코드 github 링크 입니다.https://github.com/jmjeon94/N2T기능아래와 같은 노션 테이블 페이지에서 상태 컬럼을 발행 요청/수정 요청으로 두면 해당 내용이 자동으로 티스토리 블로그로 업로드 해줍니다.준비사항Python 등 개발관련 기초 지식크롬 부라우저 (selenium 사용)카카오와 연동된 티스토리 계정티스토리 Open API..
문제inflearn spring 강의를 보다 처음 코드를 실행해봤는데 아래와 같은 에러가 발생하였다.기존에 java 8버전이 설치되어 있었는데, 강의에서 스프링 initializer를 11버전으로 하는 바람에 생긴 에러인 것 같다.해결java 11 버전을 정상적으로 설치하고, intelliJ에서 아래와 같이 설정을 바꿔준다.File - Project Structure - SDK를 11버전으로 선택 후 apply, OK를 누른다. 이제 아래와 같이 정상적으로 실행된다.

git status 한글깨짐 문제그냥 ls 명령어로는 한글이 잘 출력 되는데 git으로 출력되는 한글이름만 아래처럼 깨져서 보이는 경우가 있다.해결 방법터미널 창에서 아래 명령어를 입력해준다.git config --global core.quotepath falsecore.quotepath는 큰 바이트를 가진 문자를 unusal인 케이스로 포함되어 파일명이 깨지게 된다고 한다. 따라서 core.quotepath를 false로 셋팅해주면 한글이 unusal 케이스로 분류되지 않고 정상적으로 출력된다.참고[1] https://zlzzlzz2l.tistory.com/50
[GCP] 외부 접속 포트 설정하기gcp에서 인스턴스를 구성했으면 이제 외부에서 접속이 가능하도록 설정해야 합니다.저는 python의 flask로 테스트를 해보겠습니다. 접속 포트 추가하기GCP 메뉴중 VPC 네트워크 - 방화벽 메뉴에 들어갑니다.기본적으로 ssh, rdp등을 위해 기본 포트가 구성되어있습니다.여기에 접속 가능한 포트를 추가해주면 됩니다.방화벽 규칙 만들기를 눌러줍니다.방화벽 규칙 이름은 원하는 대로 입력줍니다.대상은 어떤 인스턴스에 해당 규칙을 적용할지 입니다.인트턴스가 여러개로 관리하시는 분은 이 글을 읽지 않을 거라 생각하고 네트워크의 모든 인스턴스를 선택해줍니다.소스 필터/범위는 접속이 가능한 IP를 설정해주는 것입니다. 0.0.0.0/0 으로 지정하면 전세계 모든 곳에서 접속이 ..
SSH로 GCP 인스턴스 접속하기지난 게시물에서 프리티어로 인스턴스를 만들어봤습니다. 브라우저로 접속은 해봤지만 매번 gcp사이트를 접속하기가 번거롭기 때문에 터미널에서 ssh로 접속하는 방법을 알아보겠습니다.생성된 인스턴스 페이지를 확인하시면 다른 SSH 클라이언트 사용 메뉴가 있습니다.아래 링크를 들어가시면 공식문서를 확인할 수 있습니다.Connecting to Linux VMs using advanced methods | Compute Engine Documentation | Google CloudIn general, the best SSH connection methods are described in the Connecting to instances document. However, when y..
- Total
- Today
- Yesterday