Popular

[Obsidian] 플러그인_추천_및_10개월_사용후기.md

모 지인이 obsidian이 어렵다고 쓰는 법을 노션(?)에 정리해달라는 말을 들어서 간단하게 적어보는 obsidian 1년 사용기 및 방법이다. 이전에 써서 올린 적이 있던 notion과의 비교글, obsidian 플러그인 및 git 연동법에 이어 세 번째 글이다. 아마 이 글 이후로 다시 obsidian에 대해 다루지는 않을 듯 하다. [Obsidian] Notion vs Obsidian, 내가 Obsidian으로 이사한 이유2~3주 전이었나? 업무시간 중간에 Notion 서버에 잠시간 장애가 발생했던 적이 있다. 나는 내 기억력을 안 믿는 편이라 해야할 업무부터 일하면서 리서치한 내용 등을 노션에 다 기록해두고 쓰고dnai-deny.tistory.com  [Obsidian] 커뮤니티 플러그인 추천 ..

🌠 etc. 2024.08.05 5

[Math] Mathematics for Machine Learning 2. Linear Algebra

근래에 정말이지 수학 공부의 필요성을 느껴서 MML 이라는 머신러닝 수학의 바이블 같은 책으로 공부를 시작했는데... 일단 영어고(!), 용어가 너무 많고(!), 내용도 어려워서 아주 애를 먹고 있다. 어찌저찌 이해했다고 생각했는데 연습문제를 보니까 또 이야~ 모르겠고 난리다... 답안지를 봐도 이해가 어려운 부분이 많아서 꼼꼼하게 가이드 따라 두세번 풀어봐야 이해가 되지 싶다. 근데 너무 어렵다 ㅎㅋ... 선형대수 강의를 수강했었는데도 내가 들었던 선형대수 강의의 범위보다 더 넓은 듯 하다. 아무튼 아래 링크는 참고한 사이트 등. 한국어 번역 해주신 준별님 정말 감사합니다... 비교하며 보고 있습니다... 교재 - pdf 무료 공개(https://mml-book.github.io/book/mml-boo..

❔ Q & etc. 2024.01.10 0

[Obsidian] Notion vs Obsidian, 내가 Obsidian으로 이사한 이유

2~3주 전이었나? 업무시간 중간에 Notion 서버에 잠시간 장애가 발생했던 적이 있다. 나는 내 기억력을 안 믿는 편이라 해야할 업무부터 일하면서 리서치한 내용 등을 노션에 다 기록해두고 쓰고 있어서 아주, 아주, 아주 불편한 시간이었다. 그때 결심했다. 아, 대체제를 찾아야겠다. 그때 Obsidian을 알게 됐다. 노마드 코더의 영상을 보고(사실 봤다기엔 썸네일만 봤다) 처음으로 Obsidian을 접하게 되었고, 장단점을 비교한 여러 글들을 읽어보고 이사를 결심하게 되었다. 이사 과정이 조금 험난하기도 했고, 적응에도 시간이 필요해서 이제 조금 알 것 같은 기분이라 나처럼 이사를 고민 중인 분들을 위해서 기록을 남겨보려고 한다. 연동성, 디자인(이라 쓰고 사용자 경험), 확장성을 중심으로 비교해보자..

🌠 etc. 2023.10.19 6

[PostgreSQL] Windows 외부 접속 허용 설정 및 외부 접속 방법

postgresql.conf 수정 C:\Program Files\PostgreSQL\15\data_ 경로에 postgresql.conf listen_addresses = '*' 로 설정 - 모든 ip 주소에서 접속 허용 white list ip 설정하고 싶으면 ip 주소 쓰기 ps_hba.conf 수정 C:\Program Files\PostgreSQL\15\data 경로에 pg_hba.conf # IPv4 local connections: host all all 0.0.0.0/0 scram-sha-256 IPv4 local connection address 0.0.0.0/0 으로 수정(원래는 127.0.0.1) 방화벽 설정 고급 보안이 포함된 windows defender 방화벽 인바운드 규칙 - 새 규..

❔ Back-end | etc. 2023.11.03 1

AI 엔지니어에서 펌웨어 엔지니어로 직무 변경한 후기

2026년 1월에 부서 이동이 있었다. 사실상 이직 및 직무 변경이다. 회사 구조상 부서마다 하는 프로젝트 등이 완전히 결이 다르기 때문에 그렇다.2023년에 처음 회사에 입사했을 때부터 어떤 일을 했는지를 정리해볼 필요가 있다. 내가 주로 맡은 일을 뭐라고 소개하기가 어려웠다. 굉장히 작은 팀에 있었고, 사람이 적기 때문에 필요한 일이 생기면 그게 뭐든지 해야하는 환경이었다. 때문에 내가 3년 가까이 재직하면서 가장 끝까지 고민했던 것이 바로 전문성의 부재, 물경력이었다. AI(이상 탐지, 신호 분석, 강화학습, 비전)모니터링 용 웹 개발(FastAPI + JavaScript)DB (PostgreSQL, Redis)MQTT 등 통신 프로토콜아두이노 칩 기반 디바이스 제어, 데이터 수집이렇게 다양한 걸 ..

🌠 etc. 2026.06.04 0

[Linux] 오프라인 환경에서 패키지 설치하기

offline 환경에서 패키지 설치를 위한 빌드이번에 서버를 설치하면서 외부 인터넷과 연결이 되지 않는 환경에 패키지를 설치해야하는 상황이 생겼다.장거리를 왔다갔다 출장다니면서 설치를 해야하는 상황이라, wsl을 사용해서 두 개의 머신을 하나는 online, 하나는 offline으로 구성하고 오프라인 패키지 설치를 했다. sudo api-get install 로 설치해야하는 패키지와 pip 로 설치하는 방법 모두 사용했는데, 겸사겸사 한 번 블로그에 기록해본다.준비물설치하려는 오프라인 서버의 리눅스 버전 등을 알아야한다. e.g. Ubuntu-22.04 LTS오프라인 서버에 dpkg, ifconfig(ip a로도 되긴 하지만 그래도) 등 기본은 설치되어 있는지 확인해볼 것.WSL2(윈도우 기준)인터넷에 ..

🌠 etc. 2025.09.30 0

[Elasticsearch] Elasticsearch 기본 개념 및 설치, kibana 연동하기

최신 한국어 자료가 없어서 설치만 하다가도 쓰러질 뻔했다. 세상에 이렇게 기빨리는 설치작업은 처음이다... Elasticsearch 설치 방법이 어렵다기보다는 백엔드 바보(...)인 내가 걷기에는 제법 어려운 일이었다고 할 수 있겠다. 이미 유사한 경험이 있다면 쉽게 하실 것 같다. 어쨌든 성공했으니 가볍게 정리해보도록 하겠다. 1. Elasticsearch 란? 명확하게 답을 내기에는 아직 부족한 점이 많지만, 검색엔진이다. NoSQL 기반으로 데이터 구조를 가져가고, 각각은 RDBMS와 매핑되는 용어를 가지고 있다. NoSQL에 익숙하다면 더 쉬울 것 같다. Firebase 등등. A. RDBMS와 검색엔진의 차이 RDBMS는 테이블로 딱딱 쪼개서 자를 수 있는 체계적인 구조 단어 검색, 쿼리문을 활..

❔ Back-end | etc. 2023.06.29 1

[Protocol] XKNX를 활용한 KNXnet/IP 데이터 통신하기

ETS를 이용해서 device의 group address가 전부 설정된 이후 read/write 하는 것이 목표 1. knx 객체 정의 from xknx import XKNX from xknx.io import ConnectionConfig, ConnectionType aysnc def main(): xknx = XKNX( connection_config=ConnectionConfig( gateway_ip="knx net/ip address", gateway_port=3671, connection_type=ConnectionType.ROUTING, ), ) router를 사용하는 경우(EX. ABB ips) ConnectionType을 Routing으로, TUNNELING도 설정 가능 device들이 이..

🌠 etc. 2023.12.15 1

[NVIDIA] 윈도우에서 가상머신(WSL)으로 Jetson AGX Xavier 부팅하기

이 글은... Jetson AGX Xavier를 부팅하기 위해 온갖 시행착오를 거친 후 성공한 과정을 정리한 것이다. 따라서 설치하다가 다른 오류가 나거나 한다면 댓글로 알려주시면 힘 닿는대로 도와드릴 수 있다. 1. Ubuntu 18.04 or Ubuntu 16.04 환경의 host 디바이스 준비 없다면 Window는 WSL로 하자…… Virtual box로 하면 곧죽어도 안된다. 맥유저라면 아래 첨부한 링크에서 잘 설명해주고 있으므로 따라가면 된다. NVIDIA JETSON AGX XAVIER 소개 및 설정 방법 NVIDIA JETSON AGX XAVIER 소개 및 설정 방법 오늘은 강력한 추론 엔진인 NVIDIA® Jetson AGX Xavier™의 설정 방법을 소개드리려고 합니다. 먼저 자비에가 ..

🌠 etc. 2023.04.14 18

[Linux/CUDA] Ubuntu 24.04 LTS에 CUDA 및 Tensorflow GPU 설치하기

기존에 쓰던 서버의 Ubuntu가 23.10으로 설정되어 있어서 24.04 LTS로 버전업하는 김에 그래픽 드라이버도 새로 설치하고, CUDA와 cudnn도 싹 새로 설치해서 개발환경을 만들기로 결정했다.과정은 다소 지난했으나 결론은 간단하므로 빠르게 정리해보겠다.1. Ubuntu 24.04 LTS 설치Ubuntu 23.10은 지원이 24년 7월 경부터 중단되었으므로 LTS 버전으로 업그레이드가 필요하다. 방법은 아래와 같다.먼저 시스템 업데이트를 진행한다. $ sudo apt update$ sudo apt upgrade$ sudo apt dist-upgrade다음으로는 업데이트 매니저를 설치한다. 이를 통해서 우분투 버전 업그레이드가 가능하다. 참고로 다운그레이드는 지원하지 않으니 업그레이드 전에 충분..

🌠 etc. 2025.01.15 0

Recent

more

AI 엔지니어에서 펌웨어 엔지니어로 직무 변경한 후기

2026년 1월에 부서 이동이 있었다. 사실상 이직 및 직무 변경이다. 회사 구조상 부서마다 하는 프로젝트 등이 완전히 결이 다르기 때문에 그렇다.2023년에 처음 회사에 입사했을 때부터 어떤 일을 했는지를 정리해볼 필요가 있다. 내가 주로 맡은 일을 뭐라고 소개하기가 어려웠다. 굉장히 작은 팀에 있었고, 사람이 적기 때문에 필요한 일이 생기면 그게 뭐든지 해야하는 환경이었다. 때문에 내가 3년 가까이 재직하면서 가장 끝까지 고민했던 것이 바로 전문성의 부재, 물경력이었다. AI(이상 탐지, 신호 분석, 강화학습, 비전)모니터링 용 웹 개발(FastAPI + JavaScript)DB (PostgreSQL, Redis)MQTT 등 통신 프로토콜아두이노 칩 기반 디바이스 제어, 데이터 수집이렇게 다양한 걸 ..

🌠 etc. 2026.06.04 0

[STM32] FreeRTOS

최근에 stm32 칩의 펌웨어 개발 관련된 일을 하고 있는데, 개발된 프로그램에 FreeRTOS를 얹는 작업을 했다. 때문에 FreeRTOS를 적용하는 방법과 이유에 대해 정리해보고자 한다.1. RTOS란FreeRTOS는 RTOS의 일종이다. RTOS란 Real Time Operating System의 약자로 입력된 작업을 제한된 시간 내에 반드시 처리하여 예측 가능한 결과와 안정성을 보장하는 특수 목적의 운영체제이다. 말하자면 임베디드 IoT를 위한 운영체제라는 것이다.임베디드 펌웨어 개발을 처음 해보면서 알게된 것은 펌웨어 단에서는 OS없이도 프로그램 동작을 시키는 일이 잦다는 것이다. 없이도 할 수 있는데도 OS를 쓰는 이유에 대해 생각해보면, 관리의 편의성이 있다. OS는 스케줄링을 제공한다. 여..

❤️ Firmware 2026.04.24 0

[RL Basics] 6. Monte Carlo Methods(2)

5.4 Monte Carlo without Exploring Starton-policy : 결정을 내리는데 사용하는 정책을 평가 or 개선 ($Q_{\pi}$ 학습, $\pi$ 개선)off-policy : 데이터 생성 정책과는 다른 정책을 평가 or 개선($\pi$와 다른 $\mu$를 사용해 데이터를 얻고 $Q_{pi}$)관찰용 정책이랑 평가/개선하는 정책이 따로인듯?monte carlo ES는 on-policy 방식. Exploring Start 없이 on-policy 제어를 설계on-policy 제어는 일반적으로 soft 하다. soft 정책 = $\pi(a|s) > 0$ 일반적으로 사용하는 방식은 $\epsilon$-greedy 방식. greedy를 따르지만 아주 적은 확률로 무작위 행동 선택G..

카테고리 없음 2025.12.23 0

[RL Basics] 5. Monte-Carlo Methods(1)

5. Monte Carlo Methods환경에 대한 완전한 지식을 가정하지 않는다. 경험(환경과의 상호작용으로부터 얻은 상태, 행동, 보상 샘플 시퀀스) 만을 요구한다. 이전에는 완전한 환경 지식을 가정했었음.sample returns 를 평균하는 것에 기반하여 문제를 해결episode task (value 추정치와 policy는 에피소드 완료 시점에만 변경되고 모든 에피소드는 결국 종결)에 대해서만 정의.monte carlo 여기서는 완전한 반환값 평균 방법state-action 쌍에 대해 return을 샘플링하고 평균을 구한다. => 각 행동에 대해 보상을 샘플링하고 평균는 bandit method와 유사다른 점여러 개의 상태가 있음각 상태가 다른 밴딧 문제처럼 작용함서로 연관되어 있음한 상태에서 행..

[RL Basics] 4. Dynamic Programming

Dynamic ProgrammingDP는 Markov Decision Process에 완벽한 환경 모델이 주어졌을 때 optimal policy 연산에 사용가능한 알고리즘의 모음계산 비용이 세기 때문에 유용성은 제한되어 있지만 이론적으로 중요하니 짚고 넘어가자유한 MDP로 가정$$s \in S, a \in A, r \in R, and \ s' \in S^{+}, p(s',r|s,a)$$정확하게 dp로 문제를 해결하는 건 드문 경우이고, 연속적인 상태와 행동에 대한 대략적인 솔루션을 얻는 방법은 action space를 양자화하고 유한 state dp 방식 적용DP 알고리즘은 Bellman Equation을 근사치 개선을 위한 업데이트 policy로 변환해서 얻는다.1. policy evaluation임의..

