개발 이야기/DB2010. 12. 1. 18:10

STUFF(대상, 시작인덱스, 길이, 바꾸려는 문자열)

SELECT STUFF('JI*SEO*NLE*E KO*RE*A', 4, 10, '')
결과 : JI*KO*RE*A

SELECT STUFF('8305031655811', 7, 0, '-')
결과 : 830503-1655811

Posted by 사나에
개발 이야기2010. 10. 22. 09:56

드디어 윈도우 폰 개발을 할 수 있게 되었네요~ 후훗~~
아래 링크가셔서 다운로드 받아 설치하시면 Visual Studio 2010에서 개발이 가능합니다.
프로젝트 템플릿이 생깁니다.

Visual Phone Developer Express 2010 다운로드 URL
http://www.microsoft.com/express/Phone/


Windows Phone 7 Developer Training Kit
http://channel9.msdn.com/learn/courses/WP7TrainingKit/
Posted by 사나에
개발 이야기/Visual C#2010. 4. 29. 19:29


using (TransactionScope scop = new TransactionScope(TransactionScopeOption.Required))
{
.....
.....
scop.Complete();
}

Transaction이 제대로 수행되지않을때가 있다. 허걱~..
분산 트랜잭션은 MSDTC를 이용한다. 하여 어플리케이션에서 트랜잭션스콥을 잡고 작업을 제대로 수행하기 위해서는 DTC 보안 구성을 설정해줘야한다.


1. 실행 > dcomcnfg.exe :  구성요소서비스 실행한다.
- 로컬 DTC에서 마우스 오른쪽 클릭하여 속성을 선택한다.
- 보안탭에서 보안 설정을 화면과 같이 설정해준다.


2. 실행 > gpedit.msc : 로컬 그룹 정책 편집기를 실행한다.
- 보안 설정 > 로컬정책 > 사용자 권한 할당를 선택한다.
- 네트워크에서 이 컴퓨터 액세스 정책을 클릭한다.
- NETWORK SERVICE 에 액세스 권한을 할당한다.



끝!!

Step by Step: 트랜잭션 오류에 대한 MSDTC 설정 확인하는 일반적인 방법
http://support.microsoft.com/kb/976963/ko

분산 트랜잭션 관리
http://technet.microsoft.com/ko-kr/library/cc771891.aspx

Posted by 사나에


출처 : http://codian.springnote.com

1. 어플리게이션 키 생성
 - 어플리케이션 키 발급 : 어플리케이션키 발급 요청 페이지
 - 어플리케이션 정보를 등록하면 메일로 키가 발송된다.
 - http://me2day.net/api/get_posts/codian?akey=XXXXXXXXXXXXXXXX

어플리케이션 등급
 
어플리케이션은 다음과 같이 세 등급으로 구분되며 각 등급에 따라 me2API의 일부 기능이 제한됩니다. 등급별 제공기능은 각 메소드 문서를 확인하세요.
  • Basic
    어플리케이션 키를 발급받은 경우 Basic 등급에 해당됩니다.
    어플리케이션 제작 및 테스트 단계에서 사용하실 수 있는 등급입니다.
    Basic 등급인 경우 어플리케이션을 통해 하루 150개 이상 글은 작성할 수 없습니다.
  • Partner
    어플리케이션을 me2APP 페이지에 등록한 경우 Partner 등급이 됩니다. 어플리케이션을 제작하셨다면 지금 바로 등록하세요.
    Partner 등급인 경우 어플리케이션을 통해 하루 500개 이상의 글은 작성하실 수 없습니다.
  • Premium Partner
    요청하는 경우 미투데이 운영진과 협의를 통해 Premium Partner 등급이 지정됩니다.

    Premium Partner 등급인 경우 글작성의 제한이 없으며 그외 me2API의 모든 기능을 제한없이 사용할 수 있습니다




