퇴근5분전

 

 회사에서 플로우 다이어그램을 만들고 소스변환까지 완성시키고, 변환된 소스가 실제 프로젝트에서 돌아가는 것 까지는 어제 확인했다.

다이어그램을 이쁘게 자동으로 배치하려고 .... 트리구조니까 순회하면서 각 좌표값을 자동 배치하는 걸로 간단하게 생각했는데...

 이상하게 어긋나넹...  그렇다고 변환이 잘못되거나 그런건 아니다. 단지.. 배치가 이쁘게 깔끔하게 안되는것 뿐이니까...

 

 그래서 고민끝에 그냥 프레지나 NPT에서 다이어그램 만들 듯이... 직접 끌어다 그리게 했다.

새로 몽땅 다시 코딩하고 시계를 보니 오후 5시 반...

변환 시켜보고 프로그램에 추가해서 돌려보고 잘 도는 것 까지 보고 퇴근...

 

## 아래 그림처럼...

이렇게 단순하게 배치하려고

   재귀를 돌면서 첫번째 노드를 기준으로 해서 왼쪽으로 줄 세우고.

   두번째 노드가 있는 것부터는 오른쪽으로 줄줄이 옆으로 밀어내면서 배치하는거였는데...?

   위에처럼 단순한 배치는 OK.

 여기에서 추가를 하다보면 .. 옆으로 못밀어내기도 하고 또 겹치기도 하고... ㅡ.,ㅡ;;

 

이상하넹.. 시작 노드 > 노드1 > 노드2 > 노드3 > 종료노드 여기까지 줄 세워 배치하고

트리 재귀 탐색으로 가니까 거꾸로 거슬러 올라가면서

위로, 위로 올라가서 노드31을 배치하고 또 .. 여기서 END로 가버리니까 이미 배치한 넘은 체크해서 그냥 패스하면

위로 가서 노드21을 배치하고 END건너뛰고 올라가고...

 

이런 식으로 가는건데... 배치해놓고?

노드 선택해서 추가하면 어디선가 갑자기 배치가 이상하게 되면서 노드가 겹쳐버린다.

..;;;

 

 낼은 회의가 있으니 회의준비해야지.

 그냥 노드 배치하고 원하는 선 긋기 직접 하라고 만들어놨다.

좀 삐뚤빼뚤 하면 어뗘... 우선은 나만 쓸껀데...

내가 일하는 방식이 이런걸...

이런 식으로 UI는 구성되어 있다.

디자이너로 이런거 그리려고 만들었는데... 이런걸로는 안쓰고... ppt에 또 그렸네...

각 노드별로 시프트 + 마우스 드래그 앤 드랍 하면 선이 그어지도록 구현해두었다.

자료구조는 트리<< 형태 그대로..

 인터넷이 안되니 집에 있는 소스 원노트에 복사해다가

사무실에 앉아서 핸드폰 보면서 작은 화면을 보며 타이핑 ㅡ.,ㅡ;; 

 보안...ㅡㅡ# 금융권...

 

프로젝트가 과연.. 잘 끝날지 의문이네...

 

 

 

'# 9) My Program(.NET) > PRJMNG' 카테고리의 다른 글

[텍스트 표 그리기] 표그리기?  (0) 2018.08.16
JSFW] GIF Maker  (0) 2018.05.07
JSFW.PWD] 사이트 비밀번호...관리  (0) 2018.04.21
Flow] 플로우 다이어그램  (0) 2018.04.15
NPT, VS 확장 수정...  (0) 2018.03.19

처음 로그인 할때 사용하는 비밀번호를 변경할 수 있게 살짝 수정했음.

비밀번호 생성할때 최대자리수를 제어할수 있게 추가했음.

지마켓인가?  최대 자리수가 15자리 ㅡ.,ㅡ;

 

 

'# 9) My Program(.NET) > PRJMNG' 카테고리의 다른 글

