업무 분석중에...
자바 스프링을 보고 있다. 2주 정도 봤는데... 이미 셋팅된걸 가지고 보는거라...
초기 설정을 어찌해야 되는지는 모르겠고... 프론트 쪽 개발을 위해 소스를 따라가는데 복잡하긴 하다...
이렇게 복잡하게 개발을 해놓을 필요가 있었을까? 또 쪼개서 보다보면 이유를 알것도 같은데...
초기에 개발할때 일정을 화면 하나에 2주 정도는 줬을까? 2주도 빡실것 같긴한데...
어쨌든... 함수 연결 프로그램으로 나름 열심히 따라가고 있다.
친구가 얘기하길 콜그래프? 이런게 있다는데? 이건 메모도 안되는것 같고...
특정 시점부터 잘라서 보는 것도 안되는것 같고...
오늘부터는 DB를 열어서 이제 쿼리를 보고 있다. 로그 보면서 디버깅을 하고 있는데...
어제 자기전에 생각난게 있다. 화면 UI에서 버튼을 클릭하고 누를때 db의 변화를 덤프떠서
보듯이 한다면 업무이해나 디버깅에 좋지 않을까?
1. 프로그램에 조회 쿼리문을 등록한다.
2. 해당 쿼리로 조회를 할때마다 결과를 기록을 남긴다.
3. 화면 기능 테스트를 하면서 등록한 쿼리로 결과를 계속 남겨둔다.
4. 테스트가 끝났을때 쿼리 데이타 기록을 한눈에 어떻게 변화 한건지 본다.
- 필요한 경우 변화된 내용에 대한 메모도 해두면 나중에... 볼 수 있을 것 같다.
업무 파악하다가 몇가지 더 생각났는데... 주객이 전도될까봐... 나중에 하자.. 나중에.....
'--- 취미 > 생각하기' 카테고리의 다른 글
서피스의 활용!! (0) | 2022.11.28 |
---|---|
태블릿 거치대... (0) | 2022.11.28 |
다음 뉴스에서 또 댓글 차단당했다. (0) | 2022.11.14 |
이클립스와 전자정부 프레임워크... (0) | 2022.11.07 |
새 프로젝트를 시작하며.... (0) | 2022.11.06 |
함수 연결 프로그램 Zoom In/ Out
전에 구현했던게 있으니..
컨트롤 배율 조정 공식...
ZoomInOut을 구현했는데... int[] factors = { 50, 100, 200 }; 을 combo에 넣고 옛날 값 = 100; 으로 초기값 사용. 현재 선택된 Factor = 50; { float 조정배율 = 현재값/ 옛날값 ; Control.Scale( new SizeF( 조정배율 , 조정배
aseuka.tistory.com
int factorIndex = 4;
float[] factors = new float[] { 0.2f, 0.4f, 0.6f, 0.8f, 1f, 1.2f, 1.4f, 1.6f, 1.8f, 2f, }; // 20 ~ 200%
float oldSizeFactor = 1f;
- ZoomOut
factorIndex--;
if (factorIndex < 0) factorIndex = 0;
pnlBoard.Scale(new SizeF( factors[factorIndex] / oldSizeFactor, factors[factorIndex] / oldSizeFactor));
pnlBoard.Invalidate();
oldSizeFactor = factors[factorIndex];
// 배율 조정시 스크롤이 있는 상태일때!! 왼쪽상단(left, top)에 판넬을 맞춰줘야 하니까..
int hv = pnlOutBorder.HorizontalScroll.Value;
int vv = pnlOutBorder.VerticalScroll.Value;
pnlBoard.Left = -hv;
pnlBoard.Top = -vv;
- ZoomIn
factorIndex++;
if (factors.Length <= factorIndex) factorIndex = factors.Length-1;
pnlBoard.Scale(new SizeF(factors[factorIndex] / oldSizeFactor, factors[factorIndex] / oldSizeFactor));
pnlBoard.Invalidate();
oldSizeFactor = factors[factorIndex];
// 배율 조정시 스크롤이 있는 상태일때!! 왼쪽상단(left, top)에 판넬을 맞춰줘야 하니까..
int hv = pnlOutBorder.HorizontalScroll.Value;
int vv = pnlOutBorder.VerticalScroll.Value;
pnlBoard.Left = -hv;
pnlBoard.Top = -vv;
** 함수, 호출 화살표등을 직접 드로잉 처리하고 있어서
이에 대한 크기조정도 적용해줘야 한다.
파일, 함수, 화살표등을 그리기전에...
e.Graphics.ScaleTransform( factors[factorIndex], factors[factorIndex] );
배율 조정을 해준다.
그리고 마우스 다운 이벤트에서 파일과 함수인경우 이름을 복사!
호출하는 함수부분에서는 대상 함수로 화살표의 색을 바꿔주기 때문에... 배율조정시 마우스 다운 위치를 계산해줘야 하는데...
Point pt = new Point((int)((float)e.Location.X / oldSizeFactor), (int)((float)e.Location.Y / oldSizeFactor));
'# 9) My Program(.NET) > PRJMNG' 카테고리의 다른 글
JSFW.FunctionConnection] 프로그램 사용 중... (0) | 2022.11.29 |
---|---|
JSFW.FunctionConnect] 마무리 버젼? (0) | 2022.11.25 |
함수 연결 레벨 추가 그리기?.... (0) | 2022.11.14 |
TextBox.MultiLine 일때 Alt+Up, Alt+Down 선택행들 옮기기 구현. (0) | 2022.11.12 |
AsIs_Proc_Flow] 소스 따라가기 프로그램 만들자!! (0) | 2022.11.09 |
다음 뉴스에서 또 댓글 차단당했다.
매국노들 빠는 기사에 댓글을 달았더니 쪽....ㅂㅏ~~~리는 안써지길래 하나 더 달았더니
매국노들이 신고때렸나보다....
다음 이것들은 조선 부사장 출신이 아직도 앉아 있나?
짱개는 그냥 써지는데 왜? 쪼옥ㅂㅏ~ㄹㅣ는 자동 변환되어 보이는걸 막아놨냐?
저건 고칠 생각이 없나봐... 어떤 기사의 댓글인지 기억이 안나..
다음 포탈을 안들어가야지 하는데 카페들어가다보면 자꾸 클릭하게 되네...
'--- 취미 > 생각하기' 카테고리의 다른 글
태블릿 거치대... (0) | 2022.11.28 |
---|---|
업무 분석중에... (0) | 2022.11.22 |
이클립스와 전자정부 프레임워크... (0) | 2022.11.07 |
새 프로젝트를 시작하며.... (0) | 2022.11.06 |
GitHub에 소스를 올리기 시작!!! (0) | 2022.10.24 |
함수 연결 레벨 추가 그리기?....
제목 쓰기 어렵다.
함수연결 보기 프로그램에 파일박스 안에 나열된 함수(fn1)와 그 안에서 호출되는 외부함수(fn2)의 연결을
호출단계(레벨)별로 추가해서 그렸다.
대충 단계를 표시하기 위해 간소하게 했지만...
그래도 프로젝트에서 분석하면서 써보니... 나름 괜츈!!
다만 전자정부 플젝 소스 보니 눈돌아갈것 같아. 왜 이렇게 복잡한걸까?
문서가 없다더랑.. 보안상?? 두분 계시는데 인간 라이브러리...
다만... 내가 질문을 할 수 있을지... 서로 귀찮은데... 잘못들어갔나 싶기도 하고... 나올까?
얼마나 자세히 적을 것인가? 이게 문제이긴하다...
너무 자세히 쓰면 소스 따라 치는 것 처럼 나오고... 다이어그램도 너무 복잡하게 보일테니...
주요 로직만 적는 것으로 작성자가 적절하게 맞춰야 할 것 같다.
'# 9) My Program(.NET) > PRJMNG' 카테고리의 다른 글
JSFW.FunctionConnect] 마무리 버젼? (0) | 2022.11.25 |
---|---|
함수 연결 프로그램 Zoom In/ Out (0) | 2022.11.19 |
TextBox.MultiLine 일때 Alt+Up, Alt+Down 선택행들 옮기기 구현. (0) | 2022.11.12 |
AsIs_Proc_Flow] 소스 따라가기 프로그램 만들자!! (0) | 2022.11.09 |
[DataBaseManager] [MSSQL] DB관리 프로그램 (0) | 2021.04.01 |
TextBox.MultiLine 일때 Alt+Up, Alt+Down 선택행들 옮기기 구현.
이번 AsIs Function Connection 프로그램 구현 중...
텍스트 입력기반으로 만들었기에... 편의기능을 추가했다.
생각지도 않았던 Alt + Up, Alt + Down 으로 VS 편집기처럼 선택한 행들의 위치를 변경하는 것을 구현하게 되었다.
인텔리센스를 구현하려니... 참 걸리는게 많네.. 대충 흉내만 냈다.
Textbox_KeyDown Event에서!!
// txtSource : TextBox 임
// !!! 주의 : 프로퍼티에 WrapWord = false; 로 작업해야 함.
// 이유 : textbox의 내용이 길때 textbox 크기가 작아지면서 박스안에 글이 구겨들어간다. 이때 커서의 현재 위치 정보를 제대로 읽을 수 없었다.
if (e.Alt && (e.KeyCode == Keys.Up || e.KeyCode == Keys.Down))
{
int selStartIndex = txtSource.SelectionStart;
int selLength = txtSource.SelectionLength;
int selLineCnt = 1 + txtSource.SelectedText.Count(c => c == '\n');
int currentlineIndex = txtSource.GetLineFromCharIndex(selStartIndex);
List<string> lines = new List<string>(txtSource.Lines);
if (e.KeyCode == Keys.Up && 0 <= (currentlineIndex -1 ))
{
string moveString = lines[currentlineIndex - 1];
lines.RemoveAt(currentlineIndex - 1);
lines.Insert(currentlineIndex + selLineCnt - 1, moveString);
int offset = moveString.Length;
txtSource.Text = string.Join(Environment.NewLine, lines);
lines.Clear();
txtSource.SelectionStart = selStartIndex - offset -2;
txtSource.SelectionLength = selLength;
}
else if (e.KeyCode == Keys.Down && (currentlineIndex+ selLineCnt) < lines.Count)
{
string moveString = lines[currentlineIndex + selLineCnt];
lines.RemoveAt(currentlineIndex + selLineCnt);
lines.Insert(currentlineIndex, moveString);
int offset = moveString.Length;
txtSource.Text = string.Join(Environment.NewLine, lines);
lines.Clear();
txtSource.SelectionStart = selStartIndex + offset +2;
txtSource.SelectionLength = selLength;
}
}
'# 9) My Program(.NET) > PRJMNG' 카테고리의 다른 글
함수 연결 프로그램 Zoom In/ Out (0) | 2022.11.19 |
---|---|
함수 연결 레벨 추가 그리기?.... (0) | 2022.11.14 |
AsIs_Proc_Flow] 소스 따라가기 프로그램 만들자!! (0) | 2022.11.09 |
[DataBaseManager] [MSSQL] DB관리 프로그램 (0) | 2021.04.01 |
JSFW] 그리드 디자이너 (0) | 2021.03.26 |
AsIs_Proc_Flow] 소스 따라가기 프로그램 만들자!!
이번 프로젝트를 며칠 진행하면서...
이런게 있었으면 좋겠다. 라고 생각한게 있다.
예전 국민은행 프로젝트 할때 BizFlow 인가를 만들었었는데...
그건 플로우를 그려가면서 소스를 생성하는 거였다.
이번건... 반대로 요구사항을 분석하기 위해 소스를 추적하면서 사용할 프로그램을 만들자.
예를 들면, 로그인! 이라는 처리를 하기 위해
이런 다이어그램을 쉽게 입력하고 그리고 찾고 따라가고 하면...
업무이해할때 좋지 않을까? C#이라면 그냥 프로그램 돌릴 생각하고 만들면 되는데...
java라서... 파서 구현하는게 더 오래걸릴듯...
함수내에서 등록 할 작업(예. 아이디, 비번체크)들은 꼭 기록해야 할 내용들을 간략히 적어가면서 넘어가고...
중요한 로직이 들어있다면 상세히 기술하거나 호출되는 메소드로 바꿔 흐름을 따라갈수 있게 고치면 될듯 하다.
퇴근해서 테스트 해본 것!!
Text로 입력받을 것이고
이것을 "FN:메서드, FILE=경로0/경로1/파일명" 정규식으로 쪼개서
식 : fn:(?<fn>\w.*)(\s)*(\,)+?(\s)*file=(?<file>\w.+)
fn=메서드, file=경로0/경로1/파일명 를 얻을 수 있도록 그룹지었다.
Proc
- [ fn, comment ]
각 fn들은 저장할때
경로0/경로1/파일명 폴더 아래
메서드.define 파일로 저장하자.
자료구조는 설계를 마쳤고, ui도 대략 그렸다. 간단한 데모로 만들고 실제로 프로젝트 분석하면서 써봐야 겠다.
- 목표 : 여기까지 이번주 일요일까지 만들고 다음주 월요일은 실무에서 써보자!!
데모로 전체 프로세스 추적을 하면 그려보고 DB를 호출하는 부분에 해당 테이블과 대상 컬럼들 정보를 기록하고, ERD를 부분조각으로 그릴 수 있도록 업그레이드하면 될것 같다.
'# 9) My Program(.NET) > PRJMNG' 카테고리의 다른 글
함수 연결 레벨 추가 그리기?.... (0) | 2022.11.14 |
---|---|
TextBox.MultiLine 일때 Alt+Up, Alt+Down 선택행들 옮기기 구현. (0) | 2022.11.12 |
[DataBaseManager] [MSSQL] DB관리 프로그램 (0) | 2021.04.01 |
JSFW] 그리드 디자이너 (0) | 2021.03.26 |
JSFW.SSMS.Extensibility] 수정내용. (0) | 2020.06.12 |
이클립스와 전자정부 프레임워크...
이번 프로젝트인데...
이클립스 단축키부터 익혀야 겠네...
웹이니까 딱히 어려운건 없어 보이는데... 디자인도 깔끔하게 되어 있고,
수정 조금에 신규만 좀 해주면 될 것 같다.코어쪽은 담당자가 있다 하니...
쿼리야 어려울것 없지만... 내가 하는건지.. 아직 롤을 정확히는 모르겠다.
프론트엔드만 하면 되는 것 같던데...
역시 새 프로젝트를 하면 머리속에 새록새록 피어나는 아이디어가 생기는 것 같네...
다만 앱을 만들어서 몇천원, 몇만원이라도 다달이 벌었으면 좋겠는데...
공공이나 기업용 프로그램만 만드니, 개인적인 앱에 대한 아이디어가 안떠오르네...
10개월짜리 잘 하면서 궁리를 좀 해봐야지...
'--- 취미 > 생각하기' 카테고리의 다른 글
업무 분석중에... (0) | 2022.11.22 |
---|---|
다음 뉴스에서 또 댓글 차단당했다. (0) | 2022.11.14 |
새 프로젝트를 시작하며.... (0) | 2022.11.06 |
GitHub에 소스를 올리기 시작!!! (0) | 2022.10.24 |
국회의원들이 힘이 있나? 없나? (0) | 2022.10.21 |
새 프로젝트를 시작하며....
음... 새 프로젝트를 이제 시작한다.
맨날 얻어 쓰던 오피스... 2021버젼으로 하나 구매하고!
터치되는 포터블 모니터도 하나 샀다.
http://item.gmarket.co.kr/detailview/item.asp?goodscode=2001424980
G마켓-제우스랩 Z15ST 휴대용 터치 스크린 ...
248,900원
item.gmarket.co.kr
화면기획용 프로그램에 펜과 손 터치구분을 하기 위해...
기존에 레노버 타블렛 윈도우10 싸구려 사서 개발에 써보려 했는데 너무 버벅거려서...
그래서 노트북에서 직접 개발을 위해 샀다.
이번 플젝하면서 머리속에 스쳐가는 아이디어...
웹이니까. 웹 테스트 프로그램을 만들어볼까?
크롬 확장프로그램을 만들어서
- 캡쳐를 찍어서, 문제있는 부분을 표시하고, 내용을 기록해서 서버에 업로드한다.
그래서 git에서 스크린샷 찍는 소스들을 구했다.
Restful api 작은거 하나 만들어서 파일로 쌓아놓고 보여주는거 처리하는것들...
만들어볼까 한다.
지금 GreenShot 가지고도 인터넷 창도 전체창 캡쳐가 가능하다.
퇴근이 지랄맞다.. 여의도 나오는데 30분이상 걸리다니...
'--- 취미 > 생각하기' 카테고리의 다른 글
다음 뉴스에서 또 댓글 차단당했다. (0) | 2022.11.14 |
---|---|
이클립스와 전자정부 프레임워크... (0) | 2022.11.07 |
GitHub에 소스를 올리기 시작!!! (0) | 2022.10.24 |
국회의원들이 힘이 있나? 없나? (0) | 2022.10.21 |
몇번째 주의인가... (0) | 2022.10.14 |
GIT에 프로그램 업로드 완료!
총 18개 ( 3개는 허접하기도 하고 별기능 없는것이라 비공개 )
이것으로 172개의 플젝 중에 선별해서 GitHub에 올릴 수 있는건 다 올렸다.
16년간 프로젝트 뛰면서 짬을 내서 만든 것중에 15개가 선별되었네. 꽁꽁 숨겨놨던건데... 이제서야 올렸네...
실력 좋은 사람들이 만들어내는 코드 같은게 아니니... 꽁꽁 숨겨왔는데... 너무 급하게 막 올렸나? 싶기도 하고..
닷넷을 더 할 수 있을까? 자바로 가야 하나? 자바에서 써주려나?
난감한 문제네...
'# 1) 프로그래밍' 카테고리의 다른 글
.NET] 화살표 그리기... 음.... (0) | 2022.12.22 |
---|---|
GIT 관련... (0) | 2022.10.26 |
길찾기 2 ..(Flood Fill Path Finding) (0) | 2017.11.30 |
길찾기 A* 알고리즘... (0) | 2017.11.29 |
훈스닷넷 : string Array 파싱해서 다른 Array 에 넣는 작업. (0) | 2016.08.11 |
GIT 관련...
친구에게 git관련 도움을 받았다.
종일 관리 프로그램 소스를 github에 올리고 git개념 가이드만 겨우 봤네...
저녁마다 차례로 봐야 할듯...
github에 총 12개를 올렸다. 앞으로 3개나 4개쯤 더 올라가면 대충 될 것 같다.
170여개의 프로젝트 파일중에 오픈소스 불러온 것들 40여개 정도 빼고, 올려도 될만한 것들을 고르는게 쉽지 않네...
만들다 기능확인 하고 디자인이 구려서 또는 다른 프로젝트로 시간을 뺏겨서... 등등...
흔적만 남기고 멈춰버린 개발프로젝트가 많이 있네...
- SVN만 써본 나에게 알려준 슬라이드쉐어( 간만에 들어와 보네.. )
svn 능력자를 위한 git 개념 가이드 (slideshare.net)
svn 능력자를 위한 git 개념 가이드
사내 공유를 위해 제작한 문서입니다만, 혹시 도움이 되실 분이 있을까 싶어서 공유합니다. 혹여 오류가 있을 수 있습니다. 관대한 마음으로 이해 부탁드리며 글 남겨주시면 참고하여 수정하겠
www.slideshare.net
Fork - a fast and friendly git client for Mac and Windows
Fork - a fast and friendly git client for Mac and Windows
fork.dev
브랜치배우기 : https://learngitbranching.js.org/?locale=ko
Learn Git Branching
An interactive Git visualization tool to educate and challenge!
learngitbranching.js.org
브랜치 전략 : http://blog.hwahae.co.kr/all/tech/tech-tech/9507/?popular=9507
Git 브랜치 전략 수립을 위한 전문가의 조언들 – 화해 블로그 | 기술 블로그
Git 브랜치 전략 효과적으로 VCS를 사용하려면 프로젝트 여건에 어울리는 브랜치 전략을 세워야 합니다. 이를 위한 첫 번째는 바로 브랜치 전략에 대한 비교 분석입니다. Git기반으로 워크플로우
blog.hwahae.co.kr
그리고 친구가 건낸말
fource push 만 조심해
force push 할 일이 별로 없긴한데 rebase 좋아하는 분들이 가끔 지 피쳐브랜치에 날려야할걸 실수로 다른데 날리지
그래서 rebase 금지인 팀도 있음
https://git-scm.com/book/ko/v2/Git-%EB%B8%8C%EB%9E%9C%EC%B9%98-Rebase-%ED%95%98%EA%B8%B0
Git - Rebase 하기
Rebase는 기존의 커밋을 그대로 사용하는 것이 아니라 내용은 같지만 다른 커밋을 새로 만든다. 새 커밋을 서버에 Push 하고 동료 중 누군가가 그 커밋을 Pull 해서 작업을 한다고 하자. 그런데 그 커
git-scm.com
땡큐~
'# 1) 프로그래밍' 카테고리의 다른 글
.NET] 화살표 그리기... 음.... (0) | 2022.12.22 |
---|---|
GIT에 프로그램 업로드 완료! (0) | 2022.10.27 |
길찾기 2 ..(Flood Fill Path Finding) (0) | 2017.11.30 |
길찾기 A* 알고리즘... (0) | 2017.11.29 |
훈스닷넷 : string Array 파싱해서 다른 Array 에 넣는 작업. (0) | 2016.08.11 |