반응형

 


작성일: 2024년 8월 7일

 

Intel CPU를 사용하는 Macbook을 사용했을 때는 아래와 같이 CPU 온도를 확인했었다.

$ sudo powermetrics -n 1 --samplers smc

 

그런데 m1 CPU를 사용하는 Macbook을 구입한 뒤로는 위 명령이 쓸모없게 되었다. 

왜냐하면 아래처럼 에러가 발생하기 때문이다.

$ powermetrics -n 1 --samplers smc

powermetrics: unrecognized sampler: smc

$

 

 

M1, M2 CPU를 장착한 Mac에서 CPU 온도 확인하는 방법.

 

 

그렇다면, m1 CPU를 장착한 Macbook에서는 어떻게 CPU 온도를 확인할까?

아래처럼 Hot 이라는 앱을 설치하면 된다.

 

$ brew install --cask hot
참고로 자세한 설명은 아래 공식 홈페이지를 읽어볼 것 !
  https://formulae.brew.sh/cask/hot

 

brew 명령으로 hot 앱이 설치되었다면, hot 앱을 구동한다. 아래 화면과 같이 m1 cpu 온도가 짠~하고 보여질 것이다.

 

macOS m1 CPU 온도 정보 확인 (Hot 앱)

 

macOS m1 CPU 온도 확인을 위한 Hot 앱

 

Parallels로 Windows 11 구동하고, 이것저것 업무에 필요한 앱을 많이 구동했는데 섭씨 31도 밖에 안 되네.

M1 CPU를 좋아할 수 밖에 없는 이유가 바로 이런 것 때문 ^^

 


 

 

##
## 채용 관련 글
##
제가 일하고 있는 기업 부설연구소에서 저와 같이 연구/개발할 동료를 찾고 있습니다.
(이곳은 개인 블로그라서 기업 이름은 기재하지 않겠습니다. E-mail로 문의주시면 자세한 정보를 공유하겠습니다.)

근무지 위치:
  서울시 서초구 서초동, 3호선 남부터미널역 근처 (전철역 출구에서 회사 입구까지 도보로 328m)
필요한 지식 (아래 내용 중에서 70% 정도를 미리 알고 있다면 빠르게 협업할 수 있음):
  - 운영체제 (학부 3~4학년 때, 컴퓨터공학 운영체제 과목에서 배운 지식 수준):
    예를 들어, Processor, Process 생성(Fork)/종료, Memory, 동시성, 병렬처리, OS kernel driver  
  - Linux OS에서 IPC 구현이 가능
    예를 들어, MSGQ, SHM, Named PIPE 등 활용하여 Process간 Comm.하는 기능 구현이 가능하면 됨. 
  - Algorithm(C언어, C++ 언어로 구현 가능해야 함)
    예를 들어, Hashtable, B-Tree, Qsort 정도를 C 또는 C++로 구현할 수 있을 정도 
  - Network 패킷 처리 지식(Layer 2 ~ 4, Layer 7)
    예를 들어, DHCP Server/Client의 주요 Feature를 구현할 정도의 능력이 있으면 됨.
  - Netfilter, eBPF 등 (IP packet hooking, ethernet packet 처리, UDP/TCP packet 처리)
  - IETF RFC 문서를 잘 읽고 이해하는 능력 ^^
  # 위에 열거한 내용 외에도 제가 여기 블로그에 적은 내용들이 대부분 업무하면서 관련이 있는 주제를 기록한 것이라서
  # 이 블로그에 있는 내용들을 잘 알고 있다면, 저희 연구소에 와서 연구/개발 업무를 수행함에 있어서 어려움이 없을 겁니다.
회사에서 사용하는 프로그래밍 언어:
  - 프로그래밍 언어: C, C++, Go
    (참고: 아직 연구소 동료들이 Rust를 사용하진 않습니다만, 새 언어로써 Rust를 사용하는 것을 고려하는 중)
