Featured Posts

VS SP1없이 SQL 2008 설치하기

Posted by zerople | Posted in Database | Posted on 24-06-2009

태그:,

0

SQL 2008 설치시 Visual Studio 2008 Sp1은 사전 요구사항입니다. sp1없이 설치할 수 있는 트릭이 있기에 소개해봅니다. 물론, Visual Studio 2008은 있어야 합니다. sp1을 무시한채 설치하는 방법이죠.

sql previous releases of visual studio 2008 sp1 setup.exe

Rule “Previous releases of Microsoft Visual Studio 2008″ failed.

두 가지의 방법이 있으니 사용하시기 편한 방법으로 사용해 보세요.

1. Command의 옵션을 통해 규칙을 무시할 수 있습니다.

Setup /ACTION=install /SkipRules=VSShellInstalledRule RebootRequiredCheck

2. 레지스트리를 수정해 Visual Studio 2008이 설치되어 있지 않은 것처럼 속이는 방법입니다.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DevDiv\VS\Servicing\9.0

“9.0″을 임의로 수정해 놓으면 됩니다.

이러한 방법으로 SQL 2008 사용시 SQL 2008의 모든 기능을 자유롭게 사용할 수 있을지는 모르겠습니다. 아직까지 개발환경에서 위 방법으로 여러개의 인스턴스를 만들어 사용하고 있습니다만 딱히 문제가 될 부분은 없는 듯 합니다.

관련 링크.

http://blogs.msdn.com/psssql/archive/2008/08/11/sql-server-2008-visual-studio-2008-sp1-and-net-framework-3-5-sp1-explained.aspx

http://hyok.kr/blog/dev/44?category=12

CLR Injection 관련 링크.

Posted by zerople | Posted in ASP.NET & C#, 프로그래밍 | Posted on 24-06-2009

0

.NET의 고급기술중의 하나로,  CLR Injection과 관련한 링크를 모으고 있습니다. 이 글은 계속 갱신됩니다.

 

CLR Injection: Runtime Method Replacer
http://www.codeproject.com/KB/dotnet/CLRMethodInjection.aspx

.NET Internals and Code Injection
http://www.ntcore.com/Files/netint_injection.htm

SOS Debugging Extension
http://msdn.microsoft.com/en-us/library/bb190764.aspx

SOS Cheat Sheat
http://geekswithblogs.net/.NETonMyMind/archive/2006/03/14/72262.aspx

Drill Into .NET Framework Internals to See How the CLR Creates Runtime Objects
http://msdn.microsoft.com/en-us/magazine/cc163791.aspx

Digging into interface calls in the .NET Framework: Stub-based dispatch
http://blogs.msdn.com/vancem/archive/2006/03/13/550529.aspx

Debugging Rotor Jit Call
http://www.xwang.org/2009/02/debugging-rotor-jit-call/

ARM Jazelle DBX (Direct Bytecode eXecution)
http://www.arm.com/products/multimedia/java/jazelle.html

