반응형

 

작성일: 2025년 3월 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년간 일하면서 한번도 감정에 스크레치 생기거나 얼굴 붉히며 싸운 적 없음 ^^)
반응형
작성일: 2025년 5월 9일

 

 

종이 사용 설명서를 항상 책상 위에 올려 놓고 보면, 책상이 깔끔하지 않아서 종이 사용 설명서를 치우고 공식 홈피 문서를 보려고 했다.
그런데 이 Rainy75 키보드의 공식 홈피인 wobkey.com 에는 사용 설명서(Use Manual)을 제공하지 않는 것 같다. ㅠㅠ
(어쩌면 내가 못 찾는 것일 수도... ㅠㅠ)
그래서 가끔 키보드 설정이 필요할 때, 블로그에서 보려고 사진으로 박재했다.

 

 

Rainy75 User Manual (English)

RAINY75 User Manual (Windows / MACOS 전환)

 

 

 

 

RAINY75 User Manual / Multimedia combination shortcuts

 

 

 

 

RAINY75 User Manual / Lighting effect control / 키보드 백라이트 제어

 

 

 

RAINY75 User Manual / Check Battery Level (배터리 확인)

 

 

 

 

 


 

 

 

 

레이니75 키보드 한글 사용 설명서

아래 한글로 작성된 매뉴얼은 [ KypeKBD 카페 ]에서 제작한 것이다.

원문(PDF 파일)은 TypeKBD 카페 에서 열람할 수 있다.

 

 

레이니75 키보드 매뉴얼 (한글) / 윈도우 & macOS 간 전환

위 이미지 출처: KypeKBD 카페 

 

 

 

레이니75 키보드 매뉴얼 (한글) / 멀티미디어 조합 단축키

 

위 이미지 출처: KypeKBD 카페 

 

 

레이니75 키보드 매뉴얼 (한글) / 조명 효과 제어

 

위 이미지 출처: KypeKBD 카페 

 

 

레이니75 키보드 매뉴얼 (한글) / RGB 라이트 설정

 

위 이미지 출처: KypeKBD 카페 

 

 

 

레이니75 키보드 매뉴얼 (한글) / 배터리 상태 확인 및 무선 연결 & 블루투스 연결 & 유선 연결 설정 방법

위 이미지 출처: KypeKBD 카페 

 

 

레이니75 키보드 매뉴얼 (한글) / Q&A

위 이미지 출처: KypeKBD 카페 

 

 

 

반응형

 

작성일: 2025년 7월 23일

 

 

참고:
  Ubunut 24.04에서 한영 전환 설정하는 방법이 궁금하다면 아래 블로그를 보는 것을 추천 !!!

      Ubuntu 24.04 에서 한영 전환 설정하는 방법 -->  https://andrewpage.tistory.com/390

 

Ubuntu 24.04 한글 입력기 설정 (한영 변환 설정)

작성일: 2024년 5월 3일   Ubuntu 24.04를 설치하고 한글 입력기 설정할 때 헷갈려서 메모를 남겨본다.처음에는 한영 전환 설정하는 방법을 잘 몰라서 설정 화면에서 이것저것 다 해봐도 잘 안 되었

andrewpage.tistory.com

 

 

 


 

Ubuntu 22.04(또는 Ubuntu 24.04)를 설치하고 한글 입력기 설정할 때 헷갈려서 메모를 남겨본다. 

처음에는 한영 전환 설정하는 방법을 잘 몰라서 설정 화면에서 이것저것 다 해봐도 잘 안 되었다.

 

!!! 한글 입력을 위해 설정해야 할 핵심은 키보드가 "Korean -> Korean"이 아니라 "Korean -> Hangul" 이라는 것 !!!

 

아래에 설명된 설정 순서를 따라해보면 한글 입력이 잘 될 것이다. ^^

 


 

Step 1 :  한글 입력 방식 추가 (Korean -> Hangul)

1)  Terminal에서 `ibus-setup` 명령을 실행 (아래 화면을 똑같이 따라할 것 !!)

 

Ubuntu 22.04 한글 입력 설정

 

2)  위 IBus Preference 화면에서 [Input Method] 탭을 선택하고, "Korean-Hangul"을 추가.

주의:
  꼭 Korean -> Hangul을 추가해야 한다. 비슷한 항목인 Korean을 선택하면 안 된다.

 

 

Step 2 : 한영 변환 키보드 조합 설정 (Input Sources 설정)

 