근무 시간:
  - 출근: 8~10시 사이에서 자유롭게 선택
  - 퇴근: 8시간 근무 후 퇴근 (오후 5시 ~ 7시 사이)
  - 야근 여부: 거의 없음 (내 경우, 올해 상반기 6개월간 7시 이후에 퇴근한 경우가 2회 있었음)
  - 회식 여부: 자유 (1년에 2회 정도 회식하는데, 본인이 집에 가고 싶으면 회식에 안 감. 왜 참석 안 하는지 묻지도 않음)
외근 여부:
  - 신규 프로젝트 멤버 -> 외근 전혀 하지 않음 (나는 신규 프로젝트만 참여해서 지난 1년 동안 한번도 외근 없었음)
  - 상용 프로젝트 멤버 -> 1년에 5회 미만 정도로 외근
팀 워크샵 여부:
  - 팀 워크샵 자체를 진행하지 않음. (워크샵 참석하는 거 싫어하는 개발자 환영 ^^)
연락처:
  - "sejong.jeonjo@gmail.com"  # 궁금한 점은 이 연락처로 문의주세요.
  - 블로그 비밀 댓글 (제가 하루에 한번씩 댓글 확인하고 있음)
원하는 인재상:
  - 우리 부설연구소는 "긴 호흡으로 프로젝트를 진행"하기 때문에 최소 2년간 한 가지 주제를 꾸준하게 연구/개발할 수 있는 개발자를 원함.
  - 우리 부설연구소는 자주적으로 연구 주제를 찾아서 업무를 하기 때문에 능동적으로 생각하고 행동하는 동료를 원함.
  - 차분하게 연구 주제에 몰입하고, 해법을 찾는 것을 즐기는 사람.
내가 느끼는 우리 연구소의 장점:
  - 갑/을 관계가 없음. (제가 근무하고 있는 연구소는 SI업종이 아니라서 갑/을 회사 개념이 없음)
  - 연구소 자체적으로 연구 주제를 발굴하고 시스템을 개발하기 때문에 개발 일정에 대한 스트레스가 적음
  - 빌딩 전체를 우리 회사가 사용하므로 분위기가 산만하지 않음.
  - 근처에 예술의전당, 우면산 둘레길이 있어서 점심 시간에 산책하기 좋음 ^^
  - 연구소 동료들 매너가 Good (2년간 일하면서 한번도 감정에 스크레치 생기거나 얼굴 붉히며 싸운 적 없음 ^^)
반응형

 

 

작성일: 2024년 8월 7일
테스트한 macOS 버전:
   - macOS 12(Monterey)
   - macOS 13(Ventura)
   - macOS 14(Sonoma)

 


참고:
아래 한영 변환 설명이 잘맞는 Paralles Desktop 버전 및 MS Windows 버전 조합
 [ Shift Key ] + [ Space Key ]

 

 

Parallels Desktop 버전 MS Windows 버전 한영 변환 키 설정 결과
v16 Windows 10 아래 설정 내용과 맞지 않음.
v17 Windows 11 OK
v18 Windows 11 OK
v19 Windows 11 OK

[ 2023년 12월 4일 기준, 최신 버전으로 Update한 Paralles와 MS Windows를 직접 테스트한 결과 표 ]

 

 

문제/이슈: OS마다 다른 한영 변환 키 조합 ㅠㅠ

내 경우, Mac OS에서는 [Shift Key] + [Space Key]로 한영 변환을 하는데,

Parallels + Windows 기본 설정은 [Right Alt 또는 Option Key]가 한영 변환키이기 때문에 스트레스가 생긴다.

그래서 오늘은 Mac OS랑 Windows랑 한영 변환키를 통일시키기로 마음먹고 작업했다.

해보면 별거 아닌데, 이 설정 조합을 찾기까지 10분 정도 뻘짓을 한 것 같다 ㅠㅠ

다음에 새 Macbook을 구입할 때, 또 시간을 허비하지 않기 위해 설정하는 방법을 잘 메모해야겠다~~

 

 

 

아래 설정을 따라하면, 아주 잘 동작함

 


 

