본문 바로가기

개발4

[감 익혀보기] Strategy Design Pattern with C++ 본문을 공부하며 정리한 내용입니다. 프로그래밍을 하다보면 변경은 꼭 일어나기 때문에 항상 대비를 해둬야한다. 너무 딱딱하게 작성하면 안되고 유연해야한다. 그러기 위해 디자인 패턴을 사용하는 것이고, 디자인 패턴은 프로그램을 유연하고 독립적이고 유지관리가 편하고 사용성 높도록 도와준다. 그 중 Strategy 패턴은 계속 달라지는 행위를 정의할 때 클래스를 수정하지 않아도 되게끔 해준다. 몇 가지 원칙을 보면서 본 디자인 패턴을 익혀보자 Principle 1. 변하는 것은 항상 캡슐화 하자! 항상 클래스가 어떻게 행동(behavior)하는지를 살피고, 찾았다면 이를 캡슐화 해야한다. 예를 들어서 오리 클래스를 생각해보자면 울음과 비행이 행동(behavior)이 되겠다: class Duck{ void qua.. 2022. 3. 31.
게임엔진에 사용되는 디자인 패턴(Harold Serano) 원문: Design Patterns in Game Engine Development 이제 막 프로그래밍 언어들의 구문/문법을 알게 된 것이 프로그래머가 되었다는 말은 아니다. 아니라고 하고 싶지만 트루다. 진짜 프로그래머가되려면 데이터구조, 알고리즘, 그리고 디자인 패턴에 대한 지식이 필요하다. 문법을 아는 것은 알파벳 아는 정도이다. 누구든지 일주일이면 프로르램의 구문이나 문법을 배울 수 있지만, 모듈화 되어있고 유연하고 유지관리한 프로그램을 개발하는 것은 불가능하다. 이게 독자분의 동기를 오히려 감쇠시킨 것 같지만, 디자인패턴을 배워서 훌륭한 개발자가 되어 봅시다! 제일 많이 사용되는 디자인 패턴은 아래와 같습니다. Singleton Design Pattern: 프로그램이 시작될 때 클래스가 최초 한.. 2022. 3. 28.
[Node.js] 로컬서버를 열어 실시간 채팅 서비스 구현하기 - (2) 로컬 서버 열기 본 게시글은 원본를 따라가며 이해한 내용들을 기록한 문서이다. 원본 게시글이 사실 더 잘 설명되어있으나, 공부목적으로 작성하였다. [비전공자도 한다, 챗봇 만들기] 개발의 '개'자도 몰랐던 비전공자의 시점으로 챗봇만들기 과정을 다뤄봅니다. 실시간 온라인 채팅 서비스, 어떻게 만들 것인가? 일단, 온라인 채팅 서비스를 만들기 위해서 크게 채팅의 송수신을 처리하는 서버와 클라이언트 측에서 동작할수 있도록 만든 웹이 필요하다. 그리고, 이들의 역할은 다음과 같이 이해가 된다. 서버는 사람들간의 소통의 공간을 만들어 주고 웹은 그 공간을 사용할 수 있게 만들어 주는 역할을 한다. 이제, 이러한 서비스를 만들기 위한 도구로 서버를 만들기 위해 Node.js 라는 자바스크립트 기반의 웹서버 플렛폼을 사용할 것이며,.. 2020. 5. 20.
[Node.js] 로컬서버를 열어 실시간 채팅 서비스 구현하기 - (1) 개발환경구축 본 게시글은 원본를 따라가며 이해한 내용들을 기록한 문서이다. 원본 게시글이 사실 더 잘 설명되어있으나, 공부목적으로 작성하였다. [비전공자도 한다, 챗봇 만들기] 개발의 '개'자도 몰랐던 비전공자의 시점으로 챗봇만들기 과정을 다뤄봅니다. 실시간 온라인 채팅 서비스, 어떻게 만들 것인가? 일단, 온라인 채팅 서비스를 만들기 위해서 크게 채팅의 송수신을 처리하는 서버와 클라이언트 측에서 동작할수 있도록 만든 웹이 필요하다. 그리고, 이들의 역할은 다음과 같이 이해가 된다. 서버는 사람들간의 소통의 공간을 만들어 주고 웹은 그 공간을 사용할 수 있게 만들어 주는 역할을 한다. 이제, 이러한 서비스를 만들기 위한 도구로 서버를 만들기 위해 Node.js 라는 자바스크립트 기반의 웹서버 플렛폼을 사용할 것이며,.. 2020. 5. 15.