다음 카페에서 보내온 쪽지 중...
음.. 왠지 요즘 연말일때.. 괜찮은 글 같아서...
==== 좋은 글 전문 =====================================================================
잘 지냈는가?"
물어오는 당신의 안부전화는
하루종일 분주했던 내 마음에
커다란 기쁨 주머니를 달아주는 말입니다.
"고맙소"
가만히 어깨 감싸며 던진 말 한마디는
가슴 저 깊이 가라앉는 설움까지도
말갛게 씻어주는 샘물과 같은 말입니다.
"수고했어"
엉덩이 툭툭치며 격려해주는
당신의 위로 한마디는
그냥 좋아서 혼자 걸레질 하고난
신나는 말입니다.
"최고야"
눈 찔끔감고 내민 주먹으로
말하는 그말 한마디는
세상을 다 얻은듯한 가슴뿌듯한 말입니다.
"사랑해"
내 귓가에 속삭여주는
달콤한 사랑의 말한마디는
고장난 내 수도꼭지에서
또 눈물을 새게 만드는
감미로운 음악과도 같은 말입니다.
자~ 오늘도...
"화이팅"을 외치세요
주먹을 불끈 쥐고 구호와 함께요.
그리고 아프지 마세요~
오늘 하루도 선물입니다.
'--- 취미 > 생각하기' 카테고리의 다른 글
KCC 프로젝트를 마치며... ( 1 ) (0) | 2011.03.09 |
---|---|
기대감? 내가 너무 큰 것을 바랬나? (0) | 2010.12.19 |
[용어] 엥겔지수가 뭔가? (0) | 2010.11.18 |
아 또 다시 찾아오는 슬럼프인가??? (0) | 2010.09.05 |
침묵이 필요할때~~~ (0) | 2010.07.02 |
[C#]Box 그리기...
훈스에 올라온 질문에 답글한것임..
주석 없음!
public partial class Form1 : Form
{
Box b = new Box();
public Form1()
{
InitializeComponent();
b.Change += () => Invalidate();
}
int offset = 3;
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == Keys.Left)
{
b.X -= offset;
}
if (keyData == Keys.Right)
{
b.X += offset;
}
if (keyData == Keys.Up)
{
b.Y -= offset;
}
if (keyData == Keys.Down)
{
b.Y += offset;
}
return base.ProcessCmdKey(ref msg, keyData);
}
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
b.Draw(e.Graphics);
}
}
public class Box
{
public delegate void __delegateOnChange();
Rectangle rct = new Rectangle();
public Box()
{
lineColor = Color.Red;
lineWidth = 2f;
rct.Width = 10;
rct.Height = 10;
}
public Size Size { get { return rct.Size; } set { rct.Size = value; OnChange(); } }
public Point Location { get { return rct.Location; } set { rct.Location = value; OnChange(); } }
public int X { get { return rct.X; } set { rct.X = value; OnChange(); } }
public int Y { get { return rct.Y; } set { rct.Y = value; OnChange(); } }
public int Width { get { return rct.Width; } set { rct.Width = value; OnChange(); } }
public int Height { get { return rct.Height; } set { rct.Height = value; OnChange(); } }
Color lineColor = Color.Red;
public Color LineColor { get { return lineColor; } set { lineColor = value; OnChange(); } }
float lineWidth = 2f;
public float LineWidth { get { return lineWidth; } set { lineWidth = value; OnChange(); } }
public event __delegateOnChange Change = null;
public virtual void OnChange()
{
if (Change != null) Change();
}
public void Draw(Graphics g)
{
g.DrawRectangle(new Pen(LineColor, LineWidth), this.rct);
}
}
'# 4) .Net ( Vs 2010 ) > C#' 카테고리의 다른 글
[IPC] Event 추가 ~~ (0) | 2011.05.14 |
---|---|
LINQ] 로또 구하기? (1) | 2011.04.25 |
[C#]TabControl에서 특정 TabPage를 안보이게 감추기.. (0) | 2010.11.26 |
[LINQ] 콤마 구분자 넣기? (0) | 2010.11.24 |
ChartFX 확장! (0) | 2010.10.05 |
[C#]TabControl에서 특정 TabPage를 안보이게 감추기..
Hidden으로 지정된 페이지는 표시를 감춘다..
훈스에 질문이 올라왔길래 만들어봤음..
짧은 생각으론 그냥 패널 하나 감춰놓고 거기에 두면 되지 않을까 라는 생각에 리플 남기고 보니..
데이타들이 그룹으로 다녀야 된다면.. 숨겨둔 패널까지 데리고 다닐라면 골아프니...
public class UcTabControl : TabControl
{
public TabPage HiddenPage {get; private set;}
private int hiddenPageIndex = -1;
public int HiddenPageIndex
{
get { return hiddenPageIndex; }
set
{
if (0 <= value && value < this.TabPages.Count)
{
if( HiddenPage != null && !this.TabPages.Contains( HiddenPage ) )
{
this.TabPages.Add(HiddenPage);
}
HiddenPage = this.TabPages[value];
hiddenPageIndex = value;
}
else
{
HiddenPage = null;
hiddenPageIndex = -1;
}
Hidden();
}
}
public UcTabControl()
{
}
protected override void InitLayout()
{
base.InitLayout();
Hidden();
}
private void Hidden()
{
if (!DesignMode)
{
if (HiddenPage != null && this.TabPages.Contains(HiddenPage))
this.TabPages.Remove(HiddenPage);
}
}
}
'# 4) .Net ( Vs 2010 ) > C#' 카테고리의 다른 글
[IPC] Event 추가 ~~ (0) | 2011.05.14 |
---|---|
LINQ] 로또 구하기? (1) | 2011.04.25 |
[C#]Box 그리기... (0) | 2010.11.29 |
[LINQ] 콤마 구분자 넣기? (0) | 2010.11.24 |
ChartFX 확장! (0) | 2010.10.05 |
[LINQ] 콤마 구분자 넣기?
가끔 배열형태의 값을 콤마로 구분해서 문자열로 바꿔야 할때마다 foreach를 돌렸었는데...
훈스에 올라온 질문에 답글달았었는데 [후후예아]님이 좀더 깔끔하게 만드는 방법을 리플로...
아래... 빨간 1줄이
파란 6줄... 결과는 쌤쌤.
string data = "a, b, c, d , e , f " ;
var k = data.Split(',').Except<string>( new string[]{ "a" }, this );
string re = string.Join(",", k.ToArray());
string result = "";
foreach (var item in k)
{
result += item + ",";
}
result = result.TrimEnd(',');
'# 4) .Net ( Vs 2010 ) > C#' 카테고리의 다른 글
[IPC] Event 추가 ~~ (0) | 2011.05.14 |
---|---|
LINQ] 로또 구하기? (1) | 2011.04.25 |
[C#]Box 그리기... (0) | 2010.11.29 |
[C#]TabControl에서 특정 TabPage를 안보이게 감추기.. (0) | 2010.11.26 |
ChartFX 확장! (0) | 2010.10.05 |
[javascript] 정규식 관련..
금액 입력 필드에 포맷 체크..
fmt : #,###.## 소수점두째자리 까지인듯.
또... #,###,## 해도 정상 금액으로 받아들임.. ㅋㅋ
스크립트...
function fnCheckNumber( txt )
{
var pttr = /^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$/
if( pttr.test( txt.value ) == true )
{
alert('Yes 금액.');
}
else
{
alert('No 금액.');
}
}
정규식 설명을 잘해놓은곳에서 정규식을 퍼왔음.
정규식을 공부할때 여기서 설명된걸 보면 많은 도움이 될것 같음...
http://www.bikerslab.com/blog/?mb_id=zeron&id=40
'# 6) JavaScript' 카테고리의 다른 글
javascript] OOP정리. class 처럼 생성해보기. (0) | 2014.05.23 |
---|---|
자바 스크립트] XOR 암호화. (0) | 2010.12.31 |
메뉴] 자바스크립트로 만든 메뉴 객체 (0) | 2009.05.09 |
자바스크립트 Array사용 (0) | 2009.05.08 |
자바스크립트 디버거 (0) | 2009.05.08 |
[용어] 엥겔지수가 뭔가?
엥겔지수
가계 수입에 대하 식료품 지출 비중을 뜻하는 말인듯함.
수입이 낮아지더라도 식료품비는 크게 차이가 나지 않을테니
저소득층의 엥겔지수가 높다. 이건 곳 수입이 줄어 식료품비 지출비중이 자동 커지는 ...
말그대로 살기 힘들다 라는거쥐...
고소득층에는 먹고 사는데 크게 비중이 없을테니... 에휴.. 로또나 하나 맞았으면..
'--- 취미 > 생각하기' 카테고리의 다른 글
기대감? 내가 너무 큰 것을 바랬나? (0) | 2010.12.19 |
---|---|
다음 카페에서 보내온 쪽지 중... (0) | 2010.12.02 |
아 또 다시 찾아오는 슬럼프인가??? (0) | 2010.09.05 |
침묵이 필요할때~~~ (0) | 2010.07.02 |
한순간에 방심으로 죽을뻔했다... (0) | 2010.05.03 |
[JsFW40] 코딩을 시작하다!!
설계를 대략 마치고 드디어 코드를 시작했다.
Vs2010 을 이용해 좀더 유연한 코드로 생산성을 높여보고 있다.
( 앗! 실컷 네임 스페이스 정의해놓은걸 버렸나보네 .. ㅠㅠ )
# 우선순위 높은순서
- PLUGIN_Namespace
- XML_Namespace
- WINDOWCONTROL_Namespace
- UTIL_Namespace
- DEBUG_Namespace
- ADONET_Namespace
- BASECOMMON_Namespace
- NETWORK_Namespace
# LINQ + 람다 + 확장메서드로 좀더 유연한 표현을 해보자!!
소감 -> 표현하는데 간결하고 코드라인이 확 줄어서 너무 좋다!
위에꺼 모두 작성할건 아니고...
이전 JsFW20 에서 가져올건 가져오되 코드 수준을 4.0에 포커스를 맞추기 위해 모두 변환 할 것임.
필요없어 보이는건 과감히 버린다.
'# 9) My Program(.NET) > JsFW40' 카테고리의 다른 글
금전관리 프로그램. (0) | 2015.09.26 |
---|---|
그리드 폼 만들기 (2) (0) | 2014.03.18 |
그리드 폼 만들기 (1) (0) | 2014.03.15 |
PRJMNG] JS 디자이너~ (0) | 2012.12.27 |
jsfw ] New Version! (0) | 2012.05.13 |
[LINQ] group by 여러조건 넣기.
Chart 질문에 답변을 했었는데...
질문하셨던분이 아래와 같은 쿼리에 힌트를 주셔서... 아싸! 레어템...
전에 LINQ에 그룹바이 조건에 여러개를 어떻게 넣나 고민하다가 많이 안쓰는 관계로 미뤘었고,
Chart 구현시에도 그룹바이를 좀 다르게 썼었는데...
조금더 고민하면 한번에 그룹바이로 안되려나?
DataTable dt = new DataTable();
dt.Columns.Add("YM");
dt.Columns.Add("ID");
dt.Columns.Add("CNT", typeof(double));
dt.Rows.Add("2010-10", "홍", 4d);
dt.Rows.Add("2010-10", "홍", 3d);
dt.Rows.Add("2010-10", "이", 1d);
dt.Rows.Add("2010-09", "홍", 2d);
dt.Rows.Add("2010-09", "이", 5d);
var tmp = from j in
(from o in dt.AsEnumerable()
group o by new { ID = o.Field<string>("ID"), YM = o.Field<string>("YM") } into k
select new
{
Key = k.Key.YM,
CNT1 = k.Sum(R => k.Key.ID == "홍" ? Convert.ToDouble(R.Field<object>("CNT")) : 0),
CNT2 = k.Sum(R => k.Key.ID == "이" ? Convert.ToDouble(R.Field<object>("CNT")) : 0)
})
group j by new { Key = j.Key } into T
select
new {
Key = T.Key,
CNT1 = T.Sum( R => R.CNT1 ),
CNT2 = T.Sum(R => R.CNT2),
};
결과로 그룹바이 된 컬럼으로 나타남.
[ 년도 , CNT1 , CNT2 ]
그룹바이를 두번해야되긴 하지만...
그 나마 많이 줄었다..
'# 3) .Net ( Vs 2008 ) > C#' 카테고리의 다른 글
vs2008] WMI 관련.. (0) | 2011.08.16 |
---|---|
노트북 셋팅.. (0) | 2011.08.02 |
MS-Chart Demo (0) | 2010.11.05 |
포스트 잇 처럼 메모하는 레이아웃!! (0) | 2010.09.30 |
Ms Access 사용하기 예제소스. (0) | 2010.08.11 |
[MS-SQL]쿼리에 대한 성능 비교 해보기..
[쿼리1.]
SELECT CNT, CASE WHEN 4 <= RET AND RET <= 7 THEN 1 ELSE 0 END RET, CASE WHEN 6 <= [PLAN] AND [PLAN] <= 10 THEN 1 ELSE 0 END PL
FROM @TABLE
WHERE RET BETWEEN 4 AND 7 OR [PLAN] BETWEEN 6 AND 10
SELECT ISNULL(SUM( CASE WHEN RET = 1 THEN CNT ELSE 0 END ),0) RETSUM , ISNULL(SUM( CASE WHEN PL = 1 THEN CNT ELSE 0 END ),0) PLANSUM
FROM(
SELECT CNT, CASE WHEN 4 <= RET AND RET <= 7 THEN 1 ELSE 0 END RET, CASE WHEN 6 <= [PLAN] AND [PLAN] <= 10 THEN 1 ELSE 0 END PL
FROM @TABLE
WHERE (RET BETWEEN 4 AND 7 OR [PLAN] BETWEEN 6 AND 10)
)K
[쿼리2.]
SELECT SA, SB
FROM
(
SELECT 'A' [KEY], SUM( CNT ) SA
FROM @TABLE
WHERE RET BETWEEN 4 AND 7
) A
INNER JOIN
(
SELECT 'A' [KEY], SUM( CNT ) SB
FROM @TABLE
WHERE [PLAN] BETWEEN 6 AND 10
)B
ON A.[KEY] = B.[KEY]
실행계획
http://aseuka.tistory.com/entry/MS-SQL 이 글에 이어 써본다.
위 두 쿼리 결과는 동일하게 4, 5가 나온다.
다만 테이블을 1번 읽었을때와 2번읽었을때를 비교해보기 위해 이글을 써보며
아직 해당 지식이 완전하게 흡수하지 못한점을 미리 써둔다.
일단 IO가 많이 발생하면 쿼리 개선이 필요하다고 하니...
1번 쿼리 2번 쿼리
IO 비용 : 0.0032035 (0.003125 * 2)
또 마지막 결과에 대한 트리비용에 대해 확인해보자
1번 쿼리 2번 쿼리
예상 하위 트리비용 : 0.0032846 0.0065743
Sort는 둘다 일어나지 않는다!
수치적으로 두배정도 차이나는데
2번 쿼리는 굳이 필요없는 Nested Loops 를 하고 있는 점.
동일 쿼리를 2번 행하고 있는것... 그림으로만 봐도 두배는 걸리는게 맞을것이다.
전에도 실행계획을 보다 보다 모르는게 많아서 패스 했는데
이참에 찾아서 정리해야겠다.
? Stream Aggregate
? Compute Scalar
? Nested Loops
Hash.. 어쩌고 저쩌고.. 참 많은뎁!!
'# 7) 데이타베이스 > Ms-Sql' 카테고리의 다른 글
[MS-SQL] CTE 로 부서 이하직원들 불러올리는 쿼리... (0) | 2011.01.05 |
---|---|
[ms-sql] Xml <--> DataTable 변환 쿼리... (0) | 2010.12.31 |
[MS- SQL] 한방에 두개의 범위 데이타 그룹바이 걸기 (0) | 2010.11.05 |
[MS-SQL] 누적 계산에 사용한 쿼리... (0) | 2010.10.23 |
[MS-SQL] SELECT 쿼리.. (0) | 2010.10.23 |
[MS- SQL] 한방에 두개의 범위 데이타 그룹바이 걸기
하나의 데이타 테이블에서 두개의 컬럼의 각각 범위로 조회를 한방에 해서
각각의 그룹바이를 취하는 방법...
역시 공부한 보람이 있다눈..
아래 그림에서 보다싶이 원본데이타에서
범위를 지정해서 범위내 데이타에 대해 컬럼 값을 1로 치환 하고
그 데이타를 그룹바이 걸어서 각각 값을 구하는 방법임.
declare @table table
(
[Cnt] int,
[ret] int,
[plan] int
)
insert into @table values(1, 1, 6 );
insert into @table values(1, 2, 7 );
insert into @table values(1, 3, 8 );
insert into @table values(1, 4, 9 );
insert into @table values(1, 5, 10 );
insert into @table values(1, 6, 11 );
insert into @table values(1, 7, 12 );
insert into @table values(1, 8, 13 );
select * from @table
SELECT CNT, CASE WHEN 4 <= RET AND RET <= 7 THEN 1 ELSE 0 END RET, CASE WHEN 6 <= [PLAN] AND [PLAN] <= 10 THEN 1 ELSE 0 END PL
FROM @TABLE
WHERE RET BETWEEN 4 AND 7 OR [PLAN] BETWEEN 6 AND 10
SELECT ISNULL(SUM( CASE WHEN RET = 1 THEN CNT ELSE 0 END ),0) RETSUM , ISNULL(SUM( CASE WHEN PL = 1 THEN CNT ELSE 0 END ),0) PLANSUM
FROM(
SELECT CNT, CASE WHEN 4 <= RET AND RET <= 7 THEN 1 ELSE 0 END RET, CASE WHEN 6 <= [PLAN] AND [PLAN] <= 10 THEN 1 ELSE 0 END PL
FROM @TABLE
WHERE (RET BETWEEN 4 AND 7 OR [PLAN] BETWEEN 6 AND 10)
)K
'# 7) 데이타베이스 > Ms-Sql' 카테고리의 다른 글
[ms-sql] Xml <--> DataTable 변환 쿼리... (0) | 2010.12.31 |
---|---|
[MS-SQL]쿼리에 대한 성능 비교 해보기.. (0) | 2010.11.05 |
[MS-SQL] 누적 계산에 사용한 쿼리... (0) | 2010.10.23 |
[MS-SQL] SELECT 쿼리.. (0) | 2010.10.23 |
[ MS-SQL ] 간단한 쿼리인데 3개의 Row에 대해 계산해서 한행 추가 (0) | 2010.10.23 |