Parallels + MS Windows 한영 변환 설정

MS Windows 11 (VM)에서 설정할 내용

아래 화면처럼 MS Windows 11의 [ 시간 및 언어 ]  >  [ 언어 및 지역 ]  >  [ 언어 ]  >  [ 한국어 ] 설정 메뉴를 선택한다.

 

 

[ ... ] 메뉴에서 [ 언어 옵션 ] 메뉴를 선택하면 아래와 같은 설정 화면이 나온다.

[키보드] / [키보드 레이아웃]을 "종류 3"으로 변경한다.

 

 

그리고 사용자 Log out하고, 다시 Log in한다.

 

 

Parallels Desktop 설정에서 설정할 내용

Parallels Desktop의 [ Control Center ] 화면을 열고,

[ CMD ] + [ , ] 키를 눌러서 [ Parallels Desktop Preferences ] 화면을 연다.

아래 화면처럼 [ Shortcuts ] 메뉴의 [VIRTUAL MACHINES ] 에서 Windows 11 VM을 선택하고 [ Profile ]을 추가한다.

나는 Profile 목록의 제일 아래에 [Shift + Space] 항목을 추가했다.

 

 

 

위 화면에서 [ + ] 버튼을 누르면, 아래 화면이 뜨고

이 설정 화면에서 [ Shift ] + [ Space ] 키 조합을 설정한다.

 

 

이제 한영 변환키가 Mac OS랑 Windows 11랑 동일해졌다.

 

 

게시물 작성자: sejong.jeonjo@gmail.com

 


 

 

 

 

 

 

 

##
## 채용 관련 글
##
제가 일하고 있는 기업 부설연구소에서 저와 같이 연구/개발할 동료를 찾고 있습니다.
(이곳은 개인 블로그라서 기업 이름은 기재하지 않겠습니다. E-mail로 문의주시면 자세한 정보를 공유하겠습니다.)

근무지 위치:
  서울시 서초구 서초동, 3호선 남부터미널역 근처 (전철역 출구에서 회사 입구까지 도보로 328m)
필요한 지식 (아래 내용 중에서 70% 정도를 미리 알고 있다면 빠르게 협업할 수 있음):
  - 운영체제 (학부 3~4학년 때, 컴퓨터공학 운영체제 과목에서 배운 지식 수준):
    예를 들어, Processor, Process 생성(Fork)/종료, Memory, 동시성, 병렬처리, OS kernel driver  
  - Linux OS에서 IPC 구현이 가능
    예를 들어, MSGQ, SHM, Named PIPE 등 활용하여 Process간 Comm.하는 기능 구현이 가능하면 됨. 
  - Algorithm(C언어, C++ 언어로 구현 가능해야 함)
    예를 들어, Hashtable, B-Tree, Qsort 정도를 C 또는 C++로 구현할 수 있을 정도 
  - Network 패킷 처리 지식(Layer 2 ~ 4, Layer 7)
    예를 들어, DHCP Server/Client의 주요 Feature를 구현할 정도의 능력이 있으면 됨.
  - Netfilter, eBPF 등 (IP packet hooking, ethernet packet 처리, UDP/TCP packet 처리)
  - IETF RFC 문서를 잘 읽고 이해하는 능력 ^^
  # 위에 열거한 내용 외에도 제가 여기 블로그에 적은 내용들이 대부분 업무하면서 관련이 있는 주제를 기록한 것이라서
  # 이 블로그에 있는 내용들을 잘 알고 있다면, 저희 연구소에 와서 연구/개발 업무를 수행함에 있어서 어려움이 없을 겁니다.
회사에서 사용하는 프로그래밍 언어:
  - 프로그래밍 언어: C, C++, Go
    (참고: 아직 연구소 동료들이 Rust를 사용하진 않습니다만, 새 언어로써 Rust를 사용하는 것을 고려하는 중)
