블로그 검색 기능 오류 보고: JSON 쉼표 문제
블로그 검색 기능 오류 보고: JSON 쉼표 문제, 그 실체와 해결
최근 본 블로그의 검색 기능에서 오류가 발생했다. 기능 작동이 중단된 원인을 분석한 결과, 예상과 달리 사소한 문제에서 비롯되었음을 확인했다.
JSON 데이터 유효성 오류: 검색 기능 장애의 근본 원인
블로그 검색 기능은 search.json 파일에 저장된 데이터를 기반으로 동작한다. 이 파일은 모든 포스트와 노트의 메타데이터 및 내용을 포함한다. JSON 포맷은 각 객체 또는 배열 요소 간의 명확한 쉼표 구분자를 요구한다.
예시 JSON 구조는 다음과 같다:
[
{
"title": "첫 번째 글",
"url": "/post1",
"content": "..."
},
{
"title": "두 번째 글",
"url": "/post2",
"content": "..."
}
]
문제 발생 당시 search.json 파일은 이러한 쉼표 구분자가 누락된 상태였다. search_data << { ... } 로 데이터를 배열에 추가하고 JSON.pretty_generate(search_data)를 사용했음에도 불구하고, 배열 요소 간 구분자가 정상적으로 생성되지 않았다는 것이다. JSON 유효성 검증 시 “Expecting ‘,’ delimiter” 오류가 발생했으며, 이는 검색 스크립트의 데이터 파싱 실패로 이어졌다. 결과적으로 사용자들은 정상적인 검색 기능을 이용할 수 없었다.
문제 진단 과정: JSON 데이터 유효성 검증
문제 해결을 위해 search.json 파일의 유효성 검증이 필요했다. 다음 명령어를 통해 파일의 JSON 유효성을 확인했다.
curl -s https://antiperfectclub.github.io/digitalgarden/search.json | python -m json.tool
검증 결과, “Expecting ‘,’ delimiter” 오류가 확인되었다. 이는 search.json 파일이 유효한 JSON 형식을 따르지 않음을 명확히 보여주는 증거였다.
해결 방안: safe_search_json.rb 스크립트 수정
문제의 원인이 _plugins/safe_search_json.rb 파일의 JSON 생성 로직에 있음을 파악했다. 해당 스크립트는 Jekyll 빌드 시 search.json 파일을 생성하는 역할을 수행한다.
주요 수정 사항은 다음과 같다.
-
JSON 생성 방식 변경: 기존 방식 대신
JSON.generate(search_data.compact)를 사용하여 JSON 데이터 생성 시 배열 요소 간 구분자가 정확히 포함되도록 했다.compact메서드는 배열 내의nil값을 제거하여 데이터 무결성을 확보한다.# ... (생략) ... # JSON 생성 시 compact 사용하여 nil 값 제거 및 정확한 포맷 유지 self.content = JSON.generate(search_data.compact) # ... (생략) ... -
데이터 클렌징 강화:
safe_string및safe_content메서드를 보완하여 HTML 태그, 제어 문자 등 JSON 파싱 오류를 유발할 수 있는 불필요한 요소를 사전에 제거하도록 했다.private def safe_string(str) return '' if str.nil? str.to_s.gsub(/[\x00-\x1F\x7F]/, ' ').strip # 제어 문자 제거 end def safe_content(content) return '' if content.nil? clean = content.gsub(/<[^>]*>/, ' ') # HTML 태그 제거 clean = clean.gsub(/[\x00-\x1F\x7F]/, ' ') # 제어 문자 제거 clean = clean.gsub(/\s+/, ' ') # 여러 공백을 하나로 clean.split(' ').first(30).join(' ').strip # 길이 제한 end
이러한 수정은 search.json 파일이 유효한 JSON 형식을 유지하도록 보장한다.
graph TD
A[Jekyll 빌드 시작] --> B(SafeSearchGenerator 실행);
B --> C(SafeSearchPage 초기화);
C --> D{Posts 및 Notes 데이터 수집};
D --> E[각 문서에서 'public' 여부 확인];
E -- public == true --> F[safe_string, safe_content로 데이터 정제];
F --> G[search_data 배열에 JSON 객체 추가];
G --> H[search_data.compact로 nil 값 제거];
H --> I[JSON.generate로 최종 JSON 문자열 생성];
I --> J[search.json 파일로 저장];
J --> K[Jekyll 빌드 완료];
대안적 해결 방안: Liquid 템플릿을 이용한 JSON 생성
루비 플러그인 수정이 즉시 불가능할 경우, 임시적으로 Liquid 템플릿을 사용하여 search.json 파일을 생성하는 방법도 고려할 수 있다.
---
layout: null
---
[{# ... notes도 비슷하게 처리 ... #}{
"title": "8월 회고: 설계도만 그리다 끝난 여름, 혹은 가장 견고한 기초공사",
"url": "/digitalgarden/posts/retrospective-journal-2025-08",
"language": "kr",
"category": "retrospective",
"tags": "Convergence UI/UX burnout UXAudit",
"content": "# 설계도만 그리다 끝난 여름, 혹은 가장 견고한 기초공사8월의 커밋 로그를 돌아보면 허탈하기 그지없다. 화려한 쇼케이스도, 돈이 되는 서비스도 없다. 있는 것이라곤 수십 개의 기획 문서, 복잡한 다이어그램, 그리고 'A를 B로 변환하는 법'에 대한 끝없는 연구 기록뿐이다. 하지만 그 과정에서 얻은 설계도의 정밀함과 기록들은 왠지 흡족하다. 브랜드 리브랜딩, 접근성 문서화,..."
},{
"title": "Remotion에서 ShaderToy 멀티패스 이펙트: 단일 비디오에서 컨테이너 패턴으로의 진화",
"url": "/digitalgarden/posts/remotion-shadertoy-multipass-effect-from-mono-video-handling-to-container-pattern-kr",
"language": "kr",
"category": "ArtXTech",
"tags": "ShaderToy WebGL react-three-fiber VideoEditing remotion featured",
"content": "## 비디오에 쉐이더를 끼얹다가 생긴 일\"Remotion 비디오에 ShaderToy 효과를 적용한다.\" 이런 식의 요청을 받으면, 겉으로 보기에는 간단해 보이지 않겠는가. 하지만 개발자의 눈에는 이미 수많은 난관과 삽질의 그림자가 아른거린다. 하나의 비디오에 필터 효과를 입히는 것과, 여러 비디오를 조화롭게 배치하는 것은 완전히 다른 차원의 문제. ### 1. 작업 요약: \"단순한 비디오 필터\"가..."
},{
"title": "UX 라이팅으로 브랜드를 재탄생시킨 사례: Antiperfect.club 리브랜딩 프로젝트",
"url": "/digitalgarden/posts/ux-writing-and-rebranding-antiperfect-club-project",
"language": "kr",
"category": "UX/UI",
"tags": "UXWriting Branding Copywriting Rebranding Portfolio CreativeTechnologist BrandStrategy UserExperience",
"content": "### UX 라이팅이 브랜드의 운명을 바꾼다많은 사람들이 UX 라이팅을 '텍스트 바꾸기' 정도로 생각하지만 UX 라이터는 브랜드의 DNA를 재구성하고, 사용자의 인식을 근본적으로 바꿀 수 있다. 이 글은 `Antiperfect.club` 리브랜딩 프로젝트를 통해 UX 라이팅이 어떻게 브랜드의 운명을 바꿨는지 보여주는 실제 사례다.### 1. 프로젝트 개요: 문제 정의부터 목표까지#### 1.1 프로젝트 배경**클라이언트**: 개인 포트폴리오..."
},{
"title": "UX 리서치 실무 가이드: 개인 포트폴리오 리브랜딩 프로젝트의 완전한 연구 과정",
"url": "/digitalgarden/posts/ux-research-planning",
"language": "kr",
"category": "UX/UI",
"tags": "UX-Research User-Research InformationArchitecture DesignSystem UXWriting CompetitiveAnalysis UsabilityTesting UserInterviews",
"content": "### 서론: UX 리서치가 없는 디자인은 추측에 불과하다많은 디자이너들이 '감'으로 디자인을 한다. 하지만 진짜 UX 전문가는 데이터와 사용자 인사이트 없이는 어떤 결정도 내리지 않는다. 앞서 UX 리서치 및 리브랜딩이 어떻게 이뤄졌는지 그 과정을 [[ _posts/2025/Q3/2025-08-02-antiperfectclub.github.io-rebranding-uxwriting-kr|2025-08-02-antiperfectclub.github.io-rebranding-uxwriting-kr ]]에서 다뤘었다. 이 글은 `Antiperfect.Club` 리브랜딩 프로젝트에서 실제로 진행한 UX 리서치 과정을 상세히 다룬 실무..."
},{
"title": "UX 감사원의 실제 업무: 체크리스트를 넘어선 심층 분석 프로세스",
"url": "/digitalgarden/posts/the-brief-process-of-ux-audit",
"language": "kr",
"category": "UX/UI",
"tags": "UXAudit Accessibility WCAG UserExperience DesignSystem CodeReview HeuristicEvaluation AutomatedTesting featured",
"content": "### 서론: UX 감사원은 단순한 체크리스트 검사원이 아니다많은 사람들이 UX 감사원을 '체크리스트를 돌리는 검사원'으로 생각한다. 하지만 실제 UX 감사원의 업무는 훨씬 복잡하고 심층적이다. 이 글은 실제 UX 감사원이 어떤 프로세스로 업무를 수행하는지, 특히 접근성 감사에 초점을 맞춰 상세히 다룬다. 특히 최근 EAA가 강력한 Accessibility requirement를 반영하는 legislation을 발효하면서 전 세계의..."
},{
"title": "하드 스펙 문서: Antiperfect.Club 리브랜딩 프로젝트 완전 기술 명세서",
"url": "/digitalgarden/posts/technical-ux-specation-kr",
"language": "kr",
"category": "Development",
"tags": "TechnicalSpecification DesignSystem InformationArchitecture UXDesign FrontendDevelopment CSSVariables ComponentArchitecture GridSystem featured",
"content": "### 서론: 하드 스펙이 없는 디자인은 추측에 불과하다'느낌'으로 디자인을 하지만, 실제 개발에서는 구체적인 수치와 명세가 필요하다. 이 문서는 `Antiperfect.Club` 리브랜딩 프로젝트의 완전한 기술 명세서로, 개발자가 즉시 구현할 수 있는 모든 하드 스펙을 담고 있다.### 1. 프로젝트 요구사항 명세서 (PRD)#### 1.1 프로젝트 개요| 항목 | 내용 ||:---|:---|| **프로젝트명** | Antiperfect.Club 리브랜딩..."
},{
"title": "Antiperfect의 재탄생 - 어떻게 날것의 정체성을 전략적 비즈니스 자산으로 변환했나",
"url": "/digitalgarden/posts/antiperfectclub-github-io-rebranding-uxwriting-kr",
"language": "kr",
"category": "UX/UI",
"tags": "UX-Writing Information-Architecture Creative-Technologist Branding CRO Accessibility",
"content": "### 서론: 내 포트폴리오는 나의 가치를 제대로 말하고 있는가?모든 크리에이터, 개발자, 디자이너는 딜레마에 빠진다. 나의 독특한 개성과 날것의 스타일을 유지할 것인가, 아니면 시장이 요구하는 '전문적인' 모습에 나를 맞출 것인가. 제 개인 브랜드인 \"Antiperfect.Club\" 역시 이 문제에 직면해 있었다. 포트폴리오 웹사이트는 '내가 만든 것들'을 모아놓은 온라인 앨범과 같다. 웹사이트 Antiperfect.Club 역시 마찬가지였다. 글리치 아트와 사이버펑크 미학, 그리고 K-pop과 팬덤 문화에 대한 '덕질'이 가득한 공간이다.웹사이트는 글리치 아트와 사이버펑크 미학으로 정체성을 강렬하게 드러냈지만, 정보..."
},{
"title": "NSW프로젝트에 관여하는 UX 감사원의 실제 업무: 정부 입찰부터 기업 컨설팅까지",
"url": "/digitalgarden/posts/ux-audit-workflow-in-nsw",
"language": "kr",
"category": "UX/UI",
"tags": "UXAudit Sydney NSWGovernment Accessibility Workshop Consulting VPAT ASEN301549 featured",
"content": "### NSW에서 UX 감사원으로 일한다는 것은 단순히 웹사이트를 검사하는 것이 아니다. NSW 정부의 엄격한 입찰 기준을 만족시키고, 호주의 포용적 디지털 정책을 반영하며, 다양한 문화적 배경을 가진 사용자들의 요구를 이해하는 복합적인 업무다.이 글은 시드니에서 실제로 관여한 UX 감사 프로젝트의 경험을 살려 워크플로우와 프로젝트, 그리고 그들이 진행하는 워크숍에 대해 다룬다.### 1. NSW..."
},{
"title": "UX 테크놀로지스트의 생존기 in CRO and Analytics: 당신의 데이터태깅 플랜이 먹히지 않는 이유",
"url": "/digitalgarden/posts/survival-as-ux-technologist-cro-ux-analytics-and-mar-tech-kr",
"language": "kr",
"category": "Web Development",
"tags": "Design-Principles Design-System #UI/UX CRO Responsive featured",
"content": "특히 UX테크놀로지스트로 살아가며 타 직군과 부대끼다 보면, 여러모로 내 생각을 어떻게 설득시키며 전달시킬 지 더욱 절감하게 된다. 그들은 종종 자신들이 아는 것만 이야기할 뿐, 프론트엔드 생태계에 대한 이해 부족이 어떻게 비즈니스의 발목을 잡는지에 대해서는 놀라울 만큼 무관심하다.### Analytics 팀이 던져준 'AI 코드', 왜 작동하지 않는가?데이터 분석이나 마케팅 테크 분야 동료들과의..."
},{
"title": "UX 감사, 이제 선택/권고가 아닌 필수",
"url": "/digitalgarden/posts/eaa-en301-549-ux-design-system-accessibility-europe-legislation",
"language": "kr",
"category": "UX/UI",
"tags": "Design-Principles #UI/UX Development frontend UX-Design WCAG Design-System UX-Audit Compliance featured",
"content": "### 서론: 조용한 폭탄, 유럽 접근성법(EAA)의 전 세계적 낙진2025년 6월 28일. 이 날짜는 많은 이들에게 조용히 지나갔을지 모른다. 하지만 디지털 제품을 만드는 우리에게 이 날은 하나의 시대가 끝나고, 새로운 시대가 시작되었음을 알리는 신호탄이다. 유럽 접근성법(EAA)이 전면적으로 발효되면서, 이제 '접근성'은 더 이상 좋은 의도로 포장된 권장 사항이 아닌, **시장에서 퇴출당할 수..."
},{
"title": "UX 감사, 이제 선택/권고가 아닌 필수-호주연방정부의 정책",
"url": "/digitalgarden/posts/as-en301-549-ux-design-system-accessibility-ict-australia",
"language": "kr",
"category": "UX/UI",
"tags": "Design-Principles #UI/UX Development frontend UX-Design WCAG Design-System UX-Audit Compliance",
"content": "많은 사람들이 AS EN 301 549를 그저 'WCAG의 호주 버전' 정도로 생각하는 경향이 있다. 아주 틀린 말은 아니지만, 살짝 더 엄중하다. **AS EN 301 549**는 호주가 유럽 표준인 **EN 301 549**를 그대로 가져와 채택한 **'정보통신기술(ICT) 제품 및 서비스에 대한 접근성 요구사항'** 표준이다. 여기서 가장 중요한 단어는 바로 **'ICT'**다.WCAG가 주로 **웹..."
},{
"title": "디자인 시스템과 접근성, 그 숭고하지만 지켜지지 않는 약속",
"url": "/digitalgarden/posts/ux-design-system-accessibility-and-audit",
"language": "kr",
"category": "UX/UI",
"tags": "Design-Principles #UI/UX Development frontend UX-Design WCAG Design-System featured",
"content": "### 서론: '디자인 시스템'디자인 시스템. '애자일'이나 '그로스 해킹'이 그랬던 것처럼, 모두가 입에 올리지만 제대로 이해하는 사람은 드문, 그런 유행어가 되어버렸다.다들 '재사용 가능한 컴포넌트', '일관된 사용자 경험' 같은 뻔한 소리들을 늘어놓는다. 틀린 말은 아니다. 하지만 그 본질을 놓치고 있다. 디자인 시스템은 단순히 개발자와 디자이너의 작업을 편하게 해주는 도구 상자가 아니다. 그것은..."
},{
"title": "Remotion 그리고 창작의 시스템화 - 2025년 7월, 번아웃과 데이터, 그리고 나를 위한 UX",
"url": "/digitalgarden/posts/retrospective-journal-2025-07-jekyll",
"language": "kr",
"category": "retrospective",
"tags": "Podcast Convergence UX UI/UX DataScience Retro-Review burnout CreativeCoding Refactoring Remotion",
"content": "# 7월, 번아웃과 데이터, 그리고 나를 위한 UX: 아무도 시키지 않았다> \"이렇게 엉덩이가 짓무르도록 앉아서 뭘 계속 공부하고 그리고 코딩하고 아이디어 짜는 게 지옥같다.\"> — 2025년 7월, 내 일기장 한 귀퉁이에서### Remotion, 번아웃, 그리고 창작의 시스템화 - 나는 왜 아직도 이러고 있나7월의 시작은 거창했다. 하지만 현실은 언제나 그렇듯, 선언만으로는 아무것도..."
},{
"title": "유튜브 임베드, 그 답 없는 크기 문제: Jekyll에서 동적 조절하기",
"url": "/digitalgarden/posts/youtube-jekyll-dynamic-resize",
"language": "kr",
"category": "Web Development",
"tags": "youtube Liquid Jekyll frontend Responsive",
"content": "## 유튜브 임베드, 그 답 없는 크기 문제: Jekyll에서 동적 조절하기블로그에 유튜브 영상을 삽입하는 것은 흔한 일이다. 하지만 Jekyll 환경에서 `_includes` 파일을 통해 임베드할 때, 영상 크기가 고정되어 불편함을 겪는 경우가 빈번하다. 어떤 영상은 가로형이고, 어떤 영상은 세로형인데, 늘 똑같은 크기로 박아 넣는다는 것은 비효율적이다.현재 사용되는 `youtubePlayer.html` 파일은 대략 이런..."
},{
"title": "Remotion Transitions 모듈화 - 코드 재사용의 늪에서 빠져나오기",
"url": "/digitalgarden/posts/how-to-make-transition-modules",
"language": "kr",
"category": "ArtXTech",
"tags": "remotion reactjs Refactoring TypeScript",
"content": "# Remotion Transitions 모듈화 - 코드 재사용의 늪에서 빠져나오기## 또 다시 반복된 복붙의 과업Remotion으로 영상을 만들다 보면 피할 수 없는 순간이 온다. 바로 트랜지션이다. 처음엔 단순했다. 페이드 인, 페이드 아웃 정도면 충분하다고 생각했지. 하지만 영상이 하나둘 늘어나면서 슬라이드, 와이프, 디졸브... 온갖 화려한 효과들이 필요해졌다.문제는 매번 새로운 에피소드를 만들 때마다 이전..."
},{
"title": "블로그 검색 기능 오류 보고: JSON 쉼표 문제",
"url": "/digitalgarden/posts/blog-json-comma-reality-and-solution",
"language": "kr",
"category": "Web Development",
"tags": "debugging JSON Jekyll SearchEngine Validation",
"content": "## 블로그 검색 기능 오류 보고: JSON 쉼표 문제, 그 실체와 해결최근 본 블로그의 검색 기능에서 오류가 발생했다. 기능 작동이 중단된 원인을 분석한 결과, 예상과 달리 사소한 문제에서 비롯되었음을 확인했다.### JSON 데이터 유효성 오류: 검색 기능 장애의 근본 원인블로그 검색 기능은 `search.json` 파일에 저장된 데이터를 기반으로 동작한다. 이 파일은 모든..."
},{
"title": "기업 UX 디자인이 망가지는 진짜 이유 - 사용자는 아오안",
"url": "/digitalgarden/posts/why-the-ux-design-goes-lost-direction-true-reasons-behind",
"language": "kr",
"category": "UX/UI",
"tags": "UI/UX UXEngineering digitalanalytics Business-Culture Design-Principles",
"content": "기업 UX 디자인이 망가지는 진짜 이유 - 사용자는 아오안?매일 쓰는 앱이나 웹사이트 때문에 빡친 적 있지 않겠는가? 버튼은 어디 숨어있는지 모르겠고, 원하는 기능 찾으려면 미로 탐험을 해야 하고, 광고는 화면 절반을 차지하고 말이다.이런 걸 경험할 때마다 “도대체 이걸 만든 사람은 뭘 생각하고 있었을까?“라는 생각이 든다.답은 간단하다. 사용자 생각은 안 하고..."
},{
"title": "MediaInsert 확장과 Scene 통합 - 또 다른 리팩토링의 여정",
"url": "/digitalgarden/posts/shorts-ep2-media-insert-extended",
"language": "kr",
"category": "ArtXTech",
"tags": "remotion reactjs Refactoring TypeScript ArtXTech Animation Architecture featured",
"content": "MediaInsert 확장과 Scene 통합 - 또 다른 리팩토링의 여정또 다른 바퀴의 재발명트랜지션 모듈화를 끝내고 나니 또 다른 문제가 보였다. MediaInsert라는 멀쩡한 컴포넌트가 있는데, Scene 시스템을 만들면서 비슷한 기능을 또 구현하고 있었다는 것이다. 이미지 표시하고, 오디오 재생하고, 자막 넣고… 이런 건 MediaInsert가 이미 다 하고 있는 일 아닌가?문제는 MediaInsert는 팟캐스트용으로 설계되어..."
},{
"title": "2025년 6월, 모듈화와 창작의 경계에서-AI, 예술, 미학, 그리고 빡침",
"url": "/digitalgarden/posts/retrospective-journal-2025-06-jekyll",
"language": "kr",
"category": null,
"tags": "ISYE6501 mental-health Politics youtube remotion Podcast Convergence Philosophy",
"content": "2025년 6월, 모듈화와 창작의 경계 - 분류 모델의 실전 적용과 콘텐츠 창작의 확장서론 - “만들기”에 집착한 한 달, 그리고 그 뒤에 남은 것6월은 확실히 ‘만들기’에 집착한 달이었다. Remotion 기반 유튜브 팟캐스트 시스템, AI 음성 대화 시스템, 글리치 아트, 쉐이더 실험까지.2025년 6월은 ISYE6501 과목에서 배운 분류(Classification) 모델의 개념을 실제 시나리오에 적용하고,..."
},{
"title": "다중 비디오 레이아웃의 늪: 혼돈 속에서 질서를 찾아서",
"url": "/digitalgarden/posts/multi-video-layout-hell-loophole",
"language": "kr",
"category": "ArtXTech",
"tags": "remotion reactjs VideoEditing debugging Development featured",
"content": "다중 비디오 레이아웃의 늪: 혼돈 속에서 질서를 찾아서단일 비디오도 힘들었는데 이제 여러 개를?2025-06-30-surviving-from-remotion-video-framing-hell이전 포스팅에서 OffthreadVideo와 Sequence로 비디오 렌더링 지옥에서 간신히 탈출했다고 생각했는데…사람의 욕심은 끝이 없다고, 비디오 두 개를 나란히 놓고, 중간에 트랜지션 효과도 넣고 싶어졌다.아, 진짜 이럴 줄 알았다. 하나 제대로 돌아간다고 안심하면 안 되는 게 개발이지. 비디오 하나도 버퍼링과 싸우느라 진땀..."
},{
"title": "Remotion 비디오 시퀀스 지옥에서 살아남기: 버퍼링과 싸우다",
"url": "/digitalgarden/posts/surviving-from-remotion-video-framing-hell",
"language": "kr",
"category": "ArtXTech",
"tags": "remotion reactjs VideoEditing debugging Development",
"content": "Remotion 비디오 시퀀스 지옥에서 살아남기: 버퍼링과 싸우다Remotion 프로젝트는 좀 달랐다. 비디오 렌더링이라는 놈이 내 예상보다 훨씬 복잡하고 예측 불가능한 괴물이었거든. 특히 OffthreadVideo와 Sequence를 조합해서 뭔가 그럴듯한 걸 만들려고 했는데… 아, 이거 정말 험난한 여정이었다.기존 MediaInsert의 한계: 모든 걸 한 곳에 때려박기// 이전 방식: 모든 미디어를 하나의 컴포넌트에서 처리export const MediaInsert: React.FC<{ config:..."
},{
"title": "UX 디자인은 부트캠프로 만들어지지 않는다: 진짜 융합적 UX 테크니션이 되기까지",
"url": "/digitalgarden/posts/ux-design-cannot-simply-be-defined-from-bootcamp",
"language": "kr",
"category": "UX/UI",
"tags": "UXEngineering UX-Design UI/UX Design-System User-Research Accessibility Design-Principles Convergence",
"content": "부트캠프 출신들이 놓치고 있는 것“6주 만에 UX 디자이너 되기”, “피그마만 배우면 UX 디자이너”, “포트폴리오 3개면 취업 보장” - 이런 광고들을 볼 때마다 속이 답답하다. UX 디자인을 마치 포토샵 사용법 배우는 것처럼 단순화시켜버리는 이 현상이 업계 전체를 얼마나 망치고 있는지 모른다.내가 웹테크계에 발을 들여놓으면서 더 깊숙히 깨달은 것은, 이 분야가 단순히..."
},{
"title": "5월, 코드와 현실 사이에서 성장, 좌절, 그리고 통찰",
"url": "/digitalgarden/posts/retrospective-journal-2025-05-jekyll",
"language": "kr",
"category": null,
"tags": "Refactoring Perspective PersonalGrowth SelfReflection Productivity",
"content": "2025년 5월 회고록: 일상 속 성찰과 아이디어 정리프롤로그: 학문과 덕질, 그리고 일상의 교차점5월은 학문적 호기심과 오타쿠적 취향이 대담하게 융합된 달이었다. ISYE6501 중간고사 대비로 머신러닝 모델을 정복하는 한편, 디지털 아트와 BL 소설 세계에 분류 알고리즘을 접목하는 실험을 감행했다. 일상적 기록과 성찰, 그리고 창의적 탈출구를 찾으려는 시도가 뒤섞였다.5월은 원래 꽃이 피고, 사람들은..."
},{
"title": "타임라인-2025.05.01-30 비화폰과 CCTV가 말하는 진실",
"url": "/digitalgarden/posts/written-%ED%83%80%EC%9E%84%EB%9D%BC%EC%9D%B8-2025-05-01-30",
"language": "kr",
"category": "Politics",
"tags": "김건희의혹 노상원비선 CCTV증거",
"content": "타임라인 리포트 (2025년 5월 1일 ~ 5월 30일)잠시 거쳐가는 빠른 요약윤석열 불구속 기소, 이재명 상고심 파기환송, 대법원 ‘사법쿠데타’ 논란, 국민의힘 김문수 후보 당선, 김문수 후보 교체 시도 실패, 윤석열 ‘국회의원 끌어내라’ 증언, 윤석열 국민의힘 탈당공수처 판사 수사, 김건희 여사 각종 의혹 폭로, 2차 계엄 시도 증거 확보, 노상원 민간 비선..."
},{
"title": "LLM 활용 가이드-AI와 함께 일하는 현명한 방법",
"url": "/digitalgarden/posts/llm-collaboration-guide-kr",
"language": "kr",
"category": "AI",
"tags": "youtube LLM ChatGPT AI-Hallucination",
"content": "LLM AI가 생성한 코드를 맹신하지 말라요즘 ChatGPT, Claude 같은 LLM들이 개발 세계를 휩쓸고 있다. 코드 작성에서부터 버그 해결, 문서화까지… 못하는 게 뭐야? 싶을 정도로 다재다능하다.근데 실무에서 이 답변을 무작정 믿었다가는…주옥 되는 건 한순간이다. 이건 내가 직접 겪어본 이야기다.이 글에서는 내가 팀에서 LLM 도구들 쓰면서 깨달은 팁들, 주의사항들을 공유하려 한다. 특히..."
},{
"title": "데이터 과학의 7가지 기둥: 현업에서 배운 진짜 이야기",
"url": "/digitalgarden/posts/data-science-pillars-kr",
"language": "kr",
"category": "Data Analytics",
"tags": "youtube LLM ChatGPT AI-Hallucination",
"content": "데이터 과학의 7가지 기둥: 현업에서 배운 진짜 이야기AI, 머신러닝, 빅데이터… 근데 실상은 데이터 청소부에 가깝다. 내가 경험한 데이터 과학의 7가지 핵심 요소를 솔직하게 풀어보고자 한다.1. 데이터 수집: 깨끗한 데이터는 환상# 이상적인 상황clean_data = pd.read_csv('perfect_dataset.csv')# 현실try: data1 = pd.read_excel('최종_진짜최종_v3.xlsx', sheet_name='Sheet1') data2 = scrape_from_unreliable_api() # 자주 503 에러 뜸 data3 = connect_to_legacy_database()..."
},{
"title": "유튜브: 내 뇌의 디버깅 콘솔. 생각의 난맥상을 정리하는 독백",
"url": "/digitalgarden/posts/why-did-i-start-youtube",
"language": "kr",
"category": "Life Lesson",
"tags": "youtube",
"content": "유튜브를 하게 되는 이유? 별거 없는데 사실나는 말을 하면서 생각을 정리한다. 다들 그런다지. “Think before speak.” 근데 내 경우엔 시각적으로 뭔가를 보면서 이걸 내가 음성, 소리, 문자 이런 걸로 말을 하면서 생각을 정리하는 타입이다.근데 이걸 직접 면대면으로 이렇게 얘기하면서 하면? 병크가 난다. 꼭 병크가 터지게 되어 있다. 이러면 내 사회생활도..."
},{
"title": "2025년 4월 회고: Remotion과 현실 사이에서 깨달은 자동화의 진실",
"url": "/digitalgarden/posts/retrospective-journal-2025-04-jekyll",
"language": "kr",
"category": null,
"tags": "remotion reactjs GSAP Animation CreativeCoding debugging Refactoring frontend KineticTypography dataviz DataArt VideoEditing Politics",
"content": "2025년 4월 회고: Remotion과 현실프롤로그: 자동화라는 달콤한 유혹4월 초, 나는 확신에 차 있었다. 이번 달은 진짜 뭔가 대단한 걸 만들어보자. Remotion으로 비디오 자동화 마스터하고, Keyframe Timeline으로 작업 영상 만들고…그런데 4월이 끝난 지금, 키보드 앞에 앉아 회고를 쓰면서 드는 생각은…“자동화가 이렇게 수동적인 작업이었나?”4월의 여정 맵├── Remotion 마스터리 (꿈 vs 현실)├── Keyframe..."
},{
"title": "(프론트엔더의 고통)애니메이션부터 SEO까지, 4개 프로젝트로 배운 것들",
"url": "/digitalgarden/posts/gatsby-animation-reference-vite-and-react-animation-timing-projects",
"language": "kr",
"category": "Web Development",
"tags": "reactjs GSAP Animation seo",
"content": "프론트엔드 삽질기: 애니메이션부터 SEO까지, 4개 프로젝트로 배운 것들최근 몇 달간 진행한 프론트엔드 프로젝트들을 되돌아보니, 뭔가 패턴이 보이기 시작했다. 리퍼런스 웹사이트 분석하다가 100DaysOfUI 만들고, 거기서 스크롤 애니메이션 삽질하다가 SEO 최적화까지… 겉보기엔 전혀 관련 없어 보이는 작업들이 묘하게 연결되면서 하나의 큰 그림을 그려내고 있었다.시작은 남의 코드 분석부터리퍼런스 웹사이트 예제 분석graph LR A[Gatsby..."
},{
"title": "타임라인-2025.04.05-30 법정에서 사저까지, 포위망이 좁혀지는 시간의 기록",
"url": "/digitalgarden/posts/written-%ED%83%80%EC%9E%84%EB%9D%BC%EC%9D%B8-2025-04-05-30",
"language": "kr",
"category": "Politics",
"tags": "윤석열탄핵 헌법재판소 파면선고 비상계엄 블랙요원",
"content": "타임라인 리포트 (4월 5일 ~ 4월 30일)잠시 거쳐가는 빠른 요약파면 확신하다 당황한 윤석열, 헌재 장악 시도하는 한덕수, 경호처 연판장 사태, 젊은 지지자만 골라 연출한 관저 퇴거쇼, 대통령실 증거인멸 정황.법정 촬영 허가, 헌재 재판관 지명 갈등, 건진법사 진술 확보, 블랙요원 추가 제보, 새 특검법 발의, 이재명 대선후보 선출, 윤석열 사저 압수수색..."
},{
"title": "타임라인-2025.03.31-04.04 3월 31일부터 4월 4일까지의 긴박한 시간 흐름. 최종 선거까지 결정적 순간을 향한 여정",
"url": "/digitalgarden/posts/written-%ED%83%80%EC%9E%84%EB%9D%BC%EC%9D%B8-2025-03-31-04-04",
"language": "kr",
"category": "Politics",
"tags": "윤석열탄핵 헌법재판소 파면선고 비상계엄",
"content": "탄핵사건이므로 선고 시각을 확인하겠습니다. 지금 시각은 오전 11시 22분입니다.주문. 피청구인 대통령 윤석열을 파면한다. 타임라인 리포트 (3월 31일 ~ 4월 4일)잠시 거쳐가는 빠른 요약국민의힘의 야당 고발, 헌재법 개정안 상정, 계엄 직전 법원 불만 진술 공개, 탄핵 선고일 발표, 계엄군의 언론 탄압 증거 공개, 4월 4일 윤석열 대통령 파면 선고.마지막 카운트다운, 그리고..."
},{
"title": "디자인과 개발 사이: 융합적 UX 테크니션이 되기",
"url": "/digitalgarden/posts/convergence-capabilities-are-powerful",
"language": "kr",
"category": "UX/UI",
"tags": "debugging Development UXEngineering Agile Design-System Convergence",
"content": "서로 다른 언어를 쓰는 사람들“이건 기술적으로 불가능해요.” “아니, 이건 사용자 경험상 필수적인 요소예요.” “그럼 스프린트를 하나 더 추가해야겠네요.”회의실에서 자주 들리는 이런 대화들. 디지털 애널리스트, 디자이너와 개발자가 마치 서로 다른 행성에서 온 것처럼 대화하는 모습을 지켜보며 나는 항상 답답함을 느꼈다. 한쪽은 픽셀 퍼펙션과 사용자 경험을 강조하고, 다른 쪽은 기술적 제약과 일정을..."
},{
"title": "2025년 3월 회고: 애니메이션 디버깅 지옥에서 React Hooks 천국까지",
"url": "/digitalgarden/posts/retrospective-journal-2025-03-jekyll",
"language": "kr",
"category": null,
"tags": "remotion reactjs GSAP Animation CreativeCoding debugging Refactoring frontend",
"content": "2025년 3월 회고: 애니메이션 디버깅 지옥에서 React Hooks프롤로그: 코드의 바다에 허우적3월은 한마디로 정의하자면 “순수 웹 개발 몰입”의 달이었다. 2월의 창의적 실험들이 어느 정도 방향을 잡아주면서, 이제는 진짜로 내가 원하는 것을 웹에서 구현하는 방법에 집중할 때가 온 것이다.애니메이션 디버깅의 지옥 같은 시간들, 갤러리 리팩토링의 끝없는 삽질, 그리고 React Hooks라는 새로운 세계의 발견...."
},{
"title": "타임라인-2025.03.17-30 혼돈의 카니발은 계속된다. 구속영장 기각부터 삼청교육대 재현 의혹까지",
"url": "/digitalgarden/posts/written-%ED%83%80%EC%9E%84%EB%9D%BC%EC%9D%B8-2025-03-17-30",
"language": "kr",
"category": "Politics",
"tags": "비상계엄",
"content": "타임라인 리포트 (3월 17일 ~ 3월 30일)잠시 거쳐가는 빠른 요약경호처 간부 구속영장 재신청, 곽종근 전 사령관 회유 시도 의혹, 아파치 헬기 북방한계선 도발 비행, 계엄군 시신 수습용품 구매, 비화폰 통화기록 원격삭제, 김건희 여사 “총 갖고 다니면 뭐하냐” 발언, 선관위 체포 명단에 외부위원 포함, 민주당 의원들 계란 세례.경호처 간부 구속영장 기각,..."
},{
"title": "타임라인-2025.03.10-16 탄핵 선고 공판 중 조작과 은폐의 마지막 발악",
"url": "/digitalgarden/posts/written-%ED%83%80%EC%9E%84%EB%9D%BC%EC%9D%B8-2025-03-10-16",
"language": "kr",
"category": "Politics",
"tags": "윤석열탄핵 헌법재판소 검찰수사 한미동맹",
"content": "타임라인 리포트 (3월 10일 ~ 3월 16일)잠시 거쳐가는 빠른 요약검찰 구속취소 즉시항고 포기, 대통령기록물 비공개 기준 수정 지시, ‘경기특수’ 사조직 운영 실태, 국무회의 조작 의혹, 헌재 선고 대비 경찰 총력 체제, 암살 계획 제보, 계엄실무편람 은밀 수정.헌재 심판 임박한 주말, 서울 도심 10만 명 탄핵 찬반 집회 총집결. 윤 대통령..."
},{
"title": "타임라인-2025.03.03-09 진실과 거짓말 사이, 28시간의 석방 드라마",
"url": "/digitalgarden/posts/written-%ED%83%80%EC%9E%84%EB%9D%BC%EC%9D%B8-2025-03-03-09",
"language": "kr",
"category": "Politics",
"tags": "헌법재판소 707특임단 구속취소 선관위점거",
"content": "타임라인 리포트 (3월 3일 ~ 3월 9일)잠시 거쳐가는 빠른 요약김용현 전 장관 진술 번복, 윤 대통령 골프 동반자들의 707특임단 연결고리, 보수 유튜브 국가안보라인 전달, 검찰-공수처 갈등 심화, 곽종근 전 사령관 ‘양심선언’ 논란, 윤 대통령 구속취소 및 석방, 검찰총장 탄핵 추진.진실과 거짓말이 뒤섞인 증언의 바다에서 떠오르는 내란의 실체.2025.03.03진술의 번복과 골프의 비밀김용현..."
},{
"title": "jQuery기반의 코드들을 React로 변환하기: 웹 비디오 에디터 현대화 삽질기",
"url": "/digitalgarden/posts/making-my-own-video-editor-in-progress",
"language": "kr",
"category": null,
"tags": "reactjs typescript webdevelopment frontend GSAP remotion",
"content": "My subtle dyslexic arse with a lack of dopamine gave up proofreading after multiple tries. If you see grammatical errors or some awkward sentences, move on. Use the context clues to understand my post, thanks.우연히 발견한 웹 기반 모션 그래픽 오픈소스…근데 코드가 왜 이래?어느 날 우연히 오픈소스로 굴려지다 2년 전..."
},{
"title": "\"픽셀 퍼펙트\"라는 허상과 UX 업계의 착각들",
"url": "/digitalgarden/posts/pixel-perfect-is-not-for-fluid-web",
"language": "kr",
"category": "UX/UI",
"tags": "UI/UX UXEngineering digitalanalytics Business-Culture Design-Principles Pixel-Perfect User-Research",
"content": "“픽셀 퍼펙트”라는 허상과 UX 업계의 착각들시작하며오늘도 회사에서 “픽셀 퍼펙트하게 해주세요”라는 말을 들었다. 순간 눈앞이 깜깜해졌다. 2024년에도 여전히 이런 말이 나오다니.“픽셀 퍼펙트.” 이 말만 들어도 알 수 있다.이 사람은 UX가 뭔지…사실 정확히 알고나 있을까 의문이 들때 나에게 확신을 주는 마법의 단어가 있다. “Pixel Perfect”.물론 디자인의 정밀성과 일관성은 중요하다. 하지만 그게 전부는..."
},{
"title": "아름다운 UX, 불편하면 끝 아닌가...?",
"url": "/digitalgarden/posts/ux-design-is-not-about-static-visual-perfection",
"language": "kr",
"category": "UX/UI",
"tags": "UI/UX UXEngineering digitalanalytics",
"content": "아름다움은 개뿔, 불편하면 끝 아닌가요즘 제법 입에 오르내리는 서비스를 분석해보았다. 아직 스타트업이고 발전하는 단계라 혹독한 비평은 하기 싫어 업체 페이지는 밝히지 않겠다. 콘텐츠 큐레이션 서비스. 디자인이 미니멀하고 눈에 편하다는 둥, 호평이라 한번 들여다 보았다. 하지만 겉보기만 그럴싸하다고 해서 다 좋은 UX는 아니지 않겠는가?나는 이 리뷰 페이지를 한번 까다롭게 뜯어보기로 했다...."
},{
"title": "2025년 2월 회고: 코드로 음악을 그리고, GAN으로 현실을 비틀다",
"url": "/digitalgarden/posts/retrospective-journal-2025-02-jekyll",
"language": "kr",
"category": null,
"tags": "remotion Politics reactjs GSAP Animation CreativeCoding",
"content": "2025년 2월 회고프롤로그: 학업지옥에서 찾은 창의적 탈출구2월은 한마디로 정의하자면 “학업 스트레스 vs 창의적 욕구”의 대결이었다. 데이터 과학 석사 과정에서 통계와 선형대수가 내 정신건강을 갉아먹는 동안, 나는 Remotion과 GAN이라는 새로운 장난감들로 현실도피를 시도했다.결과적으로? 도피는 성공적이었고, 부산물로 몇 가지 흥미로운 작업물들이 나왔다.2월의 키워드 맵├── Academic Hell (통계/선형대수의 공포)├── Drum Cover + Code..."
},{
"title": "타임라인-2025.02.24-03.02 계엄의 실체와 헌재 압박의 일주일",
"url": "/digitalgarden/posts/written-%ED%83%80%EC%9E%84%EB%9D%BC%EC%9D%B8-2025-02-24-03-02",
"language": "kr",
"category": "Politics",
"tags": "12만명집회 총쏴서라도 계엄준비메모",
"content": "타임라인 리포트 (2월 24일 ~ 3월 2일)잠시 거쳐가는 빠른 요약여인형 전 방첩사령관 계엄 준비 메모 공개, 윤 대통령 ‘총 쏴서라도 끌어내라’ 지시 진술, 국민의힘 헌재 탄원서 제출, 헌법학자회의 맞불 대응, 12만 명 탄핵 찬반 집회, 김용현 ‘헌재 처단’ 옥중편지.계엄의 실체가 드러나고, 정치권이 헌재를 압박하며, 국민이 거리로 나선 일주일.2025.02.24계엄 준비의 실체,..."
},{
"title": "타임라인-2025.02.17-23 내란의 퍼즐 완성: 증거 은폐와 위증이 난무한 혼돈의 7일",
"url": "/digitalgarden/posts/written-%ED%83%80%EC%9E%84%EB%9D%BC%EC%9D%B8-2025-02-17-02-23",
"language": "kr",
"category": "Politics",
"tags": "탄핵심판 국회봉쇄 비상계엄 내란죄",
"content": "타임라인 리포트 (2월 17일 ~ 2월 23일)잠시 거쳐가는 빠른 요약선관위 투입 방첩사의 KISA 오인, 권영세의 하야설 부정, 조태용 원장 위증 의혹, 김건희 여사와의 계엄 직전 문자, 여인형의 증거 은폐 시도, 707특임단의 국회 봉쇄 계획, 조지호 경찰청장의 윤 대통령 체포 지시 증언, 김용현의 제2수사단 설치 시도.내란의 퍼즐이 하나씩 맞춰지는 가운데, 증거..."
},{
"title": "타임라인-2025.02.10-16 노상원 수첩과 500명 체포 명단: 내란의 청사진이 드러나다",
"url": "/digitalgarden/posts/written-%ED%83%80%EC%9E%84%EB%9D%BC%EC%9D%B8-2025-02-10-02-16",
"language": "kr",
"category": "Politics",
"tags": "곽종근진술 홍장원 선관위침입 노상원수첩 국정조사",
"content": "타임라인 리포트 (2월 10일 ~ 2월 16일)잠시 거쳐가는 빠른 요약500명 대량 체포 명단과 살인적 처리 방안 공개, 전국 계엄사 설치 정황, 국회 단전 실행 확인, 선관위 침입 사전 준비, 윤 대통령의 계엄 강행 과정과 장기 집권 시나리오 드러남. 내란의 청사진이 담긴 노상원 수첩과 곽종근의 고백으로 조직적 쿠데타 실체 만천하에.2025.02.10면회와 정치적..."
},{
"title": "타임라인-2025.02.01-08 체포조와 국민변호인단의 진실",
"url": "/digitalgarden/posts/written-%ED%83%80%EC%9E%84%EB%9D%BC%EC%9D%B8-2025-02-01-08",
"language": "kr",
"category": "Politics",
"tags": "내란특검법 노상원 선관위체포 비상계엄",
"content": "타임라인 리포트 (2월 1일 ~ 2월 8일)잠시 거쳐가는 빠른 요약2025년 2월 첫째 주, 윤석열 계엄사태 수사는 폭발적인 증거 공개의 연속이었다. 곽종근 전 특전사령관의 옥중 노트를 통한 체계적 반박, 노상원 전 정보사령관 수첩의 충격적 내용, 그리고 윤석열 대통령의 선관위 침입 지시 자백까지. 변호사들의 조직적 증언 조작 시도와 11월부터 준비된 체포 시나리오가..."
},{
"title": "Remotion Studio가 답답해서 직접 만들기로 했는데, 옛날 코드 분석하다가 깨달은 것들. 의존성 지옥부터 아키텍처 설계까지 기록",
"url": "/digitalgarden/posts/planning-my-own-remotion-tool",
"language": "kr",
"category": "Web Development",
"tags": "remotion GSAP Animation debugging reactjs typescript",
"content": "Remotion 기반 커스텀 에디터 만들기: 남의 코드 뜯어보며 깨달은 현실시작은 언제나 불만에서Remotion에서 제공하는 Studio가 내 용도에 맞지 않아서 결국 직접 만들기로 했다. 뭐, 세상에 완벽한 도구는 없으니까. 그런데 막상 시작하려니 막막하더라. 그래서 찾아낸 게 옛날에 만들어진 Remotion 기반 에디터의 참고 자료였다.문제는 이 코드가 구석기 시대에 만들어진 것 같다는 점이다. 의존성부터 시작해서..."
},{
"title": "빌어먹을 수학, 나의 뇌는 파업 중-대학원생의 웃픈 생존기",
"url": "/digitalgarden/posts/i-dont-know-what-the-fuck-i-am-doing-kr",
"language": "kr",
"category": "Data Analytics",
"tags": "Academic MarTech math ASD burnout adhd Jekyll Obsidian Creative Survival LearningDisability Studying LLM",
"content": "My subtle dyslexic arse with a lack of dopamine gave up proofreading after multiple tries. If you see grammatical errors or some awkward sentences, move on. Use the context clues to understand my post, thanks.서론: 뇌세포 파업 선언과 나의 현주소안녕하신가요. 발등에 존나 불 떨어진 대학원생 나부랭입니다~~ 마감은 코앞인데 머리는 돌이고,..."
},{
"title": "정치적 고립, 혼란, 새로운 스킬셋의 도전",
"url": "/digitalgarden/posts/retrospective-journal-2025-01-jekyll",
"language": "kr",
"category": null,
"tags": "remotion Politics reactjs GSAP",
"content": "2025년 1월 회고록: 프롬프트와 자기 성찰의 시작생각A → 생각B → 아 그거 해야지 → 근데 이것도 → 아 저것도 → 결국 아무것도 안함After:생각들 → [분류기] → ├── 📋 할 일 목록 (우선순위별)└── 💭 심리적 블로커 (별도 처리)서론2025년 1월, 새해의 첫 달은 평소보다 거창하게 시작하고 싶었다. 데이터 사이언스와 인터랙티브 웹 디자인을..."
},{
"title": "타임라인-2025.01.27-31",
"url": "/digitalgarden/posts/written-%ED%83%80%EC%9E%84%EB%9D%BC%EC%9D%B8-2025-01-27-31",
"language": "kr",
"category": "Politics",
"tags": "탄핵 홍장원 극우 박정훈 내란죄 윤석열 민주주의 법치주의",
"content": "까치 까치 설날은~어저께고요~~2025.01.27설 연휴니까 나도 좀 쉬었습니다.는 페이크다 ㅅㅂ.김용현의 반격김용현 전 국방부 장관 측, 문형배 헌재소장 권한대행 고발. 증인신문 거부 시 신빙성 낮게 평가한다는 발언을 협박으로 간주. 김건희 여사, 윤 대통령 접견 거부 보도.이건 뭐 얼라도 아이고…[https://www.hani.co.kr/arti/society/society_general/1179899.html][https://n.news.naver.com/mnews/article/449/0000298032?sid=100]2025.01.28윤석열의 심경…은 알바냐? 미친놈아 그럼 계엄을 저지르지 말았어야지.윤석열 대통령 측, “차디찬 구치소에서 설 명절..."
},{
"title": "타임라인-2025.01.24-26",
"url": "/digitalgarden/posts/written-%ED%83%80%EC%9E%84%EB%9D%BC%EC%9D%B8-2025-01-24-26",
"language": "kr",
"category": "Politics",
"tags": "탄핵 홍장원 극우 박정훈 내란죄 윤석열 민주주의 법치주의",
"content": "… 예술과 인문을 경시한 업보빔을 왜…내가 받죠?생각보다 심각한 세계의 극우화한국은 극우세력들이 사법기관도 부수고 시민들에게 폭력도 시행하고 있는데 와중에 일론머스크의 나찌경례를 가지고 참…내 이웃이나 혹은 건너건너 같이 한번 쯤 협업은 했던 지난 과거의 업계인들이나 연관자들이 쉴드치는 걸 보노라니 생각보다 많은 사람들 뇌가 썩어있구나. 나에게 빻은 소리를 할 것 같은 인상을 가진..."
},{
"title": "타임라인-2025.01.19-23",
"url": "/digitalgarden/posts/written-%ED%83%80%EC%9E%84%EB%9D%BC%EC%9D%B8-2025-01-19-23",
"language": "kr",
"category": "Politics",
"tags": "탄핵 윤석열 내란죄 극우세력 민주주의 법치주의 헌법",
"content": "이런식으로 내가 평범한 양심 시민임을 굳이 스스로 상기하고 싶진 않았는데…2025.01.19윤석열 구속드디어…! 체포된 윤석열을 정당하게 구속할 수 있게 서울 서부 지방법원에서 구속영장을 내리다 1증거 인멸의 우려가 있다며 윤석열에 대한 구속영장을 발부한 날…이후에 충격적인 일이 벌어지는데…경사났네 경사났어~서울서부지방법원 점거 폭동윤석열 대통령의 구속영장이 발부되자 그를 지지하는 이들이 서울서부지법을 점거하는 초유의 사태가 발생. 서울서부지법 차은경..."
},{
"title": "타임라인-2025.01.14-18",
"url": "/digitalgarden/posts/written-%ED%83%80%EC%9E%84%EB%9D%BC%EC%9D%B8-2025-01-14-18",
"language": "kr",
"category": "Politics",
"tags": "탄핵 윤석열 내란죄 극우세력 민주주의 법치주의 헌법",
"content": "2025.01.14윤석열 대통령, 헌법재판소 탄핵심판 첫 변론 불출석1공수처, 경찰, 경호처 간 2차 체포영장 집행 관련 3자 회동 진행1공수처, “3자 회동이 체포영장 집행에 영향을 주지 않을 것”이라고 발표1사족: 공수처야, 그간 무능하고 밥만 축내는 식충이라 욕해서 미안해. 특히 오동운의 급성장에 좆소아이돌 드럽게 안 뜨고 노래와 춤도 안 뜨는 2급 티어멤버를 응원하다 얘가 드디어..."
},{
"title": "링크드인 염병과 AI 똥무더기: 생산성 향상은 개뿔",
"url": "/digitalgarden/posts/all-the-shit-storms-ai-hype-and-linkedin",
"language": "kr",
"category": "Data Analytics",
"tags": "Coding Productivity Scalability LLM",
"content": "My subtle dyslexic arse with a lack of dopamine gave up proofreading after multiple tries. If you see grammatical errors or some awkward sentences, move on. Use the context clues to understand my post, thanks.서론: 링크드인, 환장의 콜라보요즘 링크드인 들어가면 진짜 환장한다. 한쪽에서는 AI가 세상을 구원할 것처럼 염병 떨고 있고,..."
},{
"title": "타임라인-2025.01.10-13",
"url": "/digitalgarden/posts/written-%ED%83%80%EC%9E%84%EB%9D%BC%EC%9D%B8-2025-01-10-13",
"language": "kr",
"category": "Politics",
"tags": "탄핵 윤석열 내란죄 극우세력 민주주의 법치주의 헌법",
"content": "2025.01.10박종준 경호처장 사직박종준 대통령경호처장로 입건되어, 두 차례 경찰 출석 요구에 불응했다가 10일 오전 10시 경찰에 출석해 조사를 받았다. 박 처장은 경찰 출석 전 최상목 대통령 권한대행에게 사직서를 냈으며 이후 경찰 출석 요구에도 응하기로 한다. 이후 기획재정부는 최상목 대통령 권한대행 부총리 겸 기획재정부 장관이 이를 수리했다고 공지해온다.경호처 최강 보스인 줄 알았는데..."
},{
"title": "타임라인-2025.01.10-13",
"url": "/digitalgarden/posts/written-%ED%83%80%EC%9E%84%EB%9D%BC%EC%9D%B8-2025-01-06-09",
"language": "kr",
"category": "Politics",
"tags": "탄핵 윤석열 내란죄 극우세력 민주주의 법치주의 헌법",
"content": "2025.01.06탄핵심판 직접 출석 의사표명윤석열 대통령 측, 헌법재판소 탄핵심판 직접 출석 의사 밝힘헌재, 탄핵심판 변론기일 5회 지정 (1/14, 1/16, 1/21, 1/23, 2/4)사족: 근데 왜 관저에서 아직도 그렇게 뭉개고 있냐?2025.01.07한국갤럽 여론조사 시작 (1/7-9)국회, 탄핵 관련 국정조사 준비 착수2025.01.08여야, 탄핵 심판 대응 전략 논의국민의힘, 탄핵 무효화 주장 강화사족: 내란의 힘은 아예 보수라는 자기들이..."
},{
"title": "타임라인-2025.01.02-05",
"url": "/digitalgarden/posts/written-%ED%83%80%EC%9E%84%EB%9D%BC%EC%9D%B8-2025-01-02-05",
"language": "kr",
"category": "Politics",
"tags": "탄핵 윤석열 내란죄 극우세력 민주주의 법치주의 헌법",
"content": "2025.01.02공수처와 경찰이 윤석열 전 대통령 체포를 위한 최종 준비를 마쳤습니다. 체포팀 구성과 작전 계획이 완료.한남동 대통령 관저 주변에 바리케이드가 설치되고 차량 통행이 제한되기 시작.윤석열 전 대통령의 변호인단이 체포 시도에 대비한 법적 대응 전략을 수립.2025.01.03공수처와 경찰, 윤석열 체포 시도약 6시간 동안의 대치 후 체포 집행 중지1공수처가 3일 “체포영장 집행과 관련해 계속된..."
},{
"title": "타임라인-2024.12.28-2025.01.01",
"url": "/digitalgarden/posts/written-%ED%83%80%EC%9E%84%EB%9D%BC%EC%9D%B8-2024-12-28-2025-01-01",
"language": "kr",
"category": "Politics",
"tags": "탄핵 윤석열 내란죄 극우세력 민주주의 법치주의 헌법",
"content": "이 시기에 멘탈이 좀 무너져서 메모 복기 및 정리를 할 기운이 없었습니다.2025년 2월 1일자로 좀 감정을 추스리고 발행했습니다.2024.12.29공수처, 윤석열 대통령에 대한 3차 출석 요구 불응 확인사족: 앞으로 나도 누가 시비걸면 너의 시비질에 출석 요구를 불응하겠다. 내가 사람을 죽였냐, 계엄을 때렸냐, 내란을 도모했냐라 대답해야지.최악의 항공 사고12월 29일 오전 9시 3분경 무안국제공항에서..."
},{
"title": "타임라인-2024.12.24-27",
"url": "/digitalgarden/posts/written-%ED%83%80%EC%9E%84%EB%9D%BC%EC%9D%B8-2024-12-24-27",
"language": "kr",
"category": "Politics",
"tags": "탄핵 윤석열 내란죄 극우세력 민주주의 법치주의 헌법",
"content": "2024.12.241. 정보사 블랙 요원 미복귀 의혹핵심 사건: 더불어민주당 박선원 의원이 국군 정보사령부 소속 ‘블랙 요원’ 일부가 원대복귀하지 않았다는 의혹 제기.국방부 반응: 국방부는 계엄과 관련된 동원 인원이 모두 복귀했으며, 총기도 반납했다고 해명.추가 정보:‘청주 팀’이라는 별도 작전팀 존재 확인.이 팀은 C4 폭탄, 권총, 탄창으로 무장했으며, 청주 공항, 사드 기지, 대구 군공항 등..."
},{
"title": "타임라인-2024.12.20-23",
"url": "/digitalgarden/posts/written-%ED%83%80%EC%9E%84%EB%9D%BC%EC%9D%B8-2024-12-20-23",
"language": "kr",
"category": "Politics",
"tags": "탄핵 윤석열 내란죄 극우세력 민주주의 법치주의 헌법",
"content": "2024.12.20윤석열 2차 출석 요구공조본이 윤석열 대통령에게 25일 오전 10시까지 공수처 청사로 출석해 조사 받으라고 통보문상호 구속공조본이 문상호 정보사령관(소장)을 내란 중요임무종사, 직권남용 권리행사 방해 혐의로 구속.탄핵심판 서류 미배달헌법재판소가 12월 16~20일에 걸쳐 탄핵심판 관련 서류를 여러 차례 보냈으나, 윤석열 측에서 수령을 거부.헌재는 ‘송달로 간주’하고 재판을 진행하는 것을 검토 중노은결 소령 기자회견노은결 해군..."
},{
"title": "타임라인-2024.12.16-19",
"url": "/digitalgarden/posts/written-%ED%83%80%EC%9E%84%EB%9D%BC%EC%9D%B8-2024-12-16-19",
"language": "kr",
"category": "Politics",
"tags": "탄핵 윤석열 민주주의 법치주의",
"content": "2024.12.16현 시점에서 기억나는 게 없다. 뭔 일이 있었는지 기억하시는 분 계시면 제보 좀2024.12.17윤 대통령 1차 출석요구 불응+하…이 Shake it가…진짜…공조본은 출석요구 의사 불응으로 간주하겠다고 17일 밝힘공수처 이첩 준비 (12. 17.)검찰이 ‘내란죄 피의자’ 윤석열 대통령에 대한 수사에서 손을 떼고 사건을 공수처로 이첩하기 위한 준비를 시작. 실제 이첩은 다음 날인 18일에.공조본 수사 확대..."
},{
"title": "타임라인-2024-12-12~15",
"url": "/digitalgarden/posts/written-%ED%83%80%EC%9E%84%EB%9D%BC%EC%9D%B8-2024-12-12-12-15",
"language": "kr",
"category": "Politics",
"tags": "윤석열탄핵",
"content": "2024.12.12한덕수 국무총리, 세 번째 “국민에게 드리는 글” 발표1계엄 관련 범죄 수사를 위한 “합동수사본부” 첫 협력 활동 시작1김용현 전 장관의 보안 전화기가 통화 내역만 기록하고 통화 내용은 녹음하지 않는 특수 장치임이 밝혀짐1김용현 전 장관의 자살 시도와 보안 전화기 압수가 계엄령 사태의 핵심 인물들에 대한 수사 진전을 시사윤석열 대통령이 대국민 담화를 통해..."
},{
"title": "모니터에 소리 지르는 개발자에게 묻다: 모션 캔버스 코드를 리모션으로 욱여넣는 법 (feat. 컴포넌트 뫼비우스의 띠)",
"url": "/digitalgarden/posts/implementing-canvas-animation-to-remotion-kr",
"language": "kr",
"category": "ArtXTech",
"tags": "webdevelopment remotion motion reactjs frontend Animation JavaScript typescript",
"content": "뭐 하나 쉬운 것이 없다.My subtle dyslexic arse with a lack of dopamine gave up proofreading after multiple tries. If you see grammatical errors or some awkward sentences, move on. Use the context clues to understand my post, thanks.아, 또 누가 모니터 앞에서 머리를 쥐어뜯고 있나.누구긴 누구야. 나지.모션 캔버스(Motion Canvas)..."
},{
"title": "정상성의 환상과 팬덤의 정치적 힘",
"url": "/digitalgarden/posts/%EC%A0%95%EC%83%81%EC%84%B1%EC%9D%98-%ED%99%98%EC%83%81%EA%B3%BC-%ED%8C%AC%EB%8D%A4%EC%9D%98-%EC%A0%95%EC%B9%98%EC%A0%81-%ED%9E%98-kr",
"language": "kr",
"category": "Politics",
"tags": "fandom",
"content": "본 글에 앞서나는 종종 ‘정상’이라는 단어가 무엇을 의미하는지 생각해본다. 사회가 요구하는 정상성은 과연 진정한 가치일까? 이번에 내가 2024년 12월 말 윤석열의 불법 계엄령에 답한 한국인들의 시위데모에 집결한 모습은 이러한 질문에 대한 답을 찾고자 하는 사람들의 집합이었다. 그들은 결혼과 대기업 직장이라는 전통적 경로는 자신의 관심사가 아니며, 자신만의 길을 찾고자 했다. 온건하고..."
},{
"title": "타임라인-2024.12.08-11",
"url": "/digitalgarden/posts/written-%ED%83%80%EC%9E%84%EB%9D%BC%EC%9D%B8-2024-12-08-11",
"language": "kr",
"category": "Politics",
"tags": "탄핵 윤석열 민주주의 법치주의",
"content": "경찰과 검찰…님들끼리 잘 싸워서 성과를 빨리 가져오세요.2024.12.08경찰은 김용현 전 국방부 장관의 공관에 대한 압수수색을 시도했으나, 대통령 경호처의 반대로 난항을 겪음평양 무인기 사건과 관련하여 드론사 컨테이너에서 화재가 발생. 북한과의 긴장 관계 속에서 발생한 의문의 사건으로, 국가 안보에 대한 우려를 더욱 증폭국회에서는 계엄령 선포와 관련된 긴급 토론회가 개최주요 경제단체들이 정치 불안정이 경제에..."
},{
"title": "타임라인-2024.12.03-07-계엄선포",
"url": "/digitalgarden/posts/written-%ED%83%80%EC%9E%84%EB%9D%BC%EC%9D%B8-2024-12-03-07-%EA%B3%84%EC%97%84%EC%84%A0%ED%8F%AC",
"language": "kr",
"category": "Politics",
"tags": "탄핵 윤석열 민주주의 국민의힘 민주당",
"content": "2024.12.0322:27 KST 갑작스런 계엄령 선포텔레비전 연설을 통해 계엄령 선포1윤 대통령, 야당을 “반국가적…범죄자들의 소굴”로 비난하며 북한과의 음모 주장2야당의 결집과 수천 명의 시민들의 빠른 대응수천 명의 시민들이 국회의사당 앞에 모여 항의 시위 전개3이재명 민주당 대표, 라이브 스트림으로 시민들에게 국회 집결 촉구4Power Dynamics군대, 모든 의회 활동 중단 선언5경찰, 국회의사당 주변 봉쇄5HIDDEN NARRATIVES윤 대통령,..."
},{
"title": "AI 코딩 생산성 향상? 웃기지 마라, 내 시간만 축내는 똥멍청이",
"url": "/digitalgarden/posts/ai-coding-productivity-improvement-kr",
"language": "kr",
"category": null,
"tags": "Coding Development LLM Workflow Principle Process Framework",
"content": "딥빡의 서막My subtle dyslexic arse with a lack of dopamine gave up proofreading after multiple tries. If you see grammatical errors or some awkward sentences, move on. Use the context clues to understand my post, thanks.디버깅 지옥에서 보내는 편지“아… 시발, 이거 실화냐? 진짜 돌아버리겠네.”방금 전, 코드 리뷰를 하다가 심장이 덜컥..."
},{
"title": "타입스크립트 지옥에서 살아남기: 모달 컴포넌트 리팩토링 사투기on 비디오 시퀀스 지옥에서 살아남기-버퍼링과 싸우다",
"url": "/digitalgarden/posts/typescript-refactoring-hell-and-buffering",
"language": "kr",
"category": "Web Development",
"tags": "reactjs VideoEditing debugging typescript Tailwind UI/UX",
"content": "타입스크립트 지옥에서 살아남기: 모달 컴포넌트 리팩토링 사투기들어가며: 타입스크립트와 나의 불편한 동거타입스크립트. 이 얼마나 아름다운 이름인가. ‘타입’과 ‘스크립트’의 조합. 마치 혼돈의 자바스크립트 세계에 질서를 부여하겠다는 야심찬 포부가 느껴질 정도. 하지만 현실은 종종 더 큰 혼돈으로 이어진다. 특히 기존 코드베이스에 타입을 덧씌우는 과정은 마치 고양이에게 목욕을 시키는 것과 같다. 격렬한 저항과 함께..."
},{
"title": "Things you may need to be careful about data layer tagging in React",
"url": "/digitalgarden/posts/things-need-know-about-datalayer-tagging-in-react",
"language": "en",
"category": null,
"tags": "MarTech datalayer datatagging digitalanalytics reactjs",
"content": "DisclaimerPlease hold your middle finger down while reading this. All the figures and situations in this dumpster are fictional for twisted entertainment(wink, wink*). So stop thinking this is about you.Oh, by the way, my article is not at PG level. Violent language is included, and this post has a very..."
},{
"title": "Things you may need to be careful about data layer tagging",
"url": "/digitalgarden/posts/things-need-know-about-datalayer-tagging-principles",
"language": "en",
"category": null,
"tags": "MarTech datalayer datatagging digitalanalytics",
"content": "DisclaimerPlease hold your middle finger down while reading this. All the figures and situations in this dumpster are fictional for twisted entertainment(wink, wink*). So stop thinking this is about you.Oh, by the way, my article is not at PG level. Violent language is included, and this post has a very..."
},{
"title": "6월, 그냥 받아들이자. ",
"url": "/digitalgarden/posts/the-summary-of-2023-june-kr",
"language": "kr",
"category": null,
"tags": "",
"content": "맨날 뭘 부수고 만들고, 조립하고, 고치고, 다시 부수고, 다시 개조하고…끝나지 않는 굴레My subtle dyslexic arse with a lack of dopamine gave up proofreading after multiple tries. If you see grammatical errors or some awkward sentences, move on. Use the context clues to understand my post, thanks.파이프로 짓기 시작한 선반들뭔가 물건이..."
},{
"title": "5월간의 행적기록 및 월말 정산.",
"url": "/digitalgarden/posts/the-summary-of-2023-may-kr",
"language": "kr",
"category": null,
"tags": "",
"content": "하체가 단단해야 진정 인간은 아름다워진다My subtle dyslexic arse with a lack of dopamine gave up proofreading after multiple tries. If you see grammatical errors or some awkward sentences, move on. Use the context clues to understand my post, thanks.라고 누가 분명 말했던 것 같아 나열하는 DDR 로그기억하는가, 전설의 노래 -..."
},{
"title": "1월부터 4월달까지 기록된 DDR 여정",
"url": "/digitalgarden/posts/my-ddr-journey-jan-to-april-2023-kr",
"language": "kr",
"category": null,
"tags": "",
"content": "하지만 DDR 플레이는 재밌으니까 그걸로 되었다.My subtle dyslexic arse with a lack of dopamine gave up proofreading after multiple tries. If you see grammatical errors or some awkward sentences, move on. Use the context clues to understand my post, thanks.1월부터 4월까지 올린 DDR 플레이 한번 복기해보기사실 영상들 백업하면서 다 유튜브..."
},{
"title": "4월, 이제는 말할 수 있다. 더 이상의 삽질은 없다.",
"url": "/digitalgarden/posts/the-summary-of-2023-april-kr",
"language": "kr",
"category": null,
"tags": "",
"content": "그럴리가 없겠지…내 인생에…그냥 보수유지의 연장선상일 뿐My subtle dyslexic arse with a lack of dopamine gave up proofreading after multiple tries. If you see grammatical errors or some awkward sentences, move on. Use the context clues to understand my post, thanks.대삽질 시대를 이야기하기 전에…기분 북돋을 이야기부터새로 산 상양 셀틱스를 본격적으로 착장해보기.다시봐도..."
},{
"title": "3월, 드디어 삽질의 여정이 어느 정도 갈무리가 되는 것일까.",
"url": "/digitalgarden/posts/the-summary-of-2023-mar-kr",
"language": "kr",
"category": null,
"tags": "",
"content": "그럴리가 없겠지…내 인생에…그냥 보수유지의 연장선상일 뿐My subtle dyslexic arse with a lack of dopamine gave up proofreading after multiple tries. If you see grammatical errors or some awkward sentences, move on. Use the context clues to understand my post, thanks.정대만 운동화는 놓쳤지만 상양 셀틱스를 얻었다.심지어 세일해서 배송비 합해서 고작 70불!..."
},{
"title": "2월에도 끝나지 않는 저글링",
"url": "/digitalgarden/posts/the-summary-of-2023-feb-kr",
"language": "kr",
"category": null,
"tags": "",
"content": "1월은 추진력을 얻기 위한 달이었다. 진정한 삽질의 서막은 2월부터My subtle dyslexic arse with a lack of dopamine gave up proofreading after multiple tries. If you see grammatical errors or some awkward sentences, move on. Use the context clues to understand my post, thanks.1차 커스텀 패드, 2차 커스텀패드 수리보완DDR 더블모드에서 뱁새가..."
},{
"title": "새해가 맞았으니 새로운 삽질을 시작해볼까. 2023년 1월 정산.",
"url": "/digitalgarden/posts/the-summary-of-2023-jan-kr",
"language": "kr",
"category": null,
"tags": "",
"content": "자기구원은 셀프, 내 지옥문은 내가 연다…가 연초의 서막이라니. 2023년도 글렀다.My subtle dyslexic arse with a lack of dopamine gave up proofreading after multiple tries. If you see grammatical errors or some awkward sentences, move on. Use the context clues to understand my post, thanks.호기롭게 장비를 업그레이드수동컷팅을 하다보니 골프&테니스 엘보가 와서..."
},{
"title": "2022년 12월달의 활동 정리",
"url": "/digitalgarden/posts/the-summary-of-2022-dec-kr",
"language": "kr",
"category": null,
"tags": "",
"content": "…랬지 누가 확장하랬냐고.My subtle dyslexic arse with a lack of dopamine gave up proofreading after multiple tries. If you see grammatical errors or some awkward sentences, move on. Use the context clues to understand my post, thanks.아니 2022년 연말 월별 결산 다 끝난거 아니오?그렇긴한데…그완 별개로 너무 12월달에 떠벌린 게 많아가지고-왠지..."
},{
"title": "AMPScript and Marketing Cloud from Salesforce",
"url": "/digitalgarden/posts/quick-view-ampscript-and-marketing-cloud",
"language": "en",
"category": null,
"tags": "",
"content": "My subtle dyslexic arse with a lack of dopamine gave up proofreading after multiple tries. If you see grammatical errors or some awkward sentences, move on. Use the context clues to understand my post, thanks.(This post was written in my old post on WordPress. I migrated this to my Digital..."
},{
"title": "January logs for my own tracking",
"url": "/digitalgarden/posts/january-retro-review-9th-to-15th-of-jan-kr",
"language": "kr",
"category": null,
"tags": "",
"content": "1월 10일Mega Drum 조립 1차 진행1월 11일루틴 체크[x] 가드닝[x] Hip Flexor and Glutes stretching[x] 북마크 정리[x] 거실 바닥 치우기Mega Drum 조립 1차 완성산 넘어 산. 조립을 다 했더니 이젠 맵핑을 해야한다…ㅠㅠ목표에 대해 계획을 체계적으로 잡아보기spacecat.surge.sh taken down…howeverIt still shows it live. Why.1월 12일루틴 체크[x] 북마크 정리[x] 파일 정리 - 이미지..."
},{
"title": "2주간의 달콤한 휴가, 그리고 2023년 계획",
"url": "/digitalgarden/posts/2wks-leaves-and-achievement-kr",
"language": "kr",
"category": null,
"tags": "",
"content": "2022년에 벌린 일들을 끝내려고 고군분투하다 결국 2023년 계획 짜기2022년 상반기-하반기 복기하기맙소사, 1월 첫째 주는 2022년의 달성한 것들을 트위터나 인스타 등 소셜미디어를 뒤지며 복기하는 데도 이틀이 걸렸다는 게 트루? 내가 생각해도 많은 것을 떠벌린 2022년이지만 정말 많은 걸 달렸구나? 그렇게 떠벌린 2022년의 재앙들은 2023년에도 이어갈 듯하고 이번 2023년은 좀 더 체계적으로..."
},{
"title": "2022년을 마무리하며-하반기",
"url": "/digitalgarden/posts/wrapping-up-2022-last-half-kr",
"language": "kr",
"category": null,
"tags": "",
"content": "2022년 한 해를 마무리하며 하반기 월별 기록을 되짚다.I am planing to write my 2022 wrap up logs in English later.7월홈페이지 추가 업데이트지난 5월에 첫 개장을 발판으로 다양한 메뉴와 페이지를 계속 추가해서 증축하였다. 5월 달에 첫 개장하던 때와는 많이 달라졌다. 그에 대한 자세한 기록은“About This Page” 에 기록함.프랑켄 변환 개발 스타트그..."
},{
"title": "2022년을 마무리하며 상반기",
"url": "/digitalgarden/posts/wrappingup-first-half-2022-kr",
"language": "kr",
"category": null,
"tags": "",
"content": "2022년 한 해를 마무리하며 상반기 월별 기록을 되짚다.I am planing to write my 2022 wrap up logs in English later.1월고대하던 침구 바꾸기펜싱 사브르뜬금없이 펜싱을 시작하게 되었다.계기는 작년 여러차례 락다운 혹은 이동제한이 걸리면서 체육관이나 이벤트 홀 같은 베뉴들이 여러차례 문을 닫는 경우가 잦으니 소규모의 운동 동호회 역시 활동을 한 2020- 2021..."
},{
"title": "Tech, life admins, insight logs, future plan and summary of 2022",
"url": "/digitalgarden/posts/daylog-22-12-21",
"language": "en, kr",
"category": null,
"tags": "",
"content": "Jekyll, Why are you doing this to me?My subtle dyslexic arse with a lack of dopamine gave up proofreading after multiple tries. If you see grammatical errors or some awkward sentences, move on. Use context clues to understand my post.I swear, my digital garden’s search box function used to work..."
},{
"title": "Embedding issues on Jekyll",
"url": "/digitalgarden/posts/embedding-issues-on-jekyll",
"language": "en",
"category": null,
"tags": "",
"content": "My subtle dyslexic arse with a lack of dopamine gave up proofreading after multiple tries. If you see grammatical errors or some awkward sentences, move on. Use the context clues to understand my post, mate.For a while, the embedding did not work on my websiteWhen the issue happens on the..."
},{
"title": "Adobe Target and CRO Glossary notes",
"url": "/digitalgarden/posts/cro-glossary-target-travelling-to-the-office",
"language": "en",
"category": null,
"tags": "CRO Target Optimisation Adobe AB Testing",
"content": "Target is just a tool. CRO Disciplines with proper practice rulesI read some Target documentations. I think now I am quite confident about CRO and Target…except for applying which strategy is best for customers based on their particular goals.Below >> Customer attributes can be used for targeting and segmenting tests.Target..."
},{
"title": "What have I done today? (16 Aug 2022).",
"url": "/digitalgarden/posts/website-drumming-update-16-08-22",
"language": "en",
"category": null,
"tags": "Adobe Tags MarTech Obsidian",
"content": "My subtle dyslexic arse with a lack of dopamine gave up proofreading after multiple tries. If you see grammatical errors or some awkward sentences, move on. Use the context clues to understand my post, mate.Megadrum soldering wrap-up and assembling Floor TomAfter having some consultation with my ex regarding the wiring..."
},{
"title": "The Journey of Soldering on Megadrum",
"url": "/digitalgarden/posts/megadrum-soldiering-battle",
"language": "en",
"category": null,
"tags": "Megadrum DIY E-drum Drumming",
"content": "Megadrum, You’d be better to worth it for my back pain.I finally finished all soldiering on my Megadrum kit. I was nervous as hell: so many fingers burned, sweated, and I was in pain. I finally finished all soldering.Damn, I almost cried. I only had a solder gun. I didn’t..."
},{
"title": "MegaDrum assemble and K-Pop concert in 2022",
"url": "/digitalgarden/posts/hallyucon-astro-kai-oh-my-girl-soldiering-megadrum",
"language": "en",
"category": null,
"tags": "Kpop Kai EXO Astro Moon-bin Megadrum DIY",
"content": "Megadrum assembling, Kpop Sydney 2022, GreensGardeningI can feel the spring is coming. I saw some sprouts on my balcony garden sheds, so I transplanted them into separate pots.Sideways- I harvested a handful bunch of Mitsuba and Minari.My Snare Drum Conversion View this post on Instagram A post shared by Kimbo..."
},{
"title": "How is my website now getting more interactions?",
"url": "/digitalgarden/posts/retro-check-after-implementing-some-analytic-technologies",
"language": "EN",
"category": null,
"tags": "Adobe Tags MarTech",
"content": "After setting robot.txt and some analytical tools, I saw some upcoming stuff.Clarity with Google Analytics IntegrationI think most of the clicks are generated by me, to be honest.What’s interesting is that clarity shows the heatmap indicating which element or content attracted the audience most.Because it’s integrated with Google Analytics, the..."
},{
"title": "Finally solving at.js implementation issue on GitHub domain.",
"url": "/digitalgarden/posts/website-update-jekyll-drumconversion",
"language": "EN",
"category": null,
"tags": "Adobe Target Jekyll Drumming KPop Infinite ASD",
"content": "I finally solved the Adobe Target loading issue!I don’t remember how often I tried to solve the target library load issue. I read through all document pages regarding tag management because I thought my rule setup was wrong.Turns out, the cause was nothing to do with my data collection tag..."
},{
"title": "Why is that so tough to get things done with Adobe Stacks?",
"url": "/digitalgarden/posts/implementing-adobe-stack-on-jekyll",
"language": "EN",
"category": null,
"tags": "",
"content": "Why is Adobe Implementation Tricky?Adobe needs to have a better structure for any technical implementation.Adobe, why do you have so many documents for the same subject?Unlike Google or other suite programs, Adobe provided multiple documents for bloody library tagging. Gees.No, seriously. To find out to correctly implement the target on..."
},{
"title": "Website and MarTech Memo Logs",
"url": "/digitalgarden/posts/website-martech-memo-logs-22-07-22",
"language": "EN",
"category": null,
"tags": "",
"content": "Obsidian Template LinksI found crazy-awesome obsidian template references:https://thebuccaneersbounty.wordpress.com/2022/01/05/how-i-use-the-daily-notes-plugin-a-comprehensive-guide/⬆️ This one is freaking awesome. You should check one too.https://agileadam.com/2022/07/obsidian-daily-note-implementation-v2/https://kevinquinn.fun/blog/get-started-with-obsidian-periodic-notes-and-templater/https://andrewm.codes/minimalist-habit-tracker-template-for-obsidian/https://help.obsidian.md/Plugins/Templateshttps://dannb.org/blog/2022/obsidian-daily-note-template/Public Site Error Founding404 error while no issue on localhostI didn’t know this till now. Oh my god. What a disaster. Haven’t I checked this? Of course, I did.The cause was from github.io’s..."
},{
"title": "Marketing Suite installation, Ableton Live, and Markdown",
"url": "/digitalgarden/posts/tag-manager-installation-and-day-log",
"language": "EN",
"category": null,
"tags": "",
"content": "To-do list“I found an error about categories of notes. Noooooo!!!”Implementing Adobe suite and google suite took longer than I thought. Injecting the library was not a matter, but the correct configuration along with Jekyll and github.io was tricky.What’s implemented?Clarity is WIP.References:https://clarity.microsoft.com/https://docs.microsoft.com/en-us/clarity/clarity-setupOr you can do manually.Today’s website updateDue to the issue..."
},{
"title": "Update log on 22.07.20",
"url": "/digitalgarden/posts/update-logs-of-day-22-07-20",
"language": "EN",
"category": null,
"tags": "",
"content": "Website UpdateAdding grid stylings on works and side-project/sparkle page section on SCSS.WIP Google Analytics library with correct ads IdAdded more typography setups for posts and notesFor the internal link outside of the “note” folder, I have to use [Link Text](</‘filepath’>) SyntaxHowever, If I apply this to the page, it will..."
},{
"title": "Update log on 22.07.19",
"url": "/digitalgarden/posts/update-logs-of-day-22-07-19",
"language": "EN",
"category": null,
"tags": "",
"content": "The search box is polished.The wiki-image link is working correctly now.Added redirect from options on posts.Internal links between notesThe graph section is currently off as it needs to be amended for mobile-responsive sizing on SVG.If you want to check the previous update log, click this link: 2022-07-14-Update-Logs-of-day.22.07.14"
},{
"title": "Update log on 22.07.14",
"url": "/digitalgarden/posts/update-logs-of-day-22-07-14",
"language": "EN",
"category": null,
"tags": "",
"content": "What have I done?Updated the nav menu. Now it has quite multiple selections.Built the digital garden page. It’s a sort of wiki page type of architecture that is organised by tag words.Some of the styling improvements.Changed all CSS structures into scss structures.Added extra page stylings for art presentation page and..."
},{
"title": "First starting line of Jekyll and Obsidian",
"url": "/digitalgarden/posts/troubshooting-jekyll-obsidian",
"language": "EN",
"category": null,
"tags": "",
"content": "The start point of working with Jekyll and Obsidian was not easy.It was painstaking to fix the GitHub deployment issue. Alongside the gem dependency installation conflicts with other dependencies, I couldn’t figure out why.The solution was:Deleting all Jekyll CachesCheck the passage of your gem env with “gem env” “which ruby”..."
}]
이 방식은 Liquid 필터를 통해 JSON 형식을 직접 제어하므로, 플러그인에서 발생 가능한 미묘한 오류를 회피할 수 있다. 그러나 포스트 수가 증가할 경우 빌드 시간이 길어질 수 있다는 단점이 존재한다.
오류 처리 강화: 검색 스크립트 로직 보완
향후 발생할 수 있는 유사한 문제에 대비하여, 검색 스크립트(simple-jekyll-search-init.js)에 오류 처리 로직을 추가했다.
// Configuration with error handling
try {
fetch('/digitalgarden/search.json')
.then(response => {
if (!response.ok) {
throw new Error(`HTTP ${response.status}: ${response.statusText}`);
}
return response.text();
})
.then(text => {
try {
JSON.parse(text); // JSON 유효성 다시 검사
console.log('JSON is valid');
} catch (e) {
console.error('Invalid JSON:', e); // 오류 로그
console.log('First 500 chars:', text.substring(0, 500)); // 디버깅 정보
}
});
SimpleJekyllSearch({
// ... (기존 검색 설정) ...
});
} catch (error) {
console.error('검색 초기화 실패:', error);
document.getElementById("search-input").placeholder = "검색 기능을 사용할 수 없습니다"; // 사용자에게 알림
}
이 코드는 fetch를 통해 JSON 파일을 로드한 후 JSON.parse를 이용하여 유효성을 재확인한다. 파싱 실패 시 콘솔에 에러 메시지를 기록하고, 사용자에게 검색 기능을 이용할 수 없음을 명시적으로 안내한다. 이는 기능 중단 시 사용자 혼란을 최소화하는 데 기여할 것으로 판단된다.
마무리: 사소한 오류, 중대한 영향
본 사례는 JSON 데이터 포맷의 사소한 문법 오류가 전체 시스템 기능에 미치는 영향을 명확히 보여준다. 개발 과정에서 이러한 미시적 오류가 중대한 문제로 비화되는 경우는 흔히 발생한다.
| 문제 유형 | 원인 | 해결책 |
|---|---|---|
| JSON 파싱 에러 | 쉼표 누락, 제어 문자 포함 | JSON.generate(compact) 사용, 문자열 정제 |
| 검색 기능 작동 중단 | 유효하지 않은 JSON 데이터 로드 | safe_search_json.rb 수정 또는 Liquid 템플릿 |
| 사용자 경험 저하 | 오류 발생 시 사용자 피드백 부재 | JS 에러 핸들링 추가 |
복잡한 시스템에서도 핵심 기능의 안정성은 기초적인 데이터 구조의 정확성에 크게 의존함을 재확인했다. 향후 유사한 문제 발생을 방지하기 위해 정기적인 데이터 유효성 검증 및 코드 리뷰의 중요성이 강조된다.