개발 시스템
체계적인 개발 시스템
사실 개발이란게 다 산업별로 직군별로 쓰이는 기술도 다르고 도메인 지식도 다 다릅니다. 그에 맞는 전문가를 찾기란 쉽지도 않습니다.
그런데 한가지 공통점은 IT에서 서비스를 런칭하는 일련의 과정은 일맥상통 한다는 겁니다. 게임개발을 하든, 로봇, 키오스크, 웹,앱을 출시하던 데스크탑 애플리케이션을 만들건, 솔루션을 출시하건, 펌웨어 같은 제품을 설계하건, CCTV의 모듈을 만들건, IOT 제품을 만들던지, 자동차에 들어가는 모듈을 만들던지 간에
서비스 기획, 디자인, 프론트 설계 및 개발, 백엔드 설계 및 개발, 인프라 설계 및 개발, 성능최적화, 보안, 품질 테스트, 제품 출시, 유지보수 ,하자보수, 인수인계
이러한 일련의 과정은 일맥상통하기 때문에 각각의 파트별로 정석적인 핵심 개념을 정리해서 개발할때 적용하자는 취지로 정리합니다.
각각의 산업별, 직무별에 맞는 기술에 대한 개념을 기술한 내용이 아니라 실무적인 적용방법, 심화내용을 다룹니다. 각각의 기술애 대한 개념이 알고싶으시면 기술별 공식문서 홈페이지를 참조하는게 더 정확합니다.
그리고 언어도 산업군별로 특성에 따라 저급언어 (어셈블리, 기계어), 고급언어 ( C, C++, java, python, ruby, javascript, php, swift, kotlin, go, rust), 스크립트 언어 ( Bash, Perl, Lua, PowerShell), 데이터베이스 언어 ( MSSQL, MYSQL, Oracle, MONGDB), 객체지향 언어(java, C++, C#), 웹개발 ( HTML, CSS, javascript) 등등 천차만별인데요.
javascript 를 기준으로 기술한다는 점 양해바랍니다. 이유는 javascript 가 프론트, 백엔드, 앱, 데스크톱, 게임개발 등등 커버리지가 높다고 판단되기 때문입니다. 최대한 함수형, 객체지향 프로그래밍 두가지 예시를 다 담도록 하겠습니다.
마지막으로 모든 시스템을 다 현업에 적용하기란 쉽지않은데요. 상황에 따라 skip 할 때가 더 효율적인 경우도 많으니간요. 그래도 최대한 알고있어야 skip 하지 실행할지를 의사결정 할 수 있는거구요, 최대한 실행하자는 생각을 갖고 개발에 임하면 더욱더 제품을 잘만들꺼라 생각합니다.
그리고 PC로 해당 블로그를 접했을 때 좌측 사이드네비게이션을 보실 수 있습니다. 서비스 기획, 디자인, 프론트 설계 및 개발, 백엔드 설계 및 개발, 인프라 설계 및 개발, 성능최적화, 보안, 품질 테스트, 제품 출시, 유지보수 ,하자보수, 인수인계에 대한 시스템을 기술하였습니다.
그 전에 도입부로 전세계 SI 업체 현황을 기술했습니다. 더 나아가서 IT로 제공할 수 있는 서비스 유형을 정리하였고 각각의 업태별로 어떤 IT 기술이 주요하게 사용되는지 기술하였습니다.
해당 부분은 도입부 라고 생각하시면 됩니다. 바로 개발 시스템을 읽어보고 싶으시면 클린코드 섹션부터 차례때로 읽어보시길 권장드립니다. 감사합니다.
(ps: 전반적인 내용들의 출처는 IEEE와 같은 검증된 공인기관, 각 기술 공식문서, MIT 공대 기술 저널, AI, github star 최소 1k 이상의 검증된 자료, 현업에서 얻은 경험들을 요약 및 발췌한 정보들입니다. 제가 수동으로 쓰다보니 오탈자는 있을수도 있다는점 양해바랍니다.)