
문제 정의어느 날 갑자기 잘 사용하고 있던 Korean Book Info 플러그인이 작동하지 않았다. 무한 로딩 상태만 반복되고 아무런 결과도 출력되지 않는 상황이었다.일단 급한 대로 브라우저의 개발자 도구를 열고 콘솔을 확인했다.getAttribute 메서드로 DOM의 속성을 가져오려 했는데, 특정 속성을 찾을 수 없다는 에러 메시지가 나왔다. 즉, DOM Element 자체를 제대로 찾지 못하고 있는 상태였다. 기존 플러그인은 YES24 페이지에 직접 HTTP 요청을 보내 HTML 응답을 받은 뒤, JavaScript의 내장 클래스인 DOMParser를 이용하여 HTML 문자열을 DOM 객체로 변환해 CSS Selector를 통해 데이터를 추출하는 방식이었다.기존 플러그인의 실제 동작 구조는 다음과 ..

Introduction최근 machine learning을 공부하면서 노트가 점점 쌓이기 시작했고, 보다 효율적인 지식 관리와 빠른 접근성을 위해 Map of Contents (MOC)를 재구성하기로 결정했습니다. MOC는 저의 지식을 체계적으로 탐색하기 위한 일종의 지도 역할을 합니다. 그러나 기존 MOC 체계에는 많은 문제점이 있었습니다. 불필요한 정의, 무의미한 태그, 잘못된 예시들이 포함되어 있어 정보 접근을 오히려 방해하고 있었습니다. 이는 Obsidian 템플릿을 이용해 AI를 통해 대략적으로 MOC를 구성했고, 제가 machine learning에 대한 지식이 부족했던 초기 단계에서 MOC를 구성했기 때문에 현재의 제 지식과 일치하지 않는 부분들이 생길 수 박에 없었습니다.처음 MOC를 만들..

