<XAML>

<UniformGrid Columns="2" Rows="2"><!-- 디폴트 :Panel처럼 알아서 Contents를 넣어줌

(화면크기에 맞춰서 알아서) 행이나 열갯수를 정해주면 그거에 맞춤/ 행과열을 모두 정해주면

그에맞는 수만큼만 넣어주고 나머지는 가려짐-->

<Button>Btn1</Button>

<Button>Btn2</Button>

<Button>Btn3</Button>

<Button>Btn4</Button>

<Button>Btn5</Button>

<Button>Btn6</Button>

<Button>Btn7</Button>

</UniformGrid>


 

 

<C#>

   - XAML

<UniformGrid Columns="5" Rows="5" Name="grid">

</UniformGrid>

 

   - C#

for (int i = 0; i < 7; i++)

{

Button btn = new Button();

btn.Content = "Btn" + i.ToString();

grid.Children.Add(btn);

}


by 피요히코~ 2009. 2. 25. 12:50

<XAML> 

 

 <Grid ShowGridLines="True"> <!--ShowGridLines : 그리드 라인 보이기 옵션-->

<Grid.ColumnDefinitions> <!--3열 정의-->

<ColumnDefinition Width="50"></ColumnDefinition>

<ColumnDefinition Width="*"></ColumnDefinition>

<ColumnDefinition Width="50"></ColumnDefinition>

</Grid.ColumnDefinitions>

<Grid.RowDefinitions><!--2행 정의-->

<RowDefinition Height="50"></RowDefinition>

<RowDefinition></RowDefinition>

</Grid.RowDefinitions>

<!--<Button Grid.Column="0">Btn1</Button>--><!--들어갈 열값 명시 - 디폴드는 다 0행0열-->

<StackPanel Grid.Column="0">

<Button>Btn1</Button>

<Button>Btn4</Button>

</StackPanel>

<Button Grid.Column="1">Btn2</Button>

<Button Grid.Column="2">Btn3</Button>

<!--Grid는 들어갈 행과 열을 하나하나 지정해줘야함-->

<Button Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="2">Btn5</Button> </Grid>

 


 

 

<C#>

//Grid

Grid grid = new Grid();

this.Content = grid;

grid.ShowGridLines = true; //gridline

RowDefinition row = new RowDefinition();//행

row.Height = new GridLength(100);//높이지정  //전체크기가 300x300

grid.RowDefinitions.Add(row);

row = new RowDefinition();

row.Height = GridLength.Auto;

grid.RowDefinitions.Add(row);

ColumnDefinition col = new ColumnDefinition();//열

col.Width = new GridLength(100);//너비지정

grid.ColumnDefinitions.Add(col);

col = new ColumnDefinition();

grid.ColumnDefinitions.Add(col);

//Label

Label label = new Label();

label.Content = "문자열 : ";

grid.Children.Add(label); //일단 label을 grid에 넣어준다. 그 후에 장소지정

Grid.SetRow(label, 0);//0행 <Label Grid.Row="0">

Grid.SetColumn(label, 1);//0열 <Label Grid.Colum="1">

//TestBox

TextBox txt = new TextBox();

txt.BorderBrush = Brushes.Red;

txt.BorderThickness = new Thickness(1);

grid.Children.Add(txt);

Grid.SetRow(txt, 1);

Grid.SetColumn(txt, 1);

//Button

Button btn = new Button();

btn.Content = "버튼";

grid.Children.Add(btn);

Grid.SetRow(btn, 0);

Grid.SetColumn(btn, 0);//일단 위치 지정후 병합

Grid.SetRowSpan(btn, 2); //병합할대상, 병합할 셀의 수  //<Button Grid.RowSpan="2">


by 피요히코~ 2009. 2. 25. 12:50

<WarpPanel>

<ScrollViewer>

<WrapPanel Orientation="Horizontal" ItemWidth="50" ItemHeight="50">

<!--자동개행이 되는 패널/ 디폴트로 Contents의 크기가 그 Contents의 Contents크기로 들어짐(Button내용에 맞게 크기가 정해짐)-->

<!--하지만 가로로만 자동으로 맞춰지고. 세로로는 맞춰지지 않음 >> ScrollViewer사용-->

<Button>Btn</Button>

<Button>Btn</Button>

<Button>Btn</Button>

<Button>Btn</Button>

</WrapPanel>

</ScrollViewer>

 

====================================================================================================== 

 

<DockPanel>

<DockPanel LastChildFill="False"><!--디폴트 : 마지막으로 들아가는 Contents가 Fill로 채워짐(LastChildFill = "False"하면 풀림)-->