2. 사용자 인증
 - 사용자 인증은 HTTP Basic Authentication 방식을 사용하거나 query string 또는 post body에 파라미터로 사용자 인증 정보를 지정할 수 있음.
 - 인증키 => nonce + md5(nonce + user_key)
 - query string ==>  www.me2day.net/api/noop?uid=codian&ukey=XXXXXXXXXXXXXXXX&akey=XXXXXXXXXXXXXXXX
 - HTTP Basic Authentication  ==>  username => 미투데이 이름. 예) codian , password => 인증키


3. API 메소드
create_post : 지정한 회원의 미투데이 페이지에 글을 작성합니다.
get_latests : 지정한 회원의 최근글을 가져옵니다.
get_posts: 지정한 회원의 글을 가져옵니다.
create_comment : 지정한 글에 댓글을 작성합니다.
delete_comment: 지정한 댓글을 삭제합니다.
get_comments : 지정한 글의 댓글을 가져옵니다.
track_comments: 회원이 최근 작성한, 회원의 미투페이지에 최근 작성된 댓글을 가져옵니다.
get_person : 지정한 회원 정보를 가져옵니다.
get_friends : 지정한 회원의 친구목록을 가져옵니다.
get_settings : 개인 설정 사항을 가져옵니다.
get_tags:  태그와 태그를 포함하는 글 수를 가져옵니다.
noop : 사용자인증 테스트를 하거나 서버 동작상태를 검사합니다.
get_friendship_requests : 지정한 회원에게 요청된 친구신청 내역을 가져옵니다.
accept_friendship_request : 지정한 회원에게 요청된 친구신청을 수락 합니다.



Posted by 사나에
개발 이야기/Visual C#2010. 4. 20. 20:56

오호~ 굿!!
Visual Studio 2010 - UML 들어오다.

Visual Studio 2010 정식 버전을 설치하고 보니 Modeling Projects 템플릿이 제공된다.


베타에서 Sequence Diagram이 자동으로 생성되서 은근히 기대하고 있었던 터라.. 제일먼저 살펴본 부분인데,,
Modeling Projects에서 Class Diagram, Sequence Diagram, Use Case Diagram, Activity Diagram, Component Diagram, Layer Diagram, Directed Graph Document item 항목이 존재한다.
VS 2010에 UML이 들어감에 있어 Visual Studio는 더욱 더 막감해질 것으로 보인다. 흐흐흐~
item 항목에 대해서는 차차 알아보자. 크크


 - 모두에게 정보가 유익하길 바라는 마음 -  
- From. JS -    
Posted by 사나에
개발 이야기/Visual C#2010. 3. 28. 23:28

Visual Studio 2010 Beta버전을 살펴보면 Sequence Diagram이 자동으로 생성되는 기능이 신규로 생겼다.
프로젝트를 하다보면 Sequence Diagram 산출물은 거의 필수적으로 작성하게된다. 귀찮은 작업이다. Why??
Sequence Diagram은 말그대로 순서도인것인데 사용자 액션에 의해 발생되는 내부적인 흐름도를 상세하게 그려야하기에 소스코드 하나하나 다 체크하면서 그려야한다.
해당문서만 봐서 이 이벤트에서는 이렇게 내부적으로 돌아가구나 할 정도로 상세히 그려야하기때문이다.
여튼, Visual Studio 2010에는 이 작업이 자동으로 제공된다.

예제를 보자.
다음소스는 버튼클릭 이벤트에서 UIAgent를 통해 Biz단에서 데이터를 조회해서 화면에 출력하는 로직이다.

private void button1_Click(object sender, EventArgs e)
{ 
     UIAgent agent = new UIAgent(); 
     DataTable selectDt = agent.GetDemoSelect();
     DataTable selectDt2 = agent.GetDemoSelect2();
     label1.Text = string.Format("조회하신 데이터는 {0}개입니다.",
          selectDt.Rows.Count + selectDt2.Rows.Count);
     selectDt.Merge(selectDt2);
     dataGridView1.DataSource = selectDt;
}


해당 버튼 클릭이벤트에서 마우스 오른쪽을 클릭하면 다음 화면처럼 나온다.
여기에서 Generate Sequence Diagram 항목을 클릭하면 Sequence Diagram을 자동으로 그려준다.


