1. 구조

myuser@DESKTOP-EDRVGJ4:~/local_dir$ tree
.
├── vim
│   └── syntax
│       └── proC.vim
├── vimrc_local
└── your_file.pc

2.vimrc_local

myuser@DESKTOP-EDRVGJ4:~/local_dir$ cat vimrc_local
" --- local_dir 전용 vim 설정 ---
syntax on
filetype on

" 확장자 연결
autocmd BufNewFile,BufRead *.pc,*.pcp set filetype=proC

" 로컬 syntax 경로 추가
set runtimepath+=~/local_dir/vim

" 편의 설정 (선택)
set number
set tabstop=4 shiftwidth=4 expandtab
set background=dark

 

3. ./vim/syntax/proC.vim

myuser@DESKTOP-EDRVGJ4:~/local_dir$ cat ./vim/syntax/proC.vim
"--------------------------------------------------------------------
" proC.vim — Enhanced Pro*C syntax highlighting (with SQL keywords)
"--------------------------------------------------------------------
if exists("b:current_syntax")
finish
endif

" 기본은 C 문법 불러오기
runtime! syntax/c.vim

" Pro*C는 대소문자 구분 안 함
syntax case ignore

"---------------------------
" 1. Pro*C 전용 키워드
"---------------------------
syntax keyword procSQLKeyword EXEC SQL BEGIN END DECLARE SECTION
syntax keyword procSQLKeyword FETCH CLOSE OPEN PREPARE EXECUTE
syntax keyword procSQLKeyword COMMIT ROLLBACK CONNECT DISCONNECT
syntax keyword procSQLKeyword INCLUDE WHENEVER INTO USING DESCRIPTOR
syntax keyword procSQLKeyword ALLOCATE DEALLOCATE FREE CURSOR

"---------------------------
" 2. SQL 키워드
"---------------------------
syntax keyword procSQLKeywordSQL SELECT INSERT UPDATE DELETE CREATE DROP ALTER
syntax keyword procSQLKeywordSQL FROM WHERE GROUP BY HAVING ORDER
syntax keyword procSQLKeywordSQL VALUES INTO SET DISTINCT
syntax keyword procSQLKeywordSQL INNER LEFT RIGHT FULL JOIN ON
syntax keyword procSQLKeywordSQL UNION INTERSECT MINUS ALL
syntax keyword procSQLKeywordSQL LIKE BETWEEN IN IS NULL NOT AND OR EXISTS
syntax keyword procSQLKeywordSQL FETCH FIRST NEXT ROWS ONLY

"---------------------------
" 3. EXEC SQL 블록 전체 강조
"---------------------------
syntax region procSQLBlock start=/EXEC\s\+SQL/ end=/END-EXEC\s*;/ contains=procSQLKeyword,procSQLKeywordSQL

"---------------------------
" 4. 색상 그룹 연결
"---------------------------
hi def link procSQLKeyword Statement
hi def link procSQLKeywordSQL Keyword
hi def link procSQLBlock PreProc

let b:current_syntax = "proC"

 


shift + F10


yt update

카테고리 없음 2025. 5. 23. 15:33

python -m pip install -U yt-dlp --user


import os
import tarfile
from datetime import datetime

def create_tar_without_spaces(src_dir, tar_path):
    # 디렉토리가 없으면 생성
    os.makedirs(os.path.dirname(tar_path), exist_ok=True)

    files_to_add = []

    for root, _, files in os.walk(src_dir):
        for file in files:
            if ' ' in file:
                continue  # 공백 포함된 파일 제외
            full_path = os.path.join(root, file)
            rel_path = os.path.relpath(full_path, src_dir)
            files_to_add.append((full_path, rel_path))

    with tarfile.open(tar_path, "w") as tar:
        for full_path, rel_path in files_to_add:
            tar.add(full_path, arcname=rel_path)

    print(f"✅ Created tar file: {tar_path} with {len(files_to_add)} files (공백 제외)")

if __name__ == "__main__":
    timestamp = datetime.now().strftime("%Y%m%d%H%M%S")
    src_directory = "D:\\src\\src\\main"
    output_tar = f"D:\\tmp\\src-backup\\backup-{timestamp}.tar"
    create_tar_without_spaces(src_directory, output_tar)


# .*? -- non greedy
'2025.*?'


mysql mingw

카테고리 없음 2025. 4. 24. 09:58

/c/Program Files/MySQL/MySQL Server 8.0/bin
$ ./mysql.exe -uroot -p1234 kunnodae < /e/big.sql


C:\Users\{user}\AppData\Roaming\DBeaverData\workspace6\.metadata\.plugins\org.eclipse.e4.workbench\workbench.xmi 

삭제




from PyPDF2 import PdfReader, PdfWriter

target_file = "part-과정관리.pdf"

# 원본 PDF 파일 열기
reader = PdfReader("total.pdf")

# 새 PDF 작성을 위한 객체 생성
writer = PdfWriter()

# 인덱스는 0부터 시작
for page_num in range(81, 89):
    writer.add_page(reader.pages[page_num])

# 결과를 새로운 PDF로 저장
with open(target_file, "wb") as output_file:
    writer.write(output_file)

print(f"{target_file} 파일이 생성되었습니다.")