JSFW] GIF Maker  (0) 2018.05.07
Flow] 플로우 다이어그램 ( 망했어 )  (0) 2018.04.25
Flow] 플로우 다이어그램  (0) 2018.04.15
NPT, VS 확장 수정...  (0) 2018.03.19
JSFW.MINUTES] 회의록 관리 프로그램.  (0) 2018.03.10

  이번에는 플로우 그리는 기본 로직을 만들어봤다.

  쉽게 생각했는데... 하루 반나절 머리 뜨끈 뜨끈해지게끔... 생각하고 그리고 코드 고치고...

  시작 ---- 종료 에서 시작해서

 노드를 추가/삭제하면서 그려지도록 만들었는데...

 기본 추가/삭제로직을 만들었고. 각 노드별 컨텐츠는 타입별로 다르게 구분해서 컨트롤을 만들려 한다.

 또한 화면에서의 분기되는 링크별 노드는 각각 어떤 값에 의해 분기되는지 표시하려 한다.

또한 비교값 Y/N 같은 다이어 그램은 다이아몬드 형태의 다각형을 그려야 하지만...  그냥 노드 아래 박스로 구분하여

화살표를 그려넣을때 각 상태값을 표시해주려고 한다. 위에서 아래로 흘러내려가는 형태로 그릴수 있게 ... ( 아래 이미지 처럼... )

이런걸 만들기 위해... 노드를 관리하는 소스를 구현해봤음...

   > 간단하게 트리 형태로 관리하면 되겠다 싶었는데...

   > 트리에 부가적으로 링크드리스트 형태로 가져가면 될까 싶었는데....

   > 생각했던데로 안되어 짱구 굴리던 중 머리속이 하얗게 되면서 머리가 안굴러감... 회로 정지...?

   > ppt에 로직을 몇장이나 그려보면서 기본 로직을 세웠는데... 코딩하고 보니 또다른 예외가...

   > 예외를 땜방하느라... 하루 꼬박 걸렸넹.  

 

# 최종 목적은 해당 다이어그램 데이타로 어떤 문서를 자동으로 만들기 위함이다.

 

... 와... 이거 골때리네...

원노트로 소스 복사해서 회사 가서 그대로 쳤는데...

전혀 다른 동작을 하네?  뭐지??? 왜지??? 골 때리네...? 낼 다시 해봐야지.

 

... 오늘 다시 코드 수정하니 또 돌아가네...

 

어쨋든... 월 화 수... 오늘까지 정신없이 보냈는데... 이제야 내가 뭘 모르고 있었는지 알았어.

답답한 마음이 뚫렸네.

 

뭘 모르는지도 모르니까 미쳐버릴것 같았는데... 살것 같다. 모르는건 이제 공부하면 되니까...

뭘 모르는지도 모르면... 정말 돌아버릴것 같았는데...

 도움 받았으니.. 뭔가 보답해야지..

 

... 2018.04.23 : 선긋기 내 프레임웍 코드 일부 복사해가서 1시간은 보면서 쳤는데 ...

       원하는 그림이 아니어서 ㅡ.,ㅡ;; 적용하지 않는걸로...

       지금처럼 그리는데 단지 가로선을 하나 추가했다. ---> 요선, <--- 요선 이 그려지게..

       우선 내일 템플릿 페이지 3개 만들고 뷰모델 만들어 붙여놓고,

 프로그램으로 플로우 파일 떠서 소스코드에 붙여놓고 테스트 돌려야지.

 

 

 

# NPT 프로그램에 디자이너 수정.

> 기존에 컨트롤 사이즈 변경관련 해서 JSFW_Mover 객체를 이용하던 것을 제거 하고

   컨트롤 자체 이벤트로 변경하였음.

  : 판넬에 그리드 좌표 선을 그려주는 것을 사이즈 조절할때도 같이 그려지게 보여줌...

       AutoSize = true를 이용하여 스크롤이 자동으로 생성되는 걸 확인!

 

# VS확장 [ 메서드 목록 뷰 ]

   목록을 보여주는 부분을 수정,

   .cs 파일내에 클래스를 여러개 선언되어 있을때 목록을 보여줄때 클래스명을 그룹명으로 하여

   어느 클래스에 선언된 메서드인지 표시.

   검색 콤보에서 키워드 목록 선택시 >>> 메서드목록에 밑줄...

 

  후.. 드디어 4일 만에 만들었네... 이 프로그램을 만들다보니 들어온 프로젝트 일도 검토 못했넹 ㅠㅠ..

 이 회의록 관리 프로그램은 전에 만들었던 프로그램을 기초로 새로 만들었다.

 이번에 TEST 만들때 사용했던 스샷기능을 추가하고, 특별한 기능하나를 만들어 보았다.

 회의가 시작 되었을때 > 안건선택, 스샷첨부, 대화 기록 등을 시간별로 기억해두었다가 재생가능하게 만들었다.

 

 이 프로그램의 사용목적은 회의 내용을 모두 저장하는 것이 아니라, 회의 참여자들의 주요 내용들만 타이핑 쳐서 기록하는 것이 목적임.

