update-grub + 부적절한 서식 문자
GRUB 설정 파일 만드는 중 ...
테마 찾음: /usr/share/grub/themes/manjaro/theme.txt
리눅스 이미지 발견: /boot/vmlinuz-6.6-x86_64
초기 램디스크 이미지 발견: /boot/amd-ucode.img /boot/initramfs-6.6-x86_64.img
Found initrd fallback image: /boot/initramfs-6.6-x86_64-fallback.img
경고: 기타 부팅 분할 영역을 찾는 과정에서 os-prober를 실행했습니다.
출력 내용은 부팅 바이너리 검색 및 새 부팅 항목 만들기 과정에 활용했습니다.
/usr/share/grub/grub-mkconfig_lib: 행 263번: printf: `$': 부적절한 서식 문자
찾은내용: https://jimnong.tistory.com/1611
sudo LC_ALL=C update-grub
omarchy + korea + fcitx5
누군가 omarchy에 대한 이야야기를 하고 있어서 잘쓰고 있는 manjaro를 지우고 노트북에 설치를 했었더랬다.
익숙하지 않은 이걸 뭐라고 부를지 모르겠지만 타일형태의 UI는 어찌어찌 적응을 한다고 하지만 한글이 설치되지 않는건 좀 그랬다.
늘 하던데로 nimf를 시도했으나, 컴파일에서 실패.
ibus는 익숙하지도 않지만 몇 번 시도해보지도 않았다.
우측 상단에 있는 키보드 아이콘에서 fcitx5를 발견하고는 관련 포스팅을 좀 찾아본뒤 설정 해 본다.
이 배포판인지 설정인지에 해당하는 녀석은 fctix5가 잘된다는 느낌이다.
/dev/tpm0 issue on archlinux
sudo systemctl mask dev-tpmrm0.device
sudo systemctl mask tpm2.target
in my case. tpm2.target effect.
java + mybatis + foreach
오래간만에 Java로 프로젝트를 할 일이 생겨서 하다보니 기본적인 것을 헤매고 있다. (무려 3시간이나 삽질하다 금요일 저녁 포기하고 퇴근했다.)
문제는 mybatis에서 foreach를 사용하는데, in sql의 조건으로 list를 넘기는 부분이 생각했던 것이 아니었는데. (결국 1cm 빗나간것이 영 엉뚱한 짓을 하고 있었던 것이다.)
curl
- 결국 보내는 List변수명과 받는 List변수명이 일치해야 하는 것이다.
curl -X 'POST' \
'http://localhost:8080/test01/select01' \
-H 'accept: */*' \
-H 'Content-Type: application/json' \
-d '{
"listTest01InVO": [
{
"id": "ID2"
},
{
"id": "ID3"
}
]
}'
Java
List의 변수명을 잘 기억하자
anduin linux + vscode
Manjaro를 주력으로 매우 만족하며 사용하고 있었지만, HP Envy + AMD가 자꾸만 프리징되는 현상으로 고민만 하다가 우연한 기회에 하찬게 보던 Ubnutu 기반의 Anduin을 설치하고 테스트 해 보는데, 프리징이 걸리기는 하나 좀 기다리면 살아나기는 한다.
VSCode를 설치했는데, 당연하던 cli에서 code 명령이 먹지 않는다. VSCode market이 살짝 신경쓰였는지 MS 배포판만 사용하고 싶어서인지 store에서만 설치했는데, Ubuntu에서는 Flatpak으로 설치되나 보다. 좀 찾아보고 설정한다.
echo 'alias code="flatpak run com.visualstudio.code"' >> ~/.bashrc
source ~/.bashrc
이 설치된 녀석의 기본적인 환경이 좀 그렇다. 사용하면서 얼마나 고쳐야 할런지는.
Pentaho ETL
최근 Jasper 유사한 ETL도구가 필요한 상황이 되어 찾아보다 발견한 Pentaho Data Integration을 테스트 하고 있다.
Jasper보다 나중에 만들어졌고 나름 깔끔하다.
duckdb + excel
SELECT current_setting('extension_directory');
SELECT * FROM pragma_version();
SELECT duckdb_version();
# extension 상태를 볼 수 있다.
SELECT * FROM duckdb_extensions();
INSTALL 'excel';
LOAD 'excel';
select * from read_xlsx('file_example_XLSX_5000.xlsx');
select * from read_excel('file_example_XLSX_5000.xlsx');
Excel을 읽어서 sqlite에 넣으려다 왠지 있을것같아 찾아보니 있다.
duckdb에 excel을(csv가 아니다) 직접 읽을수 있는 방법을 찾아보니 있다.
다만, 이 녀석 여러가지 버전관련 설정을 타는지, duckdb_version() 명령은 안 되고, pragma_version()으로 확인 했을 때 v1.3.0에서 read_xlsx() 명령으로 작동하는 것을 확인한다.
즉, 자신의 상황에따라 이것 저것 점검 할 것이 많다는 뜻일수있다.
WSL에서 방화벽 열기
New-NetFirewallRule -DisplayName "WSL" -Direction Inbound -InterfaceAlias "vEthernet (WSL)" -Action Allow
New-NetFirewallRule -DisplayName "WSL2-MySQL" -Direction Inbound -LocalPort 3306 -Action Allow -Protocol TCP
WSL2에 설치된 서비스가 Windows에서 접속되지 않는 현상 점검 방법
WSL2(Windows Subsystem for Linux 2)에서 실행 중인 웹 서버, 데이터베이스 등 리눅스 서비스가 Windows(호스트)에서 접속되지 않을 때 점검해야 할 주요 항목과 해결 방법을 정리합니다.
1. 네트워크 구조 이해
- WSL1은 Windows와 네트워크를 공유(로컬호스트 사용)하지만,
- WSL2는 NAT 기반 가상 네트워크를 사용하여 별도의 내부 IP를 가집니다. 이 때문에 WSL2에서 실행한 서비스는 기본적으로 WSL2 내부 IP에서만 접근 가능하며, Windows에서 바로 접근이 안 될 수 있습니다123.
2. 서비스 바인딩 주소 확인
- 리눅스 서비스(예: 웹 서버)가
127.0.0.1(localhost)에만 바인딩되어 있으면 WSL2 내부에서만 접근 가능합니다. - 반드시 0.0.0.0 또는 WSL2의 내부 IP로 바인딩해야 Windows에서 접근할 수 있습니다.
예시 (Flask):
Test-NetConnection
Test-NetConnection -ComputerName localhost -Port 31143
어쩔수 없이 Win10을 사용하게되면서 PowerShell을 조금씩 써보고있다.
Content-Disposition
Content-Disposition 설명
Content-Disposition은 HTTP 응답 헤더 중 하나로, 서버가 클라이언트(주로 웹 브라우저)에게 전송하는 콘텐츠를 어떻게 처리할지 지시하는 역할을 합니다. 주로 파일 다운로드, 인라인 표시, 멀티파트 폼 데이터 처리 등에서 사용됩니다12345.
주요 용도 및 형식
1. 인라인 표시(기본값)
2. 첨부파일 다운로드
Content-Disposition: attachment- 브라우저가 콘텐츠를 다운로드하도록 유도합니다.
- 파일명을 명시할 수 있습니다.
Content-Disposition: attachment; filename="example.pdf"
3. 멀티파트 폼 데이터
- 파일 업로드/폼 전송 등에서 각 파트의 이름과 파일명을 지정할 때 사용합니다.
Content-Disposition: form-data; name="field1"
Content-Disposition: form-data; name="file"; filename="example.txt"
파일명 인코딩
- 파일명에 한글 등 비ASCII 문자가 포함된 경우, 다음과 같이 인코딩하여 전달할 수 있습니다.
Content-Disposition: attachment; filename*=UTF-8''%ED%95%9C%EA%B8%80.pdf
filename*파라미터와 URL 인코딩을 활용합니다4.
실제 사용 예시
- 서버에서 파일 다운로드 응답을 보낼 때:
Content-Disposition: attachment; filename="report.xlsx"
→ 브라우저는 파일을 자동으로 다운로드하고, 파일명을 report.xlsx로 지정합니다.