2020. 7. 22. 17:27ㆍ웹서비스
아무것도 없는 상태에서 맨손으로 집을 지을 수는 없습니다. 페이스북에는 맨손으로 집을 짓는 사람들이 있긴 하지만.. 아무것도 없는 상태에서 메모장으로 개발을 하더라도 컴퓨터에서 개발된 코드를 실행하기 위해서는 무엇인가가 필요합니다. 실제로 메모장에서 개발이 가능합니다.
컴퓨터는 0과 1밖에 모릅니다.
컴퓨터에서 실행 가능하게 개발하려면 0과 1로 코드를 만들어야 합니다. 0과 1로 코드를 어떻게 만들어야하는지 막막하네요. 코드는 우리가 알아볼 수 있는 영어로 작성하는 것으로 알고 있는데, 0과 1이라니.. 뭔가 사기 같습니다. 0과 1로는 도저히 개발을 못하겠고, 우리가 알아볼 수 있는 영어로 개발을 하고 싶습니다. 이것을 가능하게 해주는 것이 플랫폼 Platform입니다.
플랫폼은 ‘사람이나 어떤 것이 위에 설 수 있는 면'이라는 의미를 가지고 있습니다. ‘연단, 승강장’등을 생각하시면 좀 더 쉽게 이해하실 수 있습니다. 또한 요즘 뜨는 ‘플랫폼 사업'을 생각하면 무엇인가 운영되는 기반에서 사람들이 이용하는 것을 말합니다. 개발도 이와 같은 의미로 사용됩니다.
영문으로 작성된 코드를 컴퓨터가 인식할 수 있게 바꾸어 주고,
개발을 보다 쉽게 할 수 있도록 환경을 제공해주는 역할이 플랫폼입니다.
플랫폼은 우리가 작성한 코드를 해석하고, 컴퓨터에서 실행하는 역할을 합니다. 컴퓨터에서 실행하는 행위를 런타임 runtime ‘실행시간’ 이라고 합니다. 이제 플랫폼이 있으니 개발이 가능합니다. 사람들이 플랫폼에서 개발을 진행하다보니 자주 쓰이는 코드나, 유용한 코드가 많다는 사실을 인지하게 됩니다. 이런 코드들을 묶어서 다른 사람과 공유하면 시간도 절약되고, 개발의 효율성이나 질이 더 높아 지지 않을까 생각한 나머지 라이브러리 Library를 만들게 됩니다.
라이브러리는 단어 그대로 ‘도서관'이라는 의미처럼 수많은 책을 참고삼아 더 많은 지식을 습득하거나, 활용할 수 있습니다. IT에서도 라이브러리를 활용하여, 길게 작성할 코드를 짧게 할 수 있고, 고민해서 작성해야할 코드를 누군가가 이미 많들어 놓았다면 활용하여 시간 절약을 할 수 있습니다. 이러한 효율성이 많기 때문에 플랫폼에서는 기본적으로 사용하는 라이브러리를 가지고 있습니다.
플랫폼과 라이브러리만 있으면 이제 정말 쉽게 개발이 가능합니다. 여기에서 사람들은 개발 하는 목적에 따라 개발 방식을 구분하고자 합니다. 가령, 어린이 전문 도서관에 공장자동화 관련 서적이 있다면 도서관의 목적에 맞지 않습니다. 어린이 전문 도서관에서는 어린이가 이해하기 쉬운 책으로 배치되어 있어야 합니다. 또한 역사 도서관에 DIY 관련 책이 있는 것도 도서관의 목적에 맞지 않습니다.
이렇듯 개발도 목적에 따라 관련된 라이브러리만 골라서 제공하면 라이브러리들을 일일이 찾을 필요도 없고, 더 시간 절약을 할 수 있지 않을까 생각한 끝에 프레임워크 FrameWork라는 개념을 만들게 됩니다.
프레임워크는 ‘틀안에 작업'한다는 의미로 볼 수 있습니다. 개발 목적에 따라 미리 라이브러리로 틀을 만들고 작업이 원활하게 될 수 있도록 환경을 만드는 것을 말합니다. 대표적으로 국가 프로젝트시 사용되는 ‘전자정부 프레임워크'가 있습니다.
간단한 프로젝트 경우에는 프레임워크에 따라 개발하면 됩니다. 대규모 프로젝트인 경우, 모든 기능을 하나하나 개발하기에는 시간도 많이 걸리고, 인력도 많이 필요합니다. 회사 운영 시스템을 개발한다고 하면, 직원 관리하는 인사관리 시스템, 회계 관리하는 회계 관리 시스템, 상품 관리하는 상품관리 시스템, 고객 대응 할 수 있는 고객관리 시스템, 고객의 취향을 추적하는 고객 관계 시스템 등 다양한 시스템이 개발될 수 있습니다. 이러한 다양한 시스템 개발을 하려면 시간과 인력과 돈이 많이 소요될 수 밖에 없습니다.
이런 부분을 해결하고자 각 시스템별로 미리 개발하여 제공하는 것을 솔루션 Solution이라고 합니다.
라이브러리는 개발을 효율적이고, 편리하게 하기 위한거라면,
솔루션은 시스템을 미리 만들고, 활용할 수 있게 만든 프로그램입니다.
'웹서비스' 카테고리의 다른 글
웹 프로젝트 진행 과정 한눈에 보기 (0) | 2020.07.22 |
---|---|
개발에도 직군이 있다. (0) | 2020.07.22 |
웹 서비스도 오피스가 있다? (0) | 2020.07.22 |
웹 서비스 개발 초기 단계 (0) | 2020.07.22 |
웹 서비스와 통신 하는 방법 (0) | 2020.07.22 |