728x90
반응형

Development Tip 40

C# listbox를 자동 스크롤되도록 만들기

안녕하세요, MoonLight입니다. ​ 이번 Post에서는 C#으로 Winform Application을 만들다 보면, Log나 Message를 연속으로 출력해 주는 Control이 필요한 경우가 가끔 생기기도 합니다. ​ 이런 기능을 제공하는 Control이 있는지 Visual Studio 찾아보니 기본 도구 상자에는 이와 같은 기능을 제공해 주는 Control은 없는 것 같아서 ​ ListBox를 이용해서 한 번 만들어 보려고 합니다. ​ 최종적으로 구현하려는 기능 다음과 같습니다. - Text 형식의 Log Message를 Control에 추가가능 - Log Message를 추가하면 자동으로 Scroll되고, 최종적으로 추가한 Log Message가 가장 하단에 보이도록 구성 ​ 우선 아래와 같이..

Development Tip 2024.02.15

C# UI 작업하면서 Delay 주기

안녕하세요, MoonLight입니다. ​ 오늘은 C#에서 Thread 작업 중에 UI가 먹통이 되지 않으면서 Delay를 줄 수 있는 방법을 2가지 소개해 드릴까 합니다. ​ Delay를 주는 함수로써 Thread.Sleep()이 대표적인데, 이 녀석은 Delay 동안 Blocking된다는 치명적인 단점이 있습니다. ​ Blocking되버리면, UI가 먹통이 되버리기 때문에 사용자의 짜증을 유발할 수가 있습니다. ​ 이런 상황은 절대로 일어나선 안되겠죠. ​ ​ 이를 방지할 수 있는 방법으로 제가 주로 사용하는 방법은 2가지가 있는데요, 하나씩 알아보겠습니다. ​ ​ 1. Event 처리하면서 Delay하기 아래 Code와 같은 Delay함수를 만듭니다. ​ 정해진 시간만큼 Delay하고, System...

Development Tip 2024.02.14

C# - Application을 관리자권한으로 실행하기

안녕하세요, MoonLight입니다. ​ 이번 Post에서는 C#으로 응용 프로그램을 개발할 때 관리자 권한으로 실행되도록 하는 방법을 소개해 드리겠습니다. ​ C# Application을 만들다 보면 간혹 내가 만든 Application이 관리자 권한으로 실행되도록 해야 하는 경우가 있습니다. ​ 예를 들면, 하드웨어 관련 작업을 수행을 한다거나 기타 여러가지의 사유로 이런 경우가 생길 수 있습니다. ​ ​ ​ 저는 Application 속성(manifest)를 수정하는 방법을 소개해 드릴 예정이며, 어떻게 하면 되는지 자세히 알아보도록 하겠습니다. ​ ​ ​ 1) 먼저, 작업하고 계신 Application 속성으로 갑니다. ​ ​ ​ ​ ​ ​ ​ ​ ​ 2) '보안' 탭으로 이동하신 후에 오른쪽에 ..

Development Tip 2024.02.05

BIOS에서 TPM(Trusted Platform Module) 활성화 방법

안녕하세요, MoonLight입니다. ​ 이번 Post에서는 Windows 11을 설치하기 위해서 반드시 필요하다고 하는데, 처음 들어보는 TMP(Trusted Platform Module)을 ​ BIOS에서 Enable하는 방법을 알아보도록 하겠습니다. ​ 우선, TPM(Trusted Platform Module)이란 PC의 보안을 향상시키는 방법 중 하나이며 ​ 꽤 오랫동안(20년 가까이) 사용되어져 오던 기능이라고 하네요. https://support.microsoft.com/ko-kr/topic/tpm%EC%9D%B4%EB%9E%80-705f241d-025d-4470-80c5-4feeb24fa1ee ​ 하지만, 실제로 잘 사용되어지진 않아서 인지, 저도 Windows 11 설치하려다가 처음 알게 ..

Development Tip 2024.01.30

AMD CPU '가상화' SVM(Secure Virtual Machine)기능 켜기

안녕하세요, MoonLight입니다. ​ 이번 Post에서는 AMD CPU를 사용하는 사용자들이 '가상화' 기능을 Enable하는 방법에 대해서 알아보고자 합니다. ​ AMD CPU는 가상화 기능을 SVM(Secure Virtual Machine)이라는 이름으로 지원하고 있습니다. ​ 제 개발용 PC에는 AMD 3700X를 사용하고 있는데, 이 PC에 WSL2에 Docker를 설치해 보려고 이것저것 확인해 보던 중에 ​ 이 '가상화' 기능이 꺼져 있더라구요. ​ BIOS에서 켜야 하는데, 살짝 복잡한 것 같아서 공유해 보도록 하겠습니다. ​ ​ ​ 먼저, 당영한 이야기지만, BIOS에 들어갑니다. ​ 기가바이트 BIOS화면으로 설명하자면, BIOS에서 'M.I.T' 메뉴로 들어갑니다. ​ 거기에서 'Ad..

