• 카테고리
    • 전체 글

    • 카테고리1
    • 카테고리2
    • 카테고리3
    • 카테고리4
  • 태그
  • 방명록

'2009/05'에 해당되는 글 3건

  • 2009.05.23 ▶◀[謹弔] 전 노무현 대통령.
  • 2009.05.21 Windows 7, Fujitsu T2010 FingerPrint(지문인식) 오류해결 방법 4
  • 2009.05.13 .NET 2.0(C#) 에서 Active X 컨트롤 만들기. 14

▶◀[謹弔] 전 노무현 대통령.

잡글 2009. 5. 23. 10:20
실족이 였든, 자살이였든, 누군가의 사주였든...
참 힘든 여정을 걷다가, 결국 서거의 길로 갔습니다.

사실 전두환 대통령 부터 시작된 대통령의 길은, 언제나 부패와 흑막의 연속이였죠.
엄청난 돈이나, 상당한 사람 죽이기를 끝으로 끝을 보아왔습니다.

사실 정치적으로 큰 문제를 안고 있었던, 전두환, 노태우를 제외하고,
IMF 재앙이라는 특이한 경국을 불러왔던 김영삼까지.....
그러다 김대중 대통령 때  부터 다시 부흥은 오기 시작했던 것 같군요.

물론 노무현 전 대통령이 참 잘했어요는 아니였습니다,
무언가 계속 망설이는 듯 하여 정치는 그닥 잘 하는 편은 아니였죠.
하지만, 사실 국회의원들이나 안달이 났었지, 국민들 입장에서는 그닥 문제될 것 없었던 것 같습니다.
강제 진압을 하지도 않고, 자신을 비판하고 까더라도 노골적으로 후비지도 않았습니다.
단지, 국회의원들만 그런 대통령이 마음이 안드는지 "탄핵" 이라는 것을
국민들에게 알게 만들어줬다는 정도 겠죠....

사실 이번에 너무 황당한 짓을 했습니다.
노무현 전 대통령이 해쳐먹은게 얼마나 될것 같나요?
물론 털어서 먼지 날리가 없지만, 그 얼마 안되는 과실 가지고 그 사람을 사법기관에 불러오는게
맞나 싶네요. 제가 봤을 땐 제정신이 아닌 것 같습니다.


단 한가지.... 과연.... 지금 대통령 하는 이명박 대통령이 어디로 튈 것인지가
관건입니다. 미국일까요? 일본일까요?
그는 털면 더 심각할 것 같은데요.....

728x90
블로그 이미지

하인도1

[하인드/하인도/인도짱 의 홈페이지] 저만의 공간입니다. 다양한 소재들을 나열하는 아주 단순 무식한 홈페이지 입니다. 다양한 문서 자료도 있겠지만, 저의 푸념들도 있답니다.

Windows 7, Fujitsu T2010 FingerPrint(지문인식) 오류해결 방법

기술자료/OS 2009. 5. 21. 23:40

지금 Windows 7을 사용하고 있다.
이번에 RC 버전이 나와 설치해 보았는데, 기존 beta 버전에 비해 자동 인식하는 드라이버 수나, 안정성이 매우 우수했다. (일부 사용자들은 예전 Beta 버전 보다 무거워 졌다는 말도 있지만, Beta 버전을 제대로 사용해 보지 못해 모르겠다. )

그런데, 지금 Windows 7을 설치한 노트북이 Fujitsu의 T2010 인데, 지문 인식 센서가 AuthenTec 이라는 업체에서 만든 장치가 달려 있다. 이번 Windows 7에서는 이런 지문인식 로그인 응용 프로그램도 Windows Update를 통해 제공했다. 그래서 기대되는 마음으로 지문 설정을 하는데, 이게 왠걸… 오류가 발생한다.

[ 지문 인식 실행 방법 : 시작 –> Control Panel –> User Account and Family Safety –> User Account –> ( 왼쪽 링크 목록 중 맨 아래에 있는) Manage your fingerprint data을 클릭.

오류가 나는 시점은 손가락을 선택한 후, 현재 계정의 암호를 넣고 다음을 누르면 발생한다.


이래저래 못 쓰고 있다가, 예전 회사 BDD 담당자가 해당 드라이버를 다운받아서 직접 인스톨 한다는 말에 우연히 찾은 링크의 도움을 받아 간신히 성공했다.
( 참고 블로그 : AuthenTec Fingerprint Sensor Driver (32-bit and 64-bit) for Windows 7 )

지금 설치한 Windows 7 버전은 RC로 Build번호 7100이다. 그리고 X64 즉 64비트 버전으로 설치되어 있다. 그래서 64 bit 드라이버를 다운로드 받았다. (다운로드 : w7wbf64.exe )

일단 위의 응용 프로그램을 다운로드 받고 설치를 한다. 만일 필자처럼 지문 인식 프로그램이 설치되어 있는 경우 위의 프로그램을 동작시키면 자동으로 지문인식 프로그램(TrueSuite 2.0)을 언 인스톨을 해버린다.
맨 처음에는 그 사실을 몰라 저 다운로드 받은 것을 실행하면 안되는 줄 알았다. (만일 Windows Update를 통해 지문인식 솔루션을 다운로드/설치하지 않았다면 상관 없다. )

일단, 다운 받은 프로그램을 설치를 한다. 모두 설치가 되었다면, 다시 한번 지문 인식 프로그램을 실행시켜 보자.

양키말이라, 별로 보고 싶지는 않겠지만, 이렇게 표시될 것이다.

"The Selected fingerprint reader has no management application installed"
- 선택된 지문인식 센서에 관련된 관리 프로그램이 설치되어 있지 않습니다.

즉 아까 언급한 프로그램을 실행한 경우 언인스톨을 해서 발생된 문제로 생각하면 된다. 즉 이 프로그램만 다시 설치해주면 된다. 그렇다고 다운 받은 프로그램을 다시 실행시키는 뭐하고, 지문 인식 관련 관리 프로그램만 다시 설치할 수 있는 방법이 있다.

C:\Program Files (x86)\AuthenTec, Inc\Authentec WBDI Driver Package

위치의 폴더를 열어보면 WIN7TS64.EXE 라는 파일(아마도 x86인 경우 C:\Program Files\AuthenTec, Inc\Authentec WBDI Driver PackageWIN7TS32.EXE 일 것으로 예상됨)을 다시 실행해주면 된다.

이 때 하는 작업이 바로 그 지문 인식 관련 관리 프로그램을 설치하는 작업인 것이다.
제대로 설치되었다면 C:\Program Files\WIN7TS 라는 폴더가 생기고, 그 안에 파일이 정상적으로 설치되어 있을 것이다.

이제 남은 것은 Reboot 후 지문 등록하는 일이다.


UPDATE :
위의 문제는 초기 드라이버 불안정 스러웠을때 발생되었는데, 요즘은 해결 되어서
더 이상 신경 안쓴 문제였습니다. 댓글을 통한 질문으로 위의 파일에 대한 파일 문의였는데,
요즘은 거의 벤더 사에서 직접 다운로드 받아서 하고 있습니다.

http://www.pc-ap.fujitsu.com/support/drv_lb_win7_T2010_W732.html

그리고, X86과 X64의 구분이 없습니다.
드라이버도 동일하게 사용되는 것 같더라구요.
728x90
블로그 이미지

하인도1

[하인드/하인도/인도짱 의 홈페이지] 저만의 공간입니다. 다양한 소재들을 나열하는 아주 단순 무식한 홈페이지 입니다. 다양한 문서 자료도 있겠지만, 저의 푸념들도 있답니다.

.NET 2.0(C#) 에서 Active X 컨트롤 만들기.

기술자료/OS 2009. 5. 13. 18:12

ActiveXTest.zip
옛날 자료들, .NET 1.0 시절에서 부터 내려온 자료들을 근간으로 하나씩 하나씩 체크하면서 진행했습니다. 그런데 생각보다 의외의 요소들이 너무 많아 헷갈려 포기 할 즈음 간신히 성공했습니다.

성공했던 내용을 기반으로 지금까지 제가 판단했던 각종 정보들을 정리해보도록 하겠습니다.
현재 이 작업은 .NET 2.0 기반으로 Visual Studio 2005를 기준으로 작성하고 테스트 되었습니다.
(아직 Visual Studio 2008에서는 해보지는 않았지만… 잘 되리라 그냥 막연히 짐작합니다. 2003 버전은,
외국에 많은 사례들이 있으므로 한번 찬찬히 보시면 금방 하실 수 있을 것입니다. )
그리고 구현 언어는 C# 입니다.

1. 프로젝트 생성

먼저 프로젝트 생성입니다. 사실 대부분의 다른 사이트들의 예제를 보게 되면 Class Library 기반으로 시작하게 끔 유도하곤 합니다. 그런데, 생각보다 설정하거나 구성해야 되는 부분이 너무 많아 무언가 노가다 하는 기분이 들더군요. 그러다가 찾은 프로젝트 형식이 바로 “Windows Control Library”  였습니다.

이 프로젝트를 생성하려면 File –> New –> Project 라는 메뉴에 들어가시면 아래와 같은 화면이 뜨는데 그 중, Windows Control Library를 선택하시면 됩니다.

2. 클래스 설정.

ActiveX로 보여줄 컨트롤에 해당하는 클래스를 열도록 합니다. 보통 기본적으로 UserControl1 이라는 이름의 클래스가 만들어지는데, 바로 이 부분을 수정하게 될 것입니다. 더블 클릭하면 디자인 모드로 넘어가므로, 코드 보기로 들어가 주시기 바랍니다.

 

2.1 using 추가하기

맨처음 해주셔야 할 작업은 using을 걸어주시는 작업이 됩니다. Active X 설정을 위해 약간의 Assembly 및 COM 처리를 해야 하는 부분이 있기 때문입니다. using 해야 할 항목은 다음과 같습니다.

using System.Runtime.InteropServices; // 동적으로 컴파일러 관련 옵션을 업데이트하는 값을 넣기 위한 부분
using System.Reflection; // 현재 어셈블리 정보를 동적으로 가져오기 위한 부분
using Microsoft.Win32; // Registry에 정보를 업데이트 하기 위한 부분

일단 위의 3가지만 들어가면 지금 부터 업데이트 하는 부분은 큰 문제 없이 들어갈 것입니다.

2.2 ActiveX로 노출될 컨트롤 Class 옵션 적용

다음은 Class에 옵션을 설정하는 작업입니다.

먼저 제일 처음에 보이는 클래스 위쪽에 다음 3가지를 추가하여 주시기 바랍니다. 물론 프로젝트의 속성 값을 수정하여 대입되는 값들도 있기는 하지만, 혹시나 모르니 그냥 넣어주시면 좋을 듯 싶습니다.

[Guid("20F0F02D-044C-4013-AFAE-F2241D95FDA3")]
[ComVisible(true)]
[ProgId("HindNo1.TestAX")]
[ClassInterface(ClassInterfaceType.AutoDual)]
public partial class UserControl1 : UserControl
{
      ………

대충 보시면 아시겠지만, [ ] 안에 들어가는 값이 바로 코드에 직접 박아서 명시적으로 설정하는 작업입니다.

맨 먼저 Guid 부분은 이 컨트롤의 고유한 ID 입니다. CLSID 같은 것으로 Active X 마다 각자 고유한 ID를 갖는데, 바로 그 ID를 의미합니다. 프로젝트 옵션에 있는 Assembly 옵션에도 이 비스무리한 값이 있는 것 같지만, 일단 저렇게 명시적으로 해주세요.( 전 VS 잘 몰라서, 장담드리기가 힘들어 가급적 그냥 제가 말씀 드린 방법대로 해보세요. )

두 번째에 있는 ComVisible 부분은 이 Control을 COM으로 노출 시키는 작업을 할 것인지 말 것인지를 결정하는 부분입니다. ActiveX도 어찌보면 COM의 일종이기 때문에, 반드시 COM 노출이 되어줘야 합니다. 이 역시 Project 속성의 Assembly 옵션에서 변경할 수 있긴 합니다.

세 번째 ProId 부분은 보통 VB 스크립트에서 쓰는 CreateObject(“xxxx.xxx”)의 xxxx.xxx 부분을 의미합니다. 일단 알기 쉽게 쓰는 것도 중요하지만, 가급적 특이하게 적어주시는 것이 좋습니다. Guid야 겹칠 일이 거의 전무하지만, 이 이름은 혹여나 겹칠 수 있으니깐, 조심조심 쓰시기 바랍니다. 문장이 길다 싶으면 “.” 으로 구분하여 표시해주시면 됩니다.

네 번째 ClassInterface(….) 부분은, COM(즉 ActiveX)가 외부에 노출되는 각종 Interface의 유형을 결정하는 부분입니다. 자세한 원리는 저도 잘 모르겠구요, COM에 대한 기초적인 지식이 필요할 것 같습니다. 일단 AutoDual로 하면 대부분의 인터페이스를 커버한다고 하더군요. 뭐 보안이나 성능상의 문제로 제한적으로 설정할 수 있는데, 이 역시 천천히 자습하시거나 내용을 찾아 설정해주시면 좋겠습니다.

2.3 컨트롤 등록 시 자동으로 실행되어야 할 사항

일단 위의 설명을 쭉 읽어보시고 만일 전혀 이해가 안되거나 도리어 헷갈린다 싶으면 위의 내용을 그대로 쓰세요. 그리고 난뒤에, Guid 와 ProgId 안의 값만 적절하게 변경해주시면 됩니다. (Guid는 Guid를 새로 생성해서 새롭게 넣으시고, ProgId는 겹치지 않게 적당한 문자열을 나열해주시면 됩니다. – 영어, 숫자, 마침표로만 – )

이제 이 Control이 등록될 때 몇 가지 Registry에 등록해야 되는데, 이 작업을 수행하기 위한 함수 두 개를 추가해 주시기 바랍니다.

///    <summary>
///    Register the class as a    control    and    set    it's CodeBase entry
///    </summary>
///    <param name="key">The registry key of the control</param>
[ComRegisterFunction()]
public static void RegisterClass(string key)
{
    // Strip off HKEY_CLASSES_ROOT\ from the passed key as I don't need it
    StringBuilder sb = new StringBuilder(key);
    sb.Replace(@"HKEY_CLASSES_ROOT\", "");

    // Open the CLSID\{guid} key for write access
    RegistryKey k = Registry.ClassesRoot.OpenSubKey(sb.ToString(), true);

    // And create    the    'Control' key -    this allows    it to show up in
    // the ActiveX control container
    RegistryKey ctrl = k.CreateSubKey("Control");
    ctrl.Close();

    // Next create the CodeBase entry    - needed if    not    string named and GACced.
    RegistryKey inprocServer32 = k.OpenSubKey("InprocServer32", true);
    inprocServer32.SetValue("CodeBase", Assembly.GetExecutingAssembly().CodeBase);
    inprocServer32.Close();

    // Finally close the main    key
    k.Close();
    MessageBox.Show(key + " 's registered");
}

///    <summary>
///    Called to unregister the control
///    </summary>
///    <param name="key">Tke registry key</param>
[ComUnregisterFunction()]
public static void UnregisterClass(string key)
{
    StringBuilder sb = new StringBuilder(key);
    sb.Replace(@"HKEY_CLASSES_ROOT\", "");

    // Open    HKCR\CLSID\{guid} for write    access
    RegistryKey k = Registry.ClassesRoot.OpenSubKey(sb.ToString(), true);

    // Delete the 'Control'    key, but don't throw an    exception if it    does not exist
    k.DeleteSubKey("Control", false);

    // Next    open up    InprocServer32
    RegistryKey inprocServer32 = k.OpenSubKey("InprocServer32", true);

    // And delete the CodeBase key,    again not throwing if missing
    k.DeleteSubKey("CodeBase", false);

    // Finally close the main key
    k.Close();
}

각 함수는 이 컨트롤을 해당 PC내에 등록할 때 자동으로 불려지는 함수입니다. RegisterClass(..) 함수는 등록될 때, UnregisterClass(..) 함수는 등록을 해제 될 때 자동으로 불리며, 각 함수의 내용은 마치 Active X처럼 필수적인 정보들을 Registry에 적어 추가하게 됩니다.

2.4 프로젝트 설정

자 마지막으로 설정해야 하는 부분은 프로젝트 설정 부분입니다.

솔루션 탐색기에서 해당 프로젝트에서 오른쪽 클릭을 하셔서 Context Menu를 띄우세요. 그리고 “속성”에 들어가시기 바랍니다.

속성 창에 들어가서 제일 먼저 응용 프로그램 탭을 선택한 뒤에 “어셈블리 정보를 클릭합니다.”

 

어셈블리 정보 창이 떴으면 맨 아래쪽에 있는 어셈블리를 COM에 노출을 선택해주시기 바랍니다.
그리고 어셈블리 버전 안에 "*" 표시가 있으면 반드시 지워주시기 바랍니다!!!!! - ( 가장 중요. 만일 * 가 들어가 있으면 계속 버전이 자동 갱신 되기 때문에, 알 수 없는 오류를 계속 뱉어 낼 수 있습니다. )

Update ( for pjyoung 님 ) - 2010.09.13.

현재 포스트 내용만으로는 regasm 으로 이 Active X 에 등록하려는데 문제가 있더군요.
만일 위의 내용만으로 등록하려고 하면 아래의 메시지가 뜹니다.

D:\MyData\Documents\Visual Studio 2010\Projects\ActiveXTest\ActiveXTest\bin\Debu
g>C:\windows\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe /codebase ActiveXTest
.dll
Microsoft (R) .NET Framework Assembly Registration Utility 2.0.50727.4927
Copyright (C) Microsoft Corporation 1998-2004.  All rights reserved.

RegAsm : warning RA0000 : Registering an unsigned assembly with /codebase can ca
use your assembly to interfere with other applications that may be installed on
the same computer. The /codebase switch is intended to be used only with signed
assemblies. Please give your assembly a strong name and re-register it.
RegAsm : error RA0000 : An error occurred while writing the registration informa
tion to the registry. You must have administrative credentials to perform this t
ask.  Contact your system administrator for assistance

만일 한글판이면 한글판 나름 메시지가 뜨겟는데요.. 일단, 위의 내용을 간단히 언급하자면, 2가지 오류가 있는 것입니다. 하나는 일종의 경고로써, (warning RA0000). 만든 ActiveX 내에 강력한 이름의 서명이 없다는 것입니다. 이게 없다면 뭐 다른 컴퓨터에서 안된다는 의미 같은데.. 경고라고 할지라도, 일단 해결해야 겠죠. 두번째는 Windows Vista, 7 에서만 발생하는 오류인데.. 도스 창을 띄울때 관리자 권한으로 해서 넣으라는 의미입니다.
아래의 내용은 그 부분을 해결하기 위한 내용을 정리햇습니다.

  1. codebase로 등록하려면, 최소한 dll 내에 인증서가 들어가야 된다는 것입니다. 물론 파는 제품이라면, 상업용 인증서가 들어가야 겠지만, 테스트용도라면, 개인 인증서를 직접 만들어 넣을 수 있습니다.
    인증서를 넣는 방법은 아래와 같습니다.
    1. 프로젝트를 솔루션에서 연 뒤, 프로젝트 속성에 들어갑니다.
    2. 프로젝트 속성이 열리면, 왼편에 나열된 탭들 중 Signing (한글로는 아마 '서명' 정도 일거입니다.) 탭을 클릭하시고, 열리는 내용 중 Sign the assembly( 한글로는 아마 '어셈블리 내에 서명' 이겠죠)를 체크합니다.
    3. 다음은 안에 열린 Choose a strong name key file: 에서 아래의 콤보 박스 내용 중,  New… 를 선택합니다.
    4. 그러면 새로운 다이얼로그가 뜨는데, 이 창이 바로 새로운 개인 인증서 하나 멋대로 만드는 것입니다.
      (외부에서 쓰기에는 좀 많이 부족하지만, 프로그램 돌리는 인증서로는 적당합니다.)
      Key file name 에다가 적당한 이름을 넣고.. 암호 부분은 넣어도 되고 안넣어도 됩니다.
      (넣으면 코드도 보호를 하는 것 같습니다만.. 뭐.. 귀찮으면 안넣어도 됩니다. 전 그냥 버릇처럼 넣습니다.). 다 넣었으면 OK를 클릭해서 닫습니다.
    5. 그러면 Assembly 내에 String name key로 위에서 넣은 이름대로 들어갔음을 확인합니다.
      그리고 컴파일을 다시 해주세요.
  2. 두번째 등장한 오류는 관리자 권한 문제입니다. 제 PC 가 Windows 7 이므로 Windows 7 중심으로 갑니다.
    Windows XP 라면 아주 특이하게 사용하시는 분(관리자 권한이 아닌 사용자 권한으로 동작시키는 분들)이 아닌 이상 발생되는 오류는 아닐 겁니다.
    1. 시작 을 클릭하고 검색창에 cmd 입력한 뒤, cmd에서 오른쪽 버튼을 눌러 관리자 권한으로 실행을 합니다.
    2. 그리고 열린 도스창에서 작업을 시작합니다. ( 3. 컴파일 그리고 배포 부분 )

3. 컴파일 그리고 배포.

네 이제 컴파일을 해주시기 바랍니다. 오탈자의 문제가 없다면 큰 문제 없이 컴파일이 될 것입니다. 컴파일이 완료되면, 이제 명령창(cmd) 창을 띄우세요.(시작 –> 실행 –> cmd 입력 )

그리고 다음 명령을 넣어주시기 바랍니다.

C:\Windows\Microsoft.NET\Framework\v2.0.50727\regasm /codebase “어셈블리파일”

“어셈블리파일” 이라는 부분은 지금 컴파일 된 DLL 파일의 전체 경로를 의미합니다.

예를 들자면…

"E:\Prj\ExposingDotNetControls_src\Home\Prisoner\bin\Debug\Prisoner.dll"

과 같은 스타일로 하시면 됩니다.

예전 C++이나 VB로 만든 ActiveX는 보통 regsvr32로 등록하고 해제했지만, 이제 .NET 기반으로 만든 ActiveX 는 이 regasm 이라는 도구로 하셔야 합니다. .NET Framework 2.0 을 설치하셨다면 위의 경로와 같은 위치에 regasm이 있을 것입니다.

정상적으로 등록되면 등록한 GUID 값과 함께 해서 조그만한 다이얼로그가 뜨게 됩니다.

4. 테스트

뭐 Object 태그로 Html 소스 안에 직접 박아서 테스트를 할 줄 아시는 분은 Html 소스를 만들어 하실 수 있을 것이고, 아니면 Visual Studio의 C++ 관련도구를 설치하신 분은 tstcon32.exe 라는 프로그램을 실행해서 테스트 해보실 수 있을 것입니다.

HTML 코드를 아래와 같이 넣어보아서 IE를 띄워봅니다.

<HTML><BODY>
<OBJECT id="myX"  CLASSID="CLSID:20F0F02D-044C-4013-AFAE-F2241D95FDA3" width="560" height="480"> 
</OBJECT>
</BODY></HTML>

당연히 뜨는 노란색 바가 보이는데, 그것을 클릭해서 진행해주시면… 아래 처럼 만든 모양 대로 뜹니다.



5. 정리.

사실 VC++로 만드는 Active X 보다는 배포하기가 조금은 까탈스럽습니다. 이 Active X를 돌릴 클라이언트 PC내에 .NET Framework가 설치되어 있어야 겠죠. 게다가 개발 편의로 따지만 SmartClient가 훨 좋습니다 ^^;  하지만 .NET의 개발 편의성과 당장 ActiveX가 필요한 상황에서는 좋을 해결점이 될 수 있으리라 생각됩니다.

pjyoung 님의 질의 내용을 근간으로 다시 프로젝트를 생성하면서 일부 업데이트를 했습니다.
최종 된 상태에서 정리하다 보니, 일부 내용을 Skip 해서 오해의 소지가 다분 있었으리라 생각이 듭니다.
(최소한 진행을 재점검해서 실행은 했습니다.)

PS. 첨부한 파일은 이 글을 재 테스트하기 위해서 만든 프로젝트를 압축한 내용입니다.
애석하게도 Visual Studio 2010 용으로 되어 있어, 예전 Visual Studio로는 솔루션과 프로젝트 파일을 제대로 활용할 수 없을 것입니다. 새로 프로젝트를 만들어서 파일만 가져다가 재 생성해야 할지도 모르겠네요.
그래도 모르니 일단 업로드를 해봅니다.

728x90
블로그 이미지

하인도1

[하인드/하인도/인도짱 의 홈페이지] 저만의 공간입니다. 다양한 소재들을 나열하는 아주 단순 무식한 홈페이지 입니다. 다양한 문서 자료도 있겠지만, 저의 푸념들도 있답니다.

  • «
  • 1
  • »
250x250

블로그 내에 소스 코드 삽입 이사온 기념 스킨도... RSS 전문 기능 비활성화 관련. 스킨 바꾸어 보았습니다. 서버 파일 정리 좀 했습니다.

«   2009/05   »
일 월 화 수 목 금 토
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

매뉴얼 Google Apps Engine java 비스킷 지름신 me2sms 인터파크 moss SharePoint 블로그 me2photo 오류 것 windows MOSS 2007 불만 twi2me Visual Studio 수 Azure Buscuit WSS e-book 좀 개발환경 친구 me2dayzm Tutorial 2010 협업

  • Total :
  • Today :
  • Yesterday :

Copyright © 2015-2025 Socialdev. All Rights Reserved.

Copyright © 2015-2025 Socialdev. All Rights Reserved.

티스토리툴바