반응형
Android Studio 에뮬레이터 띄우기 (feat. Flutter에서 에뮬 실행하기)
·
Tools
기억이.. 날 것도 같은데...또 까먹었다 그냥 포스팅을 하자...오늘은 안드로이드 스튜디어오에서 에뮬을 띄워보도록 하겠다이게 없으면 플러터에서 앱을 돌려볼 수가 없음 ㅠ1. Android Studio에서 에뮬 만들기1) 프로젝트 생성 부분- 순서대로 클릭하면 Device Manager가 열리는데 여기서 필요한 에뮬을 추가하고 삭제하면 된다2) 프로젝트 내부- 오른쪽 끝에 보면 'Device Manager' 아이콘이 있다- 이것을 누르면 에뮬레이터를 생성하고 삭제할 수 있다2. Flutter에서 에뮬 띄우기- 아래 명령어로 에뮬 리스트 확인flutter emulators- 그러면 아래처럼 리스트가 뜬다- 저 에뮬레이터 ID로 실행하면 됨# 템플릿flutter emulators --launch # 예시fl..
간이 NAS의 안쓰는 HDD, 명령어로 전원 비활성화 하기 (feat. 라즈베리파이4)
·
Infra/Rasberry Pi
나는 라즈베리파이에 외장하드를 2개를 물려두었다막 쓰는 용도 (정리 X) 하나, 정리해두는 백업용 하나근데 사실 백업 용도 HDD는 한달에 몇번 쓸까 말까한데 매번 켜두는게 비효율적이라고 생각했다물론 iptime에서 나온 외장하드 3.5 케이스에는 HPS라고 뭐 안쓸 때 절전모드가 자동으로 켜진다고 한다그래도 HDD가 간간히 돌긴할테니 안쓸 땐 아예 뽑아놓듯 해놓고 싶었고 명령어로 해제해버리는 방법을 찾았다1. 연결된 외장하드 확인- 우선 아래 명령어로 현재 라즈베리파이에 연결된 외장하드들을 확인한다lsblk- 두개가 보이는데 아래의 sdb/sdb1을 해제할 것이다2. 마운트 해제- 우선 마운트 해제가 필수이다- 위의 lsblk 명령어로 확인한 경로를 사용하면 된다# 템플릿sudo umount # 예시s..
n8n의 빌어먹을 "[Object: {"를 제거하는 방법 (feat. Set 노드)
·
Infra/n8n
Set 노드 쓰는데 자꾸 [Object: { 덧씌여져서 개빡친다Expression을 쓰든, 안쓰든 위 사진처럼 자꾸 Object로 출력됨HTTP Request로 JSON 보내야하는데 드릅게 안됨;;[ { "project": { "key": "2026PROJECT" }, "summary": "[AI 개선] AI 응답 대기 시간 개선", "description": { "type": "doc", "version": 1, "content": [ { "type": "paragraph", "content": [ { "type": "text", "t..
Jenkins 환경변수 만들기 (feat. Tool type "jdk" does not have an install of "JDK_21" configured)
·
Infra/Jenkins
일을 시킬거면 준비하고 시키랬지Tool type "jdk" does not have an install of "JDK_21" configured에러가 떴다 JDK_21이 설치가 안되어있단다Jenkins는 이렇듯 환경변수를 만들어주고 경로를 알려줘야 쓸 수 있는 경우가 있다빠르게 세팅해보자(아래는 에러 전문)Started by user n100org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:WorkflowScript: 5: Tool type "jdk" does not have an install of "JDK_21" configured - did you mean "null"? @ line 5, column 14. ..
Jenkins 컨테이너 업데이트하는 법 (feat. Docker 젠킨스 업데이트 방법)
·
Infra/Jenkins
그만.. 이제 그만!!자꾸 업데이트 하라고 (몇달째) 알림이 뜬다빠르게 컨테이너 속 Jenkins 버전 업데이트 하는 방법을 알아보자1. 안정 버전 다운로드docker pull jenkins/jenkins:lts2. Jenkins 컨테이너 재생성- 아래 명령어 실행하면 Jenkins 컨테이너만 삭! 바꿔치기 된다docker compose up -d --no-deps --force-recreate jenkins- 옵션 설명은 아래와 같다--no-deps : mysql, postgres 등 안 건드림 --force-recreate : 컨테이너 무조건 새로 만듦- 컨테이너 볼륨 건드리지 않고 고대로 컨테이너만 바꿔치기 성공!- 이제 업데이트 알럿 안뜬다
맥북을 SFTP 서버로 만들기 (feat. MacOS로 간이 서버 만들기)
·
OS/Mac
설정 - 일반 - 공유 - 원격 로그인 On- 이 방법은 Airdrop이 없는 다른 OS간 파일을 주고 받을 때 편하다옵션 설정- 여기까지만 하면 Filezilla로 접속했을 때, 디렉토리 접속이나 파일 수정에 권한이 없다고 뜬다- 이후에 원격 로그인 오른쪽 끝의 i 버튼을 누른다- 여기서 '원격 사용자의 전체 디스크 접근 허용'을 켜주면 된다접속- 이제 Filezilla에서 SFTP, 로컬 IP, 포트는 22 설정하고, ID & PW 입력하고 접속하면 된다(이 때 입력하는 ID, PW는 접속하는 컴퓨터의 로그인 ID, PW이다)(SFTP는 디폴트가 22번 포트라 꼭 안적어줘도 된다)- 아래 사진처럼 잘 연결된다- 이제 파일을 편히 옮기면 됨
Jenkins Pipeline 만들기 (feat. 젠킨스 파이프라인 짧고 굵게 만들기)
·
Infra/Jenkins
날아간게 제 집이더라니까요...홈서버 백엔드 방치했다가 젠킨스 다 날아간 것도 몰랐다SSD를 512GB에서 1TB로 마이그레이션 할 때, 하나 실수했던듯중복 디렉토리란 생각에 지웠겠지 뭐...막상 간만에 백엔드 만지려니 기억이 안나서 포스팅 해둔다1. 파이프라인 생성- 젠킨스의 workspace 이름이 파이프라인 이름을 따라가므로 이름을 지어줄 때 공을 좀 들이는게 좋다..https://ratatou2.tistory.com/23 Jenkins workspace Name 설정 시 주의사항 (feat. Jenkins 빌드 에러)Jenkins workspace Name은 pipeline Name을 따라간다는 것을 알고 있는가..?전혀 몰랐는데 Jenkins의 workspace 이름은 pipe 이름을 따라간다즉..
LLM 토큰 아끼는 방법 (feat. GPT, Gemini, Claude)
·
Dev/AI
토큰이가 비싸요...CLI 버전의 AI를 쓰다보면 토큰을 호로롭 다 써버려서 문제가 생길 때가 있다이게 정확히 뭐고 어떻게 하면 아껴쓸 수 있는지 궁금해져서 나 나름대로 조사하고 정리해보았다토큰이란?- 기본적으로 토큰은 텍스트를 처리하기 위한 단위다- 쉽게 말해 AI 사용 비용을 계산하기 위한 기준이다 - 기업들은 요금별로 이 토큰량을 차등 제한을 두어 서비스를 제공하고 있다 - 좀 더 정확히는 요금제, 모델, API 정책에 따라 서비스가 제공되기는 한다 - 토큰 종류에는 크게 2가지가 있는데 '입력 토큰'과 '출력 토큰'이다- 입력 토큰은 '우리가 AI에게 보내는 텍스트'- 출력 토큰은 'AI가 우리에게 보내는 텍스트'토큰을 아껴쓰는 방법- 그렇다면 어떻게 하면 이 귀한 토큰을 아껴쓸 수 있는지 알아보..
맥북 배터리 % 표기하기
·
OS/Mac
설정 - 제어센터 - 배터리 - 아래 옵션 2개 켜기(1) 메뉴 막대에서 보기(2) 퍼센트 보기
맥북에 Flutter 한방에 설치하기 (feat. 앱 만들기)
·
OS/Mac
앱을 만들어 봅시다기존에 잘 쓰던 어플이 하나 있는데 문제가 생겼다앱 들어갈 때마다 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..
쿠버네티스(Kubernetes, K8s) 실험 일지 (feat. 튜닝 및 방향성에 대한 고찰)
·
Infra/DevOps
쿱네 튜닝 최종장!미루고 미뤘던 쿱네 튜닝의 최종장에 접어들었다마지막 포스팅에 적어뒀던 것처럼 오늘은 3가지를 목표로 두고 있다일단 결론부터 말하면 실패했다정확히는 반만 실패했다요인은 k6 부하테스트를 진행하는 서버의 문제(부하를 주는 쪽)였음세팅 과정은 지루하니까 간단하게 어떤 방식으로 진행했고, 무엇을 개선했고, 어떻게 접근했는지 튜닝의 결과값을 보며 진행해보겠다0. 지난 시간- 지난 포스팅은 솔직히 '이론' 중점이었다고 생각한다- 어떤 것을 썼고 왜 그렇게 썼는지 그리고 결과가 어땠는지 결과에 대한 분석?- 오늘은 지난번에 해보려고 했던 것을 전부 완성한 결과니까 결과 지향적으로 접근해보려고 한다1. 첫번째 실험- 우선 지난번 실험은 ingress-nginx를 설치해서 nginx 분산처리 때와 똑같..
티스토리 본문, 글 목록 중간 광고 제거 (feat. 과도한 광고 제거방법)
·
etc
니 맘대로 광고 뭔데요;;나는 글 목록 중간, 본문 중간에 광고 들어가 있는걸 정말 싫어한다근데 내 블로그가 글 목록 중간이 광고로 도배된 것을 확인함;;;난 최상단, 최하단에만 추가했는데 왜 이러지? 하고 찾아보니 티스토리 설정과 별개로 자동광고라서 그렇다고..(티스토리 맘대로 쑤셔 넣을 때도 있는 것 같다;; 짲) 이게 싫어서 전체 자동광고 다 꺼놨던건데;;;바로 제거하자1. 본문 중간 광고 제거스킨편집 - html 편집 - CSS - 아래 코드 추가 (위치는 크게 상관없음)/* 티스토리 본문 중간 광고 제거 */.contents_style .google-auto-placed { display: none !important;}본문 읽을 때 광고로 방해받는게 너무 싫어서, 나도 싫은건 다른 사람도 ..
포토샵 램 늘리는 방법 (feat. 포토샵 렉 해결)
·
Tools
포토샵에서 인식한 RAM과 실제 RAM 용량이 불일치 하는 경우포토샵을 사용하던 중 램이 모자라서 살짝씩 딜레이가 생기는 것을 경험했다내 램은 64GB인데...이상하다 싶어서 확인해보니 최대 인식된 램이 6GB;;; 뭔짓을 해도 안 늘어나길래 구글링으로 찾고 찾아서 해결법 적어둔다또 헷갈리거나 까먹으면 찾기 힘드니까램 용량을 제대로 인식하고 있다면[설정 - 성능 - 메모리 사용란]을 통해 기본 인식된 램을 늘릴 수 있습니다1. 레지스트리 편집- win + R 눌러서 '실행'을 켜고 레지스트리 편집기인 regedit 입력 후 아래 경로로 간다- 뒤에 140.0에 해당하는 숫자는 각 포토샵 버전 별로 다름컴퓨터\HKEY_CURRENT_USER\SOFTWARE\Adobe\Photoshop\140.02. 필요 ..
컴퓨터 부팅 안됨 해결 (feat. CPU Fan Speed Error detected 에러)
·
OS/Window
컴퓨터 새로 만드는데 아래 같은 에러가 떴다- 한마디로 CPU 팬 감지하는데 문제 있다고 함- 아래는 에러 전문CPU Fan speed error detected.Ensure that the CPU fan is properly installed on the CPU_FAN header or adjust/disable the Fan Speed Low Limit option the UEFI BIOS.Press F1 to Run SETUP이것은 CPU 팬을 올바르지 못한 곳에 꽂아서 생긴 문제다- 보통은 위 사진처럼 메인보드에는 CPU_FAN이라고 CPU 팬만을 위한 자리가 있다- 근데 뭐 선정리든, 랜 간섭 때문에 CPU 팬을 돌려서 설치했든 길이가 안나온다면 가까운 4핀을 찾게 된다해결방법은 두가지1. 앞서..
맥북에서 VPN 사용 시 주의할 점 (feat. WireGuard)
·
Infra/DevOps
이 중에 배신자가 있다맥북에게 통수 맞았다VPN 고친 뒤에 사용하는데 이상하게 맥북에서만 VPN을 켜줘도 아래 두가지 이슈가 생겼다1. 내부망의 다른 서버로 접속 불가2. 심지어 VPN 서버의 로컬 IP로 SSH, SFTP 접근 불가원인부터 해결 방법까지 빠르게 알아보자원인- 우선 원인은 Mac OS가 모든 요청을 VPN이 아닌 내부망으로 보냈기 때문이었다- 좀 더 정확히 말하면 VPN보단 로컬 인터페이스가 좀 더 우선되었다- 이렇게 동작한 이유는 Mac OS의 라우팅 정책에 있었다- Mac OS는 아래 조건이 겹치면 VPN을 거치지 않고, 모두 내부망으로 보낸다1) 현재 연결된 Wi-Fi / Ethernet의 IP 대역 2) VPN이 같은 RFC1918 대역을 쓰는 경우- 쉽게 말해 내가 접속해 있는 ..
iptable-nft 환경에서 VPN 서버 구축하기 (feat. WireGuard)
·
Infra/DevOps
증오한다 nft!!!!아 저번에 iptalbes → nft → iptables-nft 도르마무 하고 나서부터 VPN이 안된다..https://ratatou2.tistory.com/303 Fail2Ban, 다시 iptables-nft 체제로 전환하기 (feat. 최최최종ver)결국.. 다시 여기로저번에 Fail2Ban이 iptable vs nft 문제로 터지고 나서 2번의 시도 이후에 다시 iptables로 돌아왔다그 뒤로도 nft가 문제가 많았음...서버가 네트워크가 안되는걸 해결하면 컨테이너가ratatou2.tistory.com확인해보니 원인은 iptables-nft 체제로 변경되었기 때문이었고 오늘은 이것을 수정해볼 예정이다 ㅠ일단 기본적인 세팅은 아래 포스팅 이후에 이어진다https://ratato..
Flannel이란? (feat. 쿠버네티스, Kubernetes, K8s)
·
Infra/DevOps
아래 글은 내가 홈서버에 쿠버네티스를 구축하면서 찾아보고 공부한 내용이다오늘 내용을 두줄로 요약하면 아래와 같다두줄 요약1) Flannel은 쿱네에서 pod간에 통신을 가능하게 만드는 네트워크 담당자이자 CNI2) pod에게 IP를 주고, ,노드간 VXLAN 터널을 만들어주는 역할1. 사전 지식- 아래 내용을 알고 있으면 이해하기 한결 쉽다CNI란?- Container Network Interface- 컨테이너가 네트워크에 붙을 수 있도록 표준화된 규칙/플러그인 시스템- 컨테이너(pod)에 IP를 주고, 통신 규칙을 만들고, pod/Node 간 네트워크를 구성하는 표준 인터페이스NIC란?- Network Interface Card- 컴퓨터가 외부 네트워크와 데이터를 주고받게 해주는 '네트워크 어댑터'- ..
쿠버네티스(Kubernetes, K8s) 실험과 배운 것들에 대한 회고록
·
Infra/DevOps
길고 길었다...아래는 이번에 K8s를 직접 홈서버 4대에 구현하고 실험해보면서 느낀바를 정리한 내용이다1. K8s는 nginx랑 전략이 다르다- nginx 때는 Weighted round robin로 서버에 맞춰 튜닝했지만, K8s는 그런 식으로 튜닝할 수 없었다- K8s의 장점은 '수평확장'- 이 장점을 최대한 끌어내려면 그에 맞춰 구조를 변경해야했다- 이전과 동일한 환경에서의 테스트는 불가하다는 것- 각자의 장점과 쓰임이 다르다고 판단했음- K8s의 최대 장점은 '수평확장'이니 이것을 극대화하기로 했다2. 그럼에도 통일한 부분- 다만 이전 분산 시스템 튜닝과 비슷하게 하고 싶었던 점이 몇가지 있었다- 우선 맥미니는 Ingress-nginx만 담당하게했다- Ingress-nginx는 쿠버네티스 전용 ..
쿠버네티스(Kubernetes, K8s) 구축 과정에 마주한 에러들
·
Infra/DevOps
내가 마주한 에러들진짜 쿠버네티스 분산 처리보다 어려웠다정확히는 챙겨야하는게 많았고 에러도 많았다양이 방대해서 개념 정리도 필요했음1. kube-apiserver / etcd 강제 종료 & 무한 재시작- 6443 포트 사용하는 Kube-apiserver가 자동으로 종료되는 문제- etcd도 시작 후 10초 뒤에 외부 신호(SIGTERM) 받고 종료됨;;;- 로그 보니 무슨 kubelet이 etcd liveness probe 실패해서 종료되고 결국 kubelet이 무한 재시작 루프에 갇힘- 그로인해 apiserver도 같이 죽는 문제 발생- 찾아보니 기존 클러스터의 자연 파일 및 프로세스가 남아있어서 중복 포트 점유 중이라서 생긴 문제- 일단 기존 포트 점유 중인 것 전부 kill하기 위해 아래 명령어 시..
홈서버 4대로 쿠버네티스(Kubernetes, K8s) 구축하기
·
Infra/DevOps
마참내!!!!11월 중간에 급한 일도 있었고 조금 밀리고 실패도 많이 하다가 정말 긴 시간 끝에 완성했다!홈서버 4대로 쿠버네티스 구축하기! 바로 가보자 ps. [25.12.02] 쿠버네티스 에러 포스팅을 정리하면서 필수인데 누락됐던 내용을 초반 부분에 추가했다1. 사전 정리할 내용- 아래는 이 포스팅에서 미리 알아야 이해하기 쉬운 내용들을 간단히 정리해뒀다1) 노드는 서버를 의미한다- 메인 노드 = 컨트롤 타워인 메인 서버- 서브 노드 = worker에 해당하는 연결된 서브 서버- 서버 구성은 분산 구조 구축했을 때의 기존의 홈서버 4대 그대로 사용했다https://ratatou2.tistory.com/286 서버 부하 테스트 해보기 (feat. K6 스트레스 테스트 & 분산 구조 튜닝)자 일해라 토끼..
반응형