티스토리 툴바

For a further investigation, please try these steps as below: 

  1. Enable IntelliSense: 

    1. For all query windows, please go to Tools >> Options >> Text Editor >> Transact-SQL >> IntelliSense, and select Enable IntelliSense.
    2. For each opening query window, please go to Query >> Intellisense  Enabled.  
  2. Refresh IntelliSense local cache: please go to >> Edit >> IntelliSense >>Refresh Local Cache or use the CTRL+Shift+R keyboard shortcut to refresh.
  3. Enable statement completion: please go to Tools >> Options >> Text Editor >> Transact-SQL >> General, and check on Auto list members and Parameter information boxes.
  4. Reboot SQL Server Management Studio.



출처 : http://social.msdn.microsoft.com/Forums/en/sqltools/thread/36e3d0db-3150-434a-885d-97810fe199c5
저작자 표시 비영리 변경 금지


MSDN세미나가 오랜만에 열립니다. 유익한 내용, 현업에서의 경험을 서로 나누는 귀중한 시간이 될것 같습니다. 많이 오셔서 서로가 가지고 있는 고민을 나누는 시간이 되었으면 합니다.^^



저작자 표시 비영리 변경 금지

해외 유학,어학연수 박람회가 금주 주말에 열립니다.

저작자 표시 비영리 변경 금지


지난 8월 30일에 MVP Day가 있었습니다.
이번 모임의 주제는 Office 365였습니다.
오랜만에 MVP님들과 인사도 나누고 Office 365 정도도 얻고 1석 2조의 모임이였습니다. ㅋㅋ



세션은 총 3개로 진행되었습니다.
1. Office 365 및 Office 15 로드맵 소개 - 한국마이크로소프트 이승식 부장
2. 쉽고 간단한 Offuce 365 관리자 기능 및 개발자 시나리오 - 이피언스 최정우 차장
3. Windows Phone 7 Mango 소개 - 한국마이크로소프트 김영삼 부장

간략히 내용을 소개하자면...
1. Office 365 및 Office 15 로드맵 소개 - 한국마이크로소프트 이승식 부장
Office 365는 클라우드 서비스로 제공되며 Microsoft Office Professional Plus, Lync, SharePoint, Exchange제품들과 함께 Office 365는 서비스를 극대화 할 수 있습니다.



2. 쉽고 간단한 Office 365 관리자 기능 및 개발자 시나리오 - 이피언스 최정우 차장
제가 이 모임에 참석한 이유가 아니었나싶네요. 개발자 관점에서 관련 서비스를 어떻게 제공 할 수 있는지 궁금했는데 그 부분을 해소해 준 세션이었습니다.
Office 365 관리


Office 365 개발


Exchange Online 개발
- EWS 제공
- URL : http://msdn.microsoft.com/en-us/exchange/gg490662

Lync Online 개발
- Lync 2010 Managed API 제공
- URL : http://msdn.microsoft.com/en-us/lync/gg394186

ShrePoint Online 개발
- SharePoint Designer
- VisualStudio 2010
- 스마트 솔루션


3. Windows Phone 7 Mango 소개 - 한국마이크로소프트 김영삼 부장
윈도우 폰 7 망고에 대해서 소개해주셨는데요. 한국 출시는 미정이지만 올해 말을 목표로하고 있다고 합니다.
무엇보다 Office 365가 윈도우 폰을 통해서 서비스가 제공되기에 망고가 기대된다는 것입니다.^^




저작자 표시 비영리 변경 금지


벌써 3번째입니다. ^^
오늘 주제는 작은 함수에 대한 부분인데요. 여기서 말하는 함수라는 것은 메서드단위로 생각하시면 됩니다.
사실 메서드 보다는 JIT에 대한 이해라고 생각하셔도 됩니다.

 
Hoons-Attraction of Small Functions
View more presentations from pouoq12.

아시다시피 우리가 작성하는 C#, VB기타 소스코드는 컴파일되면 MSIL이라는 중간언어로 생성됩니다. 이는 닷넷런타임에서 JIT컴파일러가 이 MSIL코드를 머신(machine) 코드로 바꾸도록하는 것이지요~ 여기서 JIT 컴파일러가 IL코드를 읽어오는 부분을 보시면 왜 우리가 작고 간단한 메서드로 구현을 해야하는지 알게 됩니다.
저희는 다음과 같이 소스코드를 작성했습니다.

 
    class Program
    {
        static void Main(string[] args)
        {
            string result = BuildMsg(true);
        }

        public static string BuildMsg(bool takeFirstPath)
        {
            StringBuilder msg = new StringBuilder();
            if (takeFirstPath)
            {
                msg.Append("A problem occurred.");
                msg.Append("\nThis is a problem.");
                msg.Append("imagine much more text");
            }
            else
            {
                msg.Append("This path is not so bad.");
                msg.Append("\nIt is only a minor inconvenience.");
                msg.Append("Add more detailed diagnostics here.");
            }
            return msg.ToString();
        }

        private static string SecondPath()
        {
            throw new NotImplementedException();
        }

        private static string FirstPath()
        {
            throw new NotImplementedException();
        }

        public static string BuildMsg2(bool takeFirstPath)
        {
            if (takeFirstPath)
            {
                return FirstPath();
            }
            else
            {
                return SecondPath();
            }
        }
    }


위 소스코드의 IL을 IL 디어셈블러로 확인해보면 다음과 같이 메서드 단위로 떨어지는 것을 볼 수 있습니다.























함수 하나를 클릭해서 상세히 살펴보겠습니다.


함수 하나를 호출할 경우 해당 메서드 안에 있는 코드 모두를 로드하게 됩니다. 그렇다면 메서드 안에서 다른 메서드를 호출하는 경우는 어떨까요?
아래 처럼 call이라는 코드를 보실 수 있습니다. 분개부분에서 필요한 메서드만 다시 호출하게 되는거죠. 결국 사용하지 않는 리소스를 로드하지 않아 JIT컴파일러는 보다 효율적으로 실행 될 수 있겠죠? 바로 이 점때문에 저희는 작고 간단한 메서드 단위로 코딩을 해야하는 이유입니다.


 


저작자 표시 비영리 변경 금지