근무 시간:
  - 출근: 8~10시 사이에서 자유롭게 선택
  - 퇴근: 8시간 근무 후 퇴근 (오후 5시 ~ 7시 사이)
  - 야근 여부: 거의 없음 (내 경우, 올해 상반기 6개월간 7시 이후에 퇴근한 경우가 2회 있었음)
  - 회식 여부: 자유 (1년에 2회 정도 회식하는데, 본인이 집에 가고 싶으면 회식에 안 감. 왜 참석 안 하는지 묻지도 않음)
외근 여부:
  - 신규 프로젝트 멤버 -> 외근 전혀 하지 않음 (나는 신규 프로젝트만 참여해서 지난 1년 동안 한번도 외근 없었음)
  - 상용 프로젝트 멤버 -> 1년에 5회 미만 정도로 외근
팀 워크샵 여부:
  - 팀 워크샵 자체를 진행하지 않음. (워크샵 참석하는 거 싫어하는 개발자 환영 ^^)
연락처:
  - "sejong.jeonjo@gmail.com"  # 궁금한 점은 이 연락처로 문의주세요.
  - 블로그 비밀 댓글 (제가 하루에 한번씩 댓글 확인하고 있음)
원하는 인재상:
  - 우리 부설연구소는 "긴 호흡으로 프로젝트를 진행"하기 때문에 최소 2년간 한 가지 주제를 꾸준하게 연구/개발할 수 있는 개발자를 원함.
  - 우리 부설연구소는 자주적으로 연구 주제를 찾아서 업무를 하기 때문에 능동적으로 생각하고 행동하는 동료를 원함.
  - 차분하게 연구 주제에 몰입하고, 해법을 찾는 것을 즐기는 사람.
내가 느끼는 우리 연구소의 장점:
  - 갑/을 관계가 없음. (제가 근무하고 있는 연구소는 SI업종이 아니라서 갑/을 회사 개념이 없음)
  - 연구소 자체적으로 연구 주제를 발굴하고 시스템을 개발하기 때문에 개발 일정에 대한 스트레스가 적음
  - 빌딩 전체를 우리 회사가 사용하므로 분위기가 산만하지 않음.
  - 근처에 예술의전당, 우면산 둘레길이 있어서 점심 시간에 산책하기 좋음 ^^
  - 연구소 동료들 매너가 Good (2년간 일하면서 한번도 감정에 스크레치 생기거나 얼굴 붉히며 싸운 적 없음 ^^)

 

 

 

반응형

 

Intel CPU 칩을 사용하는 Mac은 웬만한 프린터 드라이버가 다 잘 동작하는데, M1 CPU 칩을 장착한 Mac (맥)은 프린터 드라이버를 설치하다가 실패하거나 설치가 되더라도 프린트 결과물이 엉망인 경우가 있다.

 

나는 집에서는 삼성 레이저 컬러 프린터를 사용하는데, 이 경우는 프린터 드라이버 설치도 잘 되고 인쇄 결과물도 좋았다.

반면에, 회사에서 사용하는 신도리코 (Sindoh Rico) 프린터와 HP 프린터는 드라이버 설치 단계부터 삐그덕거리고 겨우 설치를 해도 프린터 결과물이 엉망이다.

 

내가 사용하고 있는 Mac 환경을 보면,

Mac M1 + Parallels(패러렐즈) + Windows 11 (M1)

 

그리고 주로 Windows 11에서 프린트한다.

 

본인이 사용하는 프린터가 신도리코, HP 프린터라면 스트레스 받으면서 Windows 11 M1에 프린터 드라이버를 설치하지 말고,

아래처럼 하는 것이 좋다.

 

  1.  Mac M1에 프린터 드라이버를 설치하고,
  2.  Windows 11 (M1)에서 프린트할 때 PDF 파일로 출력한 다음에
  3.  이 PDF 파일을 Mac M1에서 출력한다.  

 

참고로, HP 프린터는 Mac M1에서 잘 설치된다.

(별도의 프린터 드라이버 파일이 없어도  Mac OS 자체적으로 가지고 있는 기본 프린터 드라이버로 잘 동작한다)

 

