2019년 8월 26일 월요일

시찬스멀티클라이언트 웹캠(WEBCAM)사용및 테스트

이번에는 #시찬스멀티서버 의 웹캠서버운영을 위한 샘플프로그램인 #시찬스멀티클라이언트 내의 웹캠기능의 사용법및 테스트를 진행해보도록 하겠습니다.
웹캠기능은 기업입장에서는 현재 보유한 장비로 각종 현장의 모니터링과 이미지프로세싱처리를 위한 용도로 사용 될 수 있고,  개인에게는 보유한 USB카메라나, 노트북용 카메라를 CCTV처럼 활용할 수 있도록 하기위해 설계된 기능입니다.  간단하고도 단순한 기능이지만,  실제로 왜? 이런프로그램이 없었을까? 하는 생각이 드실정도로 생각보다 유용한 기능입니다.   개발자입장에서도 필요한 기능이라 삽입한것이지만, 무엇보다 기존의 장비들을 활용하고, 기존의 구형컴퓨터로도 활용할 수 있다는 장점들을 생각해본다면 꽤나 멋진 아이이디어 일 지도 모릅니다.
물론,  무료로 제공되는건 단지 Windows PC 만 제공된다는점과 웹캠 캡쳐기능이 기본적인 이미지 캠쳐와 전송만 제공한다는 아쉬운점이 있지만..,  추가개발을 위한 소스는 유료로 판매하고,  모바일개발및 기타추가 개발도 개발이 가능하니,   더 많은 기능과 플랫폼을 지원하길 원한다면 개발사에 문의해보시기 바랍니다.

우선, 웹캠기능의 사용을 위해서는 시찬스멀티서버를 [웹캠서버로 사용]을 체크하고 서버를 실행해야 합니다.

시찬스멀티서버 - 웹캠모드로 서버실행화면

시찬스멀티서버가 정상적으로 실행되었다면,  
멀티서버를 이용하기위해  두가지의 프로그램이 필요한데요
#시찬스웹캠컨트롤 과 #시찬스멀티클라이언트 두개의 프로그램입니다.
시찬스웹캠컨트롤도 무료로 다운로드 하실 수 있으며,  이글이 끝나는  맨 하단에  모두 다운로드 받을 수 있는 경로를 링크토록 하겠습니다.

아래는 시찬스웹캠컨트롤을 실행한 화면입니다.

시찬스웹캠컨트롤 첫 실행화면

시찬스웹캠컨트롤은 최대 카메라지원수가 4개이므로 이점 참고하시기 바랍니다.
맨 상단에는 시찬스멀티서버에 접속하기위한 아이피주소와 포트를 입력하고,  접속할 MAC 주소를 입력합니다.
만일,  시찬스멀티서버가 Database 를 사용하고 [로그인사용]이 체크되어 있다면 [사용자관리]에서 해당 MAC 주소를 입력해야  정상적인 로그인이 가능합니다.
저는 테스트를 위해 MAC 주소를 "B6417E7B8991" 으로 입력하여 테스트 할것입니다.
연결정보 입력이 끝났다면 데이터를 전송할 카메라를 선택합니다.
저는 현재 컴퓨터에 두대의 카메라가 설치되어 있습니다.
하나는 노트북에 장착된 Lenovo EasyCamera 이며,  또하나는 Microsoft Life cam 이라는 카메라입니다. 이중 Microsoft Life Cam 을 전송카메라로 사용해보도록 하겠습니다.

시찬스웹캠컨트롤 웹캠 캡쳐화면


해당 카메라의 체크박스를 선택하면 상기와 같이 카메라의 화면을 캡쳐하기 시작합니다.
화질은 Microsoft Life cam은 FHD급 화질을 지원하지만,  서버의 부하를 줄이고, 속도를 위해 640x480으로 맞추었습니다.  자그럼 이제 서버에 접속을 해서 전송을 해볼것입니다.
전송시엔 전송주기를 입력할 수 있는데 기본값은 0.5초입니다. 물론, 실시간급인 0.001초로 맞출 수도 있겠지만, 서버의 부하나 속도를 생각해본다면 0.5 초나, 0.05초가 적당하지 않을까 싶습니다. 물론,  실시간 접속을 원하신다면 시간을 더 앞당기시기 바랍니다.

시찬스웹캠컨트롤 로그인후 전송시작 화면

이제 시찬스멀티클라이언트를 실행하여 웹캠컨트롤에서 보내주는 이미지를 수신하도록 하겠습니다.

시찬스멀티클라이언트 웹캠모드 화면

이상태에서 로그인만 하면 웹캠컨트롤에서 보내주는 화면을 전송받겠지만.. 
주의 하실점은 한컴퓨터에서 테스트하고 계시다면 필히, MAC 주소를 시찬스웹캠컨트롤과 다르게 설정하여 오류를 방지 하시기 바랍니다.

시찬스멀티클라이언트 - 웹캠로그인후 웹캠수신화면

상기의 시찬스멀티클라이언트의 웹캠모드에서 로그인을 하게되면 웹캠컨트롤에서 전송하는 화면을 자동으로
수신합니다.   시찬스웹캠컨트롤은 전송시 전체전송으로 발송하기때문에  시찬스멀티클라이언트 웹캠모드로 로그인하는 모든 사용자는 웹캠컨트롤에서 전송된 캡처화면을 수신할 수 있습니다.
어떤분들은 카메라를 하나만 무조건 전송할 수 있는거냐 물어보실듯 한데요.
그러면 카메라 4대를 지원하는것도 말이 안되겠죠.   다만,   카메라가 두대라면 시찬스웹캠컨트롤을 두번 실행하여 각각의 카메라를 선택해야 합니다.   왜?  한프로그램에서 안보내고 두개의 프로그램으로 실행해야 하는 의문점이 드실텐데요.   이유는  MAC 주소의 중접과 두개의 카메라를 한꺼번에 보낼경우 받는 한 프로세스의 부하때문입니다.   이점을 참고하셔서 카메라당 한개의 시찬스웹캠컨트롤이 필요하며,  로그인시 필히,  각기 다른 MAC 주소로 로그인해야 함을 잊지 마시고 테스트 하시기 바랍니다.

 시찬스멀티서버 다운로드

시찬스멀티클라이언트 다운로드

시찬스웹캠컨트롤 다운로드

2019년 8월 24일 토요일

시찬스멀티클라이언트 클라우드(CLOUD) 사용및 테스트

클라우드(CLOUD) 클라이언트 모드는 별도의 제어기없이 #시찬스멀티서버 를 클라우드 서버로 사용하기 위한것입니다.  시찬스멀티서버를 클라우드서버 실행한상태에서  시찬스멀티서버는 클라우드 클라이언트가 전송하는데이터를 서버의 파일디렉토리를 이용하여 파일을 삭제하거나 대용량파일을 서버에 저장할 수 있습니다.
많은 기능들을 제공하지는 않지만,  중소기업이나 개인용 내부 클라우드로 사용하기엔  충분한 기능들을 갖추고 있습니다.