자동으로 생성된 Sequence Diagram 화면이다.^^



아직 아쉬운점은 해당 UML이 .uml 확장자로 파일이 저장된다면 다른 UML툴에서도 호환이 가능할텐데 아직은 이점이 지원되지않는다.
정식버전에서는 될까??!! 여튼, 기대는 해본다. 자동으로 생성해주는 것만으로도 올레~!


 - 모두에게 정보가 유익하길 바라는 마음 -  
- From. JS -  
Posted by 사나에
개발 이야기/Visual C#2010. 3. 22. 09:48

[PT 공유] HoonsSeminars_Socket_20100318
2010년 3월 18일 Hoons.kr 세미나에서 진행한 TCP/IP Socket Programming PT입니다.
소스파일은 첨부파일로 해드릴게요.

 
Posted by 사나에

개발 중에 핵심은 DAC가 아닐까 생각해본다.
뭐 기본적으로 닷넷 프로젝트를 하다보면 DataBase를 MS-SQL를 사용하려고 하지만 대용량데이터베이스 부분에서는 오라클이 확실히 많이 사용된다.
오라클 연결하는 방법을 간단히 적어볼까한다.
오라클 연결을 위해서는 Oracle.DataAccess 참조 추가를 해줘야한다.
연결은 Oracle.DataAccess.Client에서 제공되는 OracleProvider를 이용해서 사용하면 됩니다. 소스 코드는 다음과 같이 사용하면 된다.
 string oradb = "Data Source=ORCL;User Id=hr;Password=hr;";
OracleConnection conn = new OracleConnection(oradb);  // C#
conn.Open();
OracleCommand cmd = new OracleCommand();
cmd.Connection = conn;
cmd.CommandText = "select department_name from departments where department_id = 10";
cmd.CommandType = CommandType.Text;
OracleDataReader dr = cmd.ExecuteReader();
dr.Read();
label1.Text = dr.GetString(0);
conn.Dispose();

자세한 내용은 오라클 사이트에서 제공해준다.
오라클 참조 사이트 : http://www.oracle.com/technology/obe/hol08/dotnet/getstarted-c/getstarted_c_otn.htm
오라클처럼 SAP이나 다른 DataBase 활용에 있어서도 Connector나 Client Provider가를 제공된다.
Posted by 사나에
개발 이야기2010. 3. 5. 19:10

VM이미지에 Visual Studio 2010 RC 설치하였다.

Microsoft Visual Studio 2010 Ultimate RC - ISO 다운로드 링크
http://www.microsoft.com/downloads/details.aspx?FamilyID=457bab91-5eb2-4b36-b0f4-d6f34683c62a&displaylang=en


4개 파일을 다운로드 받고 첫번째 파일을 실행을 하면 ISO파일이 생성이 된다.
생성되 ISO 파일을 읽어와서 실행하면 설치가 시작된다.


Install을 과감하게 클릭!!!!


요구하는 하드용량이 7.7GB이다 헐...
이걸보면서 PC사양이 안따라주면 곤란하겠다싶다. 용량뿐 아니라 VS 2010 실행이 잘 되려면
음.. PC사양은 얼마나 되어야할까??


이것저것 설치하더니 어느덧 완료!!!


설치가 잘되었는지 한번 실행해보자!

Visual Studio 2010에는 Cloud Service가 들어갔다.
흠.. 궁금해지는데. . . 흥미진진!!!!!
Posted by 사나에


[강좌]C# 소켓프로그래밍 - 1. 소켓프로그래밍의 개념