<Button DockPanel.Dock="Top">Btn1</Button> <!--붙는 방향지정-->

<Button DockPanel.Dock="Left">Btn2</Button><!--자신이 마지막 Contents라면 방향을 지정해도 그냥 Fill-->

</DockPanel>


by 피요히코~ 2009. 2. 25. 12:49

외래키 

create table tblProject

 (

    prjID int identity(1,1) primary key,               

    staff nvarchar(10) not null references tblStaff([name]),                     

    prjName nvarchar(30) not null,                  

 )

 

 - 외래키를 성정할려면 설정테이블의 기본키에만 가능하다.

 - 외래키는 한테이블에 2 이상도 가능하다.

 

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

 

서브 쿼리

 - -- 가장 많이 보유한 비디오의 제목은?

select max(num) from tblVideo 

select [name] from tblVideo where num=10

select [name] from tblVideo where num=max(num)    -- X

select [name] from tblVideo where num=(select max(num) from tblVideo) -- sub query

 

 

-- 서브쿼리의 반환값이 여러개일때

-- 3번테잎을 빌렸거나 대여중인 회원들은?

select [name] from tblMember where pk in (select who from tblRent where what=3)

 

서브 쿼리는 단일값 리턴형식을 많이 쓴다.

 

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

 

조인(Join)

-- 서브쿼리 : 최종결과값이 하나의 테이블에서만..

-- 조인 : 최종결과값이 하나 이상의 

-- 내부조인

-- inner join : 교집합

-- 각테이블의 필드값을 비교해서 조건에 맞는 레코드를 선택적으로 가져옴

-- select 필드리스트 from A join B on 조건 : 조건에 맞는 레코드 반환

 

조인에서는 

select *from tblCompany 

    inner join tblPrice on tblCompany.product = tblPrice.product 보다는

 

select *from tblCompany 

    inner join tblPrice on tblCompany.product = tblPrice.product 이렇게 많이쓴다.

    (* 조인에서는 잘안쓴다.)

 

-- 별칭사용

select C.product, P.price, C.company from tblCompany as C

    inner join tblPrice as P on C.product = P.product

    

--outer join 

 - right outer join

select tblCompany.*, tblPrice.price from tblCompany

    right outer join tblPrice on tblCompany.product=tblPrice.product

    : tblPrice 모든 레코드를 반환하고, tblCompany.product=tblPrice.product 반환하는 결과집합

    : (tblCompany.product = tblPrice.product 만족하는 inner join) + ( tblPrice 모든 레코드)

 

 

-- 다중 조인

-- 테이블 2개의 내용을 동시 출력

-- 테이블 n개의 내용을 동시 출력

 

-- 회원중 누가 어떤 테잎을 빌려갔는지 대여 목록을 출력하시오

-- 회원(tblMember), 어떤테잎(tblVideo), 대여목록(tblRent)

select m.name, r.rentDate, v.name from tblMember as m

    inner join tblRent as r on m.pk=r.who 

    inner join tblVideo as v on v.pk=r.what

    

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

 

-- union

-- 분리된 테이블 정보를 하나로 합치는 역활.

 

-- View [뷰로는 select 하자.]

-- 목적 : 1. 간편함.

-- 자주접근되는것들은 view 만들어서 사용하면 편리

-- select 기반으로 하는 가상 테이블 or 저장된 쿼리

 

create view vwVideo

as

select [name],company, director from tblVideo

 

-- 조인결과를 갖는 (가장 많이쓰임)

select v.name as [비디오], g.name as [유형] from tblVideo as v

    inner join tblGenre as g on v.genre = g.name

    

create view vwVideoGenre

as

select v.name as [비디오], g.name as [유형] from tblVideo as v

    inner join tblGenre as g on v.genre = g.name

    

    

select *from vwVideoGenre



by 피요히코~ 2009. 2. 25. 12:31

image

.NET Framework 4.0 은 Visual Studio 2010 에 포함되는 최신 프레임워크입니다. 이전에는 .NET Framework 의 새로운 특징이라면 .NET Framework 의 기능 향상과 안정성, 그리고 기능 개선이었습니다. 하지만 .NET Framework 4.0 은 탄탄한 Based .NET Framework 를 통해 여러 가지 새로운 변화를 가져옵니다.

이제는 .NET Framework 가 Win32 API 와 같이(Win32 API 와 비교하기 적절하지는 않지만…) 라이브러리의 집합이 아닌, 어플케이션의 차원에서 보다 견고하고 세련된 빌딩(Building) 을 할 수 있는 진정한 프레임워크로 거듭납니다. .NET Framework 4.0 의 특징을 살펴 봅니다.