클라우드 클라이언트 초기화면

클라우드탭을 선택하여 클라우드 클라이언트모드로 들어오면 상기의 화면과 같이 클라우드관련한 컨트롤들이 표시되는데,  클라우드클라이언트는 서버에서 파일을 다운로드 받는경우 [수신파일저장경로]에서 지정된 경로로 파일을 저장합니다.
기본값으로는 프로그램이 설치된 폴더를 기본으로 하고 있지만,  변경하고 싶다면 [수신파일저장경로] 버튼을 눌러 자신이 다운로드할 경로를 선택하세요.
그리고,  로그인을 하기전에  클라우드 클라이언트는 자신의 여러대컴퓨터를 이용하여 클라우드컴퓨터를 이용할 경우 업로드할 파일을 모든 기기에 업로드 하고 싶다면 화면하단에 [업로드시 로그인된 모든기기에 자동전송] 체크박스를 선택하면 로그인된 모든 기기에 업로드 됩니다.

클라우드 클라이언트로 로그인하게 되면  서버는 로그인한 사용자의 MAC 주소를 기본으로 설정된 기본폴더에폴더를 만들고,  그 결과값을 클라이언트에 전송해줍니다.   로그인을 하게 되면 MAC 주소의 루트폴더를 확인할 수 있는데,  아래와같이 자동으로 Documents / Movie / Music / MyFolder / Picture 폴더가 자동으로 생성됩니다.
클라우드 로그인화면

시찬스멀티서버에서는 설정해준 클라우드의 폴더안에는 해당 MAC 주소와 함께 생성된 폴더를 확인할 수 있습니다.

이제부터는 각 파일을 업로드하고,  폴더를 생성할 수 있습니다.
하나씩 테스트 해보도록 하겠습니다.

1. 업로드
업로드는 서버에 파이을 업로드합니다.
업로드할 폴더를 선택하고, 파일을 선택하면 파일을 업로드 할 수 있습니다.
저는 임의로 ActivityLog.xml 파일을 업로드하였는데요.  업로드된 파일은 아래와 같이 해당폴더에 파일로 표시됩니다.
클라우드 파일업로드

2. 다운로드
다운로드는 업로드와 반대로 서버에 있는 파일을 내컴퓨터로 다운로드 하기위해 사용합니다.
다운로드는  앞서말씀드린대로  [수신파일저장경로]에 저장되므로,  다운로드경로를 확인하고, 다운로드 하시기 바랍니다.

클라우드 다운로드

다운로드할 파일을 선택하고 다운로드 버튼을 누륵면 다운로드가 완료되고, 다운로드완료메세지와 함께 다운로드된 경로를 보여줍니다. 참고하실점은  시찬스멀티클라이언트는 샘플용 프로그램이라 일반적인 클라우드 서비스와 같이 동기화 서비스를 제공하지는 않습니다.  따라서,  파일을 다운로드 받아도 관련 폴더가 자동으로 생성되거나,
전체 폴더를 동기화하지는 않습니다.   만일,  전문 클라우드서비스를 만들고 싶다면  소스를 구매하여 별도로
개발하셔도 좋고,  개발사에 직접 의뢰하여 원하시는 개발을 진행하셔도 좋을것입니다.

3. 새폴더
새폴더는  선택한 폴더에 새로운 폴더를 만듭니다.
 클라우드 새폴더 만들기
폴더를 만들고저 하는 폴더를 선택하고 [새폴더]버튼을 클릭하면 새로운 폴더가 만들어지고,  해당 이름을 변경하면 서버에 해당 폴더가 생성됩니다.

클라우드 새폴더 만들기

4. 삭제
삭제는 폴더및 파일 모두 삭제할 수 있습니다.
주의하실점은  시찬스멀티클라이언트는 샘플용 프로그램으로 만일 폴더를 선택하면 폴더내의 서브폴더및 파일
모두를 삭제합니다.   더나은 클라우드 서비스를 구현하고 싶다면 시찬스멀티클라이언트 소스를 구매하시거나,
개발사에 문의하여 추가개발하시면 되겠습니다.  
아래는 새로생성한 NewFolder 를 삭제한 화면입니다.

클라우드 폴더/파일 삭제

5. 새로고침
새로고침은 혹,  데이터송/수신이 실패했거나,  문제가 생겼을경우  서버의 폴더리스트를 재호출하여 서버의 폴더리스트와 내컴퓨터의 화면를 동기화합니다. 

클라우드 새로고침

이로써  시찬스멀티클라이언트의 클라우드(CLOUD)클라이언트 모드의 사용및 테스트를 리뷰해보았는데요. 대용량의 데이터도 손쉽게 전송할 수 있을뿐아니라,  시중에 판매하는 NAS의 사용인경우에도 내부인터넷에서 사용시 속도가 느린면도 있는데,  왠만한 NAS 보다 속도가 빠르다는걸 체감하면 생각보다  생각보다 강력한 "시찬스멀티서버" 의 위력을 느끼게 될것입니다.

시찬스멀티클라이언트가 샘플용 프로그램이라 각종 기능들이 완벽히 제공되지 않는점은 아쉽지만,  소스를 별도로 구매하여 추가개발이 가능하다고 하니,  참고하시면 좋겠습니다.


시찬스멀티클라이언트 다운로드및 개발의뢰


시찬스멀티클라이언트 단말기(UNIT) / 제어기(CONTROLLER) 사용및 테스트

시찬스멀티서버의 컨트롤서버의 사용을 위한 클라이언트모드는 제어기(CONTROLLER) / 단말기(UNIT) 두개가 모두 로그인해야 합니다.   그러기위해선 당연히 시찬스멀티클라이언트를 두개를 띄워서 각각 제어기 클라이언트 모드와 단말기 클라이언트 모드로 아래와 같이 실행해야 합니다.

[왼쪽=단말기(UNIT),  오른쪽=제어기(CONTROLLER)]

왼쪽이 단말기로 실행한 시찬스멀티클라이언트 , 오르쪽은 제어기로 실행한 시찬스멀티클라이언트두개를 모두 실행한 상태에서  [연결설정] 버튼을 눌러 연결설정화면에서
접속IP 와 PORT 그리고, 각각 다른 MAC주소를 입력합니다.
저는 현재 컴퓨터 한대에서 172.30.1.21 로 접속해서 포트는 기본포트값인 10003을 사용하고
제어기의 MAC주소는  B6417E7B8991 을 사용하고,  단말기의 MAC주소는  B6417E7B8991 번을 사용할 것입니다.  
주의 하실점은..
시찬스멀티클라이언트는 같은클라이언트는 한컴퓨터에 한대를 실행하도록 설계되었습니다.
따라서, 여러개의 단말기, 제어기를 테스트하려면 컴퓨터의 대수는 최소한 2대이상이 있어야 합니다.
물론, 필자처럼 단순히 단말기 하나,  제어기 하나를 테스트하고저 한다면 굳이 2대이상의 컴퓨터는 필요치 않겠습니다.

