NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 학습
  • 매뉴얼

    학습


    Web 1부 - 현업 개발자가 알려주는 웹프로젝트 만들기. (개발 환경 만들기!)

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 오늘부터 얼마나 진행될지 모르겠지만~ 현업에서 웹프로젝트가 어떻게 만들어지는지 같이 학습 해보도록 할께요. 참고로, 현업 개발자는 저를 말하는겁니다-_-; 엔지엠소프트웨어를 운영하고 있지만 본업은 반도체 수율을 개선하는 솔루션 회사에 다니고 있습니다. 제조쪽에 종사하시는 분들은 MES나 EES를 한번쯤 들어 보셨을겁니다. 일본의 소니쪽 프로젝트와 중국 및 유럽, 동남아쪽 프로젝트를 진행하면서 많은것들을 경험하고 잡지식이 늘었는데요. 이런 것들을 글로 표현하기가 쉽지 않습니다. 그래서 간단한 것들부터 하나씩 같이 개발해보면서 현업에서 어떻게 일하는지 느껴보시면 좋을거 같아요^^

    PIZcOth.png

     

     

    우선, 웹을 개발하려면~ 어떤 언어를 사용해야 하는지 또는 어떤 프레임워크를 사용해야 하는지 결정부터 해야 합니다. 웹 개발뿐만 아니라 모든 개발이 여기서부터 시작됩니다. 보통은 기획자나 아키텍트가 만들고 싶은 시스템에 적합한 기술 스텍과 서드파티, 라이브러리, 프레임워크를 조사합니다. 보통은~ 유사 업종의 시스템을 벤치마킹하거나 비슷한 서비스를 제공하는 회사에 물어보기도 합니다. 벤치마킹할 소스가 없으면 테스트 프로젝트를 먼저 진행하거나 기술 검증등의 활동이 선행되기도 합니다. 웹의 경우 전통적인 방식(HTML, JavaScript, CSS, ASP, PHP, JSP)으로 개발을 진행해도 되고, 요즘 최신 트렌드에 맞는 방식(nodejs, angular, typescript, HTML, CSS, react)으로 진행해도 됩니다.

    yoFZwX8.png

     

     

    이외에도 개발 방법론이나 협업 도구, 이슈 트레커, 형상 관리, CI/CA, 프로젝트 매니저등등... 여러가지 도구를 사용해서 프로젝트가 성공할 수 있도록 해야 합니다. 하지만~ 우리는 초보이기 때문에 일단 코딩만 달달 외워서 취업부터 합시다. 일단 취업이 되면 착한 선배에게 커피 한잔 사주면서 다시 배워야 합니다. 그리고, 하루에 10시간씩 연습하고 관련 자료들을 학습하셔야 합니다. 돈을 많이 주는 곳은 금융쪽과 제조쪽입니다. 중소기업보다 일하기가 어렵습니다. 스트레스도 심하구요~ 당연하겠지만 내부 보안이나 딱딱하게 정해진 업무 룰 그리고, 복잡한 시스템에 적응이 어렵기 때문입니다. 혼자 개발하는 것과 협업은 완전히 다른 문제입니다. 개발자는 커뮤니케이션 능력도 중요한 덕목중에 하나입니다. 그러나~ 개발자가 되려고 진로를 정하신 분들은 너무 걱정하지 않아도 됩니다. 취업하면 2주정도 교육을 받고, 부서나 팀이 배정되면 바로 옆자리에 물어볼 수 있는 선배가 있으니까요. 보통은 선임이나 대리 또는 사원일 수 있어요. 어딜가나 인간관계가 가장 중요하다는걸 잊지 마세요!

    F2N5uus.png

     

     

    서비스의 종류에 따라 달라질수는 있지만 요즘은 SPA(Single Page Application, 에스피에이) 개발 방법을 따릅니다. 웹이 아닌 CS쪽은 MSA(Micro Service Architecture, 엠에스에이)를 선택하고 있어요. 이런 용어나 개념들을 외울 필요는 없습니다. 그냥 이런것들이 있구나 정도로 넘어가면 됩니다. 저는 말하는걸 좋아해서 일찍부터 프로젝트 메니저를 자주 했습니다. 고객과 미팅으로 프로젝트를 분석하고 더 좋은 서비스를 제공하기 위한 기술들... 문제를 해결할 좋은 방향등등 주변 잡지식이 많은 편입니다. 대신 기술력은 낮습니다. 대부분 하나를 깊게 파거나 넓고 얕게 파거나 둘중 하나예요. 물론, 둘다인 경우도 있습니다. 지금 결정할 필요는 없지만 언젠가는 방향을 정해야 할거예요^^;

     

    정리하는 시간...

    웹프로젝트는 nodejs와 react, typescript를 사용하고, SPA 아키텍쳐를 사용합니다. 개발 환경을 갖추기 위해 미리 Visual Studio Code와 Oracle 또는 MSSQL이나 MySQL을 설치하세요. 리눅스 환경에서 테스트하고 싶은 분들은 도커를 이용해도 됩니다.

     

    개발 환경 만들기.

    아래 내용을 참고해서 Visual Studio Code를 설치하고, 노드와 타입스크립트 및 앵귤라를 설치하세요. 다음 글에서는 앵귤라 대신 리액트를 사용할거예요. 그래서 앵귤라에 대해 관심 있는게 아니라면 굳이 설치할 필요는 없습니다.

    [ nodejs와 typescript 개발 환경 만들기 ]

    [ 비주얼 스튜디오 코드에 angular 설치하기 ]

    Pvi5oxk.png

     

     

    데이타베이스 설치하기.

    데이타베이스는 아래 목록 중 아무거나 설치해도 상관 없습니다. (가능하면 오라클로... 설치하세요. 제가 아마도 오라클로 진행할듯 합니다.) 쿼리(Query, 질의)문은 RDBMS(Relational Database Management System, 관계형 데이타베이스 관리 시스템)가 비슷하기 때문입니다. 제가 종사하고 있는 산업 분야는 오라클을 사용하고 있습니다. 웹쪽은 MySQL이나 마리아디비 또는 포스트그리SQL, 일라스틱서치, 카산드라등등 종류가 여러가지입니다.

    [ Microsoft SQL 설치하기 ]

    [ MySQL 설치하기 ]

    [ Maria DB 설치하기 ]

    [ 데이타베이스 개발 도구 설치하기 ]

    xqqxRzs.jpg

     

     

    도커 설치하기.

    도커는 솔루션 회사나 서비스 회사에서 많이 사용하고 있는 가상화 프로그램입니다. 우리가 흔히 알고 있는 VMware나 VirtualBox와 유사하지만, 몇몇 다른 부분이 존재합니다. 윈도우 환경에서 리눅스를 사용하고 싶으면 어떻게 해야 할까요? 대부분은 VMware나 VirtualBox를 설치하고, 가상 머신에 리눅스를 설치할겁니다. 이는 매인 윈도우와 완벽하게 분리된 공간을 제공하지만, 공유 자원을 사용할 수 없게 만듭니다. 도커는 가상 머신이 아닌 컨테이너 방식을 사용합니다. 컨테이너는 매인 윈도우의 커널과 자원이 공유되고, 컨테이너 안에서 구동되는 응용프로그램은 필요한 라이브러리와 실행 파일만 존재하게 됩니다.

    [ 도커 설치하기 ]

    gVoKlI7.png

     

     

    여기까지 현업에서 사용하는 개발 환경을 구성해봤는데요. 혹시라도 잘 안되는 부분이 있거나 궁금한 사항은 커뮤니티의 질문과 답변 게시판에 남겨주세요. 확인 후 답변 달아드릴께요~ 개발에 ""자도 모르는 분들은 개발 환경을 구축하는것부터 어려울 수 있습니다. 취업해서 회사에 가면 팀마다 개발 환경을 셋팅할 수 있는 가이드나 메뉴얼이 있을거예요. 제가 몸담고 있는 회사는 내부 위키에 잘 정리가 되어 있고, 신입 사원도 혼자서 설치할 수 있을정도로 자세하게 설명되어 있습니다. 그러니~ "내가 이걸 할 수 있을까?"라는 의문은 잠시 미뤄두시기 바랍니다. 처음엔 많은 의문이 들고 답답할거예요. 커피 한잔 사주고 선배에게 질문하세요! 그렇다고 알아보지도 않고 사소한것까지 질문 하다보면 회사에서 기본이 없는 직원으로 찍힐겁니다.

     

    최소한~ 내가 해결할 수 없는 문제에 대해 검색 해보고, 이 문제에 대해 이러이러한 해결책들을 검색해서 적용 해봤는데... 해결이 안되었으니 도와달라~!!! 정도가 되어야 합니다. 그래야 부드러운 관계(?)를 오래 유지할 수 있습니다. 그리고 개발자는 항상! 메모하는 습관을 가져야 합니다. 저처럼요. 홈페이지에 글을 적거나 블로그나 카페도 좋습니다. 이렇게 글을 적으면서 이것도 되는지 한번 더 해보세요. 그리고 찾아보세요. 문제를 해결할 때 마다 여러분들의 스킬은 숙련되고 노련해질겁니다. 정말 중요한건 "시작"하는 겁니다.

    3rr246d.png

     

     

    빠르고 쉽게 나만의 홈페이지를 만들고 싶다면 아래 내용도 참고 해보세요. 참고로, 제 홈페이지도 그누보드로 되어 있습니다. 앞서 만들었던 홈페이지는 XpressEngine로 되어 있었구요. 둘다 사용해본 느낌은~ 별차이 없다는것입니다. 하지만, 무료이기도하고 커뮤니티도 활성화되어 있는 그누보드가 더 좋은듯해요. 급하게 홈페이지 또는 쇼핑몰이 필요한 경우에는 그누보드를 이용해보세요. 그누보드 자체는 무료지만 여러가지 패키지를 구매하다보면 생각보다 돈이 많이 들어갑니다. 저같은 경우는 디자인만 구매했고, 나머지 커스터마이징은 직접 개발 했기에 추가 비용이 들지는 않았습니다.

    [ 그누보드를 이용한 홈페이지 만들기 ]

    [ XpressEngine을 이용한 홈페이지 만들기 ]

     

    개발자에게 후원하기

    MGtdv7r.png

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

    등록된 댓글이 없습니다.