- 객체 지향 프로그래밍(OOP) 정리묭묭.cpp객체 지향 프로그래밍 특징1. 캡슐화(Encapsulation)정의객체가 자신의 데이터와 데이터를 처리하는 메서드를 하나로 묶고, 외부에서 내부 구현을 직접 접근하지 못하도록 보호하는 것.목적데이터 무결성 유지구현 세부사항 은닉코드 유지보수 용이방법접근 제한자 사용 (private, protected, public)Getter/Setter 메서드 제공예시class Player {private: int health;public: void SetHealth(int h) { if(h >= 0) health = h; } int GetHealth() { return health; }};2. 상속(Inheritance)정의기존 클래스(부모)의 속성과 기능을 새로운 클래스가 물려받는 것목적코드 재사용..
- 2025-08-16 21:55:20
- 네트워크 면접 질문 정리묭묭.cpp보호글 입니다.
- 2025-06-05 14:35:15
- 기본 DB 문법 정리묭묭.cpp1. 데이터베이스 다루기-- 데이터베이스 생성CREATE DATABASE dbname;-- 데이터베이스 보기SHOW DATABASES;-- 데이터베이스 선택USE dbname;-- 데이터베이스 삭제DROP DATABASE dbname;2. 테이블 생성/삭제/확인-- 테이블 생성CREATE TABLE tablename ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100) NOT NULL, age INT DEFAULT 0, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP);-- 테이블 목록 보기show TABLES;-- 테이블 구조 보기DESCRIBE tablename;-- 테이블 삭제DROP TABLE t..
- 2025-06-04 19:49:01
- 디자인 패턴 정리묭묭.cpp1. 생성(Creational) 패턴객체 생성 방식, 재사용 문제를 다루는 디자인 패턴싱글톤(Singleton)단 하나의 인스턴스만 생성전역 접근팩토리 메서드(Factory Method)상위 클래스에서 객체 생성 인터페이스만 정의하위 클래스에서 인스턴스 생성추상 팩토리(Abstract Factory)관련 객체군을 생성하는 인터페이스 제공구체적인 팩토리 클래스를 통해 객체 생성을 추상화빌더(Builder)복잡한 객체를 단계적으로 생성프로토타입(Prototype)기존 객체를 복사하여 새 객체 생성기존 객체를 템플릿으로 사용2. 구조(Structural) 패턴객체 조합, 인터페이스 구조 문제를 다루는 디자인 패턴어댑터(Adapter)호환성을 제공하지 않는 클래스를 위해 래퍼를 재공브릿지(Bridge)구현과 추..
- 2025-06-04 19:16:38
- SQL 면접 대비 정리묭묭.cpp보호글 입니다.
- 2025-05-30 17:10:16
- 직접 공부하고 연구한 C++ 면접 질문 정리묭묭.cpp보호글 입니다.
- 2025-05-27 20:00:56
- IOCP에서 발생할 수 있는 I/O 종류묭묭.cppIOCP에서 발생할 수 있는 I/O 종류발생 가능한 I/O 종류 2가지Fast I/O + Buffered I/O동기적으로 완료되는 경우Direct I/O정말 우리가 원하는 비동기 I/O, 진짜 I/OFast I/O + Buffered I/O비동기 I/O로 열린 소켓이지만 동기로 완료될 수 있는 경우 Fast I/O + Buffered I/O가 진행될 수 있음Fast I/OIRP의 생성 없이 캐시된 파일을 읽거나 작업을 수행하는 방법Fast I/O 루틴을 호출하여 I/O 관리자는 IRP 생성 없이 직접 캐시 관리자로부터 가능한지 여부를 확인캐시 관리자는 가상 메모리 서브시스템의 최상위에 위치따라서 파일 시스템 드라이버는 캐시 관리자를 이용해 IRP 생성 시 발생하는 오버헤드 없이 I/O 진행 가능Fast ..
- 2024-12-16 18:03:49
- I/O 바운드와 CPU 바운드묭묭.cppI/O 바운드와 CPU 바운드I/O 바운드I/O를 대기하는 시간CPU 사용률은 낮게 나옴I/O 장치의 성능에 비례함주로 네트워크CPU 바운드스레드가 CPU를 사용하고 있는 시간CPU 사용률 높음주로 복잡한 계산이나 알고리즘 처리I/O 바운드와 CPU 바운드는 줄여야할 요소인가?둘을 줄이는 것은 분명 전체 시스템 성능을 향상시키는 방법그러나 줄이는 것보다는 최적화해야 하는 대상으로 보고 접근하는 것이 좋음I/O 바운드 줄이기I/O 자체를 완전히 없앨 수는 없음따라서 최적화에 초점을 맞추고 접근해야 함언제 줄여야 함?I/O 작업이 전체 프로세스의 대부분을 차지하고 CPU가 유휴 상태로 대기하는 경우최적화 방법서버의 경우 : Send 횟수 줄이기 - Send 버퍼링 등CPU 바운드 줄이기CPU 연산 속도가 주..
- 2024-12-16 15:44:45
- 윈도우의 CPU 기아 상태 해결법묭묭.cpp윈도우의 CPU 기아 상태 해결법CPU 기아 상태란?CPU 기아 상태(Starvation)우선순위가 낮은 스레드가 다른 우선순위가 높은 스레드에 의해 영원히 CPU 자원을 할당 받지 못하는 상태우선순위 전도(Priority inversion)우선순위 11인 스레드가 우선순위 4의 스레드에 의한 잠금을 대기그런데 우선순위 4의 스레드는 다른 높은 우선순위 스레드에 의해 잠금을 해제하지 못하는 상황밸런스 셋 매니저 시스템 스레드윈도우는 밸런스 셋 매니저라는 시스템 스레드의 일부 기능으로 기아 상태를 해결함밸런스 셋 매니저의 동작1초에 한번씩 레디 큐를 스캔하여 레디 상태에서 4초 이상 머물고 있는 스레드가 있는지 찾음만약 있다면 그 스레드의 우선순위를 15로 올리고 퀀텀 타겟을 3 퀀텀 단위의 CPU 클록 ..
- 2024-12-16 12:09:24
- IOCP묭묭.cppIOCP효율적인 스레드 모델비효율적인 스레드 모델(한꺼번에 많은 스레드가 I/O 블락을 대기)스레드 스레싱(thread-thrashing)이 유발될 수 있음연쇄적으로 페이징 I/O가 발생되고 지나친 컨텍스트 스위칭이 발생원활하게 작업이 수행되지 않는 상황 발생고성능 스레드 모델의 목표가능하면 컨텍스트 스위칭을 줄이는 것효율적으로 I/O 요청에 의해 스레드가 블록되면 다른 스레드를 활성화할 방법이 필요함IOCPIOCP의 핵심 - 병행성 제어병행성(concurrency)IOCP의 핵심(매우 중요함)특정 시점에 실행될 수 있는 스레드의 최대 개수를 의미IOCP는 병행성 값을 사용하여 러닝 상태의 스레드 개수를 제어함CreateIoCompletionPort 함수의 4번째 인자(NumberOfConcurrentT..
- 2024-12-13 18:01:23
반응형
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)