[단말기 연결설정]
[제어기 연결설정]

연결설정이 끝났다면..
다음으로  당연히 #시찬스멀티서버는  아래와같이 컨트롤서버모드로 서버를 실행합니다.
만일, 데이터베이스를 사용한다면  [사용자관리] 버튼을 눌러  아까 등록했던 MAC 주소를 입력해주어야 정상적인 로그인이 가능합니다.

[시찬스멀티서버 컨트롤서버 모드로 실행]

이제 테스트환경이 모두 갖추어졌으므로,  각 기능들의 설명과 함께 하나씩 테스트 해보도록 하겠습니다.

1. 연결(로그인)
단순히 데이터를 송신만 한다면 실제로 연결버튼은 필요하지 않습니다.
특히, 제어기의 일방적인 데이터전송이라면 데이터전송버튼을 누를때 소켓을 열고,  해당 데이터를 전송하고 연결을 닫아주면 되기때문입니다만,  시찬스멀티클라이언트는 채팅기능을 통해 양방향데이터 송/수신을 해야하므로,
제어기든 단말기든 모두 [연결(로그인)] 버튼을 이용해 로그인합니다.

[단말기로 로그인 결과 화면,   왼쪽=시찬스멀티클라이언트, 오른쪽=시찬스멀티서버]
[제어기로 로그인 결과 화면, 왼쪽=시찬스멀티클라이언트,  오르쪽=시찬스멀티서버]

2. 채팅
정상적으로 단말기/제어기가 로그인을 했다면 이제부터 데이터 / 송수신이 가능한상태이므로,
채팅기능의 사용이 가능합니다.
테스트를 위해 제어기에서 "데이터송신" 이라는 문자열을 전송해봅니다.

[제어기 문자열 송신]

상기화면에서 채팅란에 "데이터송신"이라는  문자열을 입력하고  [전송]버튼을 누르면 데이터는 대상MAC주소에 입력한 MAC 주소로 데이터를 송신합니다.   만일,  [접속된 단말기에 전체발송(NOACK)]  체크박스가 체크되어 있다면 대상MAC 주소뿐아니라 접속된 모든 단말기에 해당문자열을 모두 전송합니다.

전송된 문자열은 아래 단말기 화면처럼 수신된데이터를 표시하고,  보내준 MAC 주소를 자동으로 [대상MAC주소] 란에 표시하여 줍니다.

[단말기 문자열 수신]

수신된 MAC 주소를 이용해 역으로 단말기에서도 해당 데이터를 송신할 수도 있습니다.
즉,  채팅기능을 이용하면 단말기와 컨트롤간의 데이터통신이 양방향으로 이루어질 수 있음을 확인할 수 있습니다.

시찬스멀티클라이언트에서 [채팅]이라는 기능명을 사용했지만, 앞서 이전장에서설명한대로  이 채팅은 우리가 알고 있는 채팅의 기능보다는  제어기와 단말기간의 양방향 데이터통신이 가능함을 보여주는 샘플용임을 참고하시기 바랍니다. 물론,  기능개선을 통해 일반 채팅방처럼 많은 기능들을 포함할 수도 있겠죠?

3. XML 송/수신
데이터베이스를 단말기에 전송해야 하는경우 XML 을 사용하여 전송 할 수 있습니다.
XML은 파일로 전송할 수도 있겠지만,  XML 내용자체를 전송하고저 한다면 XML 송/수신을 이용하면 편리하게 송/수신이 가능합니다.

제어기 XML전송화면

단말기 XML수신화면


4.파일 송/수신
단말기의 데이터를 업데이트하거나,  파일을 전송해야 할 경우를 데이터를 어떻게 전송하는지를 보여줍니다.
제어기에서 파일을 전송하고 전송된 파일은 단말기가 수신하며,  이때 [수신한 EXE,BAT 파일실행] 체크박스에 체크가되어 있으면 해당 파일을 자동으로 실행하는 기능도 있습니다.  참고 하시면 좋을듯 합니다.

제어기 파일전송화면

로그인된 제어기 화면에서 전송할 파일을 선택하고,  [전송]버튼을 클릭하면 MAC 주소란에 입력한 단말기로 파일이 전송됩니다.   정상적으로 파일이 전송되었다면, 메세지창에 [전송완료]SEND_FILE 이라고 나올것입니다.

단말기 파일수신화면

제어기가 정상적으로 송신을 완료했다면 당연히 단말기에도 상기처럼 메세지창에 수신된 파일의 용량을 보여주고, 기본으로 정해져놓은 수신파일의 저장폴더로  파일이 수신되어 저장될것입니다. 이모든 처리가 이루어지면 받은파일리스트에 받은파일의 풀경로가 표시됩니다.
 혹 받은파일을 곧바로 실행하고 싶다면 해당 파일을 선택하고 "더블클릭"을 하면 해당 경로로 찾아가지 않아도 곧바로 해당 파일을 실행시킬 수 있습니다.  만일,  수신한 파일이 EXE, BAT 파일이라면 자동으로 실행 체크박스를 선택해 자동으로 실행될 수 있도록도 선택할 수 있습니다.

만일, 정상적인 수신이 이루어지지 않았다면 단말기로 접속했는지 로그인한 MAC주소는 정확한지 확인해보시기 바랍니다.

5. 명령코드 송 / 수신
명령코드는 제어기에서 단말기에게 특정한 명령을 처리하도록 하기위한 코드를 전송하는 기능입니다. 가령,  AGV와 같은 구동로봇이 단말기라면 단말기에게  "왼쪽으로 30만큼 이동해 "  라는 명령을 내리려면 기본적으로 AGV 가 동작해야 하는 기본코드 "좌", "우",  "전", "후" 와 같은 기본 코드가 있어야 합니다.
이 역활을 바로 명령코드가 처리합니다.  여기서는 테스트를 해보지는 않겠지만,  실제로 "왼쪽" 이라는 코드가 0001 로 정의되고,  "30"이라는 데이터를 앞서 테스트한 XML 로  "30"이라는 데이터를 전송했다면 , AGV가 해당데이터로 좌로 30만큼 이동할 수 있을것입니다.

간략히 AGV로 설명드린이유는 실제로 명령코드의 사용은 AGV나 로봇을 제어하기위한 가장 기본적인 코드 송/수신이기 하므로, 이점에 대해서 설명드렸습니다만,   시찬스멀티클라이언트는  PC에서도 이 코드를 어떻게 사용할 수 있는지를 테스트하도록 그기능을 제공합니다.