Base Class Library 개선

  • MEF(Managed Extensibility Framework)
    • 확장성이 쉬운 선언과 사용
    • 런타임 확장 모니터링
  • 데이터 구조 추가
    • BigInteger & CodeplexNumber
    • Tuple, SortedSet
  • IO 개선
    • 메모리 매핑 파일
    • 모델 해제 통일

MEF 는 어플케이션과 컴포넌트의 재사용성을 높이기 위한 새로운 라이브러리입니다. 확장성 있는 어플케이션과 프레임워크를 만들기 위해 MEF 가 그 대안이라고 제시하고 있습니다. 이 프로젝트는 현재 CodePlex 를 통해 Preview 4 가 릴리즈되었고, 여기에서 다운로드 받을 수 있습니다.

또한 64 비트 프로그래밍을 위한 새로운 데이터 구조가 추가 되었습니다. 64비트 컴퓨팅 시대에 맞춰 .NET Framework 의 Int32 가 한계였다면, 이제는 그보다 더 큰 비트 연산을 할 수 있는 데이터 구조와 새로운 데이터 구조가 추가 되었습니다.

Parallel Computing

  • Task Parallel Library (TPL)
    • 수평적인 병렬 작업의 실행
    • 최대 효율을 위한 Stealing 알고리즘 작업
    • 상위 레벨을 추상화 ( 더 이상 스레드의 지식이 필요 없다 )
  • Parallel Linq (PLINQ)
    • 선언적인 데이터 병렬처리(초점은 ‘무엇’, ‘어떻게’가 아니다)
    • LINQ to Object 를 사용하여 단순한 병렬 처리
  • Coordination Data Structures (CDS)
    • 병렬 처리를 쉽게 하기 위한 공통 구조

다중 코어 프로세서의 사용을 극대화 하기 위해 이제는 병렬 처리를 위해 스레드를 생성하여 동기화 하는 과정을 더 이상 고민하지 않아도 됩니다. 병렬 처리를 하기 위한 확장 메서드를 제공하며, LINQ 식을 통해 데이터의 병렬 처리가 무척이나 쉬워졌습니다. 이제는 ‘어떻게’가 아닌, '무엇을’ 병렬 처리 할 것인지만 생각하면 됩니다.

.NET Framework Client

  • Windows Presentation Foundation
    • 클라이언트 프로파일(Client Profile)
    • 비지니스 컨트롤에 초점
    • 실버라이트 시너지 효과
    • Windows 7 지원 (멀티터치 등)

ADO.NET 4.0

  • Entity Framework v2
    • Code-Fiirst 개발 지원
    • TDD 지원
    • 외래키(Foreign Key) 지원
    • Lazy 로딩

.NET Framework 3.5 SP1 에 등장한 Entity Framework 의 차기 버전입니다. 이전 버전은 기본 키를 중심으로 한 Entity Data Model 이였다면 새로운 버전에서는 외래 키도 지원하게 되었습니다. 또한, TDD(Test-Driven-Development) 을 지원하며, Code-First 방식의 개발도 지원하게 되었습니다.

ASP.NET 4.0

  • ASP.NET Dynamic Data 개선
  • ASP.NET MVC
  • MVC 에 ASP.NET Dynamic Data 지원
    • 데이터 중심으로 뷰와 커스텀 컨트롤 만들기 쉽게
  • CSS, ID, ViewState 컨트롤이 더 좋아진 ASP.NET
  • 확장할 수 있는 캐싱 프레임워크(Caching Framework)

ASP.NET 4.0 의 가장 큰 매력은 바로 ASP.NET MVC 의 통합입니다. 그 동안 Postback, ViewState 기반의 빠른 생산성이 ASP.NET 의 핵심이었습니다. 하지만, ASP.NET MVC 를 통해 Form 기반에서도 빠른 생산성을 향상시켰습니다. 또한, MVC 를 구현하기 위해 많은 코드와 분리 작업을 자동화 할 수 있는 템플릿을 지원합니다.

Velocity

  • .NET 을 위한 분산 캐싱
  • ASP.NET 의 Session State Provider
  • 유연하고, 서로 다른 캐싱 모델
    • Partitioned
    • Replicated
    • Local

.NET 이 지원하는 가장 대표적인 분산 캐싱이 ASP.NET 의 Session State Provider 입니다. 그렇지만 Session State Provider 의 분산 캐싱 능력에는 한계가 있으며, 이러한 한계를 극복할 수 있는 프레임워크가 바로 Velocity 입니다. 캐싱을 분산 처리 하기 위해 많은 고민을 해야 하며, 이러한 분산 캐싱 환경에서 빠른 응답성, 확장성, 고사용성을 높였습니다.