이 대화 내용들을 나중에 다시 정리해야 할 때 도움이 되지 않을까??

 

#처음 메인 화면. ( 회의록 목록 관리 )

#회의 기록 ( 주제, 안건, 장소, 시각, 참석자, 참석자 배석위치, 스샷 자료[ 회의 진행중 같은 화면을 내 컴퓨터에서 띄울수 있다면 ] )

시작 ~~~ 회의.... ~~~종료

> 다음 REC옆 시작버튼으로 재생이 가능... 그럼 회의 시작~ 종료까지 기록된 내용을 재생함.

단, 회의 시작전 설정하거나 변경된 것은 기록으로 설정하지 않음. 이때 로그복구를 이용해 회의장에서 입력한 기록들을 볼수 있음.

                       <전체 내용>                                        <회의기록 재생후 보여지는 내용>

 

 

 스크린 샷 관련해서 버그가 있다.

그린샷 소스 자체문제인데...

  > 웹브라우져 캡쳐할때 최초 연 페이지 스샷은 잘된다.

  > 두번째 부터 불규칙하게 찍히거나 포커스가 아닌 다른 창이 찍히거나....

  > 브라우져 풀 페이지가 아닌 그냥 일반 응용프로그램처럼 스샷이 찍히거나.

  # 브라우져를 여러개 열어놓고 찍었을때 

 이런식으로 그냥 창이 찍혀버린다.

 

# 어제 밤부터 쭉 따라가면서 수정을 마쳤다. ( 스크롤 있으면 아래까지 모두 캡쳐함 )

# 단, 유튜브 페이지는 이상하게 이미지가 갈린다. !!!

    이유를 알것 같은뎅... 우선

    

유튜브 위에 보면 이렇게 고정레이어가 있으니 항상 찍히게 되는데, 이게 스크롤 내려갈때 겹쳐지니까....

또 똑같은곳은 https://www.msn.com 이다. 이것도 위에 고정레이어가 있고 스크롤 내리면 컨텐츠가 내려가는 부분인데

스샷 찍으면 똑같이 갈린다.

 

> 음 크롬은 짤려서 나오넹...! 당연한것이 그린샷은 IE 에 맞춰져 있는 소스니까...

 그럼 크롬은 어쩔까? 

  크롬에 확장을 설치해서 찍고 >  http://zzarungna.tistory.com/391 

  이 이미지들을 드랍해서 받으면 될 것 같아.

  >> 이미지 드래그 드랍 기능을 추가해주면 되겠다.

  >> 음 크롬확장에 가서 평가 보니.. 오류가 좀 있다는뎅....

 

 

 

 

 PREZI 랑 NPT 프로그램의 프로세스 작업그림판넬에 스크롤 적용했는데 ...

생각도 못한 버그가 ... 종일 괴롭히더니 겨우 잡혔다.

저녁먹고 다른거 보다가 잡았다.

 

 백그라운드 판넬에 스크롤을 적용했는데, 드로잉 판넬에 올라가는 컨텐츠컨트롤이 있다.

이 컨텐츠 컨트롤간에는 서로 LINK가 가능한데 이때 이 링크 목록을 컨텐츠가 클릭되면 그 아래 링크수만큼 동적으로

붙이게 만들어두었었다.

 이게 우측 하단 끝에 컨텐츠컨트롤을 놓고 단순 클릭만 하면 스크롤이 두배씩 늘어나는데

이상하게 드로잉판넬을 다시 클릭하면 줄어든다.

 

 처음엔 스크롤이벤트를 걸어서 별짓 다해보고 안되길래 그냥 써야겠다고 결심하고

컨텐츠 컨트롤의 에디터창 위치가 스크롤을 먹이니 원하는 위치에 안뜨길래 그거 수정하고,

동적으로 생성되는 LINK아이템 위치를 결정하는 부분을 수정하였다.

 

그렇게 하고 ... 테스트를 해보니 잡혔다? 오잉! 뭐지???