단말기화면에서 상단의 메뉴스트립 [명령(COMMAND)명령 설정] 버튼을 눌러 해당 이미설정되어 있는 코드들을 설정할 수 있습니다.   각 코드에 대한 설정은 설명과 함께 제공되어 기본설정으로 어렵지 않게 테스트해볼 수 있을것입니다.

단말기 명령(COMMAND)코드 설정



제어기명령 전송

일단저는 명령을 테스트하기위해  단말기에서 설정한 COMMAND_NULL [30000] 코드에
프로그램실행 명령인 [PROGRAM_EXECUTE]로 세팅하였으므로,  해당 COMMAND_NULL 로 제어기에서 전송하였습니다.  이때 스크립트를 Windows의 내부명령어인 notepad.exe 를 전송하여 윈도우즈의 노트패드를 실행하도록 하였습니다.

단말기 명령수신결과

명령코드가 정상적으로 수신되었다면 코드수신리스트에 수신된 코드가 표시되고,
명령코드설정에서 저장한 프로그램실행으로 notepad.exe 가 실행된 모습을 확인할 수 있습니다.

이렇게 시찬스멀티클라이언트의  단말기(UNIT) / 제어기(CONTROLLER)의 사용법과 테스트 과정을 살펴보았습니다.  화면은 복잡해보이지만,  실제로 사용하는것은 생각보다 단순하다는것을 충분히 느꼈으리라 생각됩니다. 

다음장에서는  #클라우드 클라이언트의 사용법을 배워보고 테스트를 진행해보도록 하겠습니다.


시찬스멀티서버 다운로드

시찬스멀티클라이언트 다운로드

2019년 8월 22일 목요일

시찬스멀티서버 샘플용 프로그램 시찬스멀티클라이언트


#시찬스멀터클라이언트는 #시찬스멀티서버를 사용하기위한 샘플용 프로그램입니다.
하지만, 샘플용 프로그램이라고 하기엔 갖출건 다 갖춘 말그대로 멀티클라이언트입니다.
#시찬스멀티클라이언트 프로그램 하나만 설치하면 시찬스멀티서버의 세가지유형의 서버타입을 모두 테스트하고 사용할 수 있습니다. 이말은 시찬스멀티클라이언트 소스만 있다면 #시찬스멀티서버의 송/수신과 데이터처리에 관련된 개발및 업그레이드등이 가능해진다는 뜻입니다.
그래서, 시찬스멀티클라이언트 프로그램을 사용하는것은 무료이지만, 별도로 소스를 판매하고 있으니,
컨트롤서버를 구현하시거나, 개발이 필요하신분들 참고하시면 되겠습니다.
그럼..찬찬히 기능들을 하나씩 훓어나가도록 하겠습니다.


[시찬스멀티클라이언트 첫 실행화면]

시찬스멀티클라이언트를 실행하면 복잡한 화면들이 정신없이 나열되어 있는데요.
디자인도 화면구성도 구리네요. 하지만, 하나씩 훓어보면 꼭 필요한 기능들을 꼼꼼히 끼워놓았다는걸 눈치채실겁니다.
먼저, 멀티클라이언트이므로 이 클라이언트를 어떤 클라이언트로 사용할것인지를 선택해야 합니다.  선택하는방법은 상단의 스트립메뉴에서 선택하는 방법이 있고, 각 탭을 선택하는 방법이 있는데, 어떤 방법을 선택해도 상관없습니다.
각 클라이언트에 대한 설명은 아래와 같습니다.

- 단말기 (UNIT)
단말기는 주로 데이터를 최종적으로 수신하는 클라이언트입니다.
이 단말기에 데이터를 보내는것은 제어기(CONTROLLER)인데, 단말기는 로그인을 하고
수신 대기상태에서 제어기의 데이터가 수신되면 해당 데이터를 처리하는 역활을 합니다.
그래서 단말기는 항상 서버에 접속되어 있는 상태를 유지하여야 하는데, 이를 유지하기위해
[세션유지] 체크박스를 선택하면 Heartbit 을 일정한 시간마다 서버로 전송하여 접속상태를 유지할 수 있습니다. 따라서, 제어기는 접속되어 있는 모든 단말기에 내가 원하는 데이터를 마음껏 송신 할 수 있습니다.
물론, 이 샘플프로그램에서는 단말기에서 제어기로 데이터를 보낼 수도 있습니다. 이기능을 보여주기위해
채팅기능을 제공합니다. 채팅기능이라고는 하지만, 실제로 데이터의 송수신을 감안해서 고안되었을뿐 일반 채팅기능을 완벽하게 수행하는것은 아닙니다.

-제어기(CONTROLLER)
제어기는 단말기를 제어하는 제어컨트롤 클라이언트입니다.
제어기로 시찬스멀티서버에 접속을 하면 접속되어 있는 모든 단말기에 원하는 데이터를 송신 할 수 있습니다.
특정 단말기에 데이터를 보내고 싶다면 MAC Address를 이용해 특정 단말기에 전송할 수 있고,
모든 단말기에 일괄적으로 데이터를 보내고 싶다면 NOACK 로 모든 단말기에 데이터를 전송 할 수도 있습니다.
따라서, 제어기의 화면구성은 단말기와 거의 흡사하면 단지, 데이터를 보내기 위한 기능이 추가되어 있을뿐입니다.

-클라우드(CLOUD)
클라우드는 시찬스멀티서버에 파일관련요청을 할 수 있는 클라이언트입니다.
샘플프로그램에서 제공된 [업로드] [다운로드] [새폴더][삭제] 등을 통해 원격으로 대용량의 파일을
원격으로 제어할 수 있습니다.

-웹캠(WEBCAM)
웹캠 클라이언트는 카메라가 있는 서버에서 보내주는 캡쳐이미지를 수신하여 화면에 표시하는 기능을 가진
클라이언트입니다. 샘플프로그램에서는 최대 4개의 카메라를 수신 할 수있도록만 만들어져 있습니다.
이 웹캠클라이언트를 테스트하고 확인하기 위해서는 이미지를 캡쳐해서 전송하는 별도의 카메라서버가
필요한데, 이 웹캠서버프로그램도 샘플용 프로그램으로 무료로 제공되므로, 웹캠 클라이언트를 사용하 실분은
아래 다운로드로 가셔서 다운로드 받으시기 바랍니다.

시찬스웹캠컨트롤 다운로드

자 이제 어떤 클라이언트를 사용할지 정했다면
해당 클라이언트를 선택하고 시찬스멀티서버에 접속을 해야 하는데,..
당연히 시찬스멀티서버가 설치된 IP 주소와 PORT 설정이 당연히 필요하겠죠?
스트립메뉴에 [연결설정] 버튼을 눌러 아래와 같이 해당 설정을 처리할 수 있습니다.

[연결설정화면]

