전체 글

· 📖 Book
소감 회사에 있는 책 중에 "이펙티브 엔지니어"라는 책을 발견하게 되었다.요즘 사내에 개발자들이 많아져서 그런지 IT 관련 서적을 많이 구매하는 것 같았다.살짝 훑어봤을 때 내용이 크게 어려워 보이지 않았고, 책에서 사용하는 용어들도 대부분 개발자라면 바로 알 만한 단어들로 이뤄져 있었다. 두껍지도 않아 (대략 250페이지 정도) 시간 내서 읽어보려고 이번 주에 완독을 했는데, 사실 테마가 "개발자들을 위한", "IT업무 효율"이지만, 이 책에서 나오는 개발 용어들을 일반 업무용어로 바꿔서 읽으면 비개발 직군에게도 충분히 유용할 수 있는 자기 개발서라고 생각한다. 특히 업무의 우선순위도 선별과정, 지표를 활용한 내 업무에서의 활용, 차라리 빠른 실패를 경험하기 등 내가 읽으면서도 "응? 이건 개발자들에게..
· 🐧 Linux
개요certbot을 통해 발급한 *.mydomain.com 이라는 와일드카드 주소가 renew로 갱신이 안 돼서 다른 방법을 찾게 되었다.와일드카드도 자동 갱신이 가능하긴 한데 과정이 너무 복잡하여 다른 방법을 찾게 되었고, 이번엔 가장 깔끔한 방법을 정리하고자 한다.아래 내용은 web호스팅, 프록시 호스팅을 예시로 두고 있다.또한 가비아 등 별도로 도메인 공급업체에서 ACME 수동 인증을 통하지 않아서 번거로움을 줄일 수 있다. 환경Ubuntu 22.04certbotnginxcode-server (설치되어있음. 8080 포트 사용) 진행1. Certbot 설치하기Ubuntu/Debiansudo apt update sudo apt install certbotsudo apt install python3-c..
· 🐋 Flutter
서론Flutter에서 키보드를 내리는 방법에는 여러 가지가 있다. 그중에서도 가장 많이 사용하는 방법이 FocusManager.instance.primaryFocus?.unfocus();와 FocusScope.of(context).unfocus();이 있다.이번 글에서는 이 두 방식의 차이점과 각각의 특징에 대해 자세히 살펴보려고 한다. 1. FocusManager.instance.primaryFocus?.unfocus();이 방식은 현재 활성화된 입력 포커스를 전역적으로 해제하는 방법이다. Flutter의 FocusManager는 애플리케이션 전체의 포커스 상태를 관리하는데, 여기서 primaryFocus를 통해 현재 활성화된 포커스를 가져올 수 있다. 이 값을 사용해 포커스를 해제하면 키보드가 내려가..
이벤트 소싱(Event Sourcing)은 시스템의 상태를 직접 저장하는 대신, 발생한 이벤트를 순서대로 기록하고 이 이벤트들을 기반으로 상태를 재구성하는 설계 패턴이다. 전통적인 CRUD 방식과 다르게 모든 상태 변경의 이력을 기록하고 이를 통해 현재 상태를 파악한다.이벤트 소싱의 기본 개념이벤트(Event)이벤트는 시스템에서 발생한 상태 변경의 기록이다. 예를 들어, 은행 시스템에서는 계좌 개설, 입금, 출금 같은 것이 이벤트가 될 수 있다. 각 이벤트에는 발생 시간, 관련된 데이터, 변경 사항이 포함된다.이벤트 로그(Event Log)이벤트들은 시간 순서대로 기록되며 불변(Immutable)이다. 삭제되거나 수정되지 않고, 모든 상태 변경 이력을 보관한다.리플레이(Replaying)이벤트 로그를 처..
· 🐧 Linux
요즘 LLM에 대한 관심이 높아지면서 자체 서버에 LLM모델을 실행시키는 사람들이 많아졌다.LLM을 위해서는 그래픽카드가 필수인데 서버 측에 있는 그래픽카드가 구형이라 구형 드라이버에 맞게 설치를 해줘야 한다. 우선 Nvidia그래픽 드라이버 사이트로 들어가서 내 PC에 설치된 Driver를 검색하여 찾은 뒤 Linux버전으로 가져온다. https://www.nvidia.com/en-us/drivers/ Download The Latest Official NVIDIA DriversDownload the latest official NVIDIA drivers to enhance your PC gaming experience and run apps faster.www.nvidia.com   그리고 다운로드를..
개요디스코드 봇은 Discord API와 WebSocket연결을 기반으로 동작하는 Event-driven(이벤트기반) 라이브러리이다.디스코드상에서 이뤄지는 모든 이벤트는 실시간으로 감지를 할 수 있는데, 모든 이벤트를 상시적으로 감시하게 되면 당연히 리소스의 낭비가 심해진다. 또한 모든 이벤트에 대해 감지를 함으로써 민감한 데이터에 접을 할 수 있는 경우가 생길 수 있다.이러한 이유로 인해 DiscordAPI v8부터는 개발자 인증제도와 Gateway Intent가 도입이 되었는데, 봇을 개발하다 보면 이 부분으로 인해 가끔 작동되어야 할 부분이 작동되지 않는 경우가 발생하기도 한다. 그렇다면 Gateway Intent는 도대체 무엇일까? Gateway Intent란?Discord Gateway Inte..