엔터프라이즈 어플케이션 환경에서 많은 관심을 보일 것이며, 특히 요즘 새롭게 대두 되고 있는 SaaS 나 Cloud Computing 을 위해 빠져서는 안될 핵심 기술이 될 것입니다.

Windows Workflow & Communication Foundation

  • 완전 선언적인 서비스
  • 워크플로우 개선
    • 프로그래밍 모델 개선
    • 새로운 플로우차트 모델 스타일 & 확장 활동 팔레트
    • 워크플로우 규칙 통합
    • 디자이너 경험 향상
    • 상당한 성능 향상
    • 상호 메시지
  • WCF 개선
    • Duplex 내구성
    • In-process Channel
    • WS-Discovery & UDP Channel

ADO.NET Data Services

  • 관계형 데이터 지원
  • ‘오프라인’ 상태 지원

ADO.NET Data Services 도 .NET Framework 3.5 SP1 에서 사용하기 위해 몇 가지 추가 작업이 필요하였으며, 보다 자세한 내용은 여기를 참고 하십시오.

특히, 이 버전에서는 Data Services 의 오프라인을 지원합니다. 오프라인에서도 ADO.NET Services 의 사용은 수 많은 외부 시스템과 연동 시에 서비스의 일관성을 유지해 줄 것입니다.

ASP.NET AJAX

  • 자바스크립트 UI 템플릿과 데이터 바인딩
  • AJAX 컨트롤 툴킷 개선
  • DOM Selection, 애니메이션 등

ASP.NET AJAX 는 요즘 가장 인기 있는 AJAX 프레임워크인 JQuery 와 통합하게 됩니다. JQuery 를 사용하고 인텔리센스를 지원하기 위해 몇 가지 수작업이 있었다면, 이제는 그러한 작업 없이도 JQuery 의 고급 기능을 ASP.NET AJAX 에서 사용할 수 있습니다.

출처 : 땡초님 블로그


아직  3.0도 제대로 못하는데. 이제 4.0이 곧 나오겠네요.
4.0 나오기 전에 3.0은 좀 어느정도 할줄 알게 됐음 좋겠는데..
열심히 해야겠네요
by 피요히코~ 2009. 2. 25. 10:27

A.V.A


요즘 꽤나 푹 빠져있는 게임
요놈하느라 와우도 뜸해졌다.

오늘 나름 대규모 업데이트..
라이딩더스트 야간맵에. 신규총 추가..
(거지인 나와 신규총은 상관 없지만. --)

오늘 가서 좀 해줘야 하는건가...
ㅋㅋ
by 피요히코~ 2009. 2. 24. 10:42
기사내용
ㅋㅋㅋㅋㅋ
by 피요히코~ 2009. 2. 24. 10:33

"빌드"는 이전 빌드 이후 변경된 소스파일만 컴파일하고 링크하는 반면,
"다시 빌드"는 모든 소스파일을 컴파일하고 링크하는 것.
버전 싱크가 깨진 경우 "다시 빌드"를 통해 오류를 해결할 수 있다.



처음알았다..
-_ㅋ

출처:MangoLog
by 피요히코~ 2009. 2. 24. 10:17

"닌텐도가 우리나라 기업이었으면 세계적인 게임업체로 성장했기는커녕, 학생들 공부에 방해되는 게임기를 만든다며 청소년 유해매체로 고시되고 검찰에 고발됐을 것."

이명박 대통령의 '닌텐도' 발언에 대한 게임업계 사장들의 반응이다.

이들의 반응을 요약하면 "닌텐도를 부러워하는 것보다 이미 세계적으로 경쟁력을 갖춘 국산 온라인 게임에 대한 규제를 완화하고 수출 지원을 강화하는 편이 더 나을 것"이라는 이야기다.

이 대통령은 4일 경기도 과천 지식경제부를 찾아 "닌텐도 게임기를 우리 초등학생들이 많이 갖고 있는데"라며 "이런 것을 개발할 수 없겠냐"고 주문했다.

청와대 관계자는 "대일 무역역조의 해소방안의 하나로 (콘솔)게임기 시장에서도 수입대체 방안을 연구하라는 취지"라고 설명했다.

그러나 셧다운제, 유해매체 지정 등 각종 규제로 설 땅이 좁아지고 있는 국내 온라인게임사 사장들은 "이해할 수 없는 일"이라며 반응했다.

게임업계 관계자들은 '닌텐도DS라이트'가 단일 기종으로 국내에서만 200만대 이상이 팔리며 선풍적인 인기를 끌고 있어 보다 많은 노력을 요구하는 것으로 받아들이고 있지만, 그 속내에는 불만이 적잖다.