온라인 전시 사이트(http://www.konvention.net)는 실패한 서비스다?

Posted by zerople | Posted in 끄적임 | Posted on 21-05-2009

태그:, , ,

1

이전 직장의 동료 블로그를 보다 온라인 전시 블로그는 실패했다는 포스트를 보고 답글로 남기기엔 글이 길어질것 같아 엮은글로 남깁니다.

온라인 전시 블로그가 실패한 원인은 ‘블로그를 만들었기 때문이다’라고 생각하는 후배에게..

당시 프로젝트를 리딩하던 입장에서.

블로그가 아니면 안되었던 상황에 대해서 이야기 해봅시다.

1. 메타포를 중요히 생각하는 컨텐츠의 성격상 사용자가 남긴 포스트와 덧글은 소통의 필요성이 절실했기 때문임을 분명히 강조합니다.

2. 포스트를 아우룰 수 있는 메타서비스가 필요했습니다. 여러가지의 목적에 따라 용도에 맞는 메타 서비스를 만들어 IBK장터, 온라인 경향하우징페어, ESN V-Store등의 메타들이 기획되고 그에 맞게 개발되었지요. 비단 자체 컨텐츠를 검색해 만들어내는 메타가 아닌, 그 어떤 블로그라도 컨텐츠를 제공 받을 수 있도록 구현되었었지요. (물론 아직까지 다른 블로그 서비스의 포스트가 등록되는 사례는 없는듯 합니다)

3. 플러그인 기능을 이용해 무궁무진한 서비스를 만들어 낼 수 있습니다. (당시 온라인 전시 를 개발하면서 가장 중요하게 생각했던 것은 블로그를 이용한 거래 서비스임은 지누군도 분명 알것입니다)

4. 마케팅차원에서 충분히 매력적인 선점 모델임은 자명합니다. B2B모델에서 블로그가 다리역할을 해준다는 차원에서 말이지요. 선점과 유지는 마케팅에서 꽤 중요한 요소입니다.

등등..

구구절절히 나열하자면 끝도 없지요. 당시 제가 중요하게 생각했던 컨셉은 블로그 내에서의 거래 모델을 만들어보자는 것이였고, 그것이 싸이월드와 같은 미니홈피의 철학으로는 상상할 수 없는 일이지요.

그 후로 이니시스에서 만들어낸 플러그인으로 블로그 내에서 거래 모델이 만들어졌습니다. 다만 그 서비스는 아직까지 개인 블로거를 위한 서비스지만요. 정확히 말하면 거래모델이라기 보다 PG모델에 가깝죠.

당시 우리에게 필요한 것은 개인 블로그를 위한 거래모델이 아닌, 비지니스 블로그를 위한 거래모델이였습니다.

사람들이 블로그를 어렵다고 생각하는 이유는 새로운 것에 적응하기를 싫어하는 고유의 문화때문이라고 생각합니다. 어느덧 그 문화가 지금은 익숙해져 대부분의 네티즌은 블로그의 본질에 대해서 꽤 많이 이해하고 있다고 생각합니다. 시간이 지나면 해결되는 문제였단 말이지요.

지누군이 이야기한 것 처럼, 컨벤션 서비스가 실패한 사례라고 함에는 이견이 없습니다. 다만 제가 실패라고 생각하는 이유는 ’관심과 애정’을 갖지 못한 채 버려두고 그 회사를 박차 나왔던 당신과, 나 때문이라고 봅니다.

지속적인 서비스 모델의 R&D와 개선이 없이는 블로그가 아닌 그 어떤 서비스가 되었더라도 결과는 마찬가지였을껍니다.

오히려 지금에 와서는 이런 꿈을 꾸곤합니다. 당시 블로그를 개발하지 않고 위키기반의 서비스를 만들었으면 어떨까.. 하고 말입니다. 제품과 제품의 릴레이션을 만들어내고, B.O.M을 위키의 링크서비스를 이용해 구현했다면 좀더 나아졌을까요..? 오히려 위키라는 어려운 용어와 서비스 때문에 관리의 비용이 증가했을까요..? 뭐, 지난 얘기입니다만 전 지금도 꽤 자랑스럽겍 생각하고 있습니다. 컨벤션을 리딩했다는 그 사실 하나만으로도요.

우리는 당시 블로그의 기본 철학과 그 본질에 충실했습니다. 그것이 티스토리의 판박이였다 할지라도요. 블로그의 철학을 담고, 컨텐츠의 소통에 초점을 둔 그 본질을 선택하고 결정함에는 분명 오해도, 이견도 없던 당연한 결정이었음은 지금도 후회하지 않습니다.

어려운 글 쓰기 과정은 ‘템플릿’으로 대체했고, 그 결과 꽤 깔끔한 글과 UCC가 엮여있는 것을 보고 지금도 흐뭇해합니다.

B2B에 있어서 소매인들까지 아우룰 수는 없습니다. 동내 슈퍼마켓 사장님이 B2B에 관심이나 있을까요..? 대기업과 중소기업을 아울러 거래모델을 만들어내고, 중소기업끼리 거래가 가능토록 그 ‘장’을 마련해 주는 공간이 B2B의 거래/알선 모델이 됨은 자명한 것입니다. 대중소 기업의 상생 모델이라는 말뿐인 모델보다 좀더 현실적인 모델이 필요하진 않았을까요..?

블로그가 왜 어려운 UI가 되었지요..? 블로그의 본질에서 UI에 대한 배경은 없습니다. 블로그의 UI는 스킨(=테마) 그 하나만으로 이야기될 뿐입니다. 모조리 각종 서비스가 만들어 내는 통일된 UI때문이지요. 블로그의 UI만큼 간결한 CMS는 없습니다. 언제부터 블로그의 UI가 어렵다는 편견이 생겼습니까?

미니홈피의 UI가 왜 쉽다고 생각하십니까? 오히려 나이 지긋한 중소기업의 사장님들에게 싸이월드보다는 블로그의 UI가 더 쉽게 느껴질 수 있습니다.

미니홈피가 대중화 되고, 미니홈피에서 머무는 시간이 많아짐에 따라 그 UI가 친숙해져서 사용하기 쉬운 UI가 된것이지. 처음부터 쉬운 UI는 아니였다고 생각합니다.

여러가지로 해 주고 싶은 이야기가 많지만. 한국에 가게되면 소주잔 기울이며…. 얘기 해 봅시다 ;-)

