반응형
Git 한글 다 깨질 때 (feat. \254\354\203\235...)
·
Dev/Git
아래 명령어 한줄이면 된다git config --global core.quotepath false매번 까먹고 검색하는게 답답해서 포스팅
오픈클로(OpenClaw) 한달 후기 (feat. 로컬 LLM vs 상용 AI API)
·
Dev/AI
(침몰한) 프로젝트 몰티저스이번 글은 나의 오픈클로 한달 체험기가 되겠다나는 한달 조금 넘는 시간동안 이것저것 실험해보았고 나만의 결론을 낼 수 있었다그리고 누군가에게 도움이 되고자 이렇게 기록으로 남기고자 한다아 본론에 들어가기 전에 결론부터 말하면 로컬 LLM으로 오픈클로(OpenClaw)를 돌리기 위해 맥미니를 사는 것은 비추천이다 ^^ ps. 프로젝트명이 몰티저스인 이유는 오픈클로 캐릭터가 동글동글 귀여워서...ps. 혹시 제가 사용한 모델 외에 효율이 더 좋거나, 정말 실사용 가능한 정도의 성능을 보여주는 모델이 있다면, 추천해시면 정말 감사합니다! 혹은 세팅법을 알려주셔도.. 감동...ps.- 다른 후기들은 맨 밑의 태그를 눌러 확인하실 수 있습니다26.03.30 업데이트- 오픈클로 돌린 M1..
PII 모델 테스트, 성능 및 결과 (feat. Hugging Face)
·
Dev/AI
PII 오픈소스 테스트를 했더랬죠PII(Personally Identifiable Information), 즉 개인 식별 정보를 제거해주는 AI 모델을 테스트 할 일이 있었다여러 모델이 있었는데 각 성능을 비교하거나 정리된 글은 보지 못했다따라서 혹여나 찾으시는 분이 있다면 도움이 되고자 포스팅하게 되었다 ps. 아래 모델들은 Hugging Face에서 찾았다0. 결론- 이 중에서는 seungkukim/korean-pii-masking-v2가 가장 성능이 좋았다- PII 모델간 성능편차와 유형별 인식 안정성 차이가 크다- PII 기능 전체를 위임하기엔 불안정하였다 (커스텀 필수)- 물론 내 테스트가 미흡했거나 잘못됐을 수도 있다는 가능성 역시 무시 못하니 감안해서 참고해주시면 좋을듯..!0. input ..
Github Action으로 Flutter 앱 빌드 자동화하기
·
Dev/Git
GIthub에서 빌드까지 다 해주는 개꿀팁나 혼자 쓸 앱 꾸준히 업데이트 중인데 Github의 Action으로 빌드하는게 정말 편하다그동안 맨날 맥OS에서 빌드하다가 친구가 알려준 GIthub Action 덕분에 빌드하는 과정이 말도 못하게 편리해졌다일단 기다리지 않아도 되는게 베스트... 물론 직접 맥북에서 빌드하면 1분 걸릴거 Github에선 한 5분쯤 걸리지만 편의성이 남다르니까...근데 또 까먹어가지고... 오늘은 이걸 포스팅해보겠다 ps. 근데 쓰던와중에 생각해보니 필요했으면 macOS 컨테이너 만들어서 자동화했어도 됐을듯...?(그냥 셀프 GIthub이잖ㅇ;;;)ps. 더 찾아보니 제대로 된 MacOS 컨테이너는 Apple 라이선스 때문에 없다고... 흠...1. .github/workflow..
오픈클로(OpenClaw)에 로컬 LLM 연결하기 (feat. 비싼 API...)
·
Dev/AI
늘 비용이 문제!!오늘은 GPT나 Gemini같은 것들이 아니라 로컬에 LLM을 띄워서 직접 오픈클로에 연결해보겠다이를 진행할 경우 API 사용요금이 일절 안나오기 때문에 비용절감 측면에서 기대가 된다 (서버 비용은 조상님이 내주시냐?!!)일단 오늘 나는 GPU 서버를 별도로 준비했기 때문에 여기에 LLM을 띄워서 진행해볼 예정이다 ps.- 참고로 오늘 사용한 오픈클로 서버는 M1 맥미니(MacOS)이다- 나처럼 별도의 GPU가 아닌 하나의 맥미니에서 다 해결하시는 경우 3번(오픈클로에 로컬 LLM 연결하기)만 보시면 될듯하다26.03.20 업데이트- 오픈클로 한달 후기이자 나(만)의 결론- 맥미니는 사지 마시라!!! ㅠㅠhttps://ratatou2.tistory.com/358 오픈클로(OpenClaw..
오픈클로(OpenClaw) 한방에 설치하기 (feat. 남는 PC에 설치하는 법)
·
Dev/AI
프로젝트 몰트봇 시작합니다오늘은 개인적으로 흥미가 있었던 오픈클로(Openclaw), 구 몰트봇(Moltbot)을 설치해보겠다알아서 내 취향을 파악하고 자동화해주는 AI 비서는 예전부터 꿈이었기 때문...오늘은 아래와 같은 순서로 진행해보겠다로컬 서버에 오픈클로 설치만 필요하신 분은 1번만 보시면 되겠다1. 로컬 서버에 오픈클로 설치2. 오픈클로 세팅하기3. 오픈클로에 텔레그램 연결ps. 아 결론부터 말씀드리면 사실 아무리 외부 LLM API를 쓰는 오픈클로도 최소한의 PC 사양은 챙겨주는 것이 좋다오늘 사용한 PC 성능은 아래와 같았는데 굉장히 버거워했음특히 RAM은 8GB로 늘려줘서 해결했지만 CPU 병목이 대단했다 (걸핏하면 100% 풀로드...)이후엔 맥미니 M1 (16GB)을 구해다가 변경해주었..
이미 존재하는 디렉토리 Git Repo에 추가하기 (feat. 미루다가...)
·
Dev/Git
이제 그만 미루고 깔끔하게..아래 방법은 이미 로컬에 존재하는 프로젝트 디렉토리를 Git의 Repo에 연결하는 방법이다1. git init- 우선 .git 디렉토리를 만들기 위한 명령어를 실행한다git init2. 전체 파일 스테이징- 이제 프로젝트의 전체 파일을 add하고 잘 add 됐는지 확인하고자 status를 쓴다git add .git status3. 첫 커밋- 문제 없으면 이제 해당 파일들을 커밋으로 남긴다git commit -m "feat: initial telegram timer project"4. 원격 저장소 + push- 여기까지 진행하면 깔끔하게 현 디렉토리 그대로 git에 올라간다git branch -M maingit remote add origin git push -u origin ..
Flutter 에뮬 두개 띄우는 방법 (feat. Chrome & 에뮬레이터)
·
Dev/App
허탈하게도 터미널이 2개면 되더라아니 이걸 대체 어떻게 하느냐로 엄청 고민했는데 알고보니 겁나 쉬웠다그냥 터미널을 여러개 띄우고 다른 에뮬을 돌리면 된다아래 예시처럼 각 터미널에 Chrome과 App Emulator run 명령어를 각각 입력하면 된다# 크롬 (Chrome)flutter run -d web-server --web-port 8080# 앱 에뮬flutter run -d emulator-5554
Android Studio 에뮬레이터 띄우기 (feat. Flutter에서 에뮬 실행하기)
·
Dev/App
기억이.. 날 것도 같은데...또 까먹었다 그냥 포스팅을 하자...오늘은 안드로이드 스튜디어오에서 에뮬을 띄워보도록 하겠다이게 없으면 플러터에서 앱을 돌려볼 수가 없음 ㅠ1. Android Studio에서 에뮬 만들기1) 프로젝트 생성 부분- 순서대로 클릭하면 Device Manager가 열리는데 여기서 필요한 에뮬을 추가하고 삭제하면 된다2) 프로젝트 내부- 오른쪽 끝에 보면 'Device Manager' 아이콘이 있다- 이것을 누르면 에뮬레이터를 생성하고 삭제할 수 있다2. Flutter에서 에뮬 띄우기- 아래 명령어로 에뮬 리스트 확인flutter emulators- 그러면 아래처럼 리스트가 뜬다- 저 에뮬레이터 ID로 실행하면 됨# 템플릿flutter emulators --launch # 예시fl..
LLM 토큰 아끼는 방법 (feat. GPT, Gemini, Claude)
·
Dev/AI
토큰이가 비싸요...CLI 버전의 AI를 쓰다보면 토큰을 호로롭 다 써버려서 문제가 생길 때가 있다이게 정확히 뭐고 어떻게 하면 아껴쓸 수 있는지 궁금해져서 나 나름대로 조사하고 정리해보았다토큰이란?- 기본적으로 토큰은 텍스트를 처리하기 위한 단위다- 쉽게 말해 AI 사용 비용을 계산하기 위한 기준이다 - 기업들은 요금별로 이 토큰량을 차등 제한을 두어 서비스를 제공하고 있다 - 좀 더 정확히는 요금제, 모델, API 정책에 따라 서비스가 제공되기는 한다 - 토큰 종류에는 크게 2가지가 있는데 '입력 토큰'과 '출력 토큰'이다- 입력 토큰은 '우리가 AI에게 보내는 텍스트'- 출력 토큰은 'AI가 우리에게 보내는 텍스트'토큰을 아껴쓰는 방법- 그렇다면 어떻게 하면 이 귀한 토큰을 아껴쓸 수 있는지 알아보..
맥북에 Flutter 한방에 설치하기 (feat. 앱 만들기)
·
Dev/App
앱을 만들어 봅시다기존에 잘 쓰던 어플이 하나 있는데 문제가 생겼다앱 들어갈 때마다 3초씩 광고를 봐야함...그래서 직접 앱을 만들어 보기로 했다Flutter를 고른 이유는 iOS와 Android를 한번에 커버할 수 있는 편의성 때문이었음!!!1. Flutter 설치- 일단 sdk 저장할 디렉토리 만들기mkdir -p ~/sdk- 메뉴얼 다운로드 사이트에서 OS 환경에 맞게 SDK 다운로드 한다https://docs.flutter.dev/install/manual Install Flutter manuallyLearn how to install and set up the Flutter SDK manually.docs.flutter.devunzip flutter_macos_arm64_3.38.5-stable..
GPT 모델 만들 때 반드시 체크 해제해야하는 것 (feat. 내 개인정보!!!)
·
Dev/AI
아 네 개인정보 냠냠 하겠다구 ㅋㅋGPT 유료 모델을 쓰면 GPT 모델을 만들 수 있다GPT 모델을 생성하면 하단에 (접혀있는) 추가 설정이 있는데 이 카테고리에 치명적인 내용이 숨겨져 있다바로 내 대화 데이터를 더 나은 모델 개발에 쓴다는 것 ㅋㅋㅋ 내 개인정보를 왜 니들 맘대로 미리 체크하고 시작하냐?장난하냐 진짜?이걸 또 ㅋㅋㅋㅋ 펼쳐놓지 않고 접어두고 시작한다는게 참 다분히 의도적이네요 ㅎㅎ반드시 체크 해제 하십쇼 여러분 ㅠㅠps. 확인해보니 초기부터 안내해주는 게시글이 몇개 존재했고, 나만 이제 본 케이스... ㅠps. 가끔 없는 것도 있는거보니 뭔가 최근에 업데이트 된건가 싶기도 하고요..'지식'을 업로드 하면 추가 설정이 생김!!테스트 해보니 지식을 업로드하면 '추가 설정'이 생기고 자동으로..
매번 새로운 변수 생성하기 vs 변수 재사용하기 (feat. 무엇이 더 효율적인가?)
·
Dev/JAVA
외부 변수 재사용 vs 내부 변수 신규 생성알고리즘 풀다 궁금해졌다반복문 외부에 변수를 생성 후 재사용하기 vs 반복문 내부에 변수 생성 및 사용무엇이 더 효율적일까...?방법 1 (반복문 외부에 변수 생성 및 재사용)StringTokenizer st;for (int i = 0; i 방법 2 (반복문 내부에 변수 생성 및 사용)for (int i = 0; i 결론- 보통은 [방법 2]가 더 효율적이라고 한다 (그리고 더 권장되는 방식)- 이유는 각 반복마다 새로운 st 참조 변수가 스택(Stack) 메모리에 생성되는데 - 이때 반복이 끝나면 해당 st 변수는 스택에서 사라짐 - 그 변수가 가리키던 객체는 참조가 없어지므로 가비지 컬렉션(Garbage Collection)의 대상 - 즉, ..
JAVA에서 삽입, 삭제가 빈번할 때 LinkedList가 더 좋다! 에 대한 오해와 진실
·
Dev/JAVA
알고리즘을 풀다가 헷갈려서 이렇게 정리하게 됐다결론부터 말하면 아래 두줄로 요약할 수 있다1) 이론적으로는 LinkedList가 유리해 보인다2) 그러나 실제로는 캐시 효율성과 최적화로 인해 ArrayList가 거의 모든 상황에서 더 좋다그러면 왜 JAVA에서 삽입, 삭제가 빈번할 때 LinkedList가 더 좋다고 하는 경우가 있을까이에 대한 의견을 정리해보면 삽입, 삭제시, LinkedList는 O(1)이 걸리고, ArrayList는 O(N)이 걸리기 때문이다 그런데 여기에는 함정이 몇개 숨어있다 (위 명제는 항상 참이 아니다)- LinkedList가 중간에 있는 노드를 지우고 싶으면 거기까지 탐색하는데 (최악의 경우) O(N)이 걸리게 된다- ArrayList가 맨 끝에서 삽입, 삭제 시엔 O(1)..
제스처로 동영상 플레이어 제어하기 (feat. 동작 인식 & VLC)
·
Dev/Python
주둥이 코딩 프로젝트 No.1저번에 포스팅했듯... 대충 어깨를 다쳐서 못 움직인다 (= 코딩이 어렵다.. = 그럼 GPT 시키면 되겠지?? ㅎㅎ)https://ratatou2.tistory.com/226 맥북 음성인식으로 키보드 치는 방법 (feat. 주둥이 코더되는 법)내가 코딩 고자라니..!!오른 어깨를 다쳐서 당분간 키보드 타이핑이 어렵게 됐다어깨를 움직이는 순간부터 통증이 있는데 그 때문에 키보드에 손을 올리는 것조차 쉽지가 않다그러나... 잘 때 빼ratatou2.tistory.com아무튼 요즘 영화를 굉장히 많이 보고 있다 (영화를 굉장히 좋아함)근데 이걸 또 매번 영상을 재생하고 정지하고 앞으로 넘기고 귀찮더라구요죄다 마우스로 하던 것들이라 딸깍!하고 싶은데, 왼손잡이용이나 양손잡이용 마우..
JAVA에서 부동소수점 유의사항 (feat. 알고리즘 풀이 시 필수 지식)
·
Dev/JAVA
하하하 빌어먹을 부동소수점생각보다 내가 생각한 것과 굉장히 다르게 나올 수 있음 주의 ㅠ코드public class Temp { public static void main(String[] args) { double testDouble = 0.58; int testInt = (int) (testDouble * 100); System.out.println(testDouble * 100); System.out.println(testInt); System.out.println((int) testDouble); }}결과57.99999999999999570이렇게 나오는 이유는?부동소수점 연산의 특성과 명시적 형 변환으로 발생! ​앞선 코드를 보..
JAVA 문자열 비교 방법 3가지 (feat. StringBuilder 주의사항)
·
Dev/JAVA
사소한데 자꾸 헷갈려서 정리해보았다구문비교 기준사용 상황예시 설명S.compareTo(T) == 0내용의 사전순 비교 (0이면 같음)정렬이나 정밀 비교문자열 값만 비교S.equals(T)내용 직접 비교"논리적으로 값이 같은지" 확인문자열 값만 비교S == T객체 참조(메모리 주소) 비교객체 자체가 같은지 확인주소까지 같아야 true숫자는 당연하게도 == 붙이면, 그냥 냅다 그 값(value)를 비교하는 것이라 문제 없다 결국 알고리즘 풀 때는, 대부분 값(내용)의 동일성을 비교하는 경우가 많기 때문에 equals을 쓰는게 낫겠다는 생각...
Docker로 EEVE 모델 로컬에서 돌려보기 (feat. Ollama & Beelink S12 Pro)
·
Dev/AI
딥시크가 제 역할을 하지 못했다한글을 모르기 때문...지금 내가 구축하려는 것은 '일기에 피드백을 주는 선생님 AI'이기 때문에 한글은 필수이다이번엔 야놀자에서 만든, 성능 괜찮기로 유명한 EEVE 모델을 사용해보겠다오늘 사용할 컴퓨터는 Beelink S12 Pro로 N100으로 유명한 미니 PC이다OS: Ubuntu 22.04.5 LTS x86_64 Kernel: 6.8.0-59-generic CPU: Intel N100 (4) @ 3.400GHz GPU: Intel Device 46d1 Memory: 5724MiB / 15771MiB0. 기본 세팅 환경1) docker-compose.yml ollama: image: ollama/ollama container_name: ollama ..
Docker로 딥시크 R1 돌리기 (feat. Ollama)
·
Dev/AI
로컬에서 LLM 쓰기... 포기 모태...아래와 같은 디렉토리 구조로 구성할 것임docker-compose/├── docker-compose.yml├── app/│ ├── Dockerfile.api # FastAPI 서버용│ └── main.py # FastAPI 작성├── ollama/ └── models/ # 모델 저장될 로컬 경로그럼 일단 작성해야할 것들이 3가지- docker-compose.yml- Dockerfile (FastAPI 서버용)- main.py (FastAPI 서버 실행용)빠르게 가봅시다1. 설정 파일 작성컨셉은 일기를 답변해주는 선생님 모드로 세팅해보겠다1) docker-compo..
리눅스에서 딥시크 R1 돌려보기 (feat. Ollama)
·
Dev/AI
간단하고 빠르게 간다 일단 서버에 Olllama를 설치해줄 것이다Ollama는 로컬에서 간단히 LLM을 구동시켜주는 아주 유용한 오픈소스이다1. 로컬에 설치하기Ollama 공식 깃허브에 아주 상세히 나와있다https://github.com/ollama/ollama GitHub - ollama/ollama: Get up and running with Llama 3.3, DeepSeek-R1, Phi-4, Gemma 3, Mistral Small 3.1 and other large languaGet up and running with Llama 3.3, DeepSeek-R1, Phi-4, Gemma 3, Mistral Small 3.1 and other large language models. - ollam..
반응형