이렇게 한글 입력을 위한 설정을 하고 나면, [Keyboard] 설정 화면에서 한영 변환을 위한 키보드 조합을 설정해야 한다.

(아래 화면을 참고하여 따라할 것 !!)

 


참고로, 나는 MacBook에서 [ Shift ] + [ Space ] 키 조합으로 한영 변환하는 습관이 있어서 Ubuntu 22.04도 똑같이 한영 변환 키보드 조합을 설정한 것이다.
아래 설정화면에서 본인이 편한 키보드 조합으로 한영 변환을 설정하면 된다.

Ubuntu 22.04 한영 전환 설정

 

 

 

설정 끝 !
한영 전환이 잘 될 것이다. ^^


 

한번 더 위 설정 화면을 간단하게 글로 설명하면, 아래와 같다. (위에서 그림으로 설명한 것과 똑같은 내용이다)

 

1)  [ Settings ] 화면에서 [ Keyboard ] 선택

2)  [ Input Sources ] 화면에서 [ Korean (Hangul) ] 선택 후, [ Preferences ] 클릭

3)  [ IBusHangul Setup ] 화면이 열리면, [ Hangul ] 탭 선택

4)  Hangul Toggle Key 항목에서 한영 변환을 위한 키보드 조합 추가  

      (나는 내 개인 취향상, [ Shift Key + Space Key ]로 설정했음)

5)  OK 버튼을 누르면, 모든 설정 끝 !!!

 

 

 

블로그 작성자: sejong.jeonjo@gmail.com
반응형
작성일: 2024년 8월 6일

 

 

Linux OS에서 container network을 만들고, container 내부 network와 host network을 어떻게 연결(bridge)하는지 설명하는 웹 문서이다.

 

https://labs.iximiuz.com/tutorials/container-networking-from-scratch

 

How Container Networking Works: a Docker Bridge Network From Scratch | iximiuz Labs

Begin with the basics to understand Docker and Kubernetes networking: learn how to create and interconnect Linux network namespaces using only command-line tools.

labs.iximiuz.com

 

 

 


 

반응형
작성일: 2024년 7월 31일

 

 

CASE : Cloud Access Security Broker

DEM : Digital Experience Monitoring

DLP : Data Loss Prevention

FWaaS : Firewall as a Service

NESaaS : Network Edge Security as a Service

PoP : Point of Presence (접속점)

SASE : Secure Access Service Edge

SD-WAN : Software-Define Wide Area Network

SSE : Security Service Edge

SWG : Secure Web Gateway

WAF : Web Application Firewall

VPN : Virtual Private Network

ZTNA : Zero Trust Network Access

 

 

 

 

 

 

 

 

 

 

 


 

반응형
작성일: 2024년 7월 30일

 

금융 거래를 하거나 중요한 시스템에 로그인할 때 OTP(One Time Pasword)를 종종 사용한다.

OTP를 사용하는 사람은 OTP의 동작 원리를 몰라도 문제가 없지만,

사용자 인증 시스템을 개발/구현하는 사람은 OTP의 동작 원리를 잘 알아야 한다.

 

IETF RFC 문서에 명확하게 OTP(HOTP, TOTP)에 관해서 기술하고 있기 때문에 RFP 문서를 읽는 것이 제일 확인한 스터디 방법이다.

 

 

ICT 분야에서는 어떤 공부를 하든 RFC를 먼저 열람하는 것이 제일 확실하다.
괜히 어설프게 인터넷에 떠도는 자료를 읽고 공부하다보면 나중에 업무할 때 논쟁거리를 만들게 되니까 ^^
예를 들어서, TOTP에 관해서 연동 블록 개발자간 박터지게 싸웠는데 그 중에서 한명이 인터넷에 떠도는 사이비 문서를 읽고 말싸움을 한 것이라면 얼마나 쪽팔리겠는가.
(솔직히, 이런 경우에 쪽팔려하는 개발자라면 발전할 가능성이라도 있지만, 그냥 모르는 것을 모르는대로 넘어간다면 영원히 사이비 개발자로 남을 것이다)

 

IETF RFC 문서에 너무 명확하고 쉽게 설명이 있으니까, 여기서 그 내용을 중복으로 설명할 필요는 없을 것 같고...

그냥 어떤 문서를 읽고, 어떤 예제 소스 코드를 보면 좋은지 정도만 이 블로그에서 설명하도록 하겠다.

 

OTP는 HOTP(HMAC-Based One-Time Password)와 TOTP(Time-Based One-Time Password)로 구분해서 구현할 수 있다.