사실 제가 하고 싶은 얘기는 딱 이겁니다.

최근의 근황과 새로운 목표..

Posted by zerople | Posted in 끄적임 | Posted on 15-04-2009

태그:,

1

제 블로그에 들러주시는 분들이 누군지, 저는 모릅니다.
하지만 제 지인들은 가끔.. 들러주신다는 사실은 알고 있습니다.

그래서 최근 제 근황을 전하고.
새로운 목표를 몇 가지 공개하려고 합니다.

저는 지난 2008년 9월 25일 한국을 떠났고, 현재 ‘(주)인터데브’ 소속으로 도미니카 공화국의 관세청 전산화 프로젝트를 현지에서 수행하고 있습니다. 현재 개발 막바지 단계로 미진한 구현 및 테스트를 진행하고 있습니다.

예정대로라면 저는 출국한지 만 6개월이 되는 2009년 3월 24일 한국으로의 귀국이 계획되었으나 현지의 프로젝트 사정과 한국에 가야할 개인적인 이유가 사라졌기에 약간의 인센티브를 지급받는 조건으로 6개월을 더 머물기로 결정하였습니다. 때문에 2009년 9월 25일 귀국 예정입니다.

관세청 전산화 프로젝트에서는 업체정보를 관리하는  ’Enterprise Management Profile’, 리스크 팩터를 등록하고 Rate, Random Rate, Priority를 관리하는 Risk Management, 리스크팩터에 의해 감사 대상을 선정하고 계획을 세우고 결과를 등록하는 ‘Audit’, 대상 업체를 선정하여 조사 계획을 세우고, 조사결과를 등록하는 ‘Investigation’업무를 맡고 있습니다.

이곳 도미니카 공화국에서의 생활은 불편함이 없습니다. 외로움과 고독, 향수를 비롯한 정신적 고통을 제외한다면 말이지요. 출근 10분 전에 일어나 조식을 거른 채 통근버스를 타고 출근을 합니다. 최근 지속되는 야근으로 10시~11시가 되어야 택시를 타고 숙소로 돌아갑니다.  보통 5시 30분이면 퇴근이었지만요.

퇴근 후 숙소에서는 씻고 하루종일 다운로드 받은 드라마/버라이어티를 보며 가족,친지들과의 전화통화 후 취침합니다.

항상 새롭게 무장하곤 하지만. 어렵게 블로그에 개인적인 목표를 공개합니다. 뭐랄까.. 이렇게 공개라도 하면 좀 더 잘 지키고, 목표 달성을 위해 좀 더 노력하지 않을까 해서요.

  • 영어공부에 매진하려 합니다.
    얼마전 현지에 상주하는 통역을 통해 스페인어를 레슨받았습니다. 딱 한달요. 하지만 숙소에 있는 아일랜드에서 온 미셸이라는 친구에게 영어를 레슨받기로 했습니다. 매주 화, 목, 토, 일. 주 4회 8시간씩 레슨을 받기로 했답니다. 이제 제 목표는 한국에서의 개발자가 아닌 세계를 향한 시니어 개발자이기 때문입니다.
  • 개발 프레임웍인 zFx를 재개발 합니다.
    개인적인 용도로 사용해오던 개발 프레임웍을 조금 더 범용으로 사용할 수 있도록 갱신하고자 합니다. 이번엔 CodePlex를 통해 퍼블리싱도 계획하고 있습니다. 새로운 아키텍쳐와 신기술을 추가 적용해야 합니다.
  • 한 권의 단행본을  준비중입니다.
    글을 쓰지 않기로 결심한지 7년이 넘었습니다. 지금까지 잘 지켜왔지요. 헌데 다시 글을 쓰기로 결정했습니다. 바닥까지 내려온 제 가치를 스스로 조금 더 높여야겠다는 의도랍니다. 얼마전 RC로 공개된 MVC Framework / Entity Framework / JQuery를  이용한 Wiki개발과 관련한 단행본을 기획중입니다.
  • Mobile Application을 개발/유지 하려고 합니다.
    한국에서 합류하는 팀원들이 있어 ‘T-옴니아’를 주문했습니다. 금주 토요일에 도착하는 동료직원으로부터 전달받기로 했습니다. Windows Mobile 6.1 / Microsoft Compact Framework을 이용해 AppStore에 등록할만한 어플리케이션을 개발하려고 합니다. 약간의 금전적 기대도 있고, 마찬가지로 스스로의 가치를 높이고자하는 목적입니다.