그러니까, 그냥 잘 동작하는 조합으로 사용하는 것이  스트레스 안 받고 프린터를 사용하는 길일듯...

 

(아니면 삼성 프린터를 사용하길 추천~   M1 Mac과 아주 찰떡 궁합이다)

 

반응형

 

맥을 사용한지 6년째인데, 그 동안 연말 정산을 할 때면 패러렐즈Windows 10을 부팅해서 연말 정산을 해왔다.

왜냐고? 그 이유는;

 

  • 국세청 간소화 홈페이지에서 접속하기 위해 설치해야 할 MS Windows용 EXE 파일들 때문이고,
  • 인증도 Windows만 지원하는 Plugin 프로그램을 설치해야 했기 때문

 

 

그런데 2022년에는 Windows 10를 사용하지 않고, Macbook M1만 이용해서 연말정산을 해보기로 마음을 먹었다.

예전에 안 되던 것들이 Macbook M1에서 대부분 잘 되었다.

 

  • 국세청 홈페이지 로그인 --> 네이버 인증으로 간단하게 로그인했다.   정말 편하다. (감동)
  • 증빙 자료인 PDF 파일 다운로드 --> 잘 다운로드 되었다.
  • 내가 다니는 회사는 더존 프로그램으로 연말정산을 처리하는데, Mac M1에서도 아주 잘 동작했다.

 

이제는 MS Windows 없이도 모든 업무 처리가 잘 된다.  Macbook을 사용하기 편한 환경이 점점 잘 만들어지고 있는 듯 :)

 

 

 

 

반응형

나는 MacBook M1에서 Paralelles를 이용해서 Windows 11를 사용하고 있다.

지금껏 사용하면서 큰 불편을 못 느꼈지만, 가끔 Internet Explorer만 지원하는 웹 사이트에 접속할 때는 옛날의 Windows 11 + Internet Explorer 조합이 필요했다.

 

그러다가 오늘, Windows 11의 Edge Browser에서도 Internet Explorer처럼 사용할 수 있는 방법을 찾았다.

 

 

Windows 11에서 Internet Explorer 옵션 화면 실행 방법

 

귀찮더라도 아래와 같이 타이핑을 좀 해야 한다.

  • [Windows + R]을 타이핑하고, 아래와 같은 창을 띄운다.
  • 그리고 'inetcpl.cpl'이라고 입력하고, 확인 버튼을 누른다.

 

Windows 명령어 입력 창

 

 

  • 그러면 아래와 같은 Internet Explorer 속성 설정 화면이 열린다.

 

Internet Explorer 속성, Option 화면

 

이후 부터는 예전에 Internet Explorer 브라우저를 사용했던 것처럼 동일하게 설정하고, 

그런 후에 Edge 브라우저를 다시 시작하면, Edge 브라우저에서 Internet Explorer 브라우저처럼 웹 사이트에 접속할 수 있다.

아마 대부분 '보안'과 관련한 설정 때문에 웹 사이트 접속에 못 했을텐데, 아래 화면처럼 보안 수준을 '최소'로 낮추고 웹 사이트에 접속하면 된다.

 

Internet Explorer 보안 설정

 

접속하지 못 했던 웹 사이트에 접속할 수 있어서 편하긴 한데, 근본적으로 웹 사이트 개발하는 사람이 표준을 지켜서 잘 개발해주면 더 좋을 듯 :)

 

 

Edge 브라우저에서 한글 깨지는 현상 해결하기

 

참고로, 위와 같이 설정하고 웹 사이트에 접속했는데 웹 페이지의 한글이 깨져서 출력되는 경우가 발생할 수 있다. 그럴 때는 아래와 같이 언어 설정을 확인해보면 된다.

 

1)  [설정] 화면에서 [언어 설정] 항목을 선택한다.

 

Windows 11의 언어 설정

 

2)  [언어 및 지역] 화면에서 [기본 언어 설정]을 선택한다.

 

Windows 11의 기본 언어 설정

 