이때 MAC Address를 지정하는부분은 기본적으로 현재 컴퓨터(단말기)의 MAC주소가 자동으로 입력되지만, 이 프로그램은 샘플프로그램이므로, MAC 주소를 임의로 수정할 수는 있습니다만, MAC 주소에 대해서는 유효성검사를 따로 하지 않으므로, 16진수 12자리를 지켜서 입력하셔야겠습니다.
이제 시찬스멀티서버로 접속할 준비가 다 되었으므로, 각 클라이언트에 대한 사용설명과 함께 실제 데이터를 주고 받아 보는 테스트도 함께 진행해 보겠습니다.
각 클라이언트마다 설명할것이 많으므로, 각 클라이언트별로 각각 나누어서 사용법을 알아보겠습니다.




중소기업/개인용 멀티서버 시찬스멀티서버

요번에 리뷰할 프로그램은 시찬스멀티서버입니다.
시찬스멀티서버는 조금 독특한 프로그램입니다.
이제껏 FTP 서버나 P2P관련 서버들은 많이 있었지만..  시찬스멀티서버는 이서버들과
같은듯 다른 서버기능들을 가지고 있습니다.

근래 로봇관련한 개발자들이 많은데요.
개인적으로 로봇을 개발하고 있거나,  중소기업들의 AGV 및 단말기개발에 필요한
서버를 제공한다는점에서 매우 독특한 서버입니다.
그동안 로봇및 AGV같은 생산설비, 단말기제어등에는 별도개발건을 통해 개발되어와야
했다면 시찬스멀티서버는 이를 표준화하여 누구나 클라이언트만 만들면 그동안 고비용의
서버개발비를 줄일 수 있도록 한것이 특징입니다.

뿐만 아니라,  시찬스멀티서버는 이름에서도 알수 있듯이 단순히 단말기를 제어하는 서버뿐
아니라 클라우드,  웹캠과같은 개인유저나 매달 고비용을 지불해야 하는 클라우드 서비스도
기존의 중고서버나 PC를 이용해 저렴한 비용으로 서비스할 수있도록 제공해준다는점에서도
매우 독특한 프로그램입니다.

개발자의 노하우가 충분히 스며든 프로그램이라는점은 실제로 이 프로그램을 이용해본다면
충분히 공감 할 것입니다.
Windows IOCP 를 기반으로 한 서버구동방식에 의해 사양이 낮은 컴퓨터에서도 최상의 접속성능을 나타내며, 이프로그램이 정말 무료인가 싶을정도의 성능은 다소 의구심을 가질정도 일것입니다.   물론,  클라이언트관련해서 별도의 개발이 필요하고, 기업용으로는 별도의 사용료가 부과되고, 그에따른 개발및 샘플프로그램의 소스는 유료라 치더라도,  기업입장에서는 별도의 서버를 구축하는것에 비해 1/10 도 안되는 개발금액을 절감하고도 남음을 감안한다면 꽤 매력적인 프로그램일것입니다.    게다가 개인이 이용한다면 무료인점은 더이상 말할 부가설명이 필요 없을듯 하네요.
게다가 한개의 서버프로그램으로 세가지유형의 서버를 구현할 수 있으니 일석삼조의 서버라고 할 수 있겠습니다.

그럼 사용법을 하나씩 훓어보면서 제공되는 기능들을 리뷰해보도록 하겠습니다.

[시찬스멀티서버 실행화면]
[DATABASE 설정]
시찬스멀티서버를 제일 처음 실행하면 상기의 화면이 뜨는데요.
시찬스멀티서버는 ODBC Database 를 지원합니다.
그래서,  처음 프로그램을 실행할때 ODBC 를 자동으로 생성해주고,  생성된 ODBC를 통해
기본 Access Database 인 MDB를 생성하여 Database를 사용할 수 있게 해줍니다.
그래서, 시찬스멀티서버는 필히, 관리자권한으로 실행해야만 정상적으로 데이터베이스를 사용할 수 있습니다.

만일,  관리자권한이 없거나,  사용자의 컴퓨터에따라 ODBC 생성에 실패했다면 사용자가 직접 서버나 자신의 컴퓨터에 ODBC로 데이터베이스를 연결한후,  [ODBC설정]버튼을 눌러 해당 ODBC와 연결해주어야만 DATABSE 를 사용할 수있습니다. 

ODBC 연결을 사용하므로해서,  시찬스멀티서버는 ORACEL, MS-SQL, ACCESS MDB등 모든 데이터베이스를 사용할 수있도록 지원합니다. 
DATABASE를 사용할 수있다면 시찬스멀티서버는 [로그인관리] , [로그저장] 기능을 활성화
하여 데이터의 송수신을 실시간으로 DATABASE로 확인 할 수 있습니다. 


[ODBC 설정화면]

처음 시찬스멀티서버를 실행하고, 정상적으로 ODBC 가 자동생성되었다면 [ODBC설정]을 열면 상기처럼 자동으로 모든값들이 자동으로 생성되어 있는것을 확인 할 수 있습니다. 
만일,  위의값들이 없다면  사용자가 직접 ODBC를 등록하고 각 테이블값들을 입력하여 로그인테이블을 비릇한 로그테이블을 직접 생성해주어야 합니다. 
물론,  DATABASE가 자동으로 생성되었다 하더라도 사용자가 MS-SQL 이나 ORACLE 같은
대용량 서버나 다른 DATABASE를 사용하고저 한다면 역시 마찬가지로 직접 ODBC를 만들고
연결시켜주어야 합니다.

[서버 IP 와 PORT]
왼쪽 상단에 현재 서버(PC)의 활당된 IP 주소와 기본 PORT값인 10003 이 표시됩니다.
IP주소는 현재컴퓨터의 IP를 표시해주며  자신의 서버로 서비스할  PORT 번호를 입력합니다.
만일 서버가 정상적으로 동작하지 않는다면 자신의 PORT 주소나 방화벽에 해당 PORT가 막혀있는지 확인하고,  다른PORT를 설정하거나 해당 PORT를 열어주셔야 합니다.

[서버구동방식]
앞서 알려드린대로  시찬스멀티서버는 3가지 방식의 서버구동방식을 지원하는데요.
아래 각 구동방식에 따라 자신의 서버에 어떤서비스를 할것인지를 선택하시면 되겠습니다.


1. 컨트롤서버 
    컨트롤서버는 여러대의 단말기를 컨트롤러가 제어하는 형태의 구조서버입니다.
    시찬스멀티서버의 핵심기능이라고 할 수 있는 이 구동방식은 로봇이나 AGV 같은
    생산관련 설비들을 제어하고 관리하는데 사용되는 서버입니다.
    물론,  생산설비뿐 아니라 주식단말기, 택배단말기등과 같이 다자간 데이터를 송수신하는
    서비스로 그 활용도는 무궁무진합니다.   개인이든 기업이든 서버는 시찬스멀티서버를 사용
    하고,  그에 맞는 자신의 단말기나 컨트롤러만 개발하면 어떤형태의 서비스도 손쉽게
    저비용 구축이 가능한 서버입니다.
    이 기능을 테스트할 수 있도록 [시찬스멀티클라이언트]라는 샘플용 프로그램도 무료로
    제공하고 있으니,  해당 프로그램을 다운로드 받아 서버와 실제로 어떻게 운용되는지
    직접 확인해 볼 수 있습니다.

 