IETF에서 표준이 된 순서로 본다면, HOTP -> TOTP이다.

즉, 동일한 인증 기술의 구현이라는 목표를 가지고

  • HOTP가 2005년 12월에 표준이 되었고
  • TOTP가 2011년 05월에 표준이 되었다.

IETF RFC 문서 정보

HOTP:  https://datatracker.ietf.org/doc/html/rfc4226  (2005년 12월 표준 확정)

TOTP:  https://datatracker.ietf.org/doc/html/rfc6238   (2011년 05월 표준 확정)

 

대부분의 기술이 그렇듯이 동일한 목적을 두고 개발된 기술이라면, 뒤에 개발된 기술(표준안)이 더 좋은 것이다.

설계/개발(구현)에 많은 시간을 투자할 상황이 아니라면 TOTP만 고려해도 별 문제 없다는 뜻이다.

그리고 두 가지 OTP에 대한 RFC를 잘 읽어보면, HOTP와 TOTP가 비슷해서 TOTP로 인증 체계를 구현하고 나면 나중에 HOTP를 추가로 기능 추가해도 큰 공수가 들어가지 않는다.

 

 

OTP, HOTP, TOTP 예제 소스 코드  (Java)

위 IETF RFC 문서의 뒷 부분에 JAVA로 구현된 예제 소스 코드가 있다.

논리적인 pseudocode가 아니라 실제로 동작하는 Java 소스 코드이다.

(실제로 문서에 있는 소스 코드를 복사해서 터미널에 붙여서 javac로 컴파일하고, java runtime으로 돌려봤는데 아주 깔끔하게 동작한다)

그리고 RFC 문서에 있는 동일한 Java 코드가 Github에도 있다.

 

Github 주소:  https://github.com/gityf/java_demo/blob/master/demo/src/main/java/org/wyf/otp/TOTP.java 

 

`git clone ....`해서 돌려봤는데, 깔끔하게 잘 돌아간다 ^^

 

 

 

OTP, HOTP, TOTP 예제 소스 코드  (Go)

Go 언어로 구현 및 테스트해보고 싶다면, 아래의 Go source code를 추천한다.

 

Github 주소:  https://github.com/pquerna/otp

 

이 Go 패키지는 재미있게도 QR-code를 이용해서 OTP 값을 출력해준다.

스마트폰으로 QR-code를 찍어서 스마트폰 화면에 보이는 숫자를 iTerm 터미널에 입력하면 OTP를 이용한 인증 통과 여부를 알려준다.

 

 

Python에서는 OTP 인증 코드를 작성하기가 더 쉽다.

아래 python document를 보면서 따라하면 끝 ^^

https://pyauth.github.io/pyotp/

 

 


 

반응형
작성일: 2024년 7월 26일

 

2000년 봄, 육군 병장으로 대전에 있는 모 부대에서 근무하고 있을 때.

항상 그렇듯이 수요일 오후는 모든 부대 구성원이 체육 활동하는 시간이다.

대부분 중대 단위로 편을 나누어서 축구를 하는데

나는 야구를 하기 위해 글러브와 야구 배트를 챙겼다.

야구 글러브를 챙기는 나의 모습을 본 군대 동기가 하는 말이

"좋아하는 축구를 마다하고 오늘은 야구하러 가는거냐?"

묻는 것이다.

 

내가 축구를 좋아했었다고?   나는 축구를 좋아하지 않는다.

그런데 왜 내 동기를 포함해서 우리 중대의 선임, 후임들은 내가 축구를 아주 많이 좋아한다고 착각하고 있었지?

그래서 내 동기한테 물어봤다.

"나는 축구하는거 별로 안 좋아하는데... ^^ 내가 축구를 좋아한다고 생각한거야??"

 

내 동기의 말을 들어보니, 고개가 끄덕여졌다.

내 동기의 이야기를 요약해보면 이렇다.

- 내가 이등병, 일병 때 축구하는 90분 내내 공격진영, 수비 진영을 제일 신나게 뛰어 다닌 사람이란다.

- 90분 동안 제일 활동량이 많았던 사람이란다.

 

1년 전 기억을 잘 더듬어보니, 나는 달리기 자체가 좋아서 열심히 뛰었던 것이다.

소프트웨어 개발이 주 업무였기 때문에 맨날 사무실에만 앉아 있어서 수요일만큼은 많이 뛰고 싶었다.

