본문 바로가기

반응형

C++

★ 20. 동기화/비동기화란? [1]동기화라는 말이 다방면으로 사용되고 있어 개념을 잡기가 조금 어렵습니다.비동기식이니 동기식이라는 말도 있습니다. 동기화를 이해하려면 클라이언트와 서버라는 개념을 먼저 이해해야합니다.클라이언트에서 작업을 요청하면 서버에서 응답하는 형식입니다.그런데 이 응답하는 방식에 따라서 동기식, 비동기식이라고 합니다. 여기서 동기식은 클라이언트의 요청이 있어야만 서버가 응답을하며 서버의 응답을 기다리다가 응답이 와야만 그에 따라 클라이언트가 반응하는 방식으로 서버와 클라이언트의 작업을 하나로 일치시키는 방식입니다.요청과 응답, 응답과 작업, 다시 요청과 반응 이런 방식입니다. 폴더의 자료를 최신으로 유지하는 것도 클라이언트에서 자료 갱신을 요청하면 서버에서 응답해 최신 자료를 보내주고 클라이언트에 받아 갱신하는 .. 더보기
★ 17. C# - Dictionary Collection C# 콜렉션 중 하나인 Dictionary에 대해 알아보겠습니다. Dictionary dictionary = new Dictionary(); Dictionary를 선언할 때는 를 이용해 선언합니다. 즉, 키와 값이 쌍으로 이루어져 만들어져 있습니다. 차후 값을 읽어올 때에도 이 점을 이용하게되므로 아주 중요한 개념입니다. 예제를 통해 알아보겠습니다. [1] Dictionary 읽고 쓰는 기본적인 사용 방법 123456789101112131415161718192021222324252627282930313233using System;using System.Collections.Generic; namespace DictionarySample{ class Program { Static void Main() { .. 더보기
★ 19. 객체지향 vs 절차지향 차이점 객체지향과 절차지향 다양한 프로그래밍을 하기 위한 언어로는 여러 종류가 있습니다.여러 언어들은 크게 두 가지로 나눌 수 있습니다."객체지향과 절차지향"언어 두 가지로 말이죠.언어들을 설명하기에 앞서 빠른 이해를 위하여 예시를 들어보도록 하겠습니다. 자동차를 만들기 위한 부품으로는 바퀴, 엔진, 의자, 핸들 등 다양한 부품들이 있어야 합니다. 자동차를 조립해야 할 때 절차지향적인 방식으로 만든다면 어느 한 부분을 기점으로하여 순서대로 만들어야합니다. 예를들면, 엔진 -> 차체 -> 핸들 -> 의자 이런 식으로 만들게됩니다. 이 경우 서로 분리되면 안되고 순서가 틀려도 안됩니다. 하나가 고장나게 되면 전체 기능이 흔들릴 정도로 설계되었다고 가정할 수 있습니다. 만약 처음에 조립할 때 부품을 다른 종류로 대체.. 더보기
★ 3. 스트래티지 패턴 (Strategy Pattern) 스트래티지 패턴 (Strategy Pattern) 스트래티지 패턴에서는 알고리즘 군을 정의하고 각각을 캡슐화하여 교환해서 사용할 수 있도록 만듭니다.스트래티지를 활용하면 알고리즘을 사용하는 클라이언트와는 독립적으로 알고리즘을 변경할 수 있습니다. 부모 - 자식간의 상속을 이용해 동물의 행동을 호출하는 간단한 시스템에서스트래티지 패턴을 적용해보면서 설명하도록 하겠습니다. 위 그림을 살펴보겠습니다.Animal 클래스를 만든 뒤 동물 공통의 행동 함수인 울음(Cry), 움직임(Move), 동물의 모습을 표현하는display 메소드를 정의했습니다.여기서 구현할 동물은 Animal 클래스를 상속 받는 독수리(Eagle)와 호랑이(Tiger)입니다.독수리와 호랑이는 각각의 울음(Cry)과 모습(display) 메소.. 더보기
디자인 패턴 포스팅 준비하고 있습니다. 디자인 패턴 게시판에서 디자인 패턴에 관해 간단한 설명만하고 각 패턴에 대한 상세 내용(코딩)을 포스팅하지 못했습니다. 스트래티지 패턴을 시작으로 2월 18일부터 초보자도 알기 쉽게 글을 작성하도록 하겠습니다. 더보기
★ 17. 가비지 (Garbage) 가비지 (Garbage) 힙에 쌓인 메모리 영역이 참조가 끊겨있는 인스턴스(가비지 컬렉터가 있는 프로그램에선 자동 소멸) 더보기
★ 16. c++/c# 구조체와 클래스의 차이 c++/c# 구조체와 클래스의 차이 ===================================================- c++ - struct는 default가 public이다.값을 직접 참조할 때 사용함선언과 동시에 사용 가능 예) vector a a.x = 10; class는 default가 private이다.주로 멤버 변수를 직접 건들지 않고 함수로 건드림 둘 다 private public protected 변수, 메서드 선언 다 가능하다.(차이가 거의 없음) c++ 구조체란?다양한 형의 자료를(변수를) 하나로 통합한다. 또한 필요에 따라 메소드를 사용할 수 있다.접근 제한 연산자를 사용할 수 있으며, 사용하지 않을 경우 기본적으로 public 접근자가 사용됨. c++ 클래스란?다양한 형.. 더보기
★ 3. 3D 프로그래밍의 기초 개념 [변환] 변환(transform) 가장 기본적인 변환에는 이동(transition) 회전(rotation) 크기(scale) 전단(shear) 변환이 있으며, 이들 변환은 모두 행렬로 표현됩니다. 이동, 회전, 전단만으로 이루어진 행렬을 아핀 변환이라고 하는데 이 변환은 계(system)를 유지하는 특성이 있어서 여러모로 유용합니다. 더보기
★ 3. 3D 프로그래밍의 기초 개념 [정점] 정점(vertex) 공간상에서의 위치(Position)를 나타내는 것으로 일반적으로 여러 개가 모여서 특정 형태의 오브젝트(폴리곤이 가장 간단한 형태)를 구성하는 요소를 정점이라고 합니다. 더보기
★ 2. 3D 프로그래밍의 기초 개념 [좌표계] 3차원 좌표계(3D Coordinate system) D3D는 왼손 좌표계를 사용합니다. (왼손 좌표계) (오른손 좌표계) 그림과 같이 양의 Z 축이 모니터의 안쪽으로 들어가는 방향을 말합니다. OpenGL의 경우 왼손, 오른손 좌표계를 선택적으로 사용하지만 D3D는 기본적으로 왼손 좌표계를 기준으로 합니다.~ 더보기

반응형