JSFW.UI Story Board] 음... 고민 좀 해봐야지.
오늘 수정해간 프로그램 다시 설치해서 작업을 해봤다.
오더 떨어진게 11시 작업 끝난 시간 15시 30분.
음. 점심시간 빼면 오늘은 좀더 걸렸네... 근데 중요한건 빠른건지 느린건지... 감이 안오네?
1. 엑셀에 대충 그려진 화면정의서를 가지고 툴로 화면을 디자인한다.
2. 툴로 소스를 만들어낸다.
3. 만들어진 소스에 사용되는 SP들과 파라미터 셋팅부분을 붙여넣는다.
이때 파라미터 소스는 쿼리를 통해서 뽑아내서 붙여넣는다.
4. 조건판넬의 컨트롤에 대한 소스 처리를 한다.
이때 또 다른 프로그램을 띄운다.
> 컬럼:설명 ... 조합으로 만들면 설정후 소스를 만들어낼수 있다.
5. 작업버튼들이 있는 경우. 해당 작업버튼의 sp는 위에 사용된 쿼리로 만들어낸다.
화면인 경우 링크를 해주면 된다.
6. 그리드 컬럼 폭을 조절 해준다.
이때 직접 가로폭을 지정하는 방법이 있고, 툴에서 특정 소스를 떠다가 소스에 붙여넣고 프로그램을 실행해서
그리드 열 넓이를 데이타를 보면서 조정한 후 그리드 셋팅 정보를 다시 생성하여 소스로 사용한다.
7. 기타 테스트를 진행한다.
우선 여기까지인데...
뭔가... 작업을 하다보면 매끄럽지 않은듯 한 느낌이 들때가 있다.
복사 하고 붙여넣기가 꾀 많다. 대부분 소스를 프로그램이 만들어주니까 ...
가장 불만인건... 컬럼 메타 정보가 따로 관리되지 않고 그때 그때 만들어지니까 소스에 주석문 작성이 될때 빵꾸가...생긴다.
요새 뭔가 부족함을 많이 느낀다. 업무용 프로그램을 시뮬레이션 할 수 있으면 어떨가 싶었는데...
또 디자인을 직접 하다보면 번거롭다 느끼는것도 있고 좀더 쉽게는 안될까 고민하게 된다.
차차 고민을 좀더 해봐야지...
'# 9) My Program(.NET) > PRJMNG' 카테고리의 다른 글
JSFW.UI Story Board] 기능 수정... (0) | 2016.06.30 |
---|---|
JSFW.Mockup II ] 다시 구성해서 만들기. (0) | 2016.06.26 |
JSFW.UI Story Board] 업데이트 및 기타 정리 (0) | 2016.06.22 |
JSFW.UI Story Board] 컨트롤 갯수 제한에 걸림. (0) | 2016.06.05 |
JSFW.SQLFormatter] AddIns 추가적으로 알아낸것... (0) | 2016.04.22 |
JSFW.UI Story Board] 업데이트 및 기타 정리
새 디자인 컨트롤을 다시 구상해봤는데... 중간에 생각이 꼬여서 UI StoryBoard 처럼 되어버려서 버렸다. ㅡ.,ㅡ;
#####################################################################################
또 하나는 TCP/IP 모듈을 다시 설계해서 만들어보고 있다. 모니터링을 다시 만들어보고 있는 셈인데...
다른것보단 TCP/IP 통신에서 그때 말썽이 일어나서리... 내부 망에서는 잘되었는데...
외부망에 연결되면 불규칙하게 끊긴단 말이지...
#####################################################################################
디자이너를 업데이트를 조금씩 조금씩 버그 잡고 편의기능 잡고 뭐.... 이런 저런...
아래 화면 오더를 받고 디자이너로 작업을 시작하고 이벤트 및 다른 코드들을 넣고 테스트해서 배포하는데
걸린 시간은 3시간 30분... 음 빠른건지 느린건지 ... 알 수 없지만 소스를 만들어내도 할게 많네...
# 최근 몇일간 추가한 내용을 기록해둔다.
- 컬럼이 숫자 타입인경우 색상을 DodgerBlue 색상으로 표기, visible = false 인건 LightGray
- 뷰어와 디자이너에 그리드에 헤더에 외곽선 추가 ( 병합은 되는데 색이 안보여서... )
- 디자인 요소들이 새로 만들어지고 삭제 될때의 정리소스 처리 ( 사용자 객체가 지워지지 않아 나중에 뻗어버리는 현상 제거 )
# 조건판넬과 데이타판넬에 대해 수정( 예정 )
- {컬럼:컬럼설명} 단위로 목록을 등록하면 별도의 도구상자를 띄워 해당 컬럼에 대한 컨트롤 목록을 보여주고 거기서 드래그 드랍으로 조건판넬에 넣을 수 있게
수정할 예정임
# 쿼리
- 소스를 만들어내서 쿼리처리부분등을 만들어둔 쿼리를 통해서 얻어내는데! 이게 좀 고쳐야 됨( 복사 붙여넣기 하고 또 코드에 맞춰 수정하는 영역이 있음. )
아니면 별도의 쿼리를 따로 생성해서 그때 그때 만들어내야겠다.
- ssms Addins 많이 쓸만해졌는데... 역시 메타관리가 별도로 안되니까. 카피 앤 패스트가... 걸리적거리네.
'# 9) My Program(.NET) > PRJMNG' 카테고리의 다른 글
JSFW.Mockup II ] 다시 구성해서 만들기. (0) | 2016.06.26 |
---|---|
JSFW.UI Story Board] 음... 고민 좀 해봐야지. (0) | 2016.06.23 |
JSFW.UI Story Board] 컨트롤 갯수 제한에 걸림. (0) | 2016.06.05 |
JSFW.SQLFormatter] AddIns 추가적으로 알아낸것... (0) | 2016.04.22 |
JSFW.SQLFormatter] Addin... 부착 (0) | 2016.04.21 |
C1FlexGrid, GridTree 에서 노드 레벨 및 코드, 상위코드 생성하기.
프리단가도... 이런건 정직들시켜서 했음 좋겠다...
C1FlexGrid가 꾀 예전 버젼이고 Winform 컨트롤이다.
이 그리드를 이용해서 트리를 만들고 간단하게 트리 노드들을 관리하도록 만들기 위해
방법을 하나 생각하고 개발에 들어갔다.
트리는 굉장히 쉽게 만들어진다.
fxGrid.Tree.Column = 컬럼 인덱스;
각 Row별로 레벨값만 주면
Row r = fxGrid.Rows[ rowIndex ];
r.IsNode = true;
r.Node.Level = 레벨값;
그런데 이 트리에 입력값과 level값 핸들링 상하 이동처리가 번거롭다.
기존 방식으로 1개의 Row를 등록하고 상위 코드를 따다가 적재하고 자기 코드 생성하고... 등등... 귀찮다.
엑셀이나 메모장으로 데이타 대상을 몽땅 복사해서 그리드에 붙여넣기를 한다.
그리고 조정이 필요한 행들을 선택해서 Ctrl + {왼쪽, 오른쪽} 은 level을 앞 뒤로 조정해주고,
Ctrl + {위, 아래} 는 Row를 위로 아래로 이동시켜준다.
이때 필요한 것이!!! 전체 노드에 대하여 코드와 상위코드에 대한 정보 업데이트이다.
처음에 성공했다고 생각했는데... 자세히 코드를 보니 코드들이 어긋나있었다.
그래서 오후 내내 3시간 삽질을 했는데 ... 안되서 스트레스만 받고 퇴근!
지하철에서도 알고리즘을 고민해봤는데... 안되서 ㅠㅠ;
7시 반에 와서 9시반에 성공했으니 나름 2시간 동안 고생한 보람은 있네.
가장 중요한 힌트가 된 것은 스택이란 자료구조!
*** 작업 전 고려했던 내용.
- 기존에 내 프레임웍 코드에 사용했던 메뉴 트리처럼 생각하고 시작했었음.
#메뉴1lv
##메뉴2lv
###메뉴3lv ( cd, ucd 관련해서 알고리즘 고려를 못한것이 스트레스의 발단이 됨... )
- 다수의 일괄 편집!
- 관리의 편의성! ( 새 노드 추가, 삭제, 이동 등... )
- 나이스에서 했던 메뉴관리 트리 처럼 생각... ( 컨트롤 제작회사가 달라서 그런지 완전 다름 )
### 최초 상태 Level +를 누르면 CD와 UCD를 지정된 포멧으로 생성해준다.
### 트리 구조로 바꾼 결과
생성되는 코드를 포멧을 지정해서 만들 수 있다는 장점.
한번에 여러건의 입력이 가능하다는 장점.
단점. 많은 양에 대해 안해봐서 퍼포먼스를 예측 할 수가 없다는 것. ( 해봐야 알듯함: 출근하면 5만건 정도 생성해서 해봐야 겠음. )
'# 1) 프로그래밍' 카테고리의 다른 글
길찾기 A* 알고리즘... (0) | 2017.11.29 |
---|---|
훈스닷넷 : string Array 파싱해서 다른 Array 에 넣는 작업. (0) | 2016.08.11 |
Win10 WPF] WPF 의 WindowsFormHost 로 Winform Control을 올렸을때 (0) | 2016.03.10 |
연말정산 프로그램? API... ( 이게 아니란다. ) (0) | 2016.01.20 |
다음 맵 API 관련. (0) | 2016.01.11 |
상세화면 관련 소스 생성기
상세 등록화면을 구성하는데 디자이너로 쉽게 그렸는데. 여기에 많은 입력 컨트롤들의 초기화 코드, 이벤트 처리 코드, 값 셋팅코드를 추가하는데
하다보니 너무 졸립더라.
예전 버전에서는 디자인툴에서 포함되어서 생성이 되었기에 디자이너에 넣어봤는데.. 뭔가 부족한 느낌이??? 일단 이름 지정을 일일이 해줘야 하는게
불편해... 귀찮고... 또 한번 귀차니즘 발동!!!
그래서 만들어진 소스 변환기!!
가장 왼쪽 텍스트박스 [코드:코드명] 묶음으로 등록하고 Create 클릭 >
중간에 리스트박스에 코드명으로 바인딩됨.
바인딩 된 항목을 하나 하나 클릭하면서 우측에 이름, 설명, 컨트롤 타입, 선택, 필수관련정보를 수정하면 됨.
리스트 박스에 선택된 것들은 파란색 글씨로 변환 대상으로 보여짐.
필수 항목을 체크한것은 주황색으로 표시됨.
이걸 초기화소스, 이벤트소스, 데이타 바인딩 소스, 유효성 체크 소스를 각각 클릭하면 지정된 포멧으로 소스를 변환해서
클립보드에 붙여줌.
저장하면
지정된 디렉토리 아래 ID.txt 에 컬럼목록이 저장되고,
Meta라는 폴더 아래에 각 컬럼별로 데이타를 저장해둔다.
열기하면
지정된 디렉토리 아래 파일을 읽어들이고 각 컬럼의 메타정보를 Meta아래서 읽어와서 셋팅해준다.
# 리스트박스에 색상표시 코드
private void listBox1_DrawItem(object sender, DrawItemEventArgs e)
{
e.DrawBackground();
e.DrawFocusRectangle();
ColumnInfo ci = columns.Values.ElementAt(e.Index);
if (ci.IsSelected)
{
if (ci.IsRequired)
{
TextRenderer.DrawText(e.Graphics, ci.Name, new Font(e.Font.FontFamily, e.Font.Size, FontStyle.Bold), e.Bounds.Location, Color.Orange);
}
else
{
if ((e.State & DrawItemState.Selected) == DrawItemState.Selected)
{
TextRenderer.DrawText(e.Graphics, ci.Name, new Font(e.Font.FontFamily, e.Font.Size, FontStyle.Bold), e.Bounds.Location, Color.White);
}
else
{
TextRenderer.DrawText(e.Graphics, ci.Name, new Font(e.Font.FontFamily, e.Font.Size, FontStyle.Bold), e.Bounds.Location, Color.DodgerBlue);
}
}
}
else
{
TextRenderer.DrawText(e.Graphics, ci.Name, e.Font, e.Bounds.Location, e.ForeColor);
}
}
# 리스트박스에 아이템을 입력 컨트롤들과 바인딩하는 코드
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
chkSelected.DataBindings.Clear();
chkRequire.DataBindings.Clear();
lbName.DataBindings.Clear();
txtDesc.DataBindings.Clear();
cboControlType.DataBindings.Clear();
// 선택시!!
ColumnInfo CurrentInfo = listBox1.SelectedItem as ColumnInfo;
if (CurrentInfo == null) return;
chkSelected.DataBindings.Add("Checked", CurrentInfo, "IsSelected");
chkRequire.DataBindings.Add("Checked", CurrentInfo, "IsRequired");
lbName.DataBindings.Add("Text", CurrentInfo, "Name");
txtDesc.DataBindings.Add("Text", CurrentInfo, "Desc");
cboControlType.DataBindings.Add("Text", CurrentInfo, "ControlType");
}
'# 9) My Program(.NET)' 카테고리의 다른 글
Visual Studio AddIns] Code Tip History (0) | 2016.06.03 |
---|---|
Visual Studio AddIns 개발 (0) | 2016.04.29 |
작업이력관리툴 ~!!] 수정 (3) | 2015.10.10 |
PGMMNG] DataGrid 소스 제너레이터? (0) | 2015.10.01 |
SQL_FMT] 요소들을 분해!! (0) | 2015.09.09 |
JSFW.UI Story Board] 컨트롤 갯수 제한에 걸림.
추가 수정.
지난번 수정 후 사용하는데 정상적으로 동작을 안하고 미쳐날뛴다...
이번주말에 작업을 해야지 했는데 의외로 저녁에 3시간 손봐서 마쳤다.
이번 문제는 리본바구성을 했을때, 버튼 목록을 재구성하면서 제대로 컨트롤이 안지워졌다.
판넬
- 리본버튼1
- 속성뷰
- 속성 ( 13개 )
- 속성뷰컨트롤
- 리본버튼2
- 리본버튼3
- 리본버튼4
저렇게 되어 있는데 mockup xml을 읽어들이면서 컨트롤 생성하면서 버튼만 판넬에서 지웠더니
나머지 객체들이 살아 남아서 메모리에 둥둥 떠있었다. 그래서 지난번 제거하던 소스코드를 모두 지우고
다시 지우는 코드를 다시 만들어놓고 테스트해서 원래 동작하던 코드로 만들어놨다.
for( int loop = Controls.Count ; loop <= 0 ; loop ++)
Controls[ loop ].Dispose(); // 요렇게 하니까 일일이 컨트롤에서 빼는것도 자동으로 빠진다.
------------------------------------------------------------------------------------------------------------
이번에 복잡한 화면 하나 구성하는데 ... 몇번 두번 다시 열었더니 프로그램이 뻗었다... ㅡ,.ㅡ?
이번 연휴기간에 차근 차근 확인해보니 두가지 문제가 있었는데, 예외처리를 해서 막았다.
원인은 MockupLayoutGrid 와 MockupRibbonBar 두개가 이상하게 생성되었던 컨트롤들이 제대로
제거가 안되는 현상이 있어서 화면을 열때마다 1000개씩 증가했었다. 예외처리를 계속하다가 줄이고 줄였는데...
MockupRibbonBar에서 32개짜리가 도저히 줄일 방법을 못찾겠네. 그래서 생성 자체를 막아버렸더니
동작을 제대로 한다! +_+;;; 어차피 디자인 저장된 xml 파일을 불러들여서 버튼까지 생성하는 거니까
내부에서의 프로퍼티에 의한 생성은 굳이 필요없겠지만... 왜 제대로 안지워질까??
이제 다시 프로그램이 뻗는 일은 없을 것 같다.
--------------------------------------------------------------------------------------------------------------------------
메뉴를 등록하는데 자꾸 까먹게 되네...
# 1lv
## 2lv
### 3lv 인데... 거꾸로 작업을 하게 되네.
문서 작업할때 내가 반대로 작업을 해와서 ... 쩝... 검색도 추가했다.
--------------------------------------------------------------------------------------------------------------------------
디자인 작업을 하다가 문득 떠오른 건데..
현재 PL로 있는 분들과 좀 떨어져서 개발 지원을 하고 있다. 카톡을 이용해서 엑셀로 화면정의서를 받고 전화로
내용을 전달 받고 있는데...
어차피 화면에 디자인 될 내용이니까 mockup을 화면 프레임웍에 밀어 넣어놓으면 어떨까? 싶은 생각은 들었다.
화면을 등록할때 dll이 없으면 빈 화면의 디자인 가능한 컨트롤들을 올려주면. PL은 해당 디자인을 하고, 코멘트를
거기에 달아둔 다음 개발자를 할당해주면! 개발자는 해당 화면을 열어서 소스변환을 통해 소스를 내려받고
이걸 토대로 작업을 해서 완료시킨다. 그리고 dll을 올리면 올라간 디자이너로 열리게 되는... 뭐 그런... 생각을
잠깐 했다. 정직이 아닌지라 상상만 해봤다.
'# 9) My Program(.NET) > PRJMNG' 카테고리의 다른 글
JSFW.UI Story Board] 음... 고민 좀 해봐야지. (0) | 2016.06.23 |
---|---|
JSFW.UI Story Board] 업데이트 및 기타 정리 (0) | 2016.06.22 |
JSFW.SQLFormatter] AddIns 추가적으로 알아낸것... (0) | 2016.04.22 |
JSFW.SQLFormatter] Addin... 부착 (0) | 2016.04.21 |
JSFW.Report Tools] 시작해볼까? (0) | 2016.04.20 |
Visual Studio AddIns] Code Tip History
프로젝트를 진행하다보면 화면개발이라든지, 이런 저런 노하우를 별도로 모아두게 되는데
이걸 또 찾으려면 가서 뒤져야 되고 귀찮고. 어쩌다 보면 누락도 되고 사라진다.
이걸 이번에 AddIns에 한 기능으로 붙여 넣었다.
팁명, 태그 그리고 내용으로 간단히 구성을 하고 태그와 팁명으로 쉽게 탐색할 수 있게 Directory 구성을 했다.
그래서 팁명과 태그에는 제한이 존재한다. 파일 또는 폴더에 사용할수 없는 특수기호는 입력할 수 없다.
위는 디자인된 화면이다.
이 화면은 소스편집 창에서 우측버튼을 클릭하면 기본으로 나오던 메뉴에 Soure Tip! 이란 메뉴가 추가되어 있고
이를 클릭하면 위 창이 뜬다.
필터링은 해당 디렉토리 이하 폴더명을 필터링 해서 목록을 보여주고 우측에 소스팁 부분에 소스나 코멘트등을 기록
관리 한다.
필터링을 잘 하기 위해서는 Tip명과 Tag명을 잘 적어 주면 나중에 쉽게 찾을수 있다.
만약 잘 안나타날 경우 탐색기를 띄워 해당 폴더에서 검색하면 윈도우가 찾아줄것이다.
모든 문서는 .txt로 저장된다.
기본 텍스트 박스로 만들어져 있지만... 에디터를 넣어서 만들면 좀 더 보기좋을려나???
SSMS도 넣을까 했었는데... 팁 기능을 넣어도 딱히...? 안떠오른다.
추가할 기능에 대해 좀 고민해봐야겠다.
'# 9) My Program(.NET)' 카테고리의 다른 글
상세화면 관련 소스 생성기 (0) | 2016.06.08 |
---|---|
Visual Studio AddIns 개발 (0) | 2016.04.29 |
작업이력관리툴 ~!!] 수정 (3) | 2015.10.10 |
PGMMNG] DataGrid 소스 제너레이터? (0) | 2015.10.01 |
SQL_FMT] 요소들을 분해!! (0) | 2015.09.09 |
이생각 저생각...
음... 이런 저런 생각!!
구의역에서 19살에 사고를 당한 청년!! 안타깝다.
"스크린도어" 나 역시 20대 후반 나이에 스크린도어가 막 지하철에 깔리기 시작할 때 잠깐 일한적 있다.
구석탱이에서 장비 점검하고 지하철 잘 멈추는지... 보던 시절... 그땐 코에 너무 먼지가 많이 들어와서 그만두었었다.
여기에 답글이 더 가당치 않았어. 이번 총선에서 야당을 많이 뽑아줬는데 관심이 없다고 하는 것이었어. 아마 오늘부턴가? 20대 국회의원들 시작일텐데...
물흐리려고 양비론.. 둘다 나쁜놈들이라고 하려고 하는 소리 같기도 하고... 적어도 새누리에게 지배당하는 것보다 낫지 않을까? 또 야당이 새누리같은 짓을 하면
그때 또 저울질 해서 그나마 덜 나쁜놈들 뽑다보면 악질들은 피할수 있지 않을까? 또 얘기가 흘렀네...
okky에 자산에 관심있고 일본에 있으며 대한민국 10%에 못들어가있다고 여기저기 똥싸고 다니는 애가 요새 오키에서 안보인다 했더니
다른데 가서 그러고 있나보던뎅... 정체가 뭘까? 정말 일본에서 일하는 개발자일까? 코드는 칠수 있을까?? 세상엔 희안한 놈도 많아.
오늘은 퇴근하는데 누리교육지원 관련 시위를 하고 있더라. 왜? 시청앞에서 시위를 할까?
청와대나 여의도 새누리 당사 앞에서 해야지...? 번지수를 잘 못 찾은게 아닐까?
보육교사들의 월급은 원장이 책임져야 되는거 아닌가? 나라에서 지원받는 것이라곤 하지만...
공약한사람은 따로 있고 집행하는 사람은 따로 있나? 집행하는 사람은 돈 못받았다는데 비상금꺼내줘야 할 판이잔아.
우리나라의 미래의 주역들이 될 어린 아이들을 볼모로 하는 진짜 나쁜놈들은 누구인가???
후 ~ !
이런 저런 생각들이 많아 정리가 안되고 정체되어 있는 기분이네...
'--- 취미 > 생각하기' 카테고리의 다른 글
SI 와 SM... (0) | 2016.11.27 |
---|---|
비가 많이 오네.... (0) | 2016.07.01 |
1박2일에 나온 내가 살던 섬 '율도' (0) | 2016.05.29 |
요샌 좀 한간하네?? (0) | 2016.05.21 |
개발자 커뮤니티가 썰렁해... (0) | 2016.05.11 |
1박2일에 나온 내가 살던 섬 '율도'
저번주에 달리도에 이어 외달도 그리고 율도!
내가 5학년 여름까지 자라온 고향. 선산도 있고 조상님들이 계신곳... 마을회관에 모여계신 어르신들도 보이고 재미있게 봤다.
차태현과 데프콘이 남았는데 다음주에도 조금이나마 더 볼 수 있겠네.
그래도 율도에 60가구나 있네. 뒷마을에 대해서는 전혀 안나왔던게 조금 아쉽네. 다른 섬들도 사정이 비슷했을텐데, 그래도 내가 살던 섬이라
옛날 생각도 나고 어릴때 친구들도 떠오르고... 잘들 지내고 있겠지?
'--- 취미 > 생각하기' 카테고리의 다른 글
비가 많이 오네.... (0) | 2016.07.01 |
---|---|
이생각 저생각... (0) | 2016.05.30 |
요샌 좀 한간하네?? (0) | 2016.05.21 |
개발자 커뮤니티가 썰렁해... (0) | 2016.05.11 |
음... 더 만들게 없네? (0) | 2016.05.05 |
요샌 좀 한간하네??
아직 회사에서 일 시작 전이기도 하고, 또 딱히 만들어야 할 프로그램도 없고.
그래서 뉴스도 보고 이런 저런 다른 것들을 보려고 노력중이다.
------ 개발자 사이트 okky ----------------------
그러던 중 내가 자바 개발자가 아니라서 안들어가던 okky( 구 okjsp ) 를 들어갔다. 전에 자바 개발할 때 잠깐 눈팅하던 곳을 요즘도 눈팅하러 들어간다.
근데 골때린넘이 거기도 있더라. 남에 자산이 왜 궁금하지? 일본에 일하러 가있다면서 34살 자산이 4억정도있고 현재 얼만데 이것밖에 못벌었다고...
그거보면서 많이 벌어놨네라면 부러웠는데... 이 넘이 점점 글을 또라이처럼 쓰더니 어느날 갑자기 짤렸는지 글도 모두 사라졌다.
근데 또 다른 아이디로 비슷한 글을 쓰는 놈이 있다가 하루 정도 있다가 짤렸는지 사라졌다. 여긴 글도 지워버리더라...
몇명이 그런식으로 사라져버리던데... 그러면서 커뮤니티 내에서 의견이 나왔다. 신고기능으로 글에 투표같은걸 해서 일정 수준이 넘으면 자동으로 제제 되는 형태로 의견들이 모아지더니... 대뜸 한사람이 글을 썼는데... 내 머리속에 ?(물음표)가 계속 뜨네???
우선 그 사람은 오래된 개발자이고 오키에서 오래 활동한 개발자인듯 하고, 또 요새 몸이 안좋은것 같고, 위에 골때린넘과 대립이 많았던 사람 같았다.
위에서 제안되어진 의견들이 오키에서 제대로 반영을 안해준다고 실망섞인 글을 써놨더라.
okky는 왼쪽 아래 보면 git으로 소스가 오픈되있고, 얼마전에 소스 기능을 수정하고자 문의 한 글에서 보면 수정가능하다고 써있었으며, git 소스를 구동하는 것도 유튜브를 통해 가르쳐주던데...
해당 의견을 반영하고자 하면 개발자들이 모이는 이 사이트에서 수정을 관리자만? 해야 하나? 그 관리자도 자기 일하느라 바쁠텐데???
그만한 연차도 되는 것 같던데 자기가 시간을 내서 수정해도 될 것 같아보이던데? 그렇게 글을 쓰는게 아니고 git에 해당 기능을 추가하는 개발자를 모았으면
okky가 괜찮은 사이트네 라고 생각했을 것 같은데, 특별할게 없는 개발자 사이트라는 느낌이 들었다. 좀 더 지켜봐야겠지?
그나마 개발자들이 많이 모이는 곳이 okky였다. 단순히 프로그래밍 소스 질문의 답이 아닌 사는 이야기... 대부분 신입인데 어떻게 해요? 이직해야 되는데..라든가
훈스닷넷도 한때는 활발했었던것 같은데... 훈스닷넷도 이제 질문글들도 많이 줄었다. 게시판 글은 거의 안올라오고...
그만큼 닷넷 개발자들이 없는 거겠지? sqler도 쿼리쪽 질문 말고는 거의 없고, 다음 카페도 출책 빼고는 거의 뭐...
닷넷 개발자들은 다들 일만 하나? 개발자라기 보다 다들 직장인으로써 열심히 살겠지머...
------ 사건 사고 ------------------------------
또 이번 강남역 사건을 보면... 마음이 아프지...
우리나라 법은 언제쯤 바뀔까? 사고 쳐놓고 돈이 많아서 권력자들과 연이 있거나, 술을 마셨거나, 처음이었다거나, 정신이상이었거나, 반성기미를 보이거나하면
처벌 수위가 감형이 되잖아. ( 원래 법도 그렇게 안 센듯... 돈없고 힘없으면 법의 집행 강도가 세짐. )
왜 당한사람 억울하게 3자가 그걸 감형해주는거야? 용서 받을수 있는 일이 있고, 그렇지 않은 일이 있을텐데...
가끔 이런 일들이 터질때 마다 고민하게 된다.
내 가족들에게 저런 일이 생기면 나는 과연 어떻게 행동할까? 항상 생각의 끝은 굉장히 극단적인 선택이 되더라.
그래서 항상 마음속에 평화를 외친다. 가족들이 별탈없기를 간절히 바라고 또 바란다.
대한민국이 빨리 평화롭게 되었으면 좋겠다. 바로 섰으면 좋겠다.
------- 역사 ?? --------------------------------
지난번 AOA사건은... 썼던 거라서... 잘 해결되었으면 좋겠다.
그렇게 물어뜯는 넘들은 과연 역사에 대해 얼마나 알까? 5.18이 몇일전에 지나갔지? 그걸 폭동이라는 넘들도 많이 있고( 댓글부대? ).
나 어릴적 섬에 살때 어떤 책을 어린 내가 본게 아직도 몇몇 장면을 기억한다. 국민학생이 보기엔 너무 무서운 사진들이었다.
잔인하게 죽어가는 사람들 사진, 시체사진들...
이번에 선거로 또 광주는 고립지역이 되었지? 정치하는 넘들이 대한민국을 찢어내고 있다. 그렇게 찢기 시작한게 누군지... 알지...
------ 신입들 인사와 퇴근? -------------------
okky에서 본 글중에 신입들이 각 팀마다 돌아다니며 크게 인사를 하는데 처음엔 싫었는데 보다 보니 좋았다는 경험을 쓴 글...
지금 프로젝트 진행하는 회사가 올해 초 신입들 뽑았을때 저렇게 다녔는데... 옆에 프리분들과 미쳤나봐. 저런것도 시키나봐. 그랬는데...
어차피 신입들이야 뭐 시키니까 또 그때는 그렇게 해야 된다고 배울테니까... 그분들이 우리쪽에 오면 굉장히 불편했다.
그 신입들의 선배역할도 하지 않는 내게 인사하러 오는 이들에게 여기 직원 아니예요 했지만... 보는 눈들이 있어서 그런지 ...
오더라!!
퇴근할때도 쭉~~ 돌면서 인사하러 다니고... 왜 그런걸까? 선배들 얼굴 익히게 해주려고?
그럴거면 내 생각엔 그냥 일주일씩 한팀씩 돌아가며 순차적으로 어떤 일들을 선배들이 하는지 경험할 수 있게 해주고
각 팀에서 한달 후에 추첨이나 지망으로 뽑아가면 좋을 것 같은데...
퇴근은 선배가 모범을 보여줘야지? 일을 일과시간에 열심히 하고 퇴근할때는 딱! 가버렷.. 좀.... 제발 가...
------ 난 바쁜데 옆사람은 놀아... -------------
프리입장에서 옆사람은 논다는건 둘중 하나이다.
제 일도 제대로 못하면서 노는 놈과 자기일 끝내놓고 노는 사람.
자기일 못하면서 노는 놈들은 프로젝트들어가면 꾀 있다. 왜냐면? pm이나 pl이 업무분장을 하면서 일을 줬다가 빨리 하는 사람에게
못하는 놈의 일을 넘겨주니까! 난 그런것 못본다. 내꺼 끝나면 퇴근! 처리 못하고 노는 놈꺼 온거면 거절! 또는 내일도 일정에 딱딱 맞춰서 끝낸다.
우선순위 젤 뒤로 미루고 정 부탁을 계속 하면 싫은티를 졸라 내면서 한다. 왜 그 놈도 인건비 받으면서 일하는데 그 놈일을 내가 왜 해줘야 하는가?
초급이라면 충분히 해줄 수 있고 배우려고 하면 알려 줄 수도 있다. 중급, 고급이라면... 문제가 좀 있지?
보통 난 일을 최대한 빨리 결과물을 보여주려고 한다. 항상 다시 개발해야되니까! ( 현업이 보고, 써보고 요구사항을 바꾼다. )
운좋으면 한 두번만에 끝나지만, 나쁘면 몇번이고 같은페이지 작업을 또 한다.
지금 있는 곳의 플젝은 쿼리 끝나면 30분 내에 화면개발이 끝낼 수 있다. 프로그램으로 디자인하고 소스를 찍어내고 쿼리와 연결하면 되니까.
쿼리와 연결되는 소스들도 프로그램과 쿼리르 이용해서 소스를 만들어내기때문에 붙여넣기만 하면 된다.
그럼에도 난 남의 일은 굳이 해줘야 할 이유가 없다. 요즘 짜증나는 일이 있지만, 아직 플젝 개발이 시작안되었으니 그냥 해주고 있다.
나에게 떨어진 일이 없으니까. 그냥 돈받기는 미안하니까! 라는 마음때문에...?
'--- 취미 > 생각하기' 카테고리의 다른 글
이생각 저생각... (0) | 2016.05.30 |
---|---|
1박2일에 나온 내가 살던 섬 '율도' (0) | 2016.05.29 |
개발자 커뮤니티가 썰렁해... (0) | 2016.05.11 |
음... 더 만들게 없네? (0) | 2016.05.05 |
20대 국회의원 선거... (0) | 2016.04.16 |
Sqler에 있는 질문에 대해 풀어봤다.
피벗으로 하는 건데...
문제 차제가 조금 데이타가 부족해보였다.
그림에 보이는데로 나오는 걸 일부 수정해서 풀었지만...
동적으로 늘어나는 데이타 컬럼에 대해서 처리를 위해 동적쿼리를 만들어야 되는데...
과연? 얼마나 사이즈가 늘어날지는 실 데이타로 처리 해봐야 하니 .. 모르겠고,
문제 : http://www.sqler.com/828698#1
## 첫풀이 : 공백으로 처리 했지만 char(10)으로 바꾸면 enter값을 넣어서 뿌리는 건 비슷하게 나온다.
;with tb
as
(
SELECT ITEM_CD, SPEC, SO_DT + ' ' + DLVY_DT + ' '+ SOLD_TO_PARTY_NM as HD, SO_QTY
FROM (
VALUES
( '41-P006-IVM', 'GAP-6 IV', '2016-05-10', '2016-05-13', 'TMEH-J', 2400 ),
( '41-P006-IVM', 'GAP-6 IV', '2016-05-12', '2016-05-20', 'TMEH-J', 4800 ),
( '41-P006-IVM', 'GAP-6 IV', '2016-05-17', '2016-05-20', 'TMEH-J', 10800 ),
( '41-P006-IVM', 'GAP-6 IV', '2016-05-13', '2016-05-20', 'AXIS', 2400 )
) AS TB ( ITEM_CD, SPEC, SO_DT, DLVY_DT, SOLD_TO_PARTY_NM, SO_QTY )
)
SELECT *
from tb
pivot
(
sum( SO_QTY ) for HD in (
[2016-05-13 2016-05-20 AXIS],
[2016-05-10 2016-05-13 TMEH-J],
[2016-05-12 2016-05-20 TMEH-J],
[2016-05-17 2016-05-20 TMEH-J]
)
) as pt
## 두번째 풀이 : 헤더값을 결과로 만들어 Union 처리 하는 방법.
;with tb
as
(
SELECT ITEM_CD, SPEC, SO_DT, DLVY_DT, SOLD_TO_PARTY_NM, SO_QTY
FROM (
VALUES
( '41-P006-IVM', 'GAP-6 IV', '2016-05-10', '2016-05-13', 'TMEH-J', 2400 ),
( '41-P006-IVM', 'GAP-6 IV', '2016-05-12', '2016-05-20', 'TMEH-J', 4800 ),
( '41-P006-IVM', 'GAP-6 IV', '2016-05-17', '2016-05-20', 'TMEH-J', 10800 ),
( '41-P006-IVM', 'GAP-6 IV', '2016-05-13', '2016-05-20', 'AXIS', 2400 )
) AS TB ( ITEM_CD, SPEC, SO_DT, DLVY_DT, SOLD_TO_PARTY_NM, SO_QTY )
), src
as
(
select ITEM_CD, SPEC, SO_DT + ' ' + DLVY_DT +' '+ SOLD_TO_PARTY_NM as HD, SO_QTY
from tb
), hd1
as
(
select ITEM_CD, SPEC, SO_DT + ' ' + DLVY_DT +' '+ SOLD_TO_PARTY_NM as HD, SO_DT
from tb
)
, hd2
as
(
select ITEM_CD, SPEC, SO_DT + ' ' + DLVY_DT +' '+ SOLD_TO_PARTY_NM as HD, DLVY_DT
from tb
)
, hd3
as
(
select ITEM_CD, SPEC, SO_DT + ' ' + DLVY_DT +' '+ SOLD_TO_PARTY_NM as HD, SOLD_TO_PARTY_NM
from tb
)
select *, 1 as odr--ITEM_CD, SPEC, [2016-05-13 2016-05-20 AXIS],[2016-05-10 2016-05-13 TMEH-J],[2016-05-12 2016-05-20 TMEH-J],[2016-05-17 2016-05-20 TMEH-J]
from hd1
pivot
(
min( SO_DT ) for HD in (
[2016-05-13 2016-05-20 AXIS],
[2016-05-10 2016-05-13 TMEH-J],
[2016-05-12 2016-05-20 TMEH-J],
[2016-05-17 2016-05-20 TMEH-J]
)
) as pt
union
select *, 2 as odr--ITEM_CD, SPEC, [2016-05-13 2016-05-20 AXIS],[2016-05-10 2016-05-13 TMEH-J],[2016-05-12 2016-05-20 TMEH-J],[2016-05-17 2016-05-20 TMEH-J]
from hd2
pivot
(
min( DLVY_DT ) for HD in (
[2016-05-13 2016-05-20 AXIS],
[2016-05-10 2016-05-13 TMEH-J],
[2016-05-12 2016-05-20 TMEH-J],
[2016-05-17 2016-05-20 TMEH-J]
)
) as pt
union
select *, 3 as odr--ITEM_CD, SPEC, [2016-05-13 2016-05-20 AXIS],[2016-05-10 2016-05-13 TMEH-J],[2016-05-12 2016-05-20 TMEH-J],[2016-05-17 2016-05-20 TMEH-J]
from hd3
pivot
(
min( SOLD_TO_PARTY_NM ) for HD in (
[2016-05-13 2016-05-20 AXIS],
[2016-05-10 2016-05-13 TMEH-J],
[2016-05-12 2016-05-20 TMEH-J],
[2016-05-17 2016-05-20 TMEH-J]
)
) as pt
union
select ITEM_CD, SPEC,
convert(varchar,[2016-05-13 2016-05-20 AXIS]),
convert(varchar,[2016-05-10 2016-05-13 TMEH-J]),
convert(varchar,[2016-05-12 2016-05-20 TMEH-J]),
convert(varchar,[2016-05-17 2016-05-20 TMEH-J]),
9999 as odr
from src
pivot
(
sum( SO_QTY ) for HD in (
[2016-05-13 2016-05-20 AXIS],
[2016-05-10 2016-05-13 TMEH-J],
[2016-05-12 2016-05-20 TMEH-J],
[2016-05-17 2016-05-20 TMEH-J]
)
) as pt
order by odr
'# 7) 데이타베이스 > Ms-Sql' 카테고리의 다른 글
sqler 문제 풀이. (0) | 2017.05.22 |
---|---|
sqler에 올라온 질문글... (0) | 2016.09.12 |
Sqler에 있는 질문에 대해 풀어봤다. (0) | 2016.05.13 |
Sqler에 있는 질문에 대해 풀어봤다. (0) | 2016.05.11 |
경고: 집계 또는 다른 ... 어쩌고 저쩌고 (0) | 2016.02.17 |