_Map
_Map
DocFlow
About
- 사이트 소개
- 학습 과정
Deployment
- SEO 최적화
About
- CI & CD
- 배포 전략
- StaticSite 배포 방식
- StaticSite 배포플랫폼 선택
Guide
- api 토큰
- baseURL 혼용
- Cloud Flare 게시
- cloudflare 단점에 대해
- Git 설정 기타
- Git 설정
- Git 에러
- 구글 애널리틱스 설치
- 구글 애널리틱스 활용
- 로딩 시간 개선
- 에러
- 줄끝문자 처리경고
- 클라우드 빌드 설정 변경
- 페이지 누락
Github Pages
- Preparation
- 배포 방식
Trivia
- Blog 플랫폼 종류
- HUGO vs ASTRO
- Buy Me a Coffee
Distribution
About
- 정적 사이트 방식 매뉴얼
Guide
- Desktop App
- Tauri 설정
- Electron과 Tauri
- Mobile App
Preparation
- Rust 설치
- Tauri 설치
- NPX 설치
Trivia
- 매뉴얼 종류
DocEngr
- About
- Process
Obsidian
- About
- Make.md
- 이미지 및 첨부 파일 관리
- 메타데이터 추가
StaticSite
About
- StaticSite 소개
- StaticSite 생성기
- Hugo 소개
- Hextra 테마 소개
Advanced
- Marp를 통한 프레젠테이션
- D2 다이어그램 렌더링
- D2 렌더링 응용
- Marp IFrame 경로 에러
Guide
- 휴고 프로젝트 시작
- Hextra 테마 설치
- 서브모듈 통합
- Front Matter
- 참조 호환성 개선
- 이미지 참조 호환성 개선
- 테마 스위치 변경
- Search box
- 앵커 사용
Preparation
- Chocolatey 설치
- VS Code 설치
- HUGO 설치
- Python 설치
- 환경 변수 편집
Script
- 스크립트
- 스크립트 자동화
- 환경변수를 통한 경로 관리
- D2 Rendering
- server.bat
- 파일 정리
- Front Matter 추가
- TOC 추가
- 링크 형식 변경
- 이미지 참조 변경
- 코드 정리
- 링크 유효성 검사
- Contents 동기화
- Front Matter 제거
Trivia
- hugo_state.json
- Mount
- Section
- 구조
- 빌드 시 public 폴더 제거
- 심볼릭링크
- 첨자 표시
- 카테고리와 태그
- 폴더 구조 보기
config.toml
- Imaging
- MarkUp
- Permalinks
- Taxonomies
- 폴더 및 파일
Tutorial
- Things to Learn
- Preparation
- Build
- Script
- Deployment
- Distribution
DotNet
Database
EntityFramework
- Dictionary-와-Hashset
- LINQ-to-Entities-의-성능-최적화
- SaveChanges-최적화-전략
데이터베이스 설계 원칙
- Repository
- Unit-of-Work
- Data-Access-Object
- Active-Record
- Identity-Map
- Query-Object
- Lazy-Load
Dictionary
- Class Serialize 시 Event 처리
- ngen.exe
- SafeInvoke
- x64 에서 x86으로 실행
- 경로 설정 방법
- 로그 기록 시 함수명 자동 기록
- 최종-일관성과-즉각적인-일관성
- 시간-복잡도
- 파일시스템 감시
- N+1-문제
- Spin-Waiting
OOP
기초
- OOP-소개
- 객체와-클래스
- 절차지향과-OOP의-비교
4대원칙
- 캡슐화
- 상속
- 다형성
- 추상화
구성과-설계-요소
- 구성과-위임의-활용
- 구성과-상속의-차이
- 구성과-의존성-관리
설계
SOLID
- 단일-책임-원칙
- 개방_폐쇄-원칙
- 리스코프-치환-원칙
- 인터페이스-분리-원칙
- 의존-역전-원칙
- SOLID-원칙의-배경과 철학
- SOLID-원칙과-디자인-패턴
- SOLID-원칙과-TDD
디자인패턴
- 디자인-패턴의-개요-및-역할
- 학습가이드
구조
- Adapter
- Bridge
- Composite
- Decorator
- Facade
- Flyweight
- Proxy
- Private-Class-Data
생성
- Singleton
- Factory
- Factory-Method
- Abstract-Factory
- Builder
- Prototype
- Object-Pool
행동
- Visitor
- Observer
- CoR
- Command
- Interpreter
- Strategy
- Template-Method
- Mediator
- Memento
- State
- Null-Object
- EventAggregator
실무설계패턴
- GRASP-패턴
- 비즈니스-로직
- API-설계와-RESTful 패턴
- 비동기-프로그래밍과-객체지향-설계
- 애자일-설계원칙
아키텍쳐
- 계층형 아키텍쳐와 MVVM
- 디자인-패턴과-아키텍처
- 계층형-아키텍쳐
- 헥사고날-아키텍쳐
- 엔터프라이즈-아키텍처
- 도메인-주도-설계
- 마이크로서비스
- CQRS
- Event-Sourcing
- 작업-큐와-부하-분산
- Producer_Consumer
- MVC
- MVVM
핵심설계원칙
기본설계원칙
- DRY
- KISS
- YAGNI
- Demeter
- Tell-Dont-Ask
모듈화설계
- 응집도와-결합도
- 정보-은닉과-경계-설정
- 인터페이스와-추상클래스
- 추상화와-구현의-분리
- 상태-기반과-행동-기반-모듈화
- 모듈간-계약-설계
의존성관리
- 객체-협력
- 제어-반전
- 메세지-전달
- 의존성-주입
- 서비스-로케이터
- Command_Query-분리-원칙
소프트웨어-개발
- OOP-개발을-위한-도구들
- OOP-소프트웨어-분석
- OOP-소프트웨어-테스트
- OOP-유지보수와-설계
- 객체지향-구현
- 객체지향-설계
리팩토링과-테스트-설계
- OOP 리팩토링과 설계 패턴
- TDD
참고-및-심화
Trends
- UNO와 MAUI
- 닷넷 생태계
- 닷넷과 C#
- 크로스 플랫폼
WPF
- WPF
고급-기능
그래픽-및-애니메이션
기본-개념
- 기본-생성-파일과-코드
데이터-및-파일
데이터-바인딩
- 변환기와 포맷팅
레이아웃-시스템
리소스-및-테마
- 리소스-파일-추가
멀티미디어-및-문서
배포-및-배포-관리
성능-최적화
스타일링-및-템플릿
- 스타일링과 템플릿 시스템
애플리케이션 관리
- 처리되지 않은 예외 캡쳐
외부기술-및-프레임워크
- CommunityToolkit.Mvvm
- MahApps.Metro 추가
이벤트-및-명령
- Interaction
컨트롤-및-사용자-정의-UI
- Container
- Grid
- ListView
- Status Bar
- Behavior
테스트와-디버깅
닷넷-기능
- Null-conditional-Operator
- Enum
- record
- ManualResetEvent
데이터-직렬화
고급-직렬화-형식과-최적화
- Protocol-Buffers-직렬화
- 기타-고급-직렬화-형식
기본-개념과-기초
- 데이터-직렬화-개요
- XML-직렬화
- JSON-직렬화
- YAML-직렬화
- INI-직렬화
- 단순-데이터-직렬화-형식
- 객체 복사
데이터-유효성-및-에러-처리
- 직렬화-및-역직렬화-시-데이터-유효성-검사
- 버전-호환성-관리-전략
- 에러-처리-전략
- 테스트와-디버깅을-통한-직렬화-안정성-확보
보안-및-안전한-데이터-처리
- 데이터-직렬화에서-보안-고려-사항
- 데이터-압축-및-암호화를-통한-안전한-직렬화
- 직렬화된-데이터의-안전한-저장-및-접근-제어
- 인증-및-권한-관리
- 데이터-무결성-보장-및-서명-전략
성능 최적화와 비동기 처리
- 비동기-직렬화와-성능-최적화
- 직렬화된-데이터의-캐싱-전략
- 직렬화-성능-최적화-전략
- 엔디안-변환과-성능-최적화
- 데이터-파싱과-성능-최적화
- 실시간-직렬화-요구사항
언어간-상호-운용성과-대안
- 직렬화-형식-간-변환
- 메모리-맵-파일을-통한-직렬화-대안
이벤트-기반-시스템과-직렬화
- 이벤트-기반-시스템에서의-직렬화
- 데이터-변경-추적-및-이벤트-기반-동기화
직렬화-설계-및-구조화
- 제네릭을-활용한-XML-JSON-YAML-동기화-클래스-설계
- 디자인-패턴을-통한-데이터-직렬화-최적화
- Data-Transfer-Object와-직렬화의-분리
직렬화-실수와-해결-방안
- 데이터-정밀도-손실
- 버전-호환성-문제
- 보안-취약점-노출
- 불필요한-데이터-직렬화
- 순환-참조-문제
- 역직렬화-시-예외-처리
- 잘못된-데이터-형식-사용
메모리-관리
GC
GC 설정과 튜닝
- GC 모드와 설정
- 다양한 GC 모드 간의 성능 비교
- GC 성능 모니터링과 튜닝
- GC 최적화를 위한 도구 활용
- GC 로그 분석을 통한 성능 최적화
- 메모리 파편화와 압축
- 비동기 및 병렬 프로그래밍의 GC 최적화
GC-모니터링
- GC-동작-시간-확인
- API를-사용한-GC-모니터링
GC와 상호 운용성
- GC와 네이티브 상호 운용성
- GC와 클라우드 서비스 최적화
- GC와 멀티테넌시 환경에서의 최적화
- GC와 컨테이너 환경에서의 메모리 관리
GC의 기초 개념
- GC의 기본 개념
- 닷넷에서의 GC와 동작 원리
- GC와 메모리 모델 이해
보안 및 성능 최적화
- GC와 보안 이슈
- 실시간 시스템에서의 GC 최적화
- GC와 성능 테스트 방법론
- GC 친화적인 디자인 패턴
최신 트렌드 및 발전 방향
- GC 최신 트렌드와 향후 전망
- 최신 .NET 기능과 GC
마샬링
데이터 타입별 마샬링
- Marshaling Complex Arrays and Collections
- 포인터 및 핸들 마샬링
- 마샬링 방식
- Blittable 타입 vs Non-Blittable 타입
- 커스텀 마샬링
- 구조체 배열 마샬링
- 복잡한 배열 및 컬렉션 마샬링
- 대형 구조체 및 클래스 마샬링
- 문자열 마샬링
- Nullable 타입 마샬링
마샬링 개념 및 기본
- 마샬링의 개념
- 마샬링이 필요한 언어
- 마샬링의 성능 이슈
성능 및 최적화
- COM 상호운용성 마샬링
- 마샬링 성능 최적화 전략
- 마샬링에서의 보안 고려 사항
- 분산 시스템에서의 마샬링
- 윈도우 API와의 상호작용
- 함수 포인터 및 예외 처리
- 직렬화 방식별 성능 최적화
- 대용량 데이터 마샬링
- 비동기 프로그래밍에서의 마샬링
- 플랫폼 간 마샬링
- 실시간 시스템에서의 마샬링
메모리-관리-전략
- ArrayPool
- 메모리-관리와-객체-수명-주기-최적화
- GC-수집-주기와-메모리-할당-패턴-최적화
- Large-Object-Heap-관리
- 메모리-누수-탐지와-디버깅
- 약한-참조와-메모리-관리
- Unsafe-코드와-메모리-관리
자료구조
- 닷넷과-자료-구조
- Array
- 비제네릭-컬렉션
- 자료구조에서의-해시함수
- LOH와-Chunking을-통한-메모리-최적화
고급-자료-구조
- Tree
동시성-컬렉션
- 동시성-컬렉션
- ConcurrentBag
- ConcurrentDictionary
- ConcurrentQueue
- ConcurrentStack
- BlockingCollection
불변-컬렉션
- 불변-컬렉션
- ImmutableList
- ImmutableDictionary
- ImmutableHashSet
- ImmutableArray
- ImmutableQueue
- ImmutableStack
- 불변-컬렉션과-함수형-프로그래밍
제네릭-컬렉션
- 제네릭과-제네릭-컬렉션
- List
- Dictionary
- Queue
- Stack
- HashSet
- LinkedList
- 제네릭-컬렉션의-초기-용량-설정을-통한-최적화
특수-컬렉션
- 특수-컬렉션
- BitArray
- BitVector32
- StringCollection과-StringDictionary
- Specialized-Dictionary
- NameValueCollection
- Lookup
최적화
- SystemResource-확인
- 반복-호출-최적화를-위한-캐싱
마샬링
프로젝트-관리
- 프로젝트-시작
규칙과 스타일
- 코딩-규칙과-스타일-가이드
- 닷넷의-일반적인-코딩-규칙과-스타일
- 닷넷의-스타일-가이드-도구
로그 시스템
- 로그-시스템-개요
- 로그-전략
- 닷넷-로그-프레임워크-선택
- 로그-프레임워크 선택
- 로그-프레임워크-성능-평가
- 인터페이스-기반-로깅
- 인터페이스-기반-로깅-시스템-설계
- 다형성-유지와-성능-최적화-전략
- 간접-호출-기반-로깅-시스템-설계
log4net
- log4net-소개
- log4net-설정
- Limited-Memory-Appender
- 로그-기록-위치-변경
- Trace-사용
- log.config-경로-변경
- Level-일괄-변경
NLog
- NLog-소개
Serilog
- Serilog-소개
- Serilog-기록방식-별-성능-차이-분석
- SQLite-Sink
SQLite
- SQLite와-파일-로깅-전략-비교
- SQLite-병목-문제-해결-전략
- 파일-로깅-시-파일-단위
ZeroLog
- ZeroLog-소개
- Zerolog-기록방식-별-성능-차이-분석
보안
- 보안-전략
주석문서화
- 주석문서화
- DocFX
- Git-연동
- docfx-관리-단위
- 에러
테스트
- Unit-Test-소개
- Unit-Test-dotnet
- xUnit-패키지-설치-및-실행-가이드
- 테스트-프로젝트
- Visual-Studio에서-xUnit-테스트-디버깅
- 순환복잡도-테스트
패키징 전략
- 패키징-관련해서-고려해야-할-전략
- 종속성-관리-전략
- 패키지-형식-및-배포-전략
- 패키지-병합
- 일체형-빌드
- 일체형-빌드-도구
- Costura.Fody-소개-및-사용-방법
- 패키지-크기-최적화
- 프로젝트-참조와-종속성
EffiTools
Git
- gitignore
- Fetch
- Stash
Marp
- Marp-소개
PowerShell
- PowerShell
- 패키지 관리를 위한 명령어
EtherCAT
- EtherCAT-Presentation
- EtherCAT
구성-및-설정
- EEPROM
- ESI
- 이더캣 주소 체계
동작-원리
- Shift-Register
- On-the-Fly
- Distributed-Clock
- SyncManager
- FMMU
- State-Machine
- SyncMode
통신-데이터-관리
- PDO와-Mapping
- SDO와-MailBox
- Working-Counter
- 노드 수의 물리적 제한과 논리적 제한
표준
- EtherCAT-Protocol
- ETG와-CiA
- EtherCAT과-CANOpen
Obsidian
About
- 옵시디언이란
- 활용방안
- 노트 정리 방식
- 정리의 함점
Getting Started
- 노트 작성하기
- 설치하기
Guide
Plugin
- D2 vs Mermaid
- D2
- Templater
Script
- About
- 사용 방법
Setting
- 이미지 및 첨부 파일 관리
- 하위 폴더 및 노트들에 대한 목차 만들기
Sync
- Drive vs NextCloud
- NextCloud를 이용한 동기화 방법
- 동기화 방식
Tips
- 내부링크를 항상 업데이트
- 링크가 정상적으로 동작하지 않을때
- 참조되지 않는 이미지 찾아 지우기