[시찬스멀티서버 - 컨트롤서버서비스 개념도]


2. 클라우드서버 
    클라우드서버는 중소기업이나 , 개인사용자가 내부인터넷을 통해 대용량의
    NAS 서비스를 자체적으로 저렴한 비용으로 운영할 수 있도록 설계된 서버구동방식입니다.
    기본적인 폴더와 파일관리를 서버에 요청하고 명령할 수있도록 설계되어 있어서,
    사용자는 기존의 중고서버나 PC 를 이용해 고성능의 클라우드 서비스를 저렴한 비용으로
    구축 할 수있습니다.  물론,  무료샘플용 프로그램인 [시찬스멀티클라이언트]만
    이용한다면 무룔료로 서비스를 구축하고 이용할 수 있습니다.

[시찬스멀티서버 - 클라우드서버 개념도]




3. 웹캠서버
    웹캠서버는 기업에서는 현장캡쳐및 모니터링을 비롯해 이미징프로세싱을 통한 검수작업이
    가능하도록 설계되었으며,   개인은 이 웹캠기능을 통해 기존의 USB 카메라나,  노트북용
    카메라를 이용해 CCTV 로 활용할 수 있는 서버기능입니다.
    이기능을 테스트하고 서비스하려면, 타 서버기능과 같이 [시찬스멀티클라이언트]와
    추가로 무료로 다운로드가능한 [시찬스웹캠컨트롤]을 다운로드 하여 서비스를 이용할 수
    있습니다.

[시찬스멀티서버 - 웹캠서버기능 개념도]

[로그인DB저장]
만약 ODBC 설정이 완료되어 ODBC 설정란에 "ODBC [SichansMultiServer] 사용" 과 같은 메세지가 파란색으로 표시된다면 이 기능이 사용가능한 상태로 활성화 됩니다.
물론, 원하지 않는다면 [로그인 사용안함]으로 설정할 수도 있겠죠.
만일,  [로그인 사용]으로 설정했다면  시찬스멀티서버로 접근하는 사용자를 허용/차단 할 수도 있습니다.  사용자는 MAC 주소를 이용해 접속하고,  서버는 접속할 MAC 주소를 입력하여
로그인을 허용토록 합니다.  허용된 MAC 주소는 DB에 접속된 사용자로 등록되고,  로그아웃(연결해제)가 되면 자동으로 삭제됩니다.
관련한 내용을 확인하려면 [로그인현황] , [사용자관리] 버튼을 눌러 관리할 수 있습니다.
또한,  허용된 사용자가 송신하는 모든 데이터는  다음에 설명할 [전송로그]에 저장됩니다.
주의해야 할점은 시찬스멀티서버는 보안을 위해 이 기능을 제공하지 않습니다. 
단지,  단말기의 접속상태를 유지하고 유지된 단말기나 컨트롤러에게 데이터를 송수신하기위한 장치이므로,  보안이 필요한 사용자라면 별도의 추가개발을 의뢰하거나,  자체 방화벽이나 
네트웍보안솔루션을 통해 보안을 유지하여야 합니다. 

[송수신 로그관리 사용]
로그인 DB저장과 마찬가지로 ODBC 설정이 정상적으로 세팅되었다면 이기능이 활성화됩니다.  송수신 로그는 말그대로 데이터의 송수신데이터를 모두 저장하여 데이터의 송수신상태를
확인하는 기능입니다.
시찬스멀티서버가 기본으로 제공하는 MDB는 데이터의 허용치가 높지 않으므로,  송수신로그기능을 사용한다면 주기적으로 데이터를 삭제해주어야 합니다.
대용량 DATABASE를 사용하는곳이라면 ODBC 설정후 INDEXING 과 같이 데이터베이스의 기본튜닝을 유지하는것이 좋습니다.  (시찬스멀티서버는 아쉽게도 기본적인 DTABASE 저장기능외엔 제공하지않습니다.)

[서버실행 / 중지]
ODBC 설정과 각 DATABASE 를 설정하고, 서버구동방식을 선택하고 [서버실행] 버튼을
클릭하면 서버의 상태를 점검하고 그에 해당하는 메세지를 출력하여 줍니다.
정상적인 설정이라면 아래의 실행화면과 같이 뜨고,  이제 상기IP 주소와 PORT주소를 이용해
접속하는 클라이언트를 받고 서비스할 준비가 끝난것입니다.

[서버가 실행된 화면]

만일, 상기의 메세지와 다르게 ODBC 메세지가 이상하거나, 오류가 발생한다면,
"관리자권한"으로 프로그램을 실행했는지 혹은 ODBC 설정에 문제가 없는지 체크하고,
[로그인사용안함] , [로그사용안함]으로 설정하여 진행해보시기 바랍니다.

시찬스멀티서버의 정상적인 동작을 테스트하기위해선 [시찬스멀티클라이언트]와
[시찬스웹캠컨트롤]의 다운로드는 필수입니다.  각 프로그램은 아래의 URL 로 다운로드
받으시기 바랍니다.

시찬스멀티클라이언트 다운로드

시찬스웹캠컨트롤 다운로드


앞으로 [시찬스멀티서버]의 성능리뷰도 한번씩 진행해 볼 것입니다.
혹 궁금하신점이나,  원하는 리뷰가 있다면 댓글로 알려주세요.




2019년 8월 21일 수요일

블루오션 배포프로그램 시찬스인스톨마법사

블루오션?
프로그램 개발자들에겐 블루오션일듯 한데요~
실제로 배포용프로그램은 넘쳐나고 넘쳐나서, 사실 포화상태일듯 합니다.
일전에 인스톨팩토리라는 아주 간단하고 매력적인 배포프로그램을 쓴적이 있는데요.
아주 간단한 프로그램을 패키징해주는 프로그램이라 매우 만족했더랬습니다.
하지만,  간단한 프로그램이다 보니 이프로그램은 Windows가 아닌 프로그램을
패키징하기엔 간단하니 좋았지만..
종속파일(Dependency file)을 포함해주는 기능이 없다보니 실제로 Windows Installer 를
사용하는게 더 효율적이긴 했습니다.

무료용 배포프로그램으로서는 간단한무료프로그램인 인스톨팩토리를 대체하고,
Windows Installer 가 오로지 Visual Studio 를 위한 패키징 프로그램이라는 두가지 프로그램
기본 장점들을 합친것이 시찬스인스톨마법사(SichansInstallWizard)입니다.

