Skip to content

Instantly share code, notes, and snippets.

@vandbt
vandbt / book-writing-solid-code.md
Last active September 25, 2021 05:35
Book: Writing Solid Code - 페인트 젓는 막대와 증상만 치료하는 의사

개발자로 밥을 먹고 있으면서 수년동안 읽은 개발서 중에 머리가 아닌 가슴을 에이게 하는 책이 있다면 그중 하나가 바로 이책입니다. 개발서 치고는 얊은 데다가 타이포그래피가 구닥다리 냄새를 풍기고 있기는 하죠.

book cover

Writing Solid Code.(부제: 버그 안녕)

STEVE MAGUIRE 저, 나윤석. 이을재 공역, 높이깊이 ISBN 89-7588-020-6

많은 좋은 내용이 있지만 그중 머릿속에 멤도는 몇가지는 아래와 같습니다.

@vandbt
vandbt / book-pattern-of-enterprise-application-architecture.md
Last active May 21, 2018 02:07
Book: PoEAA ( Pattern of Enterprise Application Architecture, by 마틴 파울러

Summary: 마틴 파울러 PoEAA(패턴 오브 엔터프라이즈 어플리케이션 아키텍처)

book cover

마틴 파울러의 PoEAA는 엔터프라이즈 어플리케이션의 아키텍처가 어떻게 구성되는 것인가에 대한 최고의 책입니다. 파울러의 다른 책 Refactoring 만큼은 알려지지 않은 듯 합니다.

도입부의 [도메인 로직을 구성하는 패턴]은 조금은 어렵게 느껴지는 내용입니다.

@vandbt
vandbt / solid-design-principles.md
Last active May 21, 2018 03:53
SOLID - design principles

SOLID Principles

cover SOLID

설계 원칙은 관리가능(maintainable)하고 재사용(reusable) 가능한 소프트웨어를 작성하기 위해 제시된 기준 입니다.

SOLID Principle은 Uncle Bob으로 알려진 Robert C. Martin 이 정리한 Object-Oriented Design (OOD) Principles.

  • Single responsibility principle: A class should have one, and only one, reason to change
  • Open-closed principle: You should be able to extend a classes behavior, without modifying it

커버 정보탐색과정론

이 포스트는 사람들이 왜 정보를 탐색하고, 탐색할 이유가 있다면 그 방법은 무엇일까? 라는 궁금점으로 시작 되었습니다.

그러던 차에 정보탐색과정론(캐롤쿨싸우 지음, 김효정 옮김, 한국디지틀포럼, 2000) 이라는 책에서 많은 영감을 얻었습니다.

더불어 정보탐색도구로써의 검색엔진과 소셜미디어의 포지셔닝에 대해 생각합니다.

정보탐색은 정보요구에 의해서 유도되며, 정보탐색의 과정에는 서지적 패러다임과 구성적 패러다임이 존재합니다. 구글과 같은 검색엔진은 서지적 패러다임에 위치하는 도구이고, 트위터와 같은 소셜미디어는 구성적 패러다임과 정보탐색과정 6단계(탐색착수, 논제선정, 탐색조사, 초점형성, 정보수집, 정보표현) 에서 논제선정, 탐색조사, 초점형성 단계와 밀접하다는 결론을 얻게 되었습니다.

@vandbt
vandbt / about-application-framework.md
Last active May 21, 2018 02:23
어플리케이션 프레임워크란?

Framework Layers

인-하우스 개발팀이 프레임워크를 개발해 사용한다는 말은 닷넷프레임워크와 같은 '기반 프레임워크'가 아닌, 어플리케이션 프레임워크를 말하는 것입니다. 이 포스트는 어플리케이션 프레임워크란 무엇이며 개발기법에 대한 것입니다. 포스팅의 그림과 내용은 Developing Application Framework in .NET by Xin Chen (ISBN:1590592883) , Apress , 2004 일부 내용 요약 및 정리입니다.

“당신이 애플파이를 맨 처음부터 만들고자 한다면, 세상을 먼저 만들어야 할 것이다. If you want to make an apple pie from scratch, you must first create the universe.” 칼 세이건, Carl Sagan

어플리케이션 프레임워크란?

어플리케이션 프레임워크란 이 어떠한 문제를 해결하는 어플리케이션을 개발할 때 '어떻게 하면 맨손으로 개발 하지 않을 수 있을까?' 의 고민으로 부터 시작된 것입니다. 맨손으로 시작하지 않기 위해서는 구조화된 '그 무엇'을 개발자에게 제공해야 하며, 그 '무엇' 이 바로 '어플리케이션 프레임워크 이다' 라고 Xin Chen이 제안한 용어(selling idea) 입니다. 닷넷, 자바 개발자들은 닷넷프레임워크 와 자바프레임워크 위에서 개발을 합니다. 각각의 문제를 해결하기 위한 코드의 덩어리, 공통문제 해결을 지원하는 라이브러리등을 개발하게 되죠. 어플리케이션을 개발 할 때마다 데이터베이스로부터 화면표시까지 모든 개개의코드 덩어리를 만들고 있다면 여러분은 맨손으로 세상을 만들고 있는 중 입니다.

@vandbt
vandbt / book-review-professional-enterprise-dot-net.md
Created May 21, 2018 01:58
Book Review: 프로페셔널 엔터프라이즈 닷넷

book cover 프로페셔널 엔터프라이즈 닷넷

원서를 펼쳤을 때 공 저자인 아킹이 엔터프라이즈를 알았을 때 느꼈다는 감정에 너무 동감 했기 때문에 읽지 않을 수 없었던 책이며, 번역서를 발견 했을 때 매우 기쁜 책입니다. 엔터프라이즈의 개념을 접하는 분들은 아마 공통적으로 느낄 감정이라고 생각됩니다.

"아킹 씨, 귀하의 경험과 능력은 출중하지만 이력서로 미루어 볼 때 귀하는 엔터프라이즈 분야의 경험이 전무하군요, 아쉽지만 다음에는 함께 일할 수 있는 인연이 있기를 바랍니다"

...

감독관이 말했던 '엔터프라이즈 패턴'에 대해 알아보기 시작했다. 그러나 인터넷에서 엔터프라이즈 아키텍처에 대해 검색했을때, 지난 8년간 내가 해왔던 컴퓨터 프로그래밍을 무용지물로 만드는 완전히 새로운 수준의 소프트웨어 디자인을 발견하고는 머리가 멍해지는 느낌이었다. - 프로페셔널 엔터프라이즈닷넷 - Professional Enterprise.NET, p.3

@vandbt
vandbt / patterns-in-software-development.md
Last active May 21, 2018 02:18
소프트웨어 개발에서의 패턴(Pattern)

pattern growing fractal

소프트웨어 개발의 목적은 어떠한 문제를 해결하는 것 입니다. 원래의 의도대로 정확하게 구동 되는 것이 가장 첫번째 달성해야 하는 목표라고 할 수 있습니다. 허나 소프트웨어는 구동되는 것 만이 전부가 아닙니다. 잘 개발된 객체지향 소프트웨어가 가져야 할 특성은 구획화 된 모듈성 modularity, 변경을 반영할 수 있는 유연성 flexibility, 요구 추가를 위한 확장성 extensibility, 이 요소들을 갖추고 있으면서도 소프트웨어가 생명주기동안 살아 있을 수 있도록 하는 유지관리성 maintainability 입니다.

언급한 특성들을 갖추게하는 증명된 방법 그 것이 바로 '패턴 Pattern' 입니다.

소프트웨어를 개발하다 보니 구현 코드는 달라도 유사한 문제가 발생하는데, 그 때 패턴을 사용하게 되고, 개발 관련자들 사이에 의사소통 도구로 사용됩니다. 또한 잘 구성된 패턴은 해결하려는 문제가 무엇인지 유추 가능케 합니다.

@vandbt
vandbt / fullstack-web-dev-best-guide-articles.md
Last active July 26, 2018 04:16
Full-Stack web develompent best guide articles
@vandbt
vandbt / python-cheat-sheat.md
Last active July 13, 2018 03:04
Python Cheat Sheet
@vandbt
vandbt / mongoose-cheat-sheet.md
Last active July 13, 2018 03:52
Mongoose cheat sheet

Mongoose cheat sheet

Solutions

Schema

  • TBD

Query