테스트를 여러가지 해봤는데 잘 된다... ㅠㅠ;

## 스크롤... 잘 들어갔다.

## 스크롤 위치에 따라 [d5e9dab3c245... X] 링크아이템 위치 기본 아래 표시

 

## 스크롤 위치에 따라 [d5e9dab3c245... X] 링크아이템 위치 왼쪽으로 이동시켜 표시

 

 

그나저나.. 일자리 구하기 쉽지 않네. 우울한 봄이 되려나.. 진짜 자바 국비를 다녀볼까나...

 

 

설 연휴 시작전에 떠오른걸로 기획을 잡고 코딩과 테스트가 조금전 끝났다.

일주일 정도 걸린 것 같은데 만족스럽게 나왔다.

 

처음 프로젝트를 생성 하고 > 기능 또는 화면으로 한번더 그룹을 지어 관리하게 되어 있다.

그리고 기능에 대하여 테스트 방법과 예상결과 확인 방법을 목록으로 관리한다.

테스트 중 오류가 발생하는 경우 오류버튼을 누르면 창이 뜬다.

여기서부터는 프로그램 창이 떠있다면

Alt + PrintScreen 으로 어디든 스샷을 찍으면 된다.  그러면 자동으로 사진이 등록이 된다.

이때 메모기능으로 메모를 하거나 위 도구로 그리거나 지우면 된다, 또 박스란 기능으로 특정영역을 강조하거나, 모자이크나 텍스트를 넣는다거나 할 수 있다.

그리고 내보내기 기능을 이용하여 엑셀로 내보내기가 가능하다.  딱히 양식이 없어서 대충 만들어놨다.

  이미지가 웹 브라우져 이미지를 땄을때 긴것도 있으나 엑셀에서 저 사이즈로 작아진다.

그래서 엑셀을 만들때 이미지에 하이퍼링크를 걸어 원본을 볼 수 있도록 수정했다. 클릭하면 웹브라우저에 해당 이미지가 뜬다.

 

UI 디자인을... 하~~~아... 또 어찌 꾸민다? UI구성은 NPT 프로그램의 뼈대를 그대로 이용하였다.

SI 를 다녀보면 필요한 프로그램들이 눈에 보이는데... 관련 프로그램을 검색해도 찾기가 쉽지 않다.

 이 프로그램은 내가 SI를 돌면서 개발자로 지내면서 늘 PL에게 받던 문서의 형태이다. PL이 테스트를 하고 버그에 대하여

스샷 찍고 엑셀이나 ppt에 붙여넣고 편집기등으로 버그내용 표시해 주기도 하고, 아니면 와서 직접 말로 하기도 하고...

그 과정을 보니... 일이 너무 많아 보였다.  그 일을 만약 내가 하게 된다면? 좀 간소화 할 수 없을까 하여.. 늘 머리속에

남겨두다가... 이번에 쉬는 때에 만들어보았다. 다음 SI 플젝부터는 이거도 내 개발 툴에 추가해서 다녀야지...

  

 내가 나중에 PL을 하게 되면 이 프로그램으로 프로그램 테스트를 하면서 스샷을 바로 남기고 버그내용등을 기록하여

엑셀로 전달 또는 이 파일관련 내용을 웹 사이트로 개발하여 개발자에게 버그 정보를 바로 브라우저로 볼 수 있게

해주면 좋지 않을까? 뭐 우선... 개발자를 벗어나려면 업무를 배워야 할텐데... 어디서 배우지??

 

스샷 관련 참조 : greenshot

      그린샷을 알게 된 사연 : 전에 프로젝트를 하면서 알게된 이사님께서 다른 플젝 진행중에 알바식으로 하나 해줄수 없냐고

                    어떤 기능을 의뢰하셨는데 그때 사용하는 오픈 소스가 그린샷 이었다. 근데 플젝진행중에 다른 일을 겹쳐서

                   하지 않기 때문에 못한다고 말씀드렸었는데...  이렇게 잘 쓰게 될줄이야...

엑셀 export 참조 : Epplus

드로잉 : 기존에 만들어둔 드로잉 판넬을 이용함.

 

-------------------

클릭원스로 겨우 release로 배포 했넹. <<--- greenshot에 걸려있는 설정파일들이 꼬여서 쉽지 않음( 프로젝트를 따로 빼서 참조걸어서 그런가보당. )