물론,  시찬스인스톨마법사가 인스톨쉴드와같은 유료패키징 프로그램과는 비교하기는
힘들지만,  그래도 나름 꽤 매력적인 기능이 숨어 있으므로,  사용법과 함께 중요리뷰를
함께 해보겠습니다.

프로그램 다운로드는 아래에서 다운로드 할 수 있으므로,  관심있으신분들은 먼저, 다운로드
하시기 바랍니다.

시찬스인스톨마법사 다운로드

이프로그램은 아이콘이나 기타 버그면에서는 완성도 있는 프로그램은 아닌듯 합니다만,
실제로 배포용으로 만드는것도 좋지만..  자신의 프로그램(exe, dll)이 어떤 종속파일을 가지는지 확인해보는 용도로 사용해도 괜찮지 않을까 하는 생각도 듭니다.

[시찬스인스톨마법사 첫 실행화면]
프로그램설치가 끝났다면 상기의 첫화면이 나타나는데요.
각 항목별로 사용법을 알아보겠습니다.


1단계 패키징할 파일선택

*프로젝트명 (설치파일명)
  인스톨마법사를 실행할명을 입력하는란입니다.
  여기에 입력한이름이  실제로 배포할 Setup 프로그램의 명이됩니다.

*프로젝트저장폴더 
  프로젝트를 저장할 폴더를 선택하는 란입니다.
  인스톨마법사를 실행하기위해서 꽤 많은 파일들이 자동으로 생성되고,
  앞으로 패키징징할 파일들을 가져와서 복사할 폴더입니다.
  "프로젝트 폴더만들기" 체크박스가 체크되어 있으면  입력한 프로젝트명으로 폴더를
  선택한 폴더내에 자동으로 폴더를 만들어줍니다.

*폴더로 파일추가 
  패키징할 파일이 너무 많아 일일이 파일추가가 힘들다면 폴더별로 파일을 추가해주는
  버튼입니다.  원하는 폴더를 선택하면 해당폴더내에 있는 모든 폴더를 가져와서 리스트에
  추가해줍니다.

*파일추가 
  패키징할 파일이 한개이거나 각 폴더에 흩어져있다면 해당 "파일추가"를 선택하여 파일을
  리스트에 추가 할 수 있습니다.

[패키징할 파일들을 선택한 1단계화면]

임의로 제가 패키징하고픈 파일들을 선택하여 관련한 모든 파일을 추가해봤는데요.
파일을 선택한후 빼고 싶은 파일이 있으면 "파일추가" 와 "파일삭제"를  통해
처리할 수있습니다.


2단계 설치프로그램 종속성파일 추가 / 삭제

[2단계 설치프로그램 종속성 마법사]

다음단계 버튼을 클릭하면 내가 추가한 패키징파일들의 전체 리스트를 확인하여
각 파일들의 종속된 파일들을 모두 불러옵니다.
이때 만일, 중복된 파일이 있다면 덮어쓰겠냐고 물어보는데,  덮어쓰고 싶지 않다면
"아니요" 를 선택하고, "취소" 버튼을 누르면 모든 파일을 덮어쓰지 않습니다.
자동으로 추가된 파일이라고 해도 패키징에 제외하고 싶은 파일이 있다면 "파일제거"
버튼을 눌러 해당파일을 제거할 수도 있고,  "파일추가" 버튼으로 새로이 추가할 수도 있습니다.  "종속파일 새로가져오기"를 선택하면 "종속파일 가져오기 마법사를 새로 시작합니다."

3단계 대상컴퓨터파일시스템 만들기

[3단계 대상컴퓨터파일시스템 만들기]

여기서부터는 Windows Installer 와 아주 흡사한 인터페이스를 제공하는데요.
한번이라도 Windows Installer를 써보신분이라면 아주손쉽게 이용하실 수 있을것입니다.
Application 폴더는 실제 프로그램이 설치될 폴더이며, 그외 System Folder 는 System32 혹은 System 폴더로 각 대상시스템에 따라 저장될 시스템폴더입니다.
User's Desktop 은 Windows 의 배경화면을 말하는것이며, User's Program Menu 는
Windows 의 시작메뉴를 뜻합니다.  저는 User's Program Menu에 "SichansMultiServer" 라는
폴더를 추가하고, 그안에 "SichansMultiServer.exe" 파일의 단축아이콘을 만들어 폴더안에
삽입하였습니다.
Windows Installer를 사용하면서 불편한것이 단축아이콘문제인데...
전 항상 이보다 향상된 인터페이스가 없을까 고민해왔는데.. 아무리 고민해봐도
마땅한 인터페이스가 생각나지 않는건 사실이네요.  혹, 좋은의견이 있으신분이 있다면
댓글로 남겨주심 감사하겠습니다.

4단계 대상컴퓨터 레지스트리편집

[4단계 레지스트리편집]

Windows Installer 인터페이스를 보고 베낀건 부정할 수 없네요.
레지스트리 편집기도 아주 꼭 같은 인터페이스를 제공하니까요.
하지만, 인터페이스만 같을뿐  사실 Windows Installer 보다 취약합니다. 레지스트리를
편집하기위해선 윈도우즈를 실행할때 관리자 권한이 필요합니다. ACL 권한을 획득해야
하는데, 아쉽게도 시찬스인스톨마법사는 해당기능을 제공하지 않습니다.
따라서 시찬스인스톨마법사를 실행하고, 패키징된 설치프로그램은 항상 "관리자권한"으로
실행시켜야 합니다. 특히나, LOCAL MACHINE 클래스에 레지스트리를 삽입해야 한다면
더욱 그럴것입니다.

5단계 설치프로그램 UI 디자인


[5단계 설치프로그램 UI 디자인]


이제 마지막단계인 대화상자편집화면입니다.
이화면도 Windows Installer 와 비슷한듯 하지만,   Windows Installer 에서는
컨트롤을 추가하거나,  기본 대화상자이외의 대화상자를 추가하려면,
Install Class를 추가하여 일일이 코딩을 통해 수없는 컴파일과 설치테스트를
통해 결과를 확인해야 하지만,  시찬스인스톨 마법사는 가장 기본적인 대화상자와
기본 라벨, 텍스트박스, 라디오버튼, 체크박스등은 손쉽게 미리보기(WYSIWYG) 기능으로
디자인할 수있는 장점이 있습니다.   사실 이 기능만으로도 다른 배포프로그램보다
이 프로그램을 써야 하는 이유를 설명해주기도 합니다.

[5단계 설치프로그램UI디자인 - 사용자저정의 대화상자 추가]

이렇게 원하는 디자인까지 마무리했다면 [빌드] 버튼을 눌러 빌듷드하면 [설치]
버튼이 활성화되고,  우리가 설치한 파일들이 자동으로 1단계에서 설정한 프로젝트명으로
설치파일로 만들어줍니다. 만들어진 파일은 1단계엣에서 지정한 [프로젝트폴더]내의
"SETUP" 이라는 폴더에 생성된것을 확인 할 수 있으므로, 해당 파일을 배포하면 되겠습니다.

