기본 콘텐츠로 건너뛰기

윤석열 내란우두머리 사형 구형

아직 구형. 전두환도 사형, 노태우도 무기. 민주공화국을 군을 동원해서, 독재하려던 자들은 모두 사형시켜주는 것이, 민주공화국을 지키는 길이다.

ESP8266 + TM1637 WIFI 인터넷 시계 만들기

ESP8266 과 TM1637 으로 인터넷 시계 만들기 원래는 다이소에서 판매하는 5000원짜리 시계 뜯어서 만드려고 했는데, 시계를 뜯어보니, 자체 MCU를 통해 제어를 하고 있어 TM1637 로 구현하고 나중에 케이스를 만드는게 나을 것 같아서 아래와 같이 구현(chatGPT)했다. 30분마다 NTP 가져오기 WIFI가 끊기더라도 RTC 유지 WIFI가 끊기면 1분에 한 번씩 재접속 시도 버튼을 3초 누르면, AP 설정 모드 (88:88 표시) #include <ESP8266WiFi.h> #include <WiFiUdp.h> #include <TM1637Display.h> #include <WiFiManager.h> // https://github.com/tzapu/WiFiManager #define CLK D5 // TM1637 CLK #define DIO D6 // TM1637 DIO #define CONFIG_BUTTON_PIN D7 // 설정 진입 버튼 TM1637Display display(CLK, DIO); // 시간 관련 변수 time_t currentEpochTime = 0; unsigned long lastNtpMillis = 0; unsigned long checkTermMillis = 1800000UL; // 30분마다 NTP 다시 받아옴 // Wi-Fi 재접속 관련 unsigned long lastWiFiReconnectAttempt = 0; const unsigned long wifiReconnectInterval = 60000; // 1분 // 버튼 관련 unsigned long buttonPressedTime = 0; bool buttonWasHeld = false; const unsigned long CONFIG_HOLD_TIME = 3000; // 3초 bool isInConfigMode = false; const char* ntpServer = ...

버즈 라이브 배터리 교체

나는 버즈 라이브(SM-R180)가 좋은데, 평가가 별루였는지, 해당 스타일로 버즈를 더 이상 만들지 않고 있다. 아무튼, 오래 쓴 버즈 라이브 배터리가 슬슬 맛이 가기 시작해서, 블로그 를 참조하면서 분해 및 교체를 하였다. (진짜 쉬움) 요로코롬 위아래를 살짝 눌러주면 뚜껑이 벌어진다. 안쪽 플라스틱은 오른쪽은 분홍색, 왼쪽은 회색이다. 리본 케이블 살짝 들어내고, 기판을 떼어내면, 작은 나사가 있다. 나사를 풀고, 플라스틱을 걷어내면, 검은 양면 테이프로 고정된 CR1254 배터리가 보인다. 잘 쑤셔서(?) 꺼낸다. 새로운 CR1254 배터리를 넣는다. 음극이 아래로 가도록 하고, 분해의 역순으로 조립하면 된다. 조립할 때, 아까 풀었던 나사는 잊지 말고 꼭 조여준다. (까먹고 조립해서 다시 뜯고 조립함) 충전도 잘 되고, 소리도 잘 나는거 보면, 조립도 잘 된 것 같다. 이렇게 버즈 라이브의 수명을 강제로 늘렸다. 나중에 본체 배터리도 갈아야겠다.

Windows 에서 절전을 깨우는 장치 찾기

참조:  https://www.reddit.com/r/computer/comments/wquswv/windows_11_pc_wakes_up_every_time_i_move_usb/ powercfg /devicequery wake_armed powercfg /deviceenablewake "[DEVICE]" # $PROFILE function Get-WakeArmedDevices { $devices = powercfg -devicequery wake_armed if ($devices) { $devices | ForEach-Object { $_.Trim() } } else { Write-Host "No devices are currently armed for wake events." } } function Set-EnableWakeOnDevice { param( [string]$deviceName ) sudo powercfg -deviceenablewake $deviceName } function Set-DisableWakeOnDevice { param( [string]$deviceName ) sudo powercfg -devicedisablewake $deviceName }

잃지 않기 위해, 잊지 않기 위해

  지켜주어야 한다. 그래서 문재인 정부도 지켰고, 이제는 이재명 후보도 지켜야 할 시간이다.

탐색기에서 OneDrive 이 2개로 보이는 문제

왜 2개가 보이는지 모르겠지만, Registry 삭제하면 됨 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace 하위 키에서 OneDrive 둘 중에 하나만 지워도 바로 반영됨. 참조:  https://answers.microsoft.com/en-us/msoffice/forum/all/duplicate-onedrives-in-file-explorer/49c935a6-287b-43a5-aed5-2dee2a1c1b22

절전을 깨운 녀석 알아내기

