| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 열선택
- 이미지
- tauri
- json
- json schema
- Webpack
- podman
- Ollama
- PowerShell
- Vite
- Typescript
- pandas
- scaler
- drop_first
- 정렬
- Python
- io
- vscode
- CSS
- curl
- Docker Compose
- scikit-learn
- yaml
- vim
- FileChannel
- docker
- UV
- cli
- RandomAccessFile
- Java
- Today
- Total
목록개발 (55)
워로디스
최종 코드import java.io.IOExceptionimport java.nio.ByteBufferimport java.nio.channels.FileChannelprivate const val MAX_ZERO_WRITE_RETRIES = 16/** * [sourceBuffer]의 현재 position부터 limit까지 남아 있는 데이터를 모두 [fileChannel]에 쓴다. * * 단, [FileChannel.write]에 너무 큰 ByteBuffer 범위를 한 번에 넘기지 않도록, * 최대 [maxChunkBytes] 크기의 slice view로 나누어 순차적으로 쓴다. * * 이 함수는 chunk 데이터를 복사하지 않는다. * 각 chunk는 [sourceBuffer]의 데이터를 공유하는 sl..
기본 구성프로젝트가 있다고 가정합니다.uv init --python 3.12 my-projectcd my-project필요한 패키지는 uv로 프로젝트에 추가합니다.uv add pandas numpy matplotlibJupyter kernel용으로 ipykernel을 dev dependency로 추가합니다.uv add --dev ipykernel그 다음 Jupyter Lab을 실행합니다.uv run --with jupyter jupyter labuv run --with jupyter jupyter lab은 Jupyter 자체를 별도 환경에서 실행하면서도, 프로젝트의 가상환경을 사용할 수 있게 해줍니다. (Astral Docs)기본 구성된 프로젝트를 VS Code 에서 작업할 경우VS Code에서 노트북을..
uv init --python 3.12 와 uv python pin 3.12 의 차이는 “프로젝트가 허용하는 Python 범위”와 “내 로컬에서 실제로 쓸 Python 선택”의 차이입니다.uv init --python 3.12이건 보통 pyproject.toml에 이런 식으로 들어갑니다.[project]requires-python = ">=3.12"즉, 의미는:이 프로젝트는 Python 3.12 이상에서 동작한다.입니다. 그래서 3.12도 가능하고, 3.13도 가능하고, 나중에 3.14도 조건상 가능할 수 있습니다.반면:uv python pin 3.12이건 프로젝트 디렉터리에 보통 .python-version 파일을 만듭니다.3.12의미는:이 프로젝트에서 uv가 Python을 고를 때 3.12 계열을 우..
Python Install Manager는 주로 Windows에서 Python 런타임을 설치·관리하는 공식 도구이고, uv는 패키지/프로젝트/가상환경 관리 도구이면서 필요하면 Python 자체도 설치할 수 있습니다. Python.org는 Python Install Manager를 Windows용 런타임 관리 도구로 설명하고 있고, uv도 기존 Python을 감지해 쓰거나 필요 시 자체 관리 Python을 설치할 수 있다고 설명합니다. (Python.org) (Astral Docs)문제가 생길 수 있는 지점은 보통 세 가지입니다.첫째, python, py, python3.12 같은 명령이 어느 설치본을 가리키는지 불명확해질 수 있습니다. uv는 기본적으로 기존 Python이 있으면 감지해 사용할 수 있고,..
기본 형태void fn();이는 특별한 함수 호출 문법이 아니라, void 단항 연산자를 함수 호출 결과에 적용한 것이다.void fn();는 다음과 같다.void (fn());의미void fn();의 동작은 다음과 같다.fn()을 실행한다.fn()의 반환값은 버린다.전체 표현식의 결과는 항상 undefined가 된다.function fn() { return 123;}const result = void fn();console.log(result); // undefined단독 문장으로 쓰인 경우void fn();처럼 단독 문장으로 쓰이면 보통 다음 의미다.fn(); // 반환값을 의도적으로 사용하지 않음즉, 함수는 실행하되 반환값은 쓰지 않겠다는 의도 표시로 볼 수 있다.async 함수에 쓰인 경우voi..
요약window.setTimeout(fn, 0)과 (async () => {})()는 모두 비동기 문맥에서 자주 보이지만, 실행 타이밍과 의도는 다릅니다.가장 중요한 차이는 다음과 같습니다.setTimeout(fn, 0)은 콜백 실행을 다음 macrotask로 미룹니다.(async () => {})()는 async 함수이지만, 첫 번째 await를 만나기 전까지는 즉시 동기적으로 실행됩니다.await 이후의 코드는 microtask로 이어집니다.일반적으로 microtask는 macrotask보다 먼저 실행됩니다.1. setTimeout(fn, 0)의 의미console.log("A");setTimeout(() => { console.log("B");}, 0);console.log("C");출력 결과는 다..
MDN 기준으로 SharedArrayBuffer는 secure context + cross-origin isolated 조건이 필요하고, 이를 위해 COOP/COEP 헤더가 필요합니다. (MDN 웹 문서)Cross-Origin-Opener-Policy: same-originCross-Origin-Embedder-Policy: require-corp가장 간단한 설정은 이렇습니다.npm i -D @vitejs/plugin-basic-sslvite.config.tsimport { defineConfig } from 'vite'import basicSsl from '@vitejs/plugin-basic-ssl'export default defineConfig({ plugins: [ basicSsl(), ..
아래처럼 사용자 파일이 있는 폴더 경로를 sys.path에 추가하면, 그 폴더 안의 .py 파일을 일반 모듈처럼 import할 수 있습니다.예시 폴더 구조:my_project/├─ main.py└─ user_files/ └─ my_module.pyuser_files/my_module.pydef hello(name): return f"Hello, {name}!"main.pyimport sysfrom pathlib import Path# 현재 파일(main.py)이 있는 폴더BASE_DIR = Path(__file__).resolve().parent# 사용자가 만든 파이썬 파일들이 있는 폴더USER_FILE_DIR = BASE_DIR / "user_files"# sys.path에 해당 폴더 추가sy..