3)  [국가 또는 지역] 화면에서 [시스템 로캘 변경] 버튼을 클릭한다.

 

국가 또는 지역 설정 화면

 

4)  [지역 설정] 화면에서 '한국어(대한민국)'을 선택하고, 'Beta: 세계 언어 지원을 위해 Unicode UTF-8 사용' 항목을 해제한다.

 

시스템 로케일 설정 화면

 

 

 

Reference

 

https://www.softwareok.com/?seite=faq-Windows-11&faq=39 

 

 

Open Internet Options in Windows 11

Open Internet Options in Windows 11! Even if Internet Explorer is not included in Windows 11, the Internet options that were to be found in IE are available! The old IE settings are not only valid for Internet Explorer, even Chrome, Edge, and Firefox, ....

www.softwareok.com

 

반응형

Macbook M1을 구입하고, 대체로 만족하면서 사용하고 있었는데

막상 go source code를 작성하고 compile하려고 생각해보니, 실제로 실행 파일(executable file)을 돌릴 대상 장비가 x86 cpu를 사용하는 경우가 대부분이라서 cross compile 필요성을 느꼈다.

아직 한번도 go cross compile을 하지 않았던터라, 이번 기회에 짧게 메모를 해본다.

 

cross compile 지원되는 OS와 CPU architecture 확인

$ go tool dist list
aix/ppc64
android/386
... 중간 생략 ...
darwin/amd64    <-- Intel Mac을 사용하는 경우
darwin/arm64    <-- M1 Mac을 사용하는 경우
...
linux/386
linux/amd64     <-- Intel Linux를 사용하는 경우 (아마 대부분 이 경우가 아닐까?)
linux/arm
linux/arm64
... 중간 생략 ...
windows/386
windows/amd64
windows/arm
windows/arm64
$

 

go cross compile

Case: Linux OS & Intel CPU

M1 Macbook에서 Linux OS에서 돌릴 executable file을 build하는 방법이다.

GOOS=linux  GOARCH=amd64 환경 변수만 설정하고, go build 명령을 수행하면 Linux OS에서 돌아가는 실행 파일이 만들어진다.

$ go mod init  andrew.space/myapp
$ go mod tidy
$ GOOS=linux GOARCH=amd64  go build 
$ ls
myapp
$

 

Case: Linux OS & ARM CPU

Intel Macbook에서 M1 Macbook에서 돌릴 executable file을 build하는 방법이다.

GOOS=darwin  GOARCH=arm64 환경 변수만 설정하고, go build 명령을 수행하면 M1 Mac OS에서 돌아가는 실행 파일이 만들어진다.

(여담이지만, 이미 M1 Mac OS는 OS 자체적으로 Intel->ARM 구조로 변환해주는 기능이 있어서 굳이 이렇게까지 열심히 Cross compile을 하지 않아도 된다)

$ go mod init  andrew.space/myapp
$ go mod tidy
$ GOOS=darwin GOARCH=arm64  go build 
$ ls
myapp
$

 

Case:  다양의 OS와 CPU에 대한 일괄적으로 Cross Compile하기

매번 대상 OS와 CPU에 맞춰서 Cross Compile하기 귀찮다면, 아래와 같이 모든 OS, CPU에 대해서 Cross compile하도록  script를 만든다.

#!/usr/local/bin/bash

archs=(amd64 arm64 ppc64)

for arch in ${archs[@]}
do
        env GOOS=linux GOARCH=${arch} go build -o myapp_${arch}
done

 

 

Tip:  .bashrc 파일에 GO 환경 변수 설정

위에서 설명한 $GOOS, $GOARCH 환경 변수를 매번 타이핑하기 싫다면

아래처럼 .bashrc 파일에 한번만 기록해놓자!!!

 

$  cat ~/.bashrc

... 중간 생략 ...

##
## For GoLang
##
export GOPATH=$(go env GOPATH)
export GO111MODULE=on
export GOOS=linux
export GOARCH=amd64

... 중간 생략 ...

$

+ Recent posts