언어관련 리소스파일도 같이 묶어서 보내공... ( 설치후에 인터넷 스샷 할때 메세지 박스에 메세지가 xxx 제대로 안떠서 디버깅 )

쉽지 않네... 그나저나 익스플로어스샷은... 안쪽에 스크롤 있는 경우는 최대창으로 해야 되는 군. 버그인줄 알고 열심히 테스트...

 

 

 

 

유튜브 영상을 찍다가.. 기침이 자꾸 방해가 되어 ... 우선 좀 미루고

새로 만들려고 기획해둔 프로그램 개발을 우선 하고 있다.

 

테스트 이력관리 프로그램인데,

테스트 기능목록을 관리하고 --- 그 기능에서 발생한 오류를 스샷을 찍어 관리하는 프로그램...

 

샘플코드를 작성하다가 역시나 배경화면을 바탕으로 위에 그림을 그리는 프로그램이 역시나

필요했다.

프레지는 배경이 안되고 그림만 그리고 지우고, 컨트롤을 올려놓을수 있는 프로그램인데...

 

그래서 프레지를 손보기 시작했는데 3일동안 삽을 든 결과 성공했다.

배경이미지를 가진채 위에 그림도 그리고... 지우는것도 잘되고...

 

가장 큰 문제는 지우개 구현 <--- 욕나올정도...

단순하게 그려진 선위를 덧칠하면 되는거였지만.. 여러가지 옵션에 의해 찌꺼기가 남아서 ...

이 옵션을 3일동안 찾은거였다.

원본 그림을 유지한채 그 위에 그림을 그리게 된다..

스샷 버튼으로 합쳐진 이미지도 만들어진다.

설 연휴 잘 보내고 기획한 프로그램 후딱 만들고...  유튜브 영상 다시 제작하면서... 일자리 찾아보면 되겠다.

 

 

 

기존에 Addins 으로 개발해서 사용하던 걸

Vspackage로 개발을 다시 하고 있다. 2014까지는 Addins으로 잘 되지만 2016부터는 안먹어서...

그나저나 2016으로 ssms는 처음 AddIns으로 개발했었는뎅... 이상하네.. 안먹는다.

2017에서도 동일하게 올라오는것을 확인했고, 기존 AddIns 기능으로 모두 옮기는 작업만 하면 된다.

   1. 쿼리 포맷정렬

         : 쿼리를 내가 만들어놓은 포맷 형태로 재정렬한다.

   2. 쿼리에서 컬럼 뽑아내기

         : 정렬된 쿼리에서 컬럼:설명을 뽑아낸다.

   3. 그리드 틀고정

         : 그리드의 컬럼에 대하여 고정시킨다. 

          - 컬럼이 아주 많을때 앞쪽 특정 열을 고정하여 뒤 데이타만 스크롤 되게 만듬 ( 엑셀 틀고정 같은 기능 )

   4. 그리드 컬럼 검색

          : 그리드의 컬럼이 많을때 컬럼을 검색해서 바로 찾아감.

   5. 그리드 컬럼 뽑아내기

          : 2014까지는 데이타가 조회안되면 컬럼목록만 뜨는데 이 컬럼목록을 기본 컨텍스트 메뉴 기능으로 복사하면 에러난다.

          - 그래서 복사하는 기능을 만들었었음. 2017에선 필요없는 기능.

   6. 객체 검색

         : 테이블, 프로시져등... 검색하면 바로 목록으로 보여준다.

           항목을 더블클릭하면 개체 탐색기에서 해당 항목으로 바로이동한다.

 

  -- 변환 완료.

>> 기존에 addins 으로 개발되어 있던거 vspackage로 변경.

>> 2016, 2017 버젼도 완성.

추가된 기능을 일부 찍어봤음.

# 결과 탭 ( 틀고정 : 스크롤 하면 고정된 열 다음부터 스크롤 가능 )

   - 첫번째 그리드 두번재 열 ( 파란색 표시 )

   - 두번재 그리드 세번째 열 ( 파란색 표시 )

# 우측 검색창,

   - DB의 table, procedure, function 를 검색해서 보여줌.

     : 더블클릭시 개체탐색기의 이동하여 해당 개체를 선택해 줌.