블로그   태그   위치로그   이웃로그   방명록
          
 
 
05-17 01:59
 
 
     
 
  비주얼 스튜디오 2012 업데이트 3 설치할 때 에러 조치법 Microsoft Root Certificate Authority  +   [Windows]   |  2013. 7. 9. 12:36

비주얼 스튜디오 2013 프리뷰에 맞춰 비주얼 스튜디오 2012 업데이트 3이 발표되었다.


그런데 이 업데이트를 설치하려고 할 때 다음과 같은 에러가 날 경우가 있다.


Microsoft Root Certificate Authority 2010 or 2011 is missing and can cause installation failures for some signed packages.  For more info, see http://support.microsoft.com/kb/931125.


이 경우 다음 사이트 혹은 첨부파일


rootsupd.exe


에서 KB931125 업데이트를 설치해주면 된다.


http://www.microsoft.com/en-in/download/details.aspx?id=38918


분명 윈도 XP용 업데이트지만 윈도7 64비트에서도 동작한다.



 
  
  싱글톤 패턴 Singleton Pattern  +   [Java]   |  2013. 4. 10. 10:51

소프트웨어 공학에서 싱글톤 패턴이란 하나의 클래스가 오직 하나의 오브젝트만 생성하고, 이것을 전역적으로 접근할 수 있게 하는 디자인 패턴이다. 이는 전체 프로그램에서 오브젝트가 오직 하나만 생성되어야 하는 경우에 사용한다.


이전부터 개발자들에게 간간히 쓰여졌는데, 폭발적으로 알려지게 된 계기는 이른바 GoF, Gang of Four라고 알려진 책 Design Patterns: Elements of Reusable Object-Oriented Software을 통해 사람들에게 널리 알려졌기 때문이다.


자바에선 일반적으로 두가지 방법이 사용된다.



게으른 초기화 Lazy initialization


public class SingletonDemo { private static SingletonDemo instance = null; // =null은 생략해도 무관. 싱글톤 데모 클래스에 대해 레퍼런스 변수만 선언 private SingletonDemo() {} //private 생성자를 만들어서 다른곳에서 객체를 생성하지 못하게 한다. public static SingletonDemo getInstance() { //public getInstance 메소드로 다른곳에서 접근 가능하게 만든다. if (instance == null) {                     instance = new SingletonDemo (); 싱글톤 객체 생성 } return instance; } }




이경우 멀티쓰레드 프로그램에서 두 개 이상의 쓰레드가 같은 클래스를 참조할 때 문제가 되기 때문에 Double Checked Locking을 사용하여 인스턴스가 생성되었는지 확인 후 생성되어있지 않을 때 동기화한다.


public class SingletonDemo {
        private static volatile SingletonDemo instance = null;
 
        private SingletonDemo() {       }
 
        public static SingletonDemo getInstance() {
                if (instance == null) {
                        synchronized (SingletonDemo .class){
                                if (instance == null) {
                                        instance = new SingletonDemo ();
                                }
                      }
                }
                return instance;
        }
}






부지런한 초기화 Eager initialization

번역은 임의로 하였으며 이것이 표준적으로 사용되는 말은 아니다

부지런한 초기화는 프로그램이 항상 인스턴스가 필요할 때나 인스턴스를 생성하는 비용이나 시간이 크지 않을 때 사용한다.



public class Singleton { private static final Singleton instance = new Singleton(); //레퍼런스 변수 선언과 동시에 인스턴스 생성 private Singleton() {} //생성자 지정으로 다른 클래스에서 객체 생성을 막음 public static Singleton getInstance() { //getInstance로 전역적인 접촉점 제공 return instance; } }



그 외 Static block initialization, The solution of Bill pugh, Enum way등이 있지만 다루지 않는다.





 
  
  코딩 스타일 관례 (Windows) Coding Style Conventions  +   [Java]   |  2013. 4. 3. 01:52

MSDN 번역 http://msdn.microsoft.com/en-us/library/aa378932%28VS.85%29.aspx


코딩 스타일 관례는 명확성과 일관성을 위해 사용되는 샘플 목록들이다. "헝가리안" 표기법이 사용된다. 이러한 관례는 Win32 프로그래밍에 일반적으로 사용되었다. 이 방법은 변수의 타입을 고려해 변수의 이름을 정할 때 사용되는 접두사를 포함한다.


다음 표는 일반적으로 사용되는 접두사(prefix)들이다.



 접두사

설명

 a

배열 array

 b

 BOOL (int)

 c

 Char

 cb

 Count of bytes

 cr

컬러 참조 값 Color reference value

 cx

 Count of x (short)

 dw

 DWORD (unsigned long)

 f

 Flags (일반적인 다중 비트 값)

 fn

 함수 Function

 g_

 전역 Global

 h

 핸들 Handle

 i

 정수형 integer

 l

 Long

 lp

 Long pointer

 m_

 클래스의 데이터 멤버 Data member of a class

 n

 Short int

 p

 Pointer

 s

 String

 sz

 Zero terminated String

 tm

 Text metric

 u

 Unsigned int

ul

 Unsigned long (ULONG)

 w

 WORD (unsigned short)

 x,y

 x, y 좌표 (short)


이러한 것들은 종종 혼합 사용되곤 하는데, 그 예를 들면 다음과 같다.




혼합된 접두사

설명

 pszMyString

 스트링을 지시하는 포인터

 m_pszMyString

 클래스의 데이터 멤버인 스트링을 지시하는 포인터



작성중///









 
  
 
 
<<이전   | 1 | 2 | 3 | 4 | 5 | 6 | ··· | 19 |   다음>>
 

데드캣's Blog is powered by Daum & tistory