이들은 닌텐도에 버금가는 부가가치와 막대한 일자리를 창출하고도 지난 10년간 관행적으로 정부의 부당한 규제를 당해 힘들뿐더러 게임에 대한 사회적인 '인식'에서조차 부당한 차별이 계속되고 있다고 토로하고 있다.

한 게임사 사장은 "지금 우리나라에서 닌텐도와 같은 게임회사가 나올 수 있다고 보느냐"라고 반문하며 "만약 닌텐도가 우리나라 기업이었으면 각종 규제로 영원히 묻혀버렸거나, 청소년보호라는 명목으로 '악의 축'이 됐을 것"이라고 푸념을 털어놨다.

◈ 게임관련 규제 불만·특허도 해외업체에 관대 '역차별'

특히 셧다운제 등 게임업계를 겨냥한 규제에 대한 불만이 쏟아졌다.

또 다른 게임사 관계자는 "초등학생이 즐길수 있는 게임기를 우리손으로 개발하자는 건, 대통령 혼자만의 생각인 듯하다"면서 "청소년들의 온라인게임 이용을 밤 12시부터 다음날 새벽 6시까지 아예 사용할 수 없도록 하는 '셧다운제도'가 이번 청소년보호법 개정안에 포함된 것은 알고 계시는지 모르겠다"고 꼬집었다.

역차별에 대한 주장도 제기됐다.

모 게임사 관계자는 "게임산업은 국내 10대 문화산업에서 가장 많은 수출을 기록하는 분야"라며 "지난해엔 10억불에 해당하는 규모의 수출을 기록했지만 중국은 우리나라 온라인게임에 대한 쿼터제를, 일본은 특허소송으로 국내 게임업계에 발목을 잡고 있다. 우리나라는 닌텐도, 블리자드 등 해외업체에 대해선 지나치게 관대한 편"이라고 지적했다.

한 전문가는 "닌텐도 이야기가 나온김에 곪은 데를 짜 버리는 게 낫다"며 "닌텐도와 같은 세계적인 게임기를 만들기 위해 정부와 업계가 어떻게 해야 하는가를 주제로 '대통령과의 대화'를 마련하자"고 제안했다.

한편 네티즌들의 가시 돋친 반응도 이어졌다.

각종 인터넷 커뮤니티 사이트엔 '닌텐도가 화투회사였던 건 아나, 국내에서는 아마 사행성 업체로 낙인찍혀 파산했을 것', '정부가 어떤 지원을 해줄 수 있는지 고민은 해봤나', '게임기를 만드는 것보다 이미 세계적으로 경쟁력을 갖춘 온라인 게임 산업을 더 육성하는 편이 나을 것' 등의 반응이 올라오고 있다.
janus@dailynocutnews.co.kr

(대한민국 중심언론 CBS 뉴스FM98.1 / 음악FM93.9 / TV CH 412)
< 저작권자 ⓒ CBS 노컷뉴스( > www.nocutnews.co.kr ) 무단전재 및 재배포 금지 >

 출처

우울한한국...

by 피요히코~ 2009. 2. 23. 12:39

세계 최대 소프트웨어 업체인 마이크로소프트(MS)가 회계 오류로 퇴직금을 초과 지급하는 일이 벌어졌다.

22일(현지시간) 로이터에 따르면 MS는 지난달 직원들을 대량 해고하면서 일부 해직자들에게 퇴직금을 초과 지급한 것으로 확인됐다.

MS는 향후 18개월 동안 5000명을 감원하기로 했으며, 이 가운데 1400명을 지난달 해고했다. 이 과정에서 일부 해직자들은 실제 받아야 하는 금액보다 더 많은 퇴직금을 수령했다.

이 사실을 뒤늦게 알아 챈 MS는 해직자들에게 공문을 보내 "초과 지급된 퇴직금을 반납해 달라"고 요청했다.

이같은 사실은 MS가 보낸 공문 내용이 한 인터넷 블로그에 올라오면서 알려졌다.
이에 대해 MS 측은 "공문을 보낸 사실이 있다"면서도 "이는 회사와 해직자들 간의 사적인 문제일 뿐"이라고 강조했다. 다만 퇴직금이 초과 지급된 인원과 금액은 밝히지 않았다.

출처 : http://media.daum.net/digital/others/view.html?cateid=100031&newsid=20090223115305600&p=Edaily

C#을 하면서 부터
MS에 관련된 챙피한 기사가 나올때 마다. 내가 다 챙피해. ㅠㅠ
by 피요히코~ 2009. 2. 23. 12:08