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

      On this page

      • Table of Contents
      DotNet
      프로젝트 관리
      로그 시스템
      SQLite

      SQLite


      Table of Contents

      • SQLite와 파일 로깅 전략 비교
      • SQLite 병목 문제 해결 전략
      • 로그 파일 기록 전략