"기술"에 해당하는 글들
페이지:1234567...21»

macOS에서 생성한 한글을 포함한 파일명이 Windows에서 자소 분리되어 보일때

2025-09-09   //   alexken작성   //   기술  //  No Comments

NFD Unicode 정규화로 파일명을 저장하는 macOS에서 생성한 한글을 포함한 파일명이, NFC Unicode 정규화를 사용하는 Windows에서 파명명이 자소가 분리되어 보일때

import os
import unicodedata

def convert_nfd_to_nfc(directory_path):
    """
    지정된 디렉토리 내의 모든 파일 및 폴더 이름을 NFD에서 NFC로 변환합니다.
    """
    for filename in os.listdir(directory_path):
        # 파일 이름이 NFD인지 확인
        nfd_filename = filename

        # NFC로 변환
        nfc_filename = unicodedata.normalize('NFC', nfd_filename)

        # 변환이 필요한 경우에만 이름 변경
        if nfd_filename != nfc_filename:
            old_path = os.path.join(directory_path, nfd_filename)
            new_path = os.path.join(directory_path, nfc_filename)
            print(f"변환: '{old_path}' -> '{new_path}'")

            # 실제 파일 이름 변경
            try:
                os.rename(old_path, new_path)
            except FileNotFoundError:
                print(f"오류: '{old_path}'를 찾을 수 없습니다.")

# 변환을 원하는 디렉토리 경로를 입력하세요.
# 예: convert_nfd_to_nfc('/Users/사용자이름/Documents/My_Files')
# macOS에서 터미널을 열고 'cd' 명령어로 변환할 폴더로 이동한 후 이 스크립트를 실행할 수 있습니다.
# 스크립트 실행 전, 중요한 파일이 있는 경우 백업을 권장합니다.

gemini2.5가 만들어 줌, 다음에 또 찾을 일 있을꺼 같아서 여기에 남겨둠

5분이면 만드는 LLM App with Apple Shortcuts(단축어) in iOS 26

2025-06-25   //   alexken작성   //   기술  //  No Comments
iOS 26 단축어에서 새로 지원하는 LLM Action을 이용하면 재미난 거 많이 만들 수 있을 듯

개발

닥치고 단축어 앱 실행

1.1 문서를 공유할 때에 반응하기 위해서 공유 시트로 시작 1.2 PDF에만 반응하게 나머지 전부 비활성화 1.3 PDF에서 텍스트 추출 Action 1.4 PDF 문서에 대해 질문할 사용자 입력 받는 Action 1.5 LLM Action에 Prompt Engineering 1.6 LLM 답변 화면에 출력할 Action 1.7 개발 끝(초범이면 5분 소요)

실행

1. PDF 문서를 선택하고 공유

2. LLM에 묻고 싶은거 입력

3. 끝.. 이만 알아보자

Windows 11에서 [더 많은 옵션 표시] 대신 예전 처럼 표시

2022-11-21   //   alexken작성   //   Blog, 기술  //  No Comments

Windows 11 탐색기에서 오른쪽 컨텍스트 메뉴에 [더 많은 옵션 표시] 대신 예전 처럼 표시되록하기

C:\>reg.exe add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /f /ve
작업을 완료했습니다.

C:\>taskkill /f /im explorer.exe
성공: 프로세스 "explorer.exe"(PID 9808)이(가) 종료되었습니다.

C:\>explorer

Windows 11 설치할 때마다 필요할 거 같아, 여기에 남김

[macOS] 다수의 파일에서 특정 부분 크롭 후 리사이즈하기

2022-10-17   //   alexken작성   //   기술  //  No Comments

현재 폴더 포함 모든 하위 폴더에 있는 png 파일에서 오프셋이 10, 10인 지점에서 34, 34 영역을 크롭

$find . -name "*png" | xargs -I {} sips --cropToHeightWidth 34 34 --cropOffset 10 10 {}

현재 폴더 포함 모든 하위 폴더에 있는 png 파일에서 크기를 38*38로 리사이즈

$find . -name "*png" | xargs -I {} sips -Z 38 {}

[bash] TX/RX MB/s in Linux(netspeed.sh)

2022-09-29   //   alexken작성   //   기술  //  No Comments
#!/usr/bin/bash

INTERVAL="1"  # update interval in seconds

if [ -z "$1" ]; then
        echo
        echo usage: $0 [network-interface]
        echo
        echo e.g. $0 eth0
        echo command for network interface [netstat -i]
        exit
fi

IF=$1

while true
do
        R1=`cat /sys/class/net/$1/statistics/rx_bytes`
        T1=`cat /sys/class/net/$1/statistics/tx_bytes`
        sleep $INTERVAL
        R2=`cat /sys/class/net/$1/statistics/rx_bytes`
        T2=`cat /sys/class/net/$1/statistics/tx_bytes`
        TBPS=`expr $T2 - $T1`
        RBPS=`expr $R2 - $R1`
        TMBPS=`expr $TBPS / 1048576`
        RMBPS=`expr $RBPS / 1048576`
        echo "[$(date +%F_%T)] TX $1: $TMBPS MB/s RX $1: $RMBPS MB/s"
done

Powershell> 누군가는 필요할지도 모르는 명령어

2022-06-23   //   alexken작성   //   기술  //  No Comments
현재 폴더에 있는 모든 파일에 대해 마지막 수정 날짜를 2022-01-01 12:00(초는 랜덤)로 수정하는 명령어
PS>(Get-ChildItem ".") | Where-Object { `
>>    $_.LastWriteTime=("2022-01-01 12:00:" + (Get-Random -Maximum 60)) `
>>}
같은 명령어를 alias를 이용해서 짧게 수정
PS>ls | foreach{$_.LastWriteTime=("2022-01-01 12:00:" + (random 60) )}
현재 폴더에 있는 모든 파일에 대해 파일명을 파일의 마지막 수정 날짜로 변경하는 명령어
PS>(Get-ChildItem .) | Where-Object { `
>>        Rename-Item $_.Name `
>>            -NewName ($_.LastWriteTime.ToString("yyyy-MM-dd HH mm ss") + ".png") `
>>}
같은 명령어를 alias를 이용해서 짧게 수정
PS>ls | foreach{ren $_.Name ($_.LastWriteTime.ToString("yyyy-MM-dd HH mm ss") + ".png")}

node.JS+express로 구현한 REST API 샘플(3+4)

2022-05-20   //   alexken작성   //   기술  //  No Comments

JSON으로 던진 {“a”:3, “b”:4}를 받아 계산 결과를 JSON{“c”:7}을 반환하는 코드

const express = require("express");
const app = express();
app.use(express.json());

app.post('/', function(req, res){
    res.json({c:parseInt(req.body.a)+parseInt(req.body.b)});
});

app.listen(3000);

실행

$node postserver.js

호출

$curl -X POST -H "Content-Type: application/json" -d "{\"a\" : 3, \"b\" : 4 }" \
     http://localhost:3000/
{"c":7}

헤더에 “Content-Type: application/json”을 지정하지 않고 문자열로 전달하면 JSON.parse로 변환해야함

페이지:1234567...21»