본문 바로가기

개발158

우분투 윈도우 듀얼부팅 시간 차이 문제 해결 씽크패드 E14에 추가로 SSD를 설치하고 나서 용량이 매우 널널해 졌다. 기존 250GB에 500GB가 추가 되었으니 이제 리눅스도 듀얼 부팅으로 설치 해 볼 수 있지 않을까? 하는 생각에 남는 공간에 리눅스를 설치하여 윈도우 11과 우분투 20.04 LTS버전을 듀얼 부팅으로 사용하게 되었다. 그런데 문제가 생겼다. 바로 윈도우와 리눅스간 시간차이가 발생하는 것이었다. 이런 문제는 과거 해킨토시를 윈도우와 듀얼 부팅으로 사용할때 겪은 문제 였는데 리눅스와 사용할 때도 발생 하는 것이 었다. 이러한 문제가 발생 하는 원인은 리눅스와 윈도우가 시간을 가져오는 방식에 있다고한다. 윈도우는 메인보드 시간을 그대로 가져오는 반면, 리눅스는 메인보드 시간에 현재 시간대의 오프셋을 더하여 시간을 가져오게 된다. .. 2022. 4. 2.
우분투(Ubuntu) 20.04 LTS Hyper-V에서 고급세션 모드 사용하기 Hyper-V는 윈도우10/11 Pro버전 이상에서 제공되는 가상화 서비스이다. Windows Server에서 사용되던 Hyper-V가 PC용 Windows에 탑재되어 업무 생산성을 향상시키는데 도움을 주고 있다. 나도 VMWare도 있지만 유료라 가격 부담이 되며, VirtualBox는 불안정 하기때문에 Hyper-V를 애용하고 있다. Hyper-V의 문제점이라면 리눅스 데스크톱(Linux Desktop) 환경 지원이 윈도우 대비 약간 미흡하다는 점이다. 물론 CUI환경은 아무 문제없이 사용할 수 있다. Hyper-V에서 제공되는 고급 세션 모드는 RDP프로토콜를 이용하여 윈도우 원격데스크톱을 사용하는 듯한 환경을 제공해준다. VMWare라면 파일이동, 복사 붙여넣기 등을 사용하기 위해 별도 확장프로그.. 2022. 3. 16.
React Native Typescript(타입스크립트)로 프로젝트 생성하는 법 보통 React Native 프로젝트를 생성할 때 아래 명령어를 사용하게 된다. npx react-native init MyTestApp 하지만 이렇게 하게되면 자바스크립트 기준으로 프로젝트가 생성되기 때문에 나중에 타입스크립트로 전환이 쉽지 않다. 처음부터 타입스크립트로 프로젝트를 생성하면 자바스크립트와 타입스크립트를 같이 사용할 수 있게 된다. 왜냐면 타입스크립트는 자바스크립트의 Superset이기 때문이다. 다음 명령어로 React Native 프로젝트를 타입스크립트 프로젝트로 생성 할 수 있다. npx react-native init MyTestApp --template react-native-template-typescript 조금 명령어가 다소 길어보이나.. 유용하게 써먹을 수 있을 것이다. .. 2022. 3. 6.
리소스 문자열을 CString으로 불러오는 법 (win32,mfc) 보통 MFC, Win32 애플리케이션을 개발할 때 리소스파일에 문자열을 정의하여 불러 쓴다. 이렇게 하는 이유는 코드와 리소스가 분리되어 유지보수의 편리함이 생기고, 다국어지원등에 유리할 수 있기 때문이다. 이번 포스트에서는 MFC에서 리소스에 정의된 문자열을 CString으로 불러오는 법을 알아 보겠다. 1. LoadString 일반적으로 CString에서 리소스파일의 문자열을 불러오려면 LoadString 멤버함수를 이용한다. **`CStringT`** Class | Microsoft Docs **`CStringT`** Class API reference for the Microsoft ATL **`CStringT`** class docs.microsoft.com 예제 코드는 다음과 같다 CStrin.. 2022. 3. 2.
React Native 빌드 Clean하는 법(안드로이드, iOS) 다음은 React Native 안드로이드 빌드 환경에서 build clean하는 법이다. XCODE cd ios xcodebuild clean Android cd android ./gradlew clean for windows cd android gradlew clean 2022. 2. 25.
OpenJDK 다운로드 , 마이크로소프트에서 받자. 최근 OpenJDK를 윈도우에 설치할 일이 생겼었다. 윈도우에서 JDK를 설치하려면 압축을 풀어서 적절한 경로에 넣고 환경변수를 일일히 잡아줘야 하는게 일반적이다. OpenJDK를 공식으로 배포하는 공식 홈페이지에서는 zip파일 형태로 배포하기 때문에 마냥 귀찮지 않을 수 없다. 또 Pre빌드 해놓은 깃허브도 존재하는데 이것도 좀 믿기힘들다. https://jdk.java.net/archive/ Archived OpenJDK GA Releases Archived OpenJDK General-Availability Releases This page is an archive of previously released builds of the JDK licensed under the GNU General Pub.. 2022. 2. 25.
윈도우에서 React Native JDK오류 Execution failed for task ':app:processDebugMainManifest'. 윈도우에서 React Native개발환경 구축하려면 OpenJDK를 깔아야한다. 내가 보고 있는 책은 "리엑트 네이티브를 다루는기술" 이라는 책으로 Velopert 김민준님이 쓰신 책이다. 이 책에서는 OpenJDK 8을 chocolatey라는 패키지 메니저로 OpenJDK 8을 설치하라고 알려준다. 하지만 나는 윈도우에서 패키지메니저를 사용한적도 없고 잘 알지 못하는 패키지메니저에 의해 내 개발환경이 망가지는걸 원치 않기때문에 JDK정도는 그냥 수동으로 설치하기로 하였다. OpenJDK는 OpenJDK홈페이지에서 받아서 설치하고 환경변수만 잡아주면 되니까? 현재 2022년 2월25일 기준 OpenJDK최신 버전은 17.0.2버전이 었다. 이전버전을 찾아보니 이상하게 9버전까지만 배포되고 8버전은 없다... 2022. 2. 25.
[Win32] WM_ERASEBKGND에서 리턴 값의 의미? 최근 UI를 개발하다가 WM_ERASEBKGND 콜백을 구현할 일이 생겼었다. MFC에서 주로 개발을 했었고, 깜박임 방지 등을 위해 습관적으로 FALSE를 리턴하고 있었다.(사실 잘못 쓰고 있었다) 이번에도 아무생각 없이 WM_ERASEBKGND콜백에서 0을 리턴을 해버렸는데 코드리뷰에서 문제가 제기 되었다. 1과 0의 차이는 무엇일까? 이번 기회에 좀 찾아 보았다. 참고로 나의 경우 WM_ERASEBKGND에서 배경을 그리고 WM_PAINT에서 글씨를 그리는 작업을 하고 있었다. WM_ERASEBKGND 는? 가장 정확한 레퍼런스는 MSDN이다. https://docs.microsoft.com/en-us/windows/win32/winmsg/wm-erasebkgnd 우선 WM_ERASEBKNG 콜백에.. 2022. 2. 24.
m3u8 동영상 다운로드하기 (ffmpeg 명령어) ffmpeg -headers $'referer: https://example.com/\r\n' -i "https://example.com/" -codec copy file.mp4 2022. 1. 6.