| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- cross-origin isolated
- Python
- docker
- curl
- yaml
- uv pin
- vim
- Webpack
- uv init
- tauri
- RandomAccessFile
- Python Install Manager
- ndjson
- Docker Compose
- PowerShell
- json
- vscode
- cli
- Typescript
- Java
- Vite
- json schema
- FileChannel
- secure context
- SharedArrayBuffer
- 이미지
- podman
- Ollama
- io
- UV
- Today
- Total
목록개발 (50)
워로디스
1. 기본 인덱싱: 정수 인덱싱특정 위치 하나를 직접 지정하는 방식입니다.a = np.array([10, 20, 30, 40])a[2]# 302차원 배열에서는 보통 [행, 열] 구조입니다.A = np.array([ [10, 11, 12], [20, 21, 22], [30, 31, 32],])A[1, 2]# 22해석:A[1, 2] 1 -> 1번 행 2 -> 2번 열즉 좌표로 보면 (1, 2) 위치의 값을 가져오는 것입니다.2. 슬라이스 인덱싱:를 이용해서 범위를 선택하는 방식입니다.a[1:3]은 내부적으로 대략:a[slice(1, 3, None)]과 비슷합니다.예:a = np.array([10, 20, 30, 40])a[1:3]# array([20, 30])stop은 포함되지 않으므로 1:..
1. 요약Python에서 :는 단순한 기호가 아니라 슬라이스 표기법이다. 이 표기법은 내부적으로 slice 객체로 변환되어 리스트, 튜플, 문자열, NumPy 배열 등에서 범위 선택에 사용된다.seq[start:stop:step]의 의미는 다음과 같다.start 이상부터 시작해서stop 전까지 선택하고step 간격으로 이동한다중요한 점은 stop 위치의 원소는 포함되지 않는다는 것이다.2. :는 표기법이고, slice는 객체다코드에 보이는 :는 파이썬 문법의 일부다.a[1:4]이 표기는 내부적으로 대략 다음과 비슷하게 처리된다.a.__getitem__(slice(1, 4, None))즉 다음처럼 이해하면 정확하다.코드에 보이는 : -> 슬라이스 표기법내부적으로 만들어지는 것 -> slice ..
이 문서는 2D 그래픽스에서 쓰는 affine 변환 행렬을 기준으로 합니다.이 행렬로 표현할 수 있는 변환은 다음입니다.이동, translation스케일, scale회전, rotation기울임, shear/skew반사/뒤집기, reflection/flip위 변환들의 조합특정 점을 기준으로 한 회전/스케일좌표계 변환, local ↔ world, screen ↔ local단, 다음은 일반적인 2D affine 행렬의 범위를 벗어납니다.원근 변환, perspective/projective transform곡선형 왜곡, nonlinear warp클리핑, 마스크, opacity, blur 같은 렌더링 효과1. 기준 행렬 형태이 문서는 열벡터 기준입니다.점은 다음처럼 본다고 가정합니다.p = [x, y, 1]^T변..
최종 코드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..