드디어 첫 옵시디언 플러그인인을 출시하였습니다 !!! 옵시디언을 좋아해서 꼭 직접 만들어서 기여하고 싶다는 생각을 했었는데 만들면서 참 즐거웠습니다! 첫 플러그인을 출시할 때는 "어떻게든 동작하게 만드는 것"에 집중했습니다. 하지만 이제는 향후 유지보수를 고려하여 리팩토링이 필요하다고 느끼게 되었습니다. 또한, github issue에 user feedback이 달리고, 고치다보니 자연스럽게 리팩토링을 고려하게 됩니다출시 후 돌아보니, 처음에는 책임을 분리하려는 목적으로 클래스를 나누어 개발했지만, 실제로는 책임의 분리가 아닌 책임을 떠넘기는 구조가 되어버린 것 같았습니다. 특히 생성형 AI의 도움을 받아 개발한 만큼, 코드의 양이 기하급수적으로 늘어나면서 제가 바로 이해하거나 처리하기 어려워졌습니다. ..
저는 새로운 개념을 공부하기 전에 사전 이해를 돕기 위해 생성형 AI에 궁금한 개념을 입력하고, 아래 프롬프트를 사용합니다. 이 프롬프트는 AI가 개념을 체계적으로 설명해 주는 데 도움이 됩니다.전 옵시디언을 사용하고 있어, 아래와 같이 프론트 매터를 입력했지만, 노션이나 다른 메모 도구를 사용하시는 분들은 프론트 매터 부분을 지우고 그대로 활용하시면 됩니다!---tags:- DOMAIN1- DOMAIN2- TERMINOLOGY- RELATED_TERMINOLOGYaliases:- TERMINOLOGYALIAS1- TERMINOLOGYALIAS2CMDS: "[[📚 013 Terminologies]]"---Prompt 설명프롬프트 기능은 마크다운 파일에서 특정 개념을 설명하고 관련 정보를 체계적으로 정리..
채정님의 작성 마감 일정(공유용)을 Obsidian version으로 변환하였습니다! Dataview 기능 설명Dataview는 Obsidian에서 메타데이터를 쿼리하고 표시하는 강력한 플러그인입니다. 주요 기능은 다음과 같습니다:메타데이터 인덱싱: 태그, YAML 프론트매터, 인라인 필드 등을 자동으로 인덱싱합니다.쿼리 실행: 인덱싱된 데이터를 기반으로 다양한 쿼리를 실행할 수 있습니다.동적 뷰 생성: 쿼리 결과를 테이블, 리스트, 작업 목록 등 다양한 형태로 표시할 수 있습니다.사용 방법Obsidian Plugin - Dataview를 설치합니다.글감 노트에 #글또/글감 태그를 추가합니다.아래 코드 블록을 원하는 노트에 붙여넣습니다:TABLE default(title, "No Title") as "글..
왜 시그널 플로우를 알아야 할까?시그널 플로우(Signal Flow)는 음향 시스템에서 오디오 신호가 어떻게 이동하고 처리되는지를 나타내는 핵심 개념입니다. 시니어 사운드 엔지니어로서 시그널 플로우를 정확히 이해하지 못하면 시스템 설정, 문제 해결, 믹싱 등에서 심각한 어려움을 겪을 수 있습니다. 시그널 플로우는 음향 시스템의 '지도'와 같으며, 이를 통해 신호의 흐름을 추적하고 최적화할 수 있습니다.신호 흐름 (Signal Flow)시그널 플로우는 입력 소스부터 최종 출력까지 오디오 신호가 거치는 모든 단계를 포함합니다. 각 단계에서 신호는 처리되고 변형되며, 이는 최종 사운드 품질에 직접적인 영향을 미칩니다.기본 시그널 플로우 단계입력 소스: 마이크, 악기, 라인 입력 등프리앰프(Preamp): 입력..
2시간마다 한글 키보드를 자동으로 삭제하기저는 영어 실력 향상을 목표로, 의도적으로 한글 사용 빈도를 줄이는 환경을 만들고자 했습니다. 한글을 계속 사용하다 보면 무의식적으로 한글을 더 자주 쓰게 되는데, 이를 방지하기 위해 2시간에 한 번씩 한글 키보드 레이아웃을 자동으로 제거하도록 설정했습니다. 이렇게 하면 한글을 다시 설정하는 번거로움이 생기기 때문에, 자연스럽게 영어만 사용하도록 유도할 수 있습니다. 이는 단순한 의지력에 의존하는 대신, 환경을 재구성하여 목표를 달성하는 구조적 개선 방법 중 하나입니다.설정 방법크론탭(Crontab) 설정을 통해 2시간마다 한 번씩 자동으로 한글 키보드 레이아웃이 삭제되도록 설정합니다.이를 통해 사용자는 자연스럽게 한글을 사용하기 어렵게 되고, 그 결과 영어 사용..
의존성 주입(Dependency Injection, DI) 은 객체 지향 프로그래밍에서 객체가 자신이 필요로 하는 의존성을 직접 생성하지 않고, 외부에서 제공(주입)받는 설계 패턴이자 원칙입니다(Fowler, 2004). 여기서 의존성이란 한 객체가 다른 객체의 기능이나 데이터를 필요로 할 때 그 객체를 의미합니다. DI는 이러한 의존성을 객체 내부에서 직접 생성하지 않고, 외부에서 전달받음으로써 객체 간의 결합도를 낮추고 코드의 유연성과 재사용성을 향상시킵니다.DI는 다양한 프로그래밍 언어와 프레임워크에서 널리 사용되며, 객체 지향 프로그래밍의 핵심 원칙 중 하나인 단일 책임 원칙(Single Responsibility Principle) 을 준수하도록 돕습니다. 또한 DI는 제어의 역전(Inversi..

Introduction현대 디지털 환경에서 온라인 프레젠스는 전문가들에게 중요한 요소가 되었습니다. 이러한 맥락에서, 본 프로젝트는 개인의 지식 체계와 전문성을 효과적으로 표현할 수 있는 디지털 CV 구축 방법을 탐구합니다. 구체적으로, Quartz 정적 사이트 생성기와 Obsidian 지식 관리 시스템을 통합하여 상호 연결된 지식 네트워크를 웹 기반 이력서 형태로 구현하는 과정을 다룹니다.Quartz는 마크다운 문서를 구조화된 웹사이트로 변환하는 기능을 제공하며, Obsidian의 노트 작성 및 연결 기능과 결합하여 단순한 경력 나열을 넘어선 지식 조직 접근 방식을 시각화할 수 있습니다. 이 방법론은 전통적인 이력서 형식의 한계를 극복하고, 개인의 전문 지식과 사고 과정을 더 포괄적으로 표현할 수 있는..

Omnisearch는 Obsidian의 강력한 검색 플러그인으로, 다음과 같은 특징을 가지고 있습니다:다양한 파일 형식 지원: 노트, Office 문서, PDF, 이미지 등을 빠르게 검색오타 저항성: 검색어의 오타에도 관련 결과를 찾아냄필터링 기능: 다양한 파일 형식별 필터링 가능키보드 중심 워크플로우: 효율적인 검색 및 탐색 지원외부 접근성: 로컬 HTTP 서버를 통해 Obsidian 외부에서도 쿼리 가능 Omnisearch를 브라우저와 연동하면 다음과 같은 이점을 얻을 수 있습니다:통합 검색 경험: 웹 검색과 개인 노트 검색을 동시에 수행지식 연결: 외부 정보와 개인 지식을 쉽게 연결맥락 이해 향상: 검색 결과의 맥락을 더욱 풍부하게 이해노트 활용도 증가: 개인 노트의 활용 빈도와 가치 상승시간 절약..
- Total
- Today
- Yesterday
- 개발/CS/OS
- ⌨️Developer
- 개발/CS/알고리즘
- 개발/webrtc
- 개발/Tools/프레임워크/Spring
- 카카오테크캠퍼스
- ⌨️Developer/보안
- ai
- 개발/OOP
- 개발/네트워크
- AI/ML
- 대외활동/카카오테크캠퍼스
- 개발/에러
- 개발/언어론
- electron
- 개발
- AI/GPT
- 개발/보안
- 알고리즘
- 개발/Java
- 개발/언어/Java
- 개발/컴퓨터네트워크
- 카테캠
- 개발/Electron
- 개발/MySQL
- 카카오 테크 캠퍼스
- 개발/Java/Spring
- 취업
- 개발/환경
- 개발/프레임워크&라이브러리
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |