옴론 스위치가 들어간 마우스

좌 클릭시 더블 클릭이 되는 현상

주로 왼쪽에 증상이 나타나고, 오른쪽은 정상


------------------------------------------


위와 같은 증상이 있는 경우.

A/S기간이 지났고, 납땜에 자신이 없고, 급한경우(?)



1.마우스를 분해한다.

2.왼쪽 버튼의 스위치 뚜껑을 연다.

3.스위치의 탄성력(?)을 확보하는 작은 구리판을 꺼낸다.

4.오른쪽 버튼의 스위치 뚜껑을 연다.

5.구리판을 꺼낸다.

6.좌우 구리판을 바꿔서 껴준다.



스위치 모양. 구조는 아래 링크에서 확인하면 된다.

kbdmania [http://www.kbdmania.net/xe/tipandtech/2861723]




분해는 조립의 역순.


마우스를 테스트해보면 비교적(?) 간단하게 더블클릭 현상을 해결 할 수 있다.


구리판의 둥근 모양으로 휘어진 부분이 탄성력(?)을 결정한다.

분해/조립시 이 부분이 너무 굽혀지지 않도록 주의해야 한다.

그렇게 되면, 마우스 버튼이 힘없이 눌리게 된다.

달리 말하자면, 이부분의 휨 정도를 조절하면 클릭감을 조정할 수 있다.


손재주가 좋다면, 좌우 구리판을 맞바꾸지 말고 휨 정도를 조절하여 버튼을 살릴수도 있을 것이다.




스위치를 구매하고, 남땜을 하려니 너무 귀찮아서 이방법으로 왼쪽 마우스의 클릭감을 살려서 사용하고 있다.

좌/우를 바꾸는 만큼, 한번은 이방법을 사용할 수 있다.

http://ko.wikipedia.org/wiki/%EC%8A%A4%ED%84%B1%EC%8A%A4%EB%84%B7


스턱스냇 stuxnet


윈도우즈API정복 - First.cpp


원문 출처 : http://soen.kr/lecture/ccpp/cpp2/18-1-5.htm



첫 번째로 구조체가 시작될 번지(base)를 고를 때 가급적이면 16바이트 경계에서 시작하도록 한다. 왜냐하면 최신 CPU들은 속도 증가를 위해 캐시를 사용하는데 캐시의 단위가 16바이트로 되어 있기 때문이다. 캐시 크기의 배수 위치에 구조체를 배치하면 이 구조체를 자주 액세스할 때 캐시 용량을 덜 차지하면서도 빠르게 액세스할 수 있다. 만약 16바이트 경계의 양쪽에 걸치게 되면 캐시도 많이 차지할 뿐더러 액세스 속도도 느려질 것이다.

두 번째로 구조체의 멤버를 배치할 때 멤버의 오프셋도 액세스하기 유리한 위치로 조정한다. 별다른 지정이 없으면 멤버의 크기에 따라 자연스러운 경계 위치에 맞추도록 되어 있는데 예를 들어 int는 4바이트, double은 8바이트 경계에 맞춘다. 그래서 위 예제의 경우 c가 1바이트를 차지하고 난 후 d는 다음 8바이트 경계에 배치되므로 c와 d사이에 7바이트는 버려지고 사용되지 않는다. 이렇게 사용되지 않고 버려지는 공간을 패딩(Padding) 이라고 한다.



컴파일러는 CPU가 메모리를 최대한 빠른 속도로 액세스할 수 있도록 구조체의 베이스와 멤버의 오프셋을 조정해서 배치하는데 이를 구조체의 정렬(alignment)이라고 한다. 자료를 크기순으로 나열하는 정렬(Sort)과는 번역만 같으며 뜻은 다르다. 개발자들은 일반적으로 구조체의 정렬 방식에 대해 몰라도 별 문제가 없다. 왜냐하면 변수가 어떤 메모리에 배치되는가는 원칙적으로 컴파일러 마음이며 개발자는 변수명으로 그 번지의 내용을 읽고 쓰기 때문이다. 또한 멤버의 오프셋이 어떻게 설정되든간에 코드에서는 st1.c, st1.d 연산문으로 멤버를 액세스할 수 있으며 . 연산자는 컴파일러가 정한 오프셋을 정확하게 찾아 준다.

구조체의 정렬 기능에 의해 액세스 속도는 빨라지지만 효율을 위해 버려지는 메모리가 있다는 점이 다소 안타까워 보일 것이다. 그러나 위의 tag_st1은 이런 효과를 극대화해서 보여주기 위해 1바이트 멤버 다음에 8바이트 멤버를 의도적으로 배치했을 뿐이지 현실적으로 구조체의 멤버들은 대부분 int, unsigned, char [ ] 등이기 때문에 걱정하는 것만큼 메모리가 낭비되지는 않는다.

(출처 : http://msdn.microsoft.com/ko-kr/library/vstudio/ttcz0bys(v=vs.110).aspx)


C4996 error 발생시.


#pragma warning(disable : 4996)



단 실제 개발에서는 컴파일러에서 하라는대로 변경할 것.





원문 : http://www.soen.kr/lecture/ccpp/cpp2/18-3-3.htm


#pragma warning(경고제어문:경고번호)

 

경고 제어문의 종류는 다음과 같으며 제어문 다음에 : 과 함께 대상 경고의 번호를 적는다. 경고 번호는 공백으로 구분하여 여러 개를 나열할 수 있으면 경고 제어문도 콜론으로 구분하여 여러 개를 나열할 수 있다.

 

제어문

설명

once:번호

반복되는 경고를  번만 출력한다.

default:번호

원래 설정대로 되돌린다.

disable:번호

경고를 출력하지 않는다.

error:번호

경고를 에러로 처리한다.

레벨:번호

경고의 레벨(1~4) 변경한다.

push[,n]

모든 경고의 레벨을 저장한다. n 있을 경우 저장과 동시에 전역 경고레벨을 n으로 변경한다.

pop

스택에 마지막으로 저장된 경고 레벨을 복원한다.

 

소스의 어느 위치에나 다음 명령을 삽입하면 이후부터 컴파일러가 경고를 통제하는 방법이 바뀐다.

 

#pragma warning (disable:4101)            // 경고를 무시하도록 한다.

#pragma warning (once:4101)          // 4101경고를 한 번만 출력한다.

#pragma warning (error:4700)               // 경고 대신 에러를 출력한다.

#pragma warning (3:4706)                // 4706번 경고를 레벨 3으로 올린다.

 

Google에서 android용 ide를 발표했다.


아직은 0.1 버전으로 정식 버전이 아니다.



설치 후.


실행을 했지만, 아무런 반응 없이 실행이 안된다면.


시스템 환결설정에 [ JAVA_HOME ]이 설정되어 있는지 확인해야 한다.


(윈도우에서 CMD 도스명령어창에서 실행 해보면 에러 메시지를 볼 수 있다.)






Android Studio 는 실행은 되는데 project를 생성하려면 아래와 같은 오류 메시지가 나온다면,


[ your android sdk is out of date or is missing templates. please ensure you are using sdk version 22 or later ]


Project Defaults -> Project Structure -> SDK 설정을 확인 해주면 된다.



+JAVA_HOME, classpath, path 설정만 잘 되어 있다면 별 문제는 없는듯 하다.

jdk는 32bit 버전을 사용해야 한다.(64bit는 Android SDK의 JDK 설정이 안된다.)

(원문 : http://msdn.microsoft.com/en-us/library/ms345415.aspx)

(Source FROM JABOOK(http://www.jabook.com)



Create a Stored Procedure in SQL Server 2012


1.SQL Server Management Studio를 실행


2.데이터베이스 항목 아래 해당하는 데이터 베이스 선택


3.프로그래밍 기능 -> 저장 프로시저 선택


4.마우스 오른쪽 버튼 클릭 -> 새 저장 프로시저


5.tool 메뉴에 쿼리 항목 -> 템플릿 매개 변수 값 지정(Ctrl + Shift + M)


6.매개변수값 설정


7.쿼리 에디터에서 SELECT 수정


8.실행


9. CallableStatement 로 StoredProcedure 호출




각각의 매개 변수가 의미하는 값

Parameter

Value

Author

Your name

Create Date

Today's date

Description

Returns employee data.

Procedure_name

HumanResources.uspGetEmployeesTest

@Param1

@LastName

@Datatype_For_Param1

nvarchar (50)

Default_Value_For_Param1

NULL

@Param2

@FirstName

@Datatype_For_Param2

nvarchar (50)

Default_Value_For_Param2

NULL




동적 StoredProcedure 생성


source From JABOOK (http://www.jabook.com/)


PreparedStatement

반복적으로 사용하는 패턴의 쿼리


ex)




Transaction

JDBC에서는 Transaction 설정을 따로 해줘야 함.




   Windows 8의 무료 app중 하나인


tunein


Windows용으로 나오기 전부터 잘 사용하던 app이기 때문에


기대가 컸지만,


어찌된 일인지 제대로 작동하지 않았다.


'스트리밍 오류'


네트워크에 문제인가 했지만,


동일 네트워크에서 Windows가 아닌 다른 장치에서는


정삭적으로 작동하는 것으로 봐서는


네트워크 문제는 아닌듯.


해결방법은 역시나 구글신께서 알려주셨다.


(S/W문제의 원인은 여러가지일 수 있겠지만)


나의 경우는 AMD ATI 드라이버의 문제였다.


해외 Windows 8 Forum에 게시된 글에서


"Catalyst를 제거한 후 정상동작 한다."를 보고


제거해보니 언제그랬냐는 듯이 정상 작동한다.





http://www.allapplabs.com/eclipse/eclipse_shortcuts.htm



Ctrl + .

Ctrl + Shift + Enter

Ctrl + 1

+ Recent posts