[RL Basics] 3. Markov Decision Process

수학주의... 어려워서 교재에 나와있던 것보다 마아아아않이 풀어쓰고 기본 개념을 덧붙였다. Markov Decision Process위 까지는 유한 공간에 대한 reward 정의였음(Markov Reward Process)finite MDP에서는 state와 action을 one-step dynamics로 정의했음.이제 Markov Decision Process에 대해 얘기해봅시다기본 동역학(Dynamics)$$p(s', r|s, a) = Pr{R_{t+1}=r, S_{t+1}=s'|S_{t},A_{t}}$$현재 상태가 s, 에이전트가 a 행동을 취했을 때 다음 상태가 s'이고 동시에 보상 r을 받을 확률= 이걸 알면 환경 작동 방식을 완전히 안다는 의미 => 동적 계획법 사용 가능기본 동역학만 알면 ..

[RL Basics] 2. Finite Markov-Decision Processes

Frame$t = 0, 1, 2, 3, \cdot\cdot\cdot$ : Timestep$S_{t} \in S$ : 환경에서 관측 가능한 state 집합 $S$ 중 하나인, timestep $t$ 시점의 state$A_{t} \in A(S_{t})$ : $S_{t}$ 상태에서 취할 수 있는 행동 집합 $A(S_{t})$ 중 하나인, timestep $t$ 시점의 action$R_{t+1} \in R \subset \mathbb{R}$ : Action을 취하고 timestep 1이 지나고 나면 action의 결과로 reward가 나옴$S_{t+1}$ : 이하 동일이 모든 step에 agent는 state로부터 선택 가능한 각각의 action에 대한 확률을 mapping 구현한다.이 mapping이 poli..