이러한 목표들로 인해 앞으로는 조금 더 포스트를 자주 남겨야 겠습니다. 목표에 대한 진척도랄까요..? 조금씩이라도 나아지는 모습들을 공개함으로서 목표달성에 가까워 질 채찍이 될테니까요.

아무쪼록.. 전 도미니카공화국에서 건강히 잘 지내고 있습니다. 아, 한 달 전쯤 의도치않은 사고가 생겨 복서 골절을 당했습니다. 덕분에 오른손의 손등 뼈 두곳에 골절이 있었습니다. 때문에 약 2주간 깁스를 하고 있었죠. 하지만 원치않는 사정에 의해 3주나 빨리 깁스를 부시고 아픈 손으로 코딩에 매진할 수 밖에 없었죠.

뭐.. 이런 사정들 말고는 딱히 전해 드릴 이야기가 없네요. 깁스했던 사진도 있는데.. 찾아봐야 하고, 요즘은 꽤 바빠서 정리할 시간이 없어요.

이제 조금 더 노력해 봅시다.. ;-)

SQL Server 2008 Desinger Behavior Change : Saving Changes Not Permitted

Posted by zerople | Posted in Database | Posted on 15-04-2009

태그:, , ,

0

SQL Management Studio 2008을 사용하고 있습니다.

Management Studio 2008

Management Studio 2008

테이블의 변경이 발생했을 경우 SMS2008의 테이블 디자이너에서는 변경내역이 저장되지 않는 문제가 있었습니다. 아래와 같은 경고 메시지를 보여주면서요.

Saving changes is not permitted. The changes you have made require the following tables to be dropped and re-created. You have either made changes to a table that can’t be re-created or enabled the option Prevent saving changes that require the table to be re-created.

또한 사용자에게 ‘Cancel’과 ‘Save Text File’이라는 버튼만 보여준 채 ‘Cancel’을 클릭하면 사용자가 변경을 취소했다는 메시지를 보여줍니다. 취소하고 싶어서, 취소를 누른건 아니잖아요…?

Management Studio 2008

Management Studio 2008

이는 SQL Server 2008 Books Online (March 2009)에서 확인할 수 있었는데요.

  • 테이블의 중간에 새로운 컬럼이 추가되는 경우.
  • 컬럼을 삭제하는 경우.
  • 컬럼의 nullability를 변경하는 경우.
  • 컬럼의 순서를 변경하는 경우.
  • 컬럼의 타입을 변경하는 경우.

위 다섯 가지에 해당 되는 테이블의 변경사항은 SMS2008의 테이블 디자이너에서는 변경할 수 없었습니다. SQL서버는 테이블이 삭제되었고,  이미 만들어진 테이블을 삭제하고, 다시 생성해야 하기 때문이라고 합니다. 2008에서는 테이블의 변경에 대해 경각심을 주겠다는 의도로 옵션을 만들어두어 기본값은 재생성을 할 수 없도록 하지 않았나 생각해 봅니다. 물론 ALTER [TABLE]과 같은 DDL을 사용한다면 아무런 제약이 없습니다.

이러한 문제를 해결하기 위해서 다음과 같이 조취합니다.

메뉴에서 도구 -> 옵션 -> 디자이너를 선택합니다. ‘Prevent saving changes that require table re-creation’의 체크를 해제하면 SMS2008에서 테이블 디자인의 변경이 가능해집니다.

Management Studio 2008

Tools -> Options -> Designers

Management Studio 2008

'Prevent saving changes that require table re-creation'의 체크를 해제합니다.