NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • NGM 5
  • 매뉴얼

    NGM 5의 매뉴얼입니다.

    NGM 5

    NGM 5의 매뉴얼입니다.

    본 사이트의 컨텐츠는 저작권법의 보호를 받으므로 무단 복사, 게재, 배포 등을 금합니다.

    커스텀 [1부] 커스텀 스케줄러 만들기. (입력한 시간에 특정 위치 클릭하기)

    페이지 정보

    본문

    안녕하세요. 소심비형입니다. 오늘은 좀 쉬운 예제를 가지고 왔습니다. 이전 이미지 체크 예제는 너무 어려워서 이해하는 게 쉽지 않았죠? 그래서, 스케줄러는 기존 NGM의 예약 실행보다 쉽게 사용할 수 있는 액션을 만들어 볼게요. 물론... 개발과 거리가 먼 분들은 이해하는데 여전히 어려울 수가 있습니다. 최대한 스크린숏과 따라 할 수 있도록 풀어서 적도록 하겠습니다. 유튜브도요^^;

    구독, 좋아요, 댓글 부탁...드... 엣 헴...-_-;

    img.png

     

     

     

    뭘 해도 그냥 버틴다로 귀결이 되네요-_-; 가진 거 없고 기술이 없다 보니... 선택의 폭이 좁아지고 결국은 그냥 버틴다로... 결론이... 우울하군요-_-; 헛소리는 집어치우고~ 오늘도 매뉴얼 작성에 열을 올려봅니다. 새로운 기분으로 시작하기 위해 새 프로젝트를 만들어서 해볼게요. 비주얼 스튜디오를 실행하고 새로 만들기 > 프로젝트를 선택하세요.

    img.png

     

     

     

    아래 절차대로 새로운 프로젝트를 생성하세요. 이름은 CustomScheduler로 만들도록 하겠습니다.

    1. 왼쪽 프로젝트 템플릿 카테고리에서 Visual C# 선택
    2. 클래스 라이브러리 (.NET Framework) 선택
    3. 이름에 CustomScheduler 입력
    4. 프로젝트가 만들어질 위치 선택
    5. .NET Framework 4.6.1 선택
    6. 새 Git 리포지토리 만들기 체크 해제 (Git을 사용한다면 선택)
    7. 확인 버튼을 클릭하여 작업 완료
    img.png

     

     

     

    프로젝트를 생성하면 기본 클래스 Class1.cs가 만들어집니다. NGM에서 사용하려면 클래스의 이름이 XxxModel.cs처럼 마지막에 Model로 끝나야 합니다. 그래서 이름을 변경해줘야 합니다. Class1.cs 파일에서 우클릭 후 이름 바꾸기를 선택하세요.

    img.png
     
     

     

    이름을 변경하면 아래와 같은 Alert 창이 표시됩니다. 이 창이 표시되는 이유는 이렇습니다. 이 클래스를 참조했던 모든 클래스에서 변경된 이름으로 수정할지 물어보는 겁니다. 예를 들어서 핸드폰에 홍길동 친구를 저장해놨는데, 홍길동이 개명을 해서 고길동으로 변경했을 때 자신을 등록한 모든 친구들 핸드폰의 이름을 자동으로 변경할지 물어보는겁니다. 지금은 Class1.cs를 참조하는 어떤 클래스도 없기 때문에 예, 아니오 아무거나 해도 상관없습니다.

    img.png

     

     

     

    NGM에서 제공하는 프레임워크를 참조 추가해야 합니다. 그래야~ NGM에서 제공하는 편의 기능들을 사용할 수 있기 때문이죠. 아래 그림처럼 CustomScheduler 프로젝트 밑에 참조에서 우클릭 후 참조 추가를 클릭하세요.

    img.png
     
     

     

    잠시 프레임워크란 무엇인가에 대해 알아보고 넘어가도록 하겠습니다. 프레임워크의 정의는 일반적으로 Gof의 디자인 패턴으로 유명한 랄프 존슨(Ralph Johnson)이 말한 내용을 인용합니다. 프레임워크란... 소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 일련의 협업화된 형태로 클래스를 제공하는 것이라고 했죠.

     

    사실 위의 말이 틀린 건 아니지만, 현업에서 프레임워크는 개발자들을 틀(프레임) 안에 가두고 일(워크)을 시키기 위한 용도로 사용됩니다. 프레임워크를 제공한다는 것은 여러 가지 의미로 제공자 입장에서 장점을 가지게 됩니다. 코드의 품질이 균등해지고(고급 개발자와 초급 개발자의 코드가 비슷해지는...) 표준 개발로 인해 가독성 및 유지보수성이 좋아집니다. 이런 효과들은 바로 비용으로 연결되며 외부 요인으로 인해 발생할 수 있는 위험으로부터 보호받을 수 있죠.

     

    반대로 개발자는 처음 접하는 프레임워크를 학습해야 하는 어려움(?)이 존재합니다. 지금껏 겪어본 프레임워크들은 문서화(Documentation)에 투자하지 않았습니다. 지금도 그렇긴 하죠-_-; 그렇다 보니 개발자들은 어떤 라이브러리들이 존재하고, 편의 기능이 있는지 파악하기보다는 직접 개발해서 사용하는 게 더 빠르고 편리했을 겁니다. 여기서 문제가 발생하는데요. 매주 코드 리뷰를 통해 이런 것들을 계속해서 프레임워크 안으로 흡수시키는 활동(코드 품질 표준화)을 해야 합니다. 하지만~ 연차가 높고 자존심이 쌘~ 개발자(경력직 입사)들은 자신의 코드를 평가한다는 걸 싫어하죠^^; 물론 잘 적응하는 개발자도 많습니다. 하지만, 선임, 주임보다 코드 퀄리티는 높지만 표준은 지키지 않는 게 문제인 거죠.

    img.jpg

     

     

     

    아무튼, 프레임워크를 사용하면 많은 이점이 있습니다. 전자 정부, S사, H사 또는 NGM 프레임워크에 구성원으로 속한다면, 그 안에서 제공받을 수 있는 서비스를 활용해서 또 다른 서비스를 만들 수 있게 됩니다. 그리고 프레임워크를 사용하면 미리 만들어진 라이브러리와 클래스들을 이용해서 쉽고 빠르게 원하는 기능을 개발할 수 있게 됩니다. 편리성, 코드 품질 균일성, 가독성, 유지 보수성 등등의 많은 이점을 얻을 수 있습니다. 어렵죠? 프레임워크는 개발의 마지막 단계라서 그렇습니다. 엔터프라이즈급 프레임워크를 만드는 프로젝트를 한번 경험해보면 정말 멋진 개발자가 될 수 있을 겁니다.

    img.png

     

     

    NGM 프레임워크를 사용하기 위해 라이브러리를 추가합니다.

    1. 찾아보기 클릭
    2. 찾아보기 버튼 클릭
    img.png
     
     

     

    내 문서에 NGM5폴더로 이동합니다. 이 안에 ToolExtension(도구 확장) 폴더로 들어가세요. NGM.dll, NGM.Models.dll, NGM.Models.Interface.dll이 보입니다. CustomAction.dll은 예제로 만든 거라서 추가하면 안 됩니다-_-;

    img.png
     
     

     

    참조에 3개의 dll이 추가된 것을 확인할 수 있습니다. 이렇게 해서 스케줄러 액션을 만들기 위한 모든 준비가 완료되었습니다.

    img.png

     

     

     

    2부에서는 실제 스케줄러를 어떻게 구현해야 하는지 알아보고 테스트해보도록 하겠습니다.

     

    개발자에게 후원하기

    img.jpg

     

     

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

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

    감사합니다~

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

    댓글목록

    등록된 댓글이 없습니다.