가끔씩 윈도우 절전을 깨우는 녀석이 있는데, 보통은 USB Keyboard/Mouse 이다. 요런 녀석들은 장치관리자에서 "이 장치를 사용하여 컴퓨터의 대기 모드를 종료할 수 있음"을 꺼주면 된다. 그래도 가끔씩 알 수 없는 이유로 켜졌을 경우, 관리자 권한으로 커맨드 창 열고 확인한다. C:\> powercfg -lastwake 절전 모드 해제 기록 카운트 - 1 절전 모드 해제 기록[0] 절전 모드 해제 소스 카운트 - 1 절전 모드 해제 소스[0] 종류: 장치 인스턴스 경로: XXX 이름: YYY 설명: ZZZ 제조업체: AAA

Windows 11 기존 컨텍스트 메뉴 사용

Windows 11 에서, 컨텍스트 메뉴가 지저분한게 싫었는지, 모던 컨텍스트 메뉴라고 따로 필요한 것만 정리해서 보여준다. 그러나 이게 좀 불편하고, 기존의 꼭 필요한 메뉴가 보이지 않아 굳이 한 번 더 기존 메뉴를 불러오는데, 모든 앱들이 모던 컨텍스트 메뉴로 옮길 때까지는 기존 컨텍스트 메뉴를 기본으로 볼 수 있는 방법이 있다. REM 관리자 권한 REM 기존 컨텍스트 메뉴 reg.exe add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /f /ve REM 모던 컨텍스트 메뉴로 되돌리기 reg.exe delete "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}" /f 이거 하고 탐색기를 재시작한다. 참조:  Restore old Right-click Context menu in Windows 11

Winget 해시 무시하기

가끔씩 Winget 에서 패키지를 다운로드 했을 때, "설치 관리자 해시가 일치하지 않습니다." 오류가 뜰 때가 있다. 보안 이슈가 있지만, 그냥 무시하고 싶을 때, 아래 순서로 무시해준다. 관리자 권한 winget settings --enable InstallerHashOverride 설치 winget install --ignore-security-hash --id NirSoft.NirCmd

Cascadia Code 글꼴

집에서 딩가딩가 놀다가 Windows Terminal 을 켰는데, 글꼴이 전과 좀 다른 것 같아서 뒤적뒤적 해봤더니, Cascadia Code 라는 글꼴을 기본 글꼴로 사용하고 있었네? 원래는 Monospace 던가 그거였는데? 근데 또 이게 이뻐서 확인해보니, Microsoft 가 Windows Terminal 에 묶어서 배포하고 있는 글꼴이다. Github: Cascadia Code 다운로드 Zip 파일을 열어보면 ttf 폴더 안의 것만, C:\Windows\Fonts 에 옮기면 된다. static 폴더는 제외한다. Cascadia 뒤에 뭔가 많이 붙은게 있는데, 다음과 같다. Cascadia Code: 기본 Cascadia Mono: 합자(Ligatures) 제거. Cascadia (Code|Mono) PL: Powerline 심볼 추가. Cascadia (Code|Mono) NF: Nerd Font 심볼 추가. 어지간한 OS와 앱에서 Cascadia Code NF를 사용하는게 좋은데, 만약 합자를 보기 싫으면, Cascadia Mono NF를 사용하면 된다.

동영상 EXIF 기반 파일 생성일과 수정일 변경

Quick Share 를 통해 Android 기기 안의 사진과 동영상을 PC 로 옮기고, FastStone Image Viewer 를 통해 파일명을 템플릿에 맞춰 변경해놓는다. 그런데, USB 전송과 달리, Quick Share 는 원본 파일의 생성일/수정일 정보를 전달하지 않으며, FastStone Image Viewer 는 멀쩡한 MP4의 EXIF 메타데이터를 두고, 파일의 생성일/수정일을 기준으로 파일명을 변경하려고 시도한다. 따라서 모든 동영상 파일이 옮긴 일자 기준으로 파일명을 변경하는데, EXIFTool 을 이용하면 약간의 수고를 덜 수 있다. EXIFTool 설치 winget install OliverBetz.ExifTool ${Home}\Downloads\NearBy 디렉토리에, 아래와 같이 updateEXIF.ps1 파일을 만들어 두고, 파일 전송할 때마다 한 번씩 실행해주면, 하위 디렉토리의 MP4 파일을 찾아서 EXIF 기준으로 파일 생성일과 수정일을 변경해준다. #/usr/bin/env pwsh # MP4 파일의 생성/수정일을 EXIF데이터를 기반으로 변경한다. $files=Get-ChildItem -Recurse -Path "$PSScriptRoot" -Filter *.mp4 | ForEach-Object {$_.FullName} foreach( $file in $files) { echo "$file" exiftool -api QuickTimeUTC '-FileCreateDate<CreateDate' '-FileModifyDate<CreateDate' "$file" } Write-Host "MP4 파일 업데이트가 끝났습니다. 아무 키나 누르세요..." $anykey=[Console]::ReadKey() 사실 FastStone Image Viewer 가 MP4 파일명을 바꿀 때, EXIF를 우선으로 참...

사람은 숫자가 아니다