[RL Basics] 1. 강화학습이란 무엇인가

아따 강화학습은 해도해도 헷갈린다. 아무래도 내가 기반없이 일단 쓰고 봤기 때문이겠지... 때문에 기반을 다지는 시간을 가져본다. Richard S. Sutton and Andrew G. Barto의 라는 강화학습계의 바이블 같은 책을 슥슥 읽고 수식을 정리하면서 이해를 해보기로 한다. 책은 온라인 공개되어 있으므로 영문 번역기와 함께라면 무서울 것 없다!!! 제미나이 프롬프트를 하나 짜서 개인교사를 두고 모르는 걸 물어보면서 공부했다. 냅다 붙여넣기 하고 설명해달라는 게 많으니까 주의..https://gemini.google.com/share/c194067ca041CHAPTER 1. THE REINFORCEMENT LEARNING PROBLEM1.1 Reinforcement learning강화학습 문제..

[Redis] 생초짜 Redis 활용기

TS.ADD ts:sensor:123 * 23.4늘 그랬듯이 다소 갑작스럽게 일주일 내 Redis로 짧은 기간의 데이터 적재, 백업, 트리거 발생시에 Restful API 호출을 담당하는 프로그램을 만들어달라는 요청을 받아서 급하게 Redis를 공부하게 됐다. 1. Redis란 무엇이고 어떻게 써야하는가Redis는 인메모리(In-memory) NoSQL DB이다. 내가 써 본 NoSQL은 key-value 형태로 데이터를 관리하는 DB로 학부생 저학년 시절에 찍먹해본 Firebase 뿐이긴 했는데, NoSQL보다도 인메모리가 더 중요한 개념이지 싶다.DB는 Query를 어떻게 짜느냐에 따라 다르기야 하지만 그래도 빠른 편은 못된다. 요즘과 같은 대용량 데이터와 트래픽을 고속 처리해야하는 작업환경에서 사용..

🌠 etc. 2025.11.26 0

[Docker/K8S] 웹 서비스를 GKE로 배포하기(4) - Gateway API로 배포하기

이번에 업무과정에서 썼던 툴들을 정리해보면서 k8s 웹 배포를 작년에 했던 기억을 되살려 다시 공부해보면서 포스팅하기로 했다. 지난 포스팅에서는 DB 설정에 필요한 파일들을 만들어보면서 PV, PVC, configmap 등 내가 헷갈렸던 것들을 정리해보는 시간을 가졌다. 이번 포스팅에서는 kubernetes의 네트워킹에 대해서 간단히 알아보고, ingress와 gateway에 대해 정리하고, 나의 삽질(...)을 기록하도록 하겠다.목표GKE(Google Kubernetes Engine)와 GCE(Google Compute Engine) 등을 활용한 풀스택 웹 서비스 배포하기docker file 구성하기kubectl 활용하기쿠버네티스 구성에 관한 이해 및 적용DeploymentStatefulSetPersi..