공격진영에서 수비진영으로 왕복해서 달리면, 1회 왕복에 200미터 정도.

이것을 50번 왕복하면 10km 정도 달리게 된다.

나는 단지 10km를 마라톤 연습 하듯이 달렸던 것이지, 축구를 한 것이 아니었는데

내 주변 사람들은 내가 축구를 굉장히 좋아해서 땀을 뻘뻘흘리면서 뛰는 것으로 착각했던 것이다 ^^

 

이등병, 일병이니까 나혼자 마라톤 연습하러 간다고 말하기는 두려웠고

분대장(병장)이 1명 열외없이 축구하러 가자고 하니까 이등병이 그냥 따라가서 "뛰는 것만 열심히 했던 것"이다.

 

아마 이등병 때 자유가 주어졌다면, 축구하러 안 갔을 듯.

솔직히 병장, 상병 등 선임들 플레이하는 것에 분위기 맞춰주는거지... 이등병이 무슨 재미로 볼 터치를 했을까.


 

반응형

 

작성일: 2025년 2월 25일

 

이것저것 찾아보기 귀찮고, 두꺼운 책을 읽기 싫다면 아래의 YouTube 영상을 보는 것을 추천한다.

Python source code를 직접 PC에서 실행하면서 학습, 테스트까지 모든 과정을 쭉 설명해준다.

 

LLM 바닥부터 만들기 (대형언어모델) 1시간 핵심 정리! [홍정모 연구소]

영상 공개일: 2025년 2월 23일

 

 

 

추천 도서, 입문 도서

오늘까지 출판된 LLM, LangChain 관련 책을 여러 권 찾아서 읽어 보았는데

아래의 책이 개발자(코드 구현자)가 따라 하기에 가장 적절한 책 같다.

더 쉬운 책도 많은데, 적당히 책 보면서 따라하기에는 아래 책이 그나마 괜찮았다.

 

  • 챗GPT와 랭체인을 활용한 LLM 기반 AI 앱 개발 : 랭체인 기초부터 슬랙 앱 제작과 배포까지, 실무 중심의 LLM 애플리케이션 구축
       요시다 신고, 오시마 유키 지음
       최용 옮김
       출판사: 위키북스
  • OpenAI API와 파이썬으로 나만의 챗GPT 만들기
      후루카와 쇼이치, 오기와라 유이 지음
      최용 옮김
      출판사: 위키북스
  • 랭체인 완벽 입문 (혁신적인 LLM 앱을 구축하기 위한 랭체인 활용법)
      타무라 하루카 지음
      최용 옮김
      출판사: 위키북스
위 세 책은 모두 "최용"님이 번역한 것이라서 문체가 비슷하다.
그래서 책을 세 권을 읽었는데, 마치 한 권을 읽은 것 같은 느낌이다. ^^

 

 

 


Python을 이용하여 스터디할 거라면, 아래 웹 문서를 읽는 것을 추천 !

Python OpenAI API library

https://pypi.org/project/openai/

 

openai

The official Python library for the openai API

pypi.org

 

Python API 에 대한 설명와 예제 코드가 잘 만들어져있다.

 

 


 

LangChain 공식 문서

https://python.langchain.com/v0.2/docs/introduction/

 

Introduction | 🦜️🔗 LangChain

LangChain is a framework for developing applications powered by large language models (LLMs).

python.langchain.com

 

 

LangChain 공식 블로그

https://blog.langchain.dev/

 

LangChain Blog

[Week of 6/10] LangChain Release Notes Workspaces for organizational enhancement, GenUI, playground and online eval prompt improvements, LangGraph DeepLearning course, and upcoming meetups

blog.langchain.dev

 

awesome-langchain (랭체인을 사용한 프로젝트와 관련 정보를 모아 놓은 저장소)

https://github.com/kyrolabs/awesome-langchain

 

GitHub - kyrolabs/awesome-langchain: 😎 Awesome list of tools and projects with the awesome LangChain framework

😎 Awesome list of tools and projects with the awesome LangChain framework - kyrolabs/awesome-langchain

github.com

 

 


 

Private, Local Chat with a GPT - 관련 자료 모음

h2oGPT

 

localGPT

 

Hugging Face

 

 

 

 

LLM 관련 기타 자료

Dataiku

 

 

YouTube 채널 추천

Prompt Engineering

 

 

 

추천 문서

데이터 프라이버시와 정확성 모두 갖춘 생성형 AI 로컬 LLM 구축 가이드

 

 

 


 

+ Recent posts