사람은 숫자가 아니다. 각종 지표 등은 사람이 세상을 이해하기 쉽게 만든 프레임이자 도구이며, 참고용에서 끝나야 한다. 숫자와 프레임이 매우 쉽기 때문에 그것에 생각을 매몰해버리면 안 된다.     사람을 숫자로 보면, 지옥이 펼쳐진다.

Cascadia Code

지금까지 코딩용 글꼴을 네이버에서 배포하는 D2Coding 만 써왔다. 그러다 어느날, Windows Terminal 을 켰는데, 글꼴이 D2Coding 이나 Monospace 가 아니었다. 모지? Microsoft 에서 개발해서 Windows Terminal 에 묶어서 배포하고 있는 새로운 고정폭글꼴인 Cascadia Code 이다. Microsoft Cascadia 코드 설명 Github Cascadia Code   Windows 10/11 사용자면, Windows Terminal 을 AppStore 에서 설치하면, 업데이트 같은 거 신경 쓰지 않아도 된다. 아니면 릴리즈 에서 zip 파일 받아서 압축 풀고, C:\Windows\Fonts 디렉토리에 던져놔도 무방하다. 던질 때, ttf 디렉토리에 static 디렉토리가 추가로 있는데, 그건 제외한다. (static 디렉토리에 있는 ttf 파일은, 오래된 시스템에서 지원하지 못하는 기능을 미리 렌더링 한 글꼴인 듯 하다) Linux 사용자면, ~/.fonts 디렉토리에 적당히 디렉토리 하나 만들고, 그곳에 ttf 파일을 옮겨 놓고, fc-cache -fv 실행 한 번 해주자. (아니면 GUI에서 간단하게 설치도 가능) Mac 사용자면, brew 에서 설치할 수 있는 것 같다. brew tap homebrew/cask-fonts brew install --cask font-cascadia-code brew install --cask font-cascadia-code-pl brew install --cask font-cascadia-mono brew install --cask font-cascadia-mono-pl   뒤에 code, mono, pl 등은 아래와 같다. code: 기본기능. 합자(ligature) 지원 mono: 기본기능에서 합자(ligature) 제거 pl: Powerline용 NerdFont 추가

ProxySQL 에서 Unknown system variable 'query_cache_size' 오류

ProxySQL을 쓸 때, MySQL 프로토콜을 여러모로 흉내내는데, 이때, 기본 서버 버전을 5.5.30 으로 두고 있다. 아마 MySQL 5.x 버전을 사용하는 부분을 고려해서 그런 듯 한데, MySQL 8.x 버전을 사용하면 문제가 발생한다. JDBC Driver가 MySQL 서버 프로토콜 버전이 8.0.3 이하이면, query_cache_size 시스템 변수를 설정하려고 하는데, MySQL 8에서 해당 시스템 변수를 삭제하였기 때문에, 오류가 발생한다. 만약 MySQL도 8.x이고, JDBC Driver도 8.x를 사용한다면, ProxySQL 설정에 버전을 8.0.4로 설정하거나, ProxySQL 전역 변수를 업데이트 한다. proxysql.cnf 파일 mysql_variables= { #server_version="5.5.30" server_version="8.0.4" } 또는 관리포트로 진입하여 아래와 같이 업데이트한다. UPDATE global_variables SET variable_value="8.0.4" WHERE variable_name='mysql-server_version'; LOAD MYSQL VARIABLES TO runtime; SAVE MYSQL VARIABLES TO disk; 참조: https://www.tusacentral.net/joomla/index.php/mysql-blogs/198-proxysql-server-version-impersonation.html ttps://www.tusacentral.net/joomla/index.php/mysql-blogs/198-proxysql-server-version-impersonation.html

새로운 노트북

마지막 내 컴퓨터가 언제 산지도 모를 인민에어. 그 뒤로 아내의 게이밍노트북 받아다 쓰다, 이번에 큰 맘 먹고 질렀다. 너무 행복하네~

Windows에서 F1이 도움말로 작동하지 않도록 하기

관리자 권한으로 콘솔창(cmd.exe)을 띄우고 아래와 같이 입력한다. taskkill /f /im HelpPane.exe takeown /f c:\windows\HelpPane.exe icacls c:\windows\HelpPane.exe /deny Everyone:(X) 복구하기 start HelpPane.exe takeown /f c:\windows\HelpPane.exe icacls c:\windows\HelpPane.exe /grant Everyone:(X) 참조:  https://endurtech.com/how-to-disable-the-f1-help-key-in-windows-10/

PSReadLine 설치

* Powershell 7 부터는 PSReadLine 기본 설치 및 기본 로딩 참조: PSReadLine # 설치 Install-Module -Name PSReadLine -AllowClobber -Force # 예측 사용 Set-PSReadLineOption -PredictionSource History 참조: 히스토리 제한 # 히스토리 개수 제한 Set-PSReadlineOption -MaximumHistoryCount 100 -HistoryNoDuplicates # 3글자 초과만 히스토리에 남김 Set-PSReadlineOption -AddToHistoryHandler { param([string]$line) return $line.Length -gt 3 }