전체글
84
GEMINI/Cli 란? 구글에서 만든 Gemini 2.5 Pro를 무료로 개발자를 위해 만들어진 터미널 기반 도구입니다. GEMINI/Cli 설치방법 Node.js 기반에서 실행됩니다. Node.js 20.x 이상에서 돌아가나 18.18에서도 잘 돌아갑니다. GEMINI/Cli 환경설정 처음 실행하면 테마 및 구글 로그인을 하시면 됩니다. 구글 로그인은 현재 접속하고 있는 웹브라우저를 통해 로그인을 할 수 있습니다. CLI를 통해 재설정이 가능합니다. GEMINI/Cli 실행 기존 소스 폴더나 빈 폴더에서 실행합니다. 커서나 Visual Code를 사용한다면 (Ctrl+`)키를 눌러 Bash(또는 Powershell)를 실행해서 gemini실행하세요. 한글? 기본적인 인터페이스는 영어로 나오지만 질문을 한글로 하면 한글로 답변이 나옵니다. no Sandbox? 일반적인 OS내의 경로에서 실행하면 격리없이 해당 루트이하 파일시스템을 모두 접근가능한다고 해서 표시되는 것이며, Docker나 가상머신 내에서 실행하면 격리된 상태에서 실행함을 의미합니다. 보안강화, 격리, 안정성을 도모해야 한다면 Sandbox로 실행되어야 합니다. GEMINI.md 파일이란? Gemini모델에 사용자 지침을 미리 내려줄 수 있습니다. 별도의 양식은 없지만, 헤더는 영어로 분류해서 정리해놓으면 일관성이 있는 코드를 제시하거나 버그 수정/ 리팩토링 시 해당 지침을 기반으로 처리됩니다. 아래는 예시 MCP setting.json 파일에 MCP서버 설정내용을 넣고 Gemini를 재시작하면 읽어서 기능을 확장할 수 있습니다. https://smithery.ai/ 위 사이트에서 필요한 MCP를 설치할 수 있습니다. Github 로그인 계정이 필요하며, 필요한 패키지를 들어가면 image.png 위와 같이 Gemini CLI를 기본 제공합니다. 클릭하면 npx로 시작되는 명령이 보이며, 실행하면 기본 Gemini/CLI에 설정됩니다. ...
개발환경이기는 하지만 그동안 테스트 했던 데이터를 유지한 상태에서 prisma의 migration 이력들을 하나로 합치고 싶었다. 이걸 실행하면 되긴 하는데 데이터를 모두 삭제한다. 마이그레이션 이력만 합치는 건데 왜 데이터를 지우는지 모르겠다. 방법은 디비백업, 처리 후, 복원 방법이다.
로컬 데이터베이스(파일 DB) 총정리 한눈에 보기 서버 없이 하나의 파일(혹은 소수의 파일)에 데이터를 저장·조회할 수 있는 엔진들을 “로컬 데이터베이스” 또는 “임베디드 DB”라 부른다. 설치가 간단하고, 배포·백업이 쉬워 모바일·데스크톱·IoT·클라이언트-사이드 웹 앱에 널리 쓰인다. 왜 로컬 DB인가? 분류 & 대표 엔진 주요 엔진 살펴보기 3-1. SQLite 언어 바인딩: C/C++ core, 거의 모든 언어에서 지원 특징: 풀(Full)-SQL 92 지원, WAL(Write-Ahead Log) 모드, 확장 모듈(FTS, JSON1) 장점: 신뢰성·성숙도 최고, 단일 ①파일. 제약: 동시 다중 쓰기 성능 한계(로그 기반으로 완화). 3-2. DuckDB 포지션: “로컬용 미니 OLAP” 특징: 컬럼 저장, 벡터화 실행 엔진, Parquet/CSV 직접 읽기·쓰기, Python/R 연동 탁월. 사용 예: 데스크톱 데이터 분석 툴, Jupyter 노트북. 3-3. LevelDB / RocksDB 구조: LSM-Tree 기반 키–값 스토어 LevelDB = Google, RocksDB = Meta(페이스북)에서 포크 후 고성능화 장점: SSD 최적 IO, 높은 쓰루풋, column family·압축·블룸 필터. 3-4. Realm 대상: 모바일(iOS/Android), Kotlin Multiplatform, .NET MAUI 특징: 객체 지향 API, 동적 스키마 마이그레이션, 실시간 Sync 옵션(MongoDB Atlas). 3-5. LiteDB (.NET) 형식: 단일 .litedb 파일에 BSON 컬렉션 저장 장점: Entity‐like LINQ 쿼리, 암호화, 트랜잭션, 무설치. 사용 예: WPF/WinForms 로컬 캐시, 게임 세이브 데이터. 선택 가이드 성능·안정성 체크리스트 동시성 모델: 파일 잠금(전역·페이지·WAL) vs MVCC. Write-Ahead Logging: 활성화 시...
마소 GraphEdit사용 Windows SDK 다운받기 출처: https://moaimoai.tistory.com/129 [모아이석상의 컴퓨터 이야기:티스토리] 그래프 에디터 시작하기 그래프 에디터는 다양한 멀티미디어 관련 유틸리티를 제작할 수 있는 유용한 도구이다. 그래프 에디터를 이용해 다이렉트쇼의 모든 컴포넌트(필터)를 구성하고 테스트해볼 수 있다.다이렉트쇼의 필요한 기술의 대부분은 필터그래프(filter graph)를 구성하는 기술이다. image.png 이 경로에 Graphedt.exe 프로그램이 존재한다. 그래프 에디터 사용 기술 다이렉트 쇼에서 컴포넌트란 필터를 의미한다. 다이렉트 쇼에서 필요한 기술의 대부분은 필터그래프이다. 필터 그래프를 구성하는 기술은 크게 렌더링과 연결하기로 나누어진다. 렌더링으로 필터그래프 구성 널렌더링 (아무 것도 없는 상태에서 수행) 널 렌더링이란 그래프에디터 내에 아무것도 존재하지 않는 상황에서 필터그래프를 구성하는 기술을 의미 하드디스크에 있는 멀티미디어 파일이나 URL로 지정된 파일 모두에 수행 가능 이후 이 기술은 필터 추가 후 렌더링 기술의 바탕이 됨 다이렉트 쇼에서 가장 널리 사용되는 기술 널 (소스 필터가 자동 추가되기 때문에 자신이 추가한 소스 필터는 반영되지 않는다.) image.png 파일 -> Render Media File 을 통해 비디오 파일을 선택한다. 아래 그림은 sample.wav 파일과 sample.mp4 파일을 선택한 결과이다.이후 재생 버튼을 클릭하면 동영상이 재생되고 소리가 흘러나온다. image.png 필터 : 박스필터 그래프 : 박스의 묶음 화살표 : 가리키는 방향은 순서를 의미함 선들이 있는 부분을 핀(pin) 이라함 박스 왼쪽 핀 : 입력 핀(input pin) 박스 오른쪽 핀 : 출력 핀(output pin) output pin -> input pin 소스 필터(source filter) : 순서에서 가장 앞에 있는 필터 (출력 핀만 있음) ...
OR 조건 vs AND 조건: 성능과 변환 기법의 실체 SQL 성능 최적화에서 WHERE 조건절은 쿼리 효율에 막대한 영향을 미친다. 특히 OR 조건과 AND, NOT 조건의 조합은 작은 차이처럼 보여도 결과적으로는 수배의 성능 차이를 야기할 수 있다. OR 조건은 왜 느린가? OR 조건은 RDBMS가 각 조건을 개별적으로 평가하고, 그 결과를 합집합(UNION) 방식으로 결합하기 때문에 비용이 커지는 경향이 있다. 예를 들어, 위 쿼리는 내부적으로 두 조건 각각에 대해 인덱스를 타거나, 전체 스캔 후 필터링을 수행하게 된다. 특히 column에 인덱스가 있더라도, 두 조건을 인덱스로 효율적으로 병합하지 못하는 경우가 생긴다. 병렬 처리의 단점 OR 조건이 여러 개 걸릴 경우, 쿼리 플래너는 종종 전체 테이블 스캔(full scan) 을 선택한다. 이는 AND 조건과 비교해 더 많은 블록 I/O를 야기할 수 있다. De Morgan 법칙을 활용한 OR → AND/NOT 변환 모든 OR 조건은 수학적 논리의 드모르간 법칙(De Morgan's Law) 을 이용해 AND와 NOT으로 변환이 가능하다. 예시 변환 또는 분포 기반 최적화로, 으로 바꾸는 방법도 있다. 이 방식은 조건이 부정(NOT)으로 바뀌는 만큼, 인덱스를 활용하는 데 제약이 생길 수 있으므로 상황에 따라 신중하게 적용해야 한다. 어떤 경우 OR가 더 빠를 수도 있다 조건을 NOT으로 바꾸었지만, 결과적으로 더 많은 데이터를 대상으로 필터링해야 하는 경우 성능은 오히려 저하된다. 예를 들어 다음의 경우를 보자. 위와 같이 부정 조건으로 바꾼 필터가 훨씬 더 많은 데이터를 통과시키게 되는 경우, OR 조건이 오히려 빠르게 작동한다. 이때는 실제 데이터 분포 통계(histogram) 와 실행 계획(EXPLAIN PLAN) 을 반드시 확인해야 한다. 인덱스와 결합 전략 대부분의 RDBMS는 단일 인덱스로는 OR 조건의 모든 조합을 최적화하지 못한다. 반면, UNION ALL로 분해...
...