소켓프로그래밍이라고 말을 하면 많은 사람들이 어렵게 받아들인다. 왜 그런 반응이 나오는지에 대해 곰곰이 생각해보면 소켓프로그래밍이라고 하면 뭔가 네트워크 관련해서 하는 것 같은데… 네트워크라고 하면 하드웨어도 알아야 하고 와와와 뭣부터 공부를 해야하는거지??? 라는 고민에 빠져들기 때문이다. 네트워크 소켓프로그램을 만들기 위해서는 소프트웨어 외 하드웨어도 공부해야 한다는 부담감도 밀려들어온다. 하지만, 소켓프로그램이라는 것이 무엇인가? 소프트웨어이다. 우리는 소프트웨어 개발자 관점에서 소켓만 바라보면 된다. 물론, 다다익선이라고 하드웨어 지식도 있다면 좋겠지만 시작하는 단계에서는 다 알아야 한다는 부담감은 잠시 버려두자. 소켓 프로그램을 하기 위해서는 선수 지식이 몇 가지 필요하다. 강좌를 통해 차근차근 선수 지식을 쌓은 후 실제로 예제를 만들어보는 것으로 강좌를 마무리하려 한다.

우선, 우리가 필히 알아야 하는 소켓의 개념을 잡아보자.
그림1은 오늘날 우리의 네트워크 환경을 그린 것이다.

[그림 1- 네트워크 환경]

인터넷이라는 거대한 네트워크로 각 호스트가 연결되어 있다. A, B, C는 호스트(네트워크 상에서 특정한 호스트번호를 가진 컴퓨터)를 의미한다. 쉽게 영희네, 철수네, 영철이네 이렇게 생각해도 좋다. A와 B는 서로 통신을 어떻게 할까요? 메신저? 메일? 인터넷 폰? 컴퓨터를 이용해서 서로 통신을 하는 방법에는 여러 가지가 있다. 이게 가능한 이유가 바로 네트워크 프로그래밍이 가능하기 때문이다. 즉, 멀리 떨어져있는 호스트 간에 데이터를 주고 받을 수 있는 네트워크 소프트웨어를 만들어서 제공하기 때문에 호스트 간의 데이터 전송이 가능하게 된 것이다. 이를 소켓이라고 부른다. 많은 강의에서 소켓프로그래밍을 설명할 때 빠지지 않고 나오는 예가 전화기이다. 영희네에서 철수네 전화를 하기 위해서는 각 집에 전화기가 있어야 하고 전화번호를 할당해야 한다. 그리고 누군가는 먼저 전화를 걸어서 신호를 보내야 한다. 신호가 왔을 때 응답을 할 것인지를 판단 후 전화를 받게 되면 서로 연결이 되는 것이다. 소켓은 IP주소와 Port를 할당하여 호스트 간 연결을 해주게 된다. 개념이 어느 정도 왔다만 다시 한번 정리해보자. 소켓이랑 각 호스트간에 데이터 주고 받기를 가능하게 하는 네트워크 소프트웨어이다. .NET은 소켓프로그래밍을 쉽게 구현할 수 있게 기본 라이브러리를 지원해준다. 예제를 통해 상세한 소스를 확인 할 수 있을 것이다. 그 전에 어떤 기본 클래스들이 제공되고 있는지 확인만 하자.

Namespace

설명

System.Net

 

System.Net 네임스페이스는 현재 네트워크에서 사용되는 여러 프로토콜에 대한 단순한 프로그래밍 인터페이스를 제공합니다. WebRequest WebResponse 클래스는 플러그형 프로토콜의 기반이 되며, 각 프로토콜의 특정 사양에 관계 없이 인터넷 리소스를 사용하는 응용 프로그램을 개발할 수 있도록 하는 네트워크 서비스를 구현합니다.

System.Net.Sockets

System.Net.Sockets 네임스페이스는 네트워크에 대한 액세스를 엄격하게 제어해야 하는 개발자에게 Windows Socket(Winsock) 인터페이스의 관리되는 구현을 제공합니다.

TcpClient, TcpListener UdpClient 클래스는 TCP UDP 방식으로 인터넷에 연결하기 위한 자세한 정보를 캡슐화합니다.

.

다음 강좌에서는 프로토콜과 소켓의 타입인 TCP, UDP의 개념을 확인해보겠습니다.
수고하셨습니다^^
 
나의 작은 지식이 다른이에게 도움이 되길바라는 마음에.. JS..




 


Posted by 사나에