Readability
183 posts
- [Redux] Redux 완전 정복 - 초보부터 전문가까지
- [Clean Code] 01. Clean Code란 무엇인가
- [Clean Code] 02. 나쁜 코드 진단과 개선 실습
- [Clean Code] 03. 의미있는 이름 짓기
- [Clean Code] 04. 네이밍 리팩토링 실습
- [Clean Code] 05. 함수는 작게, 한 가지만
- [Clean Code] 06. 함수 리팩토링 실습
- [Clean Code] 07. 주석은 실패를 의미한다
- [Clean Code] 08. 주석 걷어내기 실습
- [Clean Code] 09. 형식 맞추기와 코드 스타일
- [Clean Code] 10. 포맷팅·린팅 자동화 실습
- [Clean Code] 11. 객체와 자료구조의 비대칭
- [Clean Code] 12. 디미터 법칙 리팩토링 실습
- [Clean Code] 13. 오류 코드 대신 예외를 써라
- [Clean Code] 14. 오류 처리 리팩토링 실습
- [Clean Code] 15. 경계 — 외부 라이브러리 사용법
- [Clean Code] 16. TDD 법칙과 F.I.R.S.T 원칙
- [Clean Code] 17. 단위 테스트 리팩토링 실습
- [Clean Code] 18. 클래스는 작아야 한다
- [Clean Code] 19. SOLID 원칙 리팩토링 실습
- [Clean Code] 20. 시스템과 의존성 주입
- [Clean Code] 21. 창발적 설계 네 가지 규칙
- [Clean Code] 22. 동시성 결함과 방어 원칙
- [Clean Code] 23. 리팩토링과 레거시 코드 개선
- [Redux] 01. JavaScript 핵심 개념 - 변수, 함수, 객체
- [Redux] 02. ES6+ 필수 문법 - 구조 분해, 스프레드, 템플릿 리터럴
- [Redux] 03. 배열과 객체 다루기 - map, filter, reduce
- [UnitTesting] 03. 단위 테스트의 구조: AAA 패턴과 픽스처
- [Design 11] 가독성 vs 성능
- [Design 11] 성능 코드 리뷰
- [Design 11] 최적화 시작 시점
- [Design 11] 최적화 중단 시점
- [Extreme 08] 극한 최적화와 유지보수성 균형
- [Optimization(C++) 19] Type Erasure 비용 패턴
- [Performance 11] Introduction: Low-latency 성능 설계·의사결정
- [Redux] 00. 커리큘럼 - 학습 로드맵
- [Optimization(C++) 03] 추상화 비용 분석
- [Optimization(C++) 04] STL 컨테이너 비용
- [Optimization(C++) 05] 문자열 최적화
- [Optimization(C++) 06] 객체 수명 최적화
- [Optimization(C++) 07] 임시 객체 제거
- [Optimization(C++) 08] 템플릿/constexpr
- [Optimization(C++) 09] Modern C++ 기능
- [Optimization(C++) 10] 코루틴 성능
- [Optimization(C++) 11] 예외 처리 심화
- [Optimization(C++) 13] std::variant/optional/expected
- [Optimization(C++) 14] std::span과 뷰 패턴
- [Optimization(C++) 15] 람다 표현식 성능
- [Optimization(C++) 16] Small Buffer Optimization
- [Optimization(C++) 17] Parameter Passing 전략
- [Hugo] 블로그 태그 50개 이상 확장 - Fallback 풀 자동 보강
- [CSS] 모던 CSS 완전 정복: 2015년처럼 CSS 쓰는 시대는 끝났다
- [Preservation] Flashpoint Archive: 20만 개 웹 게임·애니메이션 보존
- [History] 달력의 재미난 역사: 인류가 시간을 길들인 1만 년
- [Programming] S-expression 문법: dotted pair부터 quasiquote까지
- [Clean Architecture] 14. SOLID 원칙 서론
- [Clean Architecture] 15. SRP: 단일 책임 원칙
- [Clean Architecture] 16. OCP: 개방-폐쇄 원칙
- [Clean Architecture] 18. ISP: 인터페이스 분리 원칙
- [Clean Architecture] 19. DIP: 의존성 역전 원칙
- [Clean Architecture] 22. 컴포넌트 응집도: REP, CCP, CRP
- [Clean Architecture] 23. 컴포넌트 결합: ADP, SDP, SAP
- [Tool] Hugo 대표 이미지 자동 생성기(hero infographic) 사용법
- [PowerShell] Frontmatter description 누락 마크다운 파일 찾기
- [제품] 트리와 원목 키보드 손목받침대 커스텀 제작 리뷰
- [Guide] 마크다운 제목 정리를 위한 정규식 가이드
- RSA 개인키는 왜 λ(n) 기준? φ(n)과의 차이와 RFC·NIST 표준 정리
- [Technology] Simucube - 프로페셔널 심레이싱 장비 제조사
- [Programming] n++ vs n = n + 1: 성능과 최적화의 진실
- [Science] 버뮤다 삼각지대: 과학과 기록으로 본 사실과 오해
- [Software] Cognitive Load(인지 부하) in Code - 실용 가이드
- [Gaming] Thrustmaster Sol-R 2 HOSAS 우주 시뮬 듀오 리뷰
- [Data Engineering] 윈도잉 기법: 스트림 처리와 데이터 분석 가이드
- [CMD] BatchGotAdmin으로 배치 파일 UAC 관리자 권한 자동 요청 가이드
- [Hyper-V] 가상 머신 해상도 설정: Set-VMVideo 활용 가이드
- [Orthography] 나라 맞춤법 검사기 리뉴얼: 바른 한글 새 기능과 특징
- [Automation] 토렌트 다운로드 완료 후 자동 파일 정리 스크립트
- [CleanCode] 코드 최적화: 조건문 올리고 반복문 내리기
- [Synology] Synology Photos 중복 사진 찾기 및 제거 가이드
- [Remote Desktop] RDP UWP 앱 SSH 터널 오류 0x516 원인 및 해결
- [Programming] HTML은 프로그래밍 언어인가? html-lang.org 중심 탐구
- [Cycle] 휠 밸런스: 자동차 필수·자전거 선택인 이유
- [Data Structure] C# Lock-Free 우선순위 큐 구현과 동시성 기법
- [Win32] Win32 API에서 메시지 박스를 최상단에 표시하는 방법
- [Tablet] CHUWI Hi10 Max 2-in-1 태블릿 리뷰 - 생산성과 휴대성
- [PC] GPD Pocket 4 모듈형 핸드헬드 AI PC 리뷰
- [Tool] Kanata - Rust 기반 크로스플랫폼 키보드 리매퍼 가이드
- [Quote] 새는 나뭇가지를 믿을까, 자신의 날개를 믿을까?
- [Outlook] 메일 발송 시 본인 자동 CC 추가 방법
- [Windows] RDP 원격 세션에서 작업 표시줄이 사라질 때 해결 방법
- [Tutorial] VSCode 정규식 찾기·치환 완벽 가이드
- [Design Patterns] 23. 패턴을 활용한 코드 리뷰와 설계 리뷰
- [Design Patterns] 22. 안티패턴 식별과 리팩토링 — 실습
- [Design Patterns] 22. 안티패턴 식별과 리팩토링
- [Design Patterns] 18. 함수형 프로그래밍과 디자인 패턴: 패러다임의 진화
- [Design Patterns] 16. 메멘토와 비지터: 상태 보존과 연산 분리
- [Design Patterns] 15. 인터프리터와 미디에이터: 파싱과 조정의 패턴
- [Design Patterns] 14. 템플릿 메서드와 이터레이터: 제어의 깊이
- [Design Patterns] 13. 커맨드와 체인 오브 리스폰시빌리티: 요청 처리의 예술 — 실습
- [Design Patterns] 12. 전략과 상태: 알고리즘 캡슐화의 미학 — 실습
- [Design Patterns] 12. 전략과 상태: 알고리즘 캡슐화의 미학
- [Design Patterns] 10. 브릿지와 플라이웨이트: 분리와 효율성 — 실습
- [Design Patterns] 08. 데코레이터와 컴포지트: 재귀적 아름다움 — 실습
- [Design Patterns] 08. 데코레이터와 컴포지트: 재귀적 아름다움
- [Design Patterns] 07. 어댑터와 파사드: 인터페이스의 철학
- [Design Patterns] 06. 빌더와 프로토타입 패턴의 깊이 있는 이해 — 실습
- [Design Patterns] 06. 빌더와 프로토타입 패턴의 깊이 있는 이해
- [Design Patterns] 03. 객체지향 설계의 깊이 있는 이해
- [Linux] RCU(Read-Copy-Update) 개념·API·활용 정리
- [Python] 클린 코드의 중요성
- [Cartography] ColorBrewer 온라인 색상 팔레트 도구
- [CSharp] 예외 및 예외 처리
- [Philosophy] 시간의 본질: 계산적 관점에서 바라본 시간과 관찰자
- [Python] Python 데코레이터(Decorator) 이해와 활용
- [CSharp] C# 클래스, 구조체, 레코드와 OOP 핵심 정리
- [CSharp] C# 패턴 일치(Pattern Matching) 개념과 실무 활용
- [CSharp] 무시 항목(Discard) - 기본 개념과 실전 활용
- [CSharp] 튜플 및 형식 분해
- [CSharp] 제네릭 클래스 및 메서드
- [CSharp] 클래스 소개
- [Python] System V IPC 공유 메모리와 세마포어 활용 가이드
- [C#] .NET에서 정규 표현식의 최적화 기법
- [Shell] I/O 리디렉션: 표준 입출력·파일 디스크립터·파이프 완벽 가이드
- [WebDevelopment] 웹 폰트 로딩 전략과 최적화
- [Performance] 지연 시간 메트릭 마스터하기: P90, P95, P99
- [Refactoring] 코드 리팩토링의 중요성과 모범 사례
- [Technology] CRDT(Conflict-Free Replicated Data Types) 개요와 활용
- [Database] SQL 인덱스의 이해와 활용
- [C++] C++ 안전성과 보안: 메모리·타입·경계 안전성과 실무 대응
- [Algorithm] 버블 정렬(Bubble Sort) 이해하기
- [Python] 정규 표현식(Regex) 기초부터 고급·실전 활용까지
- [TypeScript] 타입 추론: 원리·Best Common Type·Contextual Typing·실전 활용
- [DesignPattern] 빌더 패턴(Builder Pattern) 정리와 Java 예제
- [SoftwareTesting] 소스 코드 테스트 커버리지 메트릭과 활용
- [TypeScript] Reverse Mapped Types 이해와 실전 활용
- [C#] async/await 비동기 프로그래밍 정리
- [C#] C# 데이터 타입: 값/참조 형식, 리터럴, Nullable 정리
- [C#] 배열(Array) 정리: 선언·초기화·System.Array·실전 예제
- [C#] 변수와 상수: 로컬·필드·const·readonly·var 완벽 정리
- [Study] 수학 필기를 위한 유용한 팁
- [FileSystem] Btrfs: 데이터 보호·백업을 위한 차세대 리눅스 파일 시스템
- [DesignPattern] Builder pattern - 생성과 표현의 분리
- [Software] SOLID 원칙 이해 — 유지보수·확장 가능한 코드의 핵심
- [C/C++] gcc로 dlopen 동적 라이브러리 로딩 방법
- [Linux] 디스크 용량 측정 시 심링크(dereference) 포함하기
- [Plex] Windows에서 Plex Media Server 재실행·자동 재시작 가이드
- [Tutorial] futurecoder - 초보자용 파이썬 무료·오픈소스 인터랙티브 강의
- [Rust] Comprehensive Rust 무료 강의 정리 및 코스 구조
- [Tutorial] Learn Prompting - 프롬프트 엔지니어링 무료 가이드 정리
- [Torrent] qBittorrent - RSS 자동 다운로드 설정 가이드
- [OOP] 디미터의 법칙(Law of Demeter)과 결합도 낮추기
- [Linux] btop++ 시스템 리소스 모니터 소개
- [C#] Source Generator 개요와 Hello World 예제
- [C++] cout 소수점 자릿수·정밀도 제어 (precision, fixed)
- [Clean Code] 클린 코드와 같은 건 없다
- [Programming] 페어 프로그래밍 안티 패턴과 개선 방법
- [Javascript] JavaScript 주석(Comment) 문법과 활용 가이드
- [Jekyll] 코드 블록에 Copy to clipboard 버튼 추가하기
- [Tutorial] Markdown·Jekyll에서 LaTeX(MathJax)로 수식 작성하기
- [C#] long을 int·uint로 안전하게 변환하기
- [Jekyll] Kramdown 코드 블록에 줄 번호 표시하기
- [Jekyll] Minimal Mistakes 페이지 넓게 보기
- [Jekyll] 이미지에 캡션 추가하기
- [C++] std::string::find로 문자열 검색하기
- [C#] 클래스와 구조체 선택 가이드: 차이점·성능·사용 기준
- [RPM] Spec 파일에서 주석과 매크로 동시 사용 시 주의사항
- [Regex] C#에서 Regex 검색 결과(Match) 재사용하기
- [Shell] 서브 프로세스의 실행 종료를 대기하는 wait 커맨드
- [Bash Shell] 파일 이름에서 경로와 확장자 추출하기
- [C/C++] namespace 안의 #define은 범위를 제한하지 않는다
- [Shell] 숫자로 메뉴 실행하는 셸 스크립트 예제
- [Shell] 리눅스 실행 프로세스 환경변수 확인하기
- [.NET] C# 조건부 컴파일 옵션 적용하기
- [.NET] MSB1008 한 프로젝트만 지정 오류 원인과 해결
- [.NET] 런타임별 Finalizer 호출 차이와 IDisposable 권장
- [Tutorial] GitHub Pages에 Utterances 댓글 설치하기
- [How-To] Windows 10 다중 사용자 카카오톡 실행 권한 부여
- [Jekyll] 모아 볼 수 있는 콜렉션 만들기
- [Guide] µTorrent 큐잉 정책과 시딩·다운로드 제어 가이드
- [Bash Shell] exit 명령과 종료 상태(exit status) 완벽 가이드
- [Shell] 파일 경로에서 디렉터리 경로와 파일명 추출하기
- [Tool] Tmux - 터미널 다중화와 세션·윈도우·패널 관리 가이드
- [Hardware] LattePanda Alpha에 Ubuntu 16.04 LTS 설치 가이드
Home