마무리하며..
시찬스인스톨 마법사의 사용법을 살짝리뷰해보았습니다.
시찬스인스톨 마법사는 실제로 배포시 발생하는 각종 오류들에 대응하기위한 툴로
개발되었습니다.  그러다보니 배포기능까지 갖추게된 다소 급조된듯한 프로그램의 성향이
있지만,  실제로 스스로 개발한 프로그램 배포가 아닌 기존의 프로그램을 배포하는데 있어서
도 매우 유용하게 사용할 수 있습니다.   물론, 개발자 입장에서는 단순히 오류가 나는 파일들의  종속성을 확인하는는것만으로도 큰 도움이 될것입니다.
물론, Dependency 를 확인해주는 프로그램이 있지만  관련dll 의 모든 dependency 파일을 확인하기보단  내가 배포한 파일중에 빠진 파일이 무엇인지만 확인하고 싶다면 시찬스인스톨마법사로 확인하는것이 딱일것입니다.





2019년 8월 20일 화요일

데스크탑메모 프로그램 시찬스스티커메모

시찬스스티커메모 (SichansStickerMemo)  리뷰

수많은 메모프로그램들이 요즘 난무하는 요즘에 간단하면서도 강력한 메모용 프로그램을
소개합니다.
기본적으로 윈도우즈 자체 메모프로그램을 비롯해서 수많은 메모용 프로그램들이 앞다투어
많은 기능들을 추가해서 메모프로그램을 출시하고 있지만..  과연 실사무나 개인용 메모프로그램이 그 많은 기능들이 필요할까?

아마도 대부분의 사용자분들이 간단한 메모를 한후 찾기쉽고 자주쓰는 메모만 관리할 수 있는
간단한 기능의 프로그램을 원할것입니다.  말그대로 메모만을 위한 기능일테니까요.

특히나, 기능이 많으면 많을수록 내컴퓨터의 부담은 훨씬 더 가중될 수 있으니... 더더욱 컴퓨터성능에 민감하신분들은 간단하지만 꼭 필요한 기능을 원하실겁니다.
하지만, 꼭 필요한 기능이 없다면 그또한 곤란할텐데...  아마도 이제껏 말씀드렸던 케이스의 유저라면  시찬스스티커메모가 딱일겁니다.

시찬스스티커메모 설치화면

시찬스스티커메모를 설치하고나면 윈도우즈 트레이화면에 아래와 같이
메모아이콘과 함께 빈메모가 하나 생깁니다. 만일, 메모된게 하나도 없다면
항상 이 빈메모장이 뜨는데요.   메모가 하나라도 있으면 앞으로 뜨지 않으니
참고하시면 좋겠네요.

[설치후 윈도우트레이화면에 새 메모장활성]

이제 설치는 순식간에 끝났으니..  이제 기능 하나하나를 체크해보면 좋을듯 한데요.
맨먼저 빈메모장이 열리면 상단에 있는 각 아이콘들이 어떻게 쓰이는지를 알면,
아마도 시찬스티커메모의 기능을 모두 익힌거라 할 수있을듯 해요.

[메모장 사용도구]

1. 메모제목
    메모제목은 말그대로 메모장의 제목입니다.
    메모제목은 메모장에서 첫번째열을 입력하면 자동으로 첫번째 열이 제목이됩니다.
    물론, 그 제목을 임의대로 수정할 수도 있습니다. 수정을 할때엔 최소화(Sticky Mode)에서

아이콘을 클릭하면 수정이 가능하지만,  제목을 임의로 수정하면 첫제목자동 제목기능이꺼져버리므로,  가급적이면 자동제목줄을 사용하시는게 좋을듯 해요.

2. 메모도구
    모든메모툴들이 그렇듯 상단의 도구툴이 가장중요한 기능들을 제공합니다.
    이메모툴도 마찬가지구요.  그럼 각 아이콘별로  기능들을 알아보겠습니다.

  메모고정기능 (Sticky) 이메모의 이름대로 이 메모툴은 이기능이 핵심입니다.
  메모고정기능은 사용자의 배경화면에서 다른프로그램들보다
          최상단에 메모를 위치시키도록 해줍니다.
          이기능은 최소화모드(Sticky mode)가되면 자동으로 설정되는 기능입니다.

  메모최소화기능(Sticky mode) 이메모프로그램의 핵심이라 할 수 있는 스티커모드
  모드입니다. 이메모프로그램이전에 스티커메모라는 비슷한 프로그램이 있었는데요
          그 프로그램이 업데이트가 되지 않고,  제목과 상관없이 메모가 줄어드는 단점이 있었는
          데...  이 메모프로그램이 개선해서 이 기능을 제공하고 있네요.

     
[구글화면에 스티커모드를 위차한 메모]



메모감추기기능으로 메모를 보이지 않게 설정합니다.
감춘메모는 트레이메뉴에서 원하는 메모를 보이게 할 수 있습니다.

메모삭제기능입니다.   실수로 메모를 삭제했어도 크게 염려하지 않아도 됩니다.
삭제된 메모는 휴지통으로 들어가며,  삭제된 메모는 ms-word 파일로 저장되어 있으므로
        휴지통에서 복원후 사용자폴더에서 파일을 찾을 수 있습니다.
        가령 Administrator 사용자라면 \Users\Administrator\AppData\Roaming\SichansStickerMemo
        폴더에 모든 메모가 저장되어 있답니다.

3. 메모편집툴 보이기 / 감추기 
    편리한 기능중 이 메모프로그램은 작성한 메모의 글자를 편리하게 편집할 수 있도록
    꼭 필요한 기능만 제공해주는 툴이 있는데요.  이기능을 감추고, 보여주는 기능을 이 버튼을
    눌러 확인 할 수 있습니다.  편집툴아이콘의 역활은 아이콘마다 마우스를 가져다대면
    기능설명을 볼 수 있으니 참고하시면 될것 같아요.
 
[편집도구툴화면]
 

4. 메모투명도 조절 슬라이드 바 
    사무실이나,  공공장소에서 컴퓨터를 사용해야 하는경우 내 메모들이 조금 거슬리는경우가
    있는데요.  이럴땐 이 슬라이드바를 조절해서 투명도를 조절하여 메모가 잘 보이지 않게
    설정할 수 있답니다.

[구글화면에 투명도를 25%로 설정한화면]



그외의 이메모프로그램은 강력한 그룹관리기능도 제공하고 있으니..
메모장이 필요하신분들은 꼭 한번씩 사용해보시기 바랍니다.

무엇보다 이 시찬스스티커메모는 광고가 없으니 최상의 무료메모프로그램이 아닐까 싶네요.