태그 보관물: Mac

Macbook pro 나비 키보드 불량에 따른 보상

메일이 하나 날아들었는데, 내 오래된 맥북 pro의 키보드 불량 때문에 보상을 해주겠다는 내용이었다.

메일에 따르면 보상은 세개의 그룹으로 나누어, 두 번 이상의 키보드 교체를 받고도 문제가 재발한 경우(Group 1), 한번 키보드를 교체 했는데 문제가 재발한 경우(Group 2) 그리고 하나 이상의 키캡 교체를 받고도 문제가 재발한 경우(Group 3) 각각에 대하여 최대 $300-$395, $125, $50을 보상한다고 한다. 아마도 총 5천만 USD에서 제반 비용을 빼고, 나머지를 claim하는 사람 만큼으로 나누어 주기 때문에 최대 한도만 적어 놓은 듯 하다.

다행히 예전에 키보드를 교체한 이력에 대한 영수증을 버리지 않고 있어서 claim해보기로 했다. 나비 키보드는 상판(Top case)와 함께 교체 하기에 수리 명세서에는 “Korean, Top Case”라고 적혀 있다.

Claim page로 들어가면 email로 전달되는 Unique IDPIN을 입력하게 되는데, 이게 Macbook pro의 model 번호와 연결되어 있어서 모델 번호가 잘 못 입력된 경우는 이를 수정 할 수 없다. 만약 모델 번호가 잘 못 입력되어 있거나 case에 해당 함에도 메일을 받지 못했을 경우라면 정보를 직접 입력하는 claim page에서 시작하면 모델번호를 직접 입력할 수 있다.

2023년 3월 6일까지이니 케이스에 해당된다면 서두르시라.

XCode에서 OpenCL 개발환경 설정과 간단한 디바이스 정보 출력 예제

  1. XCode에서 새로운 프로젝트를 생성하고 macOS의 Command Line Tool을 선택한다.
  2. Project를 선택하고 ‘Build Phases’ -> ‘Link Binary With Libraries’에서 더하기(+)를 선택한 후 OpenCL framework을 선택한다.

아래의 예제 코드는 OpenCL programming by example의 2장에 나오는 내용을 약간 변경한 것으로 AMD 라데온 Pro 455와 Intel HD graphics 530두 개의 GPU가 달린 2016년 맥북프로에서 실행하면 다음과 같은 결과가 출력된다.

Number of platforms: 1
3 devices found in platform0
	Name: Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz
	Type: 2
	Image support: 1
	Vendor: Intel
	Driver ver.: 1.1
	Device ver.: OpenCL 1.2 
	Compute units: 8
	Max clock: 2700 MHz
		Denorms: 1
		INF and quiet NaNs: 1
		Round to nearest: 1
		Round to zero: 1
		Round to INF: 1
		FMA: 1

	Name: Intel(R) HD Graphics 530
	Type: 4
	Image support: 1
	Vendor: Intel Inc.
	Driver ver.: 1.2(Aug 31 2020 22:26:30)
	Device ver.: OpenCL 1.2 
	Compute units: 24
	Max clock: 1050 MHz
		Denorms: 1
		INF and quiet NaNs: 1
		Round to nearest: 1
		Round to zero: 1
		Round to INF: 1
		FMA: 1

	Name: AMD Radeon Pro 455 Compute Engine
	Type: 4
	Image support: 1
	Vendor: AMD
	Driver ver.: 1.2 (Sep 11 2020 22:04:49)
	Device ver.: OpenCL 1.2 
	Compute units: 12
	Max clock: 855 MHz
		Denorms: 1
		INF and quiet NaNs: 1
		Round to nearest: 1
		Round to zero: 1
		Round to INF: 1
		FMA: 1

Program ended with exit code: 0

저장공간 문제로 XCode 재 설치가 실패 할 때

XCode를 재설치 할 때 가능한 저장공간이 25GB이상 있음에도 저장공간이 부족해서 설치할 수 없다는 에러가 나온다면 제대로 삭제되지 않은 이전의 정보 때문일 수도 있다.

Uninstall xcode 10에 있는 내용을 참고해서 ~/Library/안에 있는 관련한 파일들을 삭제해주고 나니 저장공간에 대한 에러메세지 없이 잘 설치 되었다. /System/Library/안에 있는 파일들은 SIP 관련으로 그냥 삭제할 수 없고 복구모드로 부팅해서 csrutil을 실행해 주어야 한다는데 그냥 안해도 문제 없이 잘 되었다.

다음의 파일을 지우고 한번 시도해보자.

/Applications/Xcode.app 
~/Library/Caches/com.apple.dt.Xcode
~/Library/Developer
~/Library/MobileDevice
~/Library/Preferences/com.apple.dt.Xcode.plist
/Library/Preferences/com.apple.dt.Xcode.plist

[Tip] Mac version docker에서 띄운 (웹) 서버에 접속하기

Mac version Docker에 띄워둔 web server에 host에서 접속하려면 어떻게 해야 할까? 실행할 때 ‘–network=host’를 주면 된다는 얘기가 있어서 해봤는데, Mac에서는 통하지 않았다 이건 linux용이라고… Networking features in Docker Desktop for Mac에 따라 실행할 때 port를 매핑하는 것으로 이 문제를 해결할 수 있다.

Docker의 9090 port에 Mac의 9090 port로 접근하려면 다음과 같이 -p option으로 port를 매핑해서 docker를 띄운 후 서버를 실행한다.

# Port 매핑으로 docker를 실행
MAC$ docker run --rm -ti -p 9090:9090 DOCKER_IMAGE

# Docker에서 웹서버를 띄운다. Python http.server module을 사용.
DOCKER$ python -m http.server 9090
Serving HTTP on 0.0.0.0 port 9090 (http://0.0.0.0:9090/) ...

이제 Mac의 web browser로 해당 포트에 접근할 수 있다.

Mac용 AndroidStudio에서 새로운 프로젝트를 만들지 못하는 문제

Mac용 AndroidStudio v0.2.3을 설치하고 처음으로 ‘New Project’를 만드는데 마지막 단계에서 “Failed to import Gradle project:” error popup이 뜨면서 제대로 되지 않는다. 실제로는 project directory와 file들도 모두 생기는데 project가 등록되지 않는다. Error log로 봐서는 build와 관련이 있는 Gradle이 제대로 동작하지 못한 문제인것 같다.

Log는 “~/Library/Logs/AndroidStudioPreview/idea.log”에서 볼 수 있다.

Failed to import Gradle project: /Users/YOUR_ID/.gradle/wrapper/dists/gradle-1.6-bin/72srdo3a5eb3bic159kar72vok/gradle-1.6-bin.zip.lck (No such file or directory)

Android developer page에 Gradle의 import와 관련된 문제가 발생했을 때 Android SKD Manager를 띄워서 Extras 아래에 있는  ‘Android Support Repository’ 항목을 선택해주어야 한다는 내용이 니와 있어서 따라 했는데도 문제가 계속 생겼다.

Home directory에서 permission error가 나는게 이상해서 home directory의 permission을 보니 내 home directory에 owner가 write permission이 없다!! (읭?)

Home directory에 write permission을 줄까 하다가 mac의 보안정책 원래 그럴지도 모르니 그냥 message가 불평하는 대로 ~/.gradle directory를 만들어 주었더니 잘 돌아간다. lol

sudo mkdir ~/.gradle
sudo chown YOUR_ID:staff ~/.gradle