전체 글

Basic1. Topic, Partition, Offset1-1. Topic특정한 데이터 스트림을 의미기존 데이터베이스의 테이블과 유사원하는 개수만큼 생성할 수 있고 각각의 이름으로 구분1개 이상의 Partition으로 구성1-2. Partition서로 독립적으로 하나의 Topic을 구성파티션들은 정렬되어 있음데이터를 유한한 시간동안 저장(default 1주일)데이터는 키 값이 제공되지 않으면 파티션에 랜덤하게 할당각 파티션 속 메시지는 오름차순의 id값인 Offset을 가지고 있음1-3. Offset각 Offset은 속해있는 partition에서만 유효(=다른 파티션에서 동일한 Offset이 가리키는 데이터는 같지 않음)Offset값이 파티션마다 다를 수 있음2. BrokersKafka는 1개 이상의 ..
· 리눅스
sudo 권한은 당연히 매우매우 중요하고 위험하지만, 매번 비밀번호를 치기는 귀찮아서 설정을 해보려고 한다.크게 2가지 방법이 있는데 우선 하나는 한번 비밀번호를 쳤을 때 일정 시간이 지나기까지는 더이상 묻지 않는 것이고, 두번째는 비교적 안전한 명령어들에 한해서 암호 입력을 받지 않도록 하는 것이다.1. sudoers 파일에서 암호 요청 타임아웃 변경sudoers 파일 수정:안전하게 편집하기 위해 visudo 명령어를 사용sudo visudo타임스탬프 타임아웃 설정:파일 내에 아래 줄을 추가하여 간격(초)을 지정Defaults timestamp_timeout=60저장 및 종료:변경 사항을 저장합니다 (nano: Ctrl+O, Enter, 그리고 Ctrl+X).2. 특정 명령어에 대해 암호 입력 요구하지..
· 알쓸신잡
오늘은 Cursor와 Ollama의 조합을 이용해서 돌려보고자 한다.이럴거면 왜 Cursor쓰냐고 하는 사람도 있겠지만, 최근 deepseek나 phi4 qwen 같은 모델들은 코딩에 특화되어있기 때문에 굳이 과금을 하며 사용할 필요가 없다고 느껴졌다. 그래서 Cursor에서 잘 구현해놓은 기능들만 Local LLM으로 돌려보고자 하는 것이다.사실 매우 간단한데, 사소한 오류가 있어서 애를 좀 먹었다.(Cursor의 단점이 아직 나온지 별로 안되서 그런지, 가이드가 별로 없음.)1. Ollama 설치아마 이걸 검색해서 들어오신 분이라면 Ollama가 이미 뭔지 알고 있고, 대부분 사용중일 것이다.LM studio나 뭐 여러개 있지만, Ollama가 가장 많이 사용되는 것 같다.아무튼 Ollama 설치는 ..
· 리눅스
리눅스의 appimage는 파일 형태로 프로그램을 실행할 수 있는 형태이다.따라서 설치를 할필요가 없고, 이 파일의 위치를 자유롭게 옮겨도 바로 실행가능하다.또한 삭제도 이 파일하나만 삭제하면 되기 때문에 관리하기 편하다는 장점이 있다.1. FUSE 설치sudo apt updatesudo apt install libfuse22. 권한부여chmod +x {filename}.AppImage3. 프로그램 실행./{filename}.AppImage+) GUI에서 실행우클릭>속성>권한>파일을프로그램으로 실행허용을 체크해주고, 다시 한번 파일을 더블클릭4. 바로가기 생성만약 이렇게 파일을 클릭해서 실행시키는 것이 아닌, 설치 프로그램처럼 실행시키고 싶다면,sudo mv {path}/{filename}.AppImag..
· 알쓸신잡
RustDesk 소개오늘은 오픈소스 원격접속 소프트웨어인 Rustdesk를 소개하고, Docker을 이용한 셀프호스팅 방법을 소개해보려고 한다.Rust언어로 작성되었으며, TeamViewer의 기능을 거의 다 지원하는 것 같다.TeamViewer은 무료계정을 이용해서 여러 기기에서 많이 접속하면 계속 상업적 이용이라면서 계정이 잠겨서 사용할 수가 없었다. 그런데 RustDesk는 오픈소스에다가, 셀프 호스팅도 가능해서 보안에도 안전하다는 장점이 있었다.TeamViewer에 비해 기능이 뭐가 부족했다면 망설였겠지만, 적어도 내가 쓰는 기능들은 부족함이 없었다.https://rustdesk.com/ko/ RustDesk: 오픈 소스 원격 데스크탑 및 자체 호스팅 서버 솔루션RustDesk는 자체 호스팅 서버..
· 알쓸신잡
오늘 처음으로 vscode에서 cursor로 넘어갔다.cursor에서도 vscode의 extension을 모두 사용할 수 있고, github copilot extension도 동시에 사용할 수 있기 때문에 따로 cursor은 유료결제하지 않고 사용하였다.즉 cursor free + github copilot 조합이다. vscode의 세팅들을 한번에 가져올 수 있어서 편했는데,  flask를 통해 서버를 열었을 때 바로 종료되는 현상이 벌어졌다.1시간동안 개고생하다가 cursor한테 물어봤더니 바로 해결책을 알려줬다 ㅋㅋ나는 flask 서버를 켤 때, `app.run(debug=True)`로 켜서, 내가 코드를 수정하면 자동으로 서버가 재기동되는 방식을 사용했었는데, 저러한 이유로 cursor을 쓸 때는 ..
· 알쓸신잡
docker 컨테이너 내부의 디렉토리를 따로 마운트해놓지 않았을 때, 컨테이너와 파일을 주고받는 방법이다.1. 컨테이너 안에 있는 파일을 로컬로 복사docker cp {container}:{container_dir} {local}2. 로컬파일을 컨테이너 안으로 복사docker cp {local} {container}:{container_dir}
창빵맨
Let's be Developers