Home
My Technical Diary
Cancel

Design Patterns - Builder

Creational Patterns - Builder Intent 복잡한 객체를 생성하는 방법과 표현하는 방법을 정의하는 클래스를 별도로 분리하여, 서로 다른 표현이라도 이를 생성할 수 있는 동일한 절차를 제공할수 있도록 함 Utility 복합 객체를 생성하는 알고리즘이 객체를 구성하는 요소 부분과 이들을 조립하는 방법에 독립적일 때 ...

Design Patterns - Abstract Factory

Creational Patterns - Abstract Factory Intent 상세화된 서브클래스를 정의하지 않고도 서로 관련성이 있거나 독립적인 여러 객체의 군을 생성하기 위한 인터페이스를 제공 Utility 객체가 생성되거나 구성, 표현되는 방식과 무관하게 시스템을 독립적으로 만들고자 할때 여러 제품들중 하나를 선택해서 시스템을...

Design Patterns - Summary

Design Patterns - Summary 디자인패턴이란? “바퀴를 다시 발명하지 마라(Don’t reinvent the wheel)” 많은 다른 상황이나 어플리케이션에서 발생하는 문제를 해결하는 방법에 대한 템플릿 객체 지향 프로그래밍 설계를 할 때 자주 발생하는 문제들을 피하기 위해 사용되는 패턴. 이미 수많은 개발자들이 현...

Uniform Initialization

Uniform Initialization 개요 C++11 이전에는 타입의 초기화 방식이 일정하지 않았다. struct CircleStruct{ int x, y; double radius; }; class CircleClass{ public: CircleClass(int x, int y, double radius) : mX(x)...

LeetCode - 718. Maximum Length of Repeated Subarray

718. Maximum Length of Repeated Subarray - medium 문제 Given two integer arrays A and B, return the maximum length of an subarray that appears in both arrays. 제한사항 1 <= len(A), len(B) &lt...

LeetCode - 1007. Minimum Domino Rotations For Equal Row

1007. Minimum Domino Rotations For Equal Row - medium 문제 In a row of dominoes, A[i] and B[i] represent the top and bottom halves of the i-th domino. (A domino is a tile with two numbers from 1...

OS - 가상메모리

가상메모리 베경 요구 페이징 쓰기 시 복사 페이지 교체 프레임의 할당 스레싱 메모리 사상 파일 커널 메모리의 할당 배경 가상 메모리(Virtaul Memory) 라는 것은 프로세스 전체가 메모리 내에 올라오지 않더라도 실행이 가능하도록 하는 것이다. 이 기법의 가장 주요 장점중 하나는...

LeetCode - 130. Surrounded Regions

130. Surrounded Regions - medium 문제 Given a 2D board containing ‘X’ and ‘O’ (the letter O), capture all regions surrounded by ‘X’. A region is captured by flipping all ‘O’s into ‘X’s in that s...

virtual 함수의 내부 작동 방식

virtual 함수의 내부 작동 방식 정적 바인딩(Static Binding) C++에서 클레스를 컴파일하면 그 클래스의 모든 함수를 담은 바이너리 객체가 생성된다. 그런데 컴파일러는 virtual 로 선언되지 않은 함수를 호출하는 부분을 컴파일 시간에 결정된 타입의 코드로 교체한다. 이러한 과정을 정적 바인딩(Static Binding) 또는...

LeetCode - 70. Climbing Stairs

70. Climbing Stairs - easy 문제 You are climbing a stair case. It takes n steps to reach to the top. Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the t...