IT/개발상식 (12) 썸네일형 리스트형 Architecture 소프트웨어 아키텍처 소프트웨어 아키텍처는 시스템을 개발하는 것에 있어서 매우 중요한 요소입니다. 사실 이 부분에 대해서는 아직 경험이 많지 않은 제가 정의하기에 부족함이 많겠지만요. 그래도 처음 이 단어를 접하시는 분들에게 작게나마 도움이 되고자 글을 쓰겠습니다. 이렇게 중요한 만큼 개발에 대해 공부한다면 모두가 한번쯤 들어봤을 단어이기도 하지요. 아키텍처에 대해서 한마디로 정의하기 어렵습니다만 최대한 쉽게 설명하자면 아키텍처란 시스템 구성 요소에 대한 설계 및 구현을 지원하는 거대한 설계도 라고 보면 되겠습니다. 물론 위의 한 문장으로는 설명이 부족합니다만 이 카테고리에서는 간단하게 개념을 전파하는 목적을 가졌으므로 이정도로 간단하게 설명하도록 하겠습니다. 건물을 짓는데 있어 설계도가 부실하다면 많이 .. Interface Interface Programming에서 Interface란 어떠한 것에 대한 틀을 의미합니다. 건물을 짓는데 기둥이 없으면 곤란하겠죠. 특히 꼭 있어야 하는 기둥이 없다면 식은땀이 날 것입니다. 이러한 것처럼 Software에서도 Interface에 있는 틀은 꼭 구현을 해야 합니다. 이러한 강제성을 부여한다는 의미도 있겠지만 설계를 할 때에도 큰 도움이 됩니다. 예를 들어 협업 과정에서 개발자의 실수로 어떠한 기능을 구현하지 않으면 처음 설계한 것과 다른 결과물이 나오거나 이러한 누락되어 구현하지 않은 기능을 찾기까지 꽤 큰 공수가 들겠지요. 이러한 개발자의 휴먼에러는 개발하는 입장에서 굉장한 스트레스입니다. 이러한 휴먼에러를 줄이고자 본인에게 잘 맞는 IDE를 선택하기도 하지요. 이처럼 Inter.. 객체지향 프로그래밍 OOP - 객체지향 프로그래밍 객체지향 프로그래밍, 함수형 프로그래밍, 절차지향 프로그래밍 등등 참 다양한 프로그래밍 방법론이 있습니다. 그 중에서도 이번에는 객체지향 프로그래밍에 대해 간단하게 다뤄 보도록 하겠습니다. 객체지향 프로그래밍을 쉽게 설명하자면 개발자가 실제의 사물을 추상화하여 추상화한 대상(객체)를 개발 언어로 옮겨 작업하는 것을 의미합니다. 뭔가 설명이 모호할 수도 있겠습니다만 여기서 중요한 것은 추상화라는 것입니다. 보통 개발자에게 추상화라는 것은 만들고자 하는 시스템에서 공통적인 부분들을 추려내고 이러한 것들을 어떻게 설계하면 좋을지 풀어내는 것을 의미합니다. 이렇게 추상화 단계를 거치면 대상이 취하는 동작 또는 대상이 가지고 있는 속성과 같은 것들을 추려 낸답니다. 이렇게 거르고 걸.. Container Container Container란 보통 문자 그대로 무언가를 담고 있다는 의미입니다. 소프트웨어에서 컨테이너란 보통 어떠한 모듈과 같은 것들을 담고 있는 것을 통틀어 Container라고 표현 합니다. 대표적인 예시로 배포를 할 때 웹 소스 및 DB를 하나의 Container에 담아 배포를 합니다. 이러한 개념은 보통 DevOps를 개발하시는 분들 사이에서 사용하는 Container의 의미 입니다. 하지만 FrontEnd에서도 Container라는 용어를 사용하곤 하지요. 또한 BackEnd에서도 Container라는 용어가 사용되는 부분도 있지요. 물론 조금씩 서로 다른 의미 이겠지만요. FrontEnd, BackEnd에서 말하는 Container의 개념을 하나씩 천천히 알아 보도록 하겠습니다. F.. 이전 1 2 다음