기본 콘텐츠로 건너뛰기

사람은 숫자가 아니다

최근 글

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 설치

참조: 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 }

이 블로그의 인기 게시물

Bash Array, Map 정리

Bash에서 Array, Map에 대한 정리. (매번 찾기 귀찮) 찾아보진 않았지만, Bash에서 Array든 Map이든 동일하게 Map(C++에서 Unordered Map)으로 동작하는 것 같다. 왜냐하면, Array의 Index가 연속하지 않아도 동작한다. 그저 Key가 0 이상의 정수인 Map이랑 비슷하게 동작한다. 예) 1, 2, 3, 9, 10 Array # 생성 declare -a empty_array declare -a ar=(haha hoho baba "long string haha hoho") # 접근 echo "ar[0]=${ar[0]}" echo "all as array=${ar[@]}" # 큰따옴표 안에서 각 원소를 따로따로 전달한다. echo "all as one=${ar[*]}" # 큰따옴표 안에서 각 원소를 문자열 하나로 합쳐 전달한다. echo "indexes=${!ar[@]}" echo "indexes=${!ar[*]}" echo "length=${#ar[@]}" echo "length=${#ar[*]}" echo "last=${ar[-1]}" echo "last=${ar[@]: -1}" # 콜론 뒤에 빈 칸이 꼭 필요하다. 옛 방식 # 현재 상황 declare -p ar #(출력) declare -a ar=([0]="haha" [1]="hoho" [2]="baba" [3]="long string haha hoho") ar[100]=hello # 인덱스를 건너 뛰어도 동작한다. declare -p ar #(출력) declare -a ar=([0]="haha" [1]="hoho" [2]="baba" [3]=&

설치한 패키지에서 RPM 추출하기

오래된 패키지를 관리할 저장소가 없어졌고, 기존 패키지로 다른 서버를 세팅해야할 일이 생겼다면 RPM의 리패키지 기능을 이용해보자. $ rpm -e --repackage [PACKAGE_NAME] 위와 같이 리패키지하면, /var/spool/repackage/ 에 생성한 RPM파일이 있다. :-)