레이저 마우스 버튼 자가수리

Razer basilisk ultimate 라는 마우스를 해외 직구를 통해 구입해 사용하고 있었습니다. 그런데 휠 클릭 버튼이 고장나서 항상 눌려있는 상태로 동작했고 정상적인 사용이 불가능했습니다. 😢 해외 직구로 구매해서 A/S는 받을 수 없었고 어차피 못 쓰는 마우스, 어떤 것이 고장인지 궁금해서 분해를 시작했습니다. 그런데 뜯고 보니 고칠 수 있겠다는 생각이 들었고 AliExpress에서 부품을 쉽게 구할 수 있어 당장 구매했습니다! 제 마우스의 휠 클릭 버튼은 이 제품과 가장 유사했습니다. 가로와 세로 모두 6mm에, 높이는 7mm이었지만 0.3mm 차이는 괜찮을 거라 생각했습니다. ...

2023년 05월 20일 · 2 min · 255 words · JongBin

Visual Studio 2015 UTF-8 인코딩 설정하기

Visual studio 2015 에서 프로그램을 작성하면 인코딩이 자동으로 CP949(EUC-KR) 로 설정됩니다. 이는 다른 플랫폼 간 호환성 문제를 일으킬 수 있고 당장 Git 클라이언트인 source tree 또는 Github desktop 에서 한글로 작성한 주석은 모두 깨지는 것을 보실 수 있으실 겁니다. 웹 서버 또는 데이터베이스 같은 경우 대부분 유니코드를 사용하며 이를 저장하기 위해 UTF-8 인코딩을 사용하며 현대 개발에 있어 표준이라고도 할 수 있습니다. 💡 Tips UTF-8 은 유니코드1) 를 위한 가변 길이 문자 인코딩 방식 중 하나로, 켄 톰프슨과 롭 파이크가 만들었다. UTF-8 은 Universal Coded Character Set + Transformation Format – 8-bit 의 약자이다. wikipedia ...

2023년 05월 18일 · 2 min · 357 words · JongBin

Doxygen 주석으로 생성하는 코드 문서

개발자는 다른 사람이 만든 코드를 사용할 때 보는 매뉴얼이 있습니다. 위 그림과 같이 무엇을 하려면 어떤 URL에 어떤 내용을 요청해야 하는지, 함수가 하는 일과 인자는 무엇을 전달해야 하는지 상세히 다룬 내용입니다. 이런 문서를 소스 코드와 별개로 관리한다면 소스 코드의 수정이 있을 때마다 각각 수정 해야하는 번거로움과 수정 내용이 반영이 되지 않는다면 문서 내용에 결점이 생길 수도 있습니다. 이런 문제를 해결하기 위해 구글링 중 Doxygen을 찾았고, 실무에 사용하기 위해 공부하고 포스팅 했습니다. ...

2023년 05월 15일 · 5 min · 1063 words · JongBin

C++ 예외 처리 try catch throw

C 언어와 다르게, C++은 애러를 핸들링할 수 있는 try-catch문을 제공합니다. 비교 조건문 if 예외 처리 try-catch 핸들링 return 값의 구분으로 핸들링 throw 를 사용하여 catch로 분기 및 예외 처리 단점 return 자료형에 종속적 반드시 try-catch 블럭에서 처리 조건문은 반환 값의 구분으로 핸들링하기 때문에 반환하는 자료형에 종속적입니다. 예를 들어 char getSome()이라는 함수에서 예외 처리를 하고 싶은데 char형으로 어떻게 구분을 지을 수 있을까요? NULL값을 줄 수도 있지만 정말 NULL을 반환한게 정상적인 흐름이라면 오류가 아닐텐데 말이죠! ...

2023년 05월 12일 · 4 min · 754 words · JongBin

데이터 구조 정렬 (Data Structure Alignment)

Processor 대부분의 컴퓨터는 32비트 또는 64비트의 프로세서를 갖고 있습니다. 이는 프로세서가 데이터를 처리할 때 사용하는 레지스터1)의 크기, 데이터들의 전송 통로인 버스의 폭에 따라 결정됩니다. 💡 Tips Bit Byte Count Range 8 1 \(2^{8} = 256\) -128 ~ 127 32 4 \(2^{32} = 4,294,967,296\) −2,147,483,648 ~ 2,147,483,647 64 8 \(2^{64} = 18,446,744,073,709,551,616\) –9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 맨 왼쪽 비트는 부호를 나타내는 비트이고, unsigned를 붙이면 부호 비트 자리도 데이터가 올 수 있음 Memory access 프로세서가 메모리에 읽기 또는 쓰기를 할 때도 32비트 또는 64비트씩 접근하여 처리합니다. 따라서 프로세서의 아키텍쳐에 맞추어 4의 배수 또는 8의 배수의 사이즈가 되게 코딩을 해주면 메모리 접근을 줄일 수 있고 효율과 성능을 높일 수 있습니다! ...

2023년 05월 11일 · 3 min · 629 words · JongBin