Development Tip 2024.01.26

Visual Studio Code python Argument 넣어서 디버깅하기

안녕하세요, MoonLight입니다. ​ 이번 Post에서는 Visual Studio Code에서 python 명령어 인자(Arguments)를 넣어서 Debugging 할 수 있는 방법을 소개해 드릴까 합니다. ​ 다른 이들의 Project를 받아서 내가 직접 변수들 값도 보면서 이것저것 확인해 보고 싶은 경우가 많은데 ​ 이럴 때에 Command Line Arguments를 넣는 방식으로 만들어진 Project를 Visual Studio Code로 ​ Debugging하려면 조금 난감한 경우가 있습니다. ​ ​ 이럴때 어떻게 하면 쉽게 Command Line Arguments를 넣어서 Debugging 할 있는지 알려드리겠습니다. ​ ​ ​ 먼저, 'Debug' 단추를 누른 후에 아래 그림과 같이 '..

Development Tip 2024.01.03

Bitbucket Public Key 등록 방법

Bitbucket 작업시에 아래와 같이 Public Key가 없다는 Error가 발생하는 경우에, Bitbucket에 나의 Public Key를 등록해야 합니다. 우선 ~/.ssh에 Public Key File이 있는지 확인합니다. Key File이름은 id_rsa.pub 입니다. 위와 같이 Key File이 없다면 생성해야 합니다. ssh-keygen으로 Public Key 생성합니다. Bitbucket으로 가서 방금 만든 Public Key를 등록합니다. 아래 위치로 따라가 주세요 아래 command로 Key File 내용을 클립보드로 복사합니다. 복사한 Key File 내용을 아래 위치에 붙여넣기 해줍니다. 다시 해 보면 잘 되는 것을 확인할 수 있습니다.

Development Tip 2023.10.31

Conda Commands

0. Introduction Anaconda는 Data Scient와 Machine / Deep Learning에서 사용하는 다양한 Package들을 관리해 주는 Open Source Platform입니다. GUI를 사용할 수도 있지만, 보다 세밀하고 다양한 기능을 사용하기 위해서는 Console에서 사용하는 Command들을 알아둘 필요가 있습니다. 이번 Post에서는 Anaconda의 Command들을 알아보도록 하겠습니다. 1. Commands 1.0. Conda 정보 출력 conda info 이 명령어는 Conda Package 관리자와 관련된 정보를 출력하는 명령어입니다. 1.1. Conda Package 관리자 Update conda update conda Conda Package 관리자 자체..

Development Tip 2023.10.31

Ubuntu에서 화면 캡쳐하는 방법

이번 Post에서는 Ubuntu에서 화면 캡쳐를 해야하는 경우에 방법을 알려드리겠습니다. 제가 사용하고 있는 Ubuntu 20.04 기준으로 설명드리겠습니다. 기본적으로 캡쳐하는 영역은 전체 화면 / 현재 Active Windows / 선택 영역, 이렇게 3가지가 있고, 저장 방식은 클립보드에 복사 / 파일로 저장, 이렇게 2가지가 있습니다. 전체 화면 캡쳐의 경우 다중 모니터 전부를 다 캡쳐하니 참고하시기 바랍니다. 파일로 저장하는 경우에는 기본적으로 '사진' 폴더에 시간/날짜 정보가 포함된 파일명으로 저장됩니다. 그리고, 화면을 한장의 그림 파일이 아닌 짧은 동영상으로 녹화하는 기능도 있습니다. 'Record a short screencast'이라는 이름으로 기능이 제공되고, .webm 확장자로 '비..

Development Tip 2023.10.16

우분투에서 키 입력 시간을 조절

안녕하세요. ​ 이번 Post에서는 우분투에서 키 입력 시간을 조절할 수 있는 방법을 공유드리겠습니다. ​ Windows에서는 쉽게 키 입력 시간을 조절할 수 있었는데, 우분투에서는 아무리 설정을 뒤져봐도 ​ 관련 기능 설정 항목이 없어서 답답하셨을 겁니다. ​ 우분투에서 제공하는 Utility 중에 xset이라는 것이 있습니다. https://manpages.ubuntu.com/manpages/trusty/man1/xset.1.html ​ 다음과 같은 Option으로 사용하면 됩니다. ​ xset r rate delay [rate] ​ delay : 첫번째 글자가 입력된 후 두 번째 글자가 입력되기까지의 지연시간을 뜻하며, ms 단위입니다. rate : 1초당 반복 입렫되는 키 입력 횟수를 정의합니다...

Development Tip 2023.10.05
728x90
반응형