반응형

 

Ubuntu, CentOS  등  Linux OS를 기본 설정으로 설치하면, Root 계정의 SSH login이 금지(Prohibit)된다.

따라서 아래 /etc/ssh/sshd_config 설정 파일의 예제처럼 변경하고 sshd(ssh 서버 데몬)을 restart해줘야 한다.

 

$ cd /root/ssh
$ cat sshd_config

... 중간 생략 ...

PermitRootLogin yes   ## <- 이 설정 부분을 'yes'로 변경한다.

... 중간 생략 ...

$ systemctl restart sshd

$ systemctl status sshd
● ssh.service - OpenBSD Secure Shell server
     Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2021-12-28 10:16:34 KST; 1min 33s ago

... 중간 생략 ...
      
$

 

반응형

Macbook Pro에서 몇 년 동안 VirtualBox를 잘 사용했었는데,  갑자기 아래와 같은 rc=-1908 오류가 뜨면서 Virtual Machine (VM)이 기동하지 못 했다.

 


원인은 업그레이드할 때, 기존의 보안 설정이 초기화되서 그렇다.

 

아래 절차를 따라서 보안 설정(Security & Privacy)을 다시 해주면 된다.

(즉, 처음 VirtualBox를 설치했을 때처럼 보안 부분을 설정해주는 것이다)

 

 

(1) [Security & Privacy] 항목을 클릭한다.

 

(2) 아래 화면의 자물쇠 부분[Click the lock to prevent further changes]을 풀어준다.

      그리고 [Allow] 버튼을 Click한다.

 

이렇게 설정하고 mac OS를 Reboot하면, 예전처럼 VirtualBox의 VM이 잘 부팅된다.

반응형

첫번째 조치: macOS 업그레이드 (2021년 12월)

 

나는 MacBook을 2대 쓰고 있다.

- MacBook Air M1 2021

- MacBook Pro 2015 Mid

 

둘 다 4K 모니터에 연결해서 사용하고 있는데, 그 구성은 이렇다.

- MacBook Air M1과 4K 모니터를 USB-C(썬더볼트) 케이블로 연결

- MacBook Pro를 썬더볼트 to DP 케이블로 연결

 

이렇게 쓰면 화질이 끝내주게 좋고, 눈이 편하다.

그런데 MacBook Air M1와 4K 모니터를 USB-C(썬더볼트) 케이블로 연결한 구성에서는 4K 모니터가 깜빡이거나

크램쉘 모드에서 깨어날 때 모니터 화면에 "입력 신호 없음"이라고 화면에 보여지면서 모니터가 꺼지는 현상이 있다.

 

내 추측에는 위 2가지 다른 구성에서 가장 영향을 미친 것은 USB-C(썬더볼트) 케이블로 모니터를 연결할 때,

Macbook의 전원을 모니터의 USB-C 포트에서 가져오다보니, 전원 부족으로 발생한 것이 아닌가 싶다.

(그냥 나의  추정일 뿐~)

 

여하튼, 그건 그렇고...

어떤 Macbook 사용자가 Monterey(몬테레이)로 업그레이드하고 나서 외부 모니터의 깜빡이는 현상이 사라졌다고 하여 나도 따라해봤다.

업그레이드하고 3개월이 지났는데, 일주일에 3~5번 정도 깜빡일 정도로 깜빡이는 현상이 많이 줄었다.

Big Sur(빅서)를 사용할 때는 하루에 3~4번 정도 깜빡였으니까, Monterey(몬테레이) 설치한 효과가 확실히 있는 것 같다.

 

 

두번째 조치: USB-C(썬더볼트) 영상 케이블 바꾸기 (2022년 3월)

macOS 업그레이드 이후에도 가끔 모니터가 깜빡여서, 케이블을 바꾸어봤다.

기왕 바꾸는거 비싼 걸로 바꿨다.

제품 광고는 아니고, 그냥 내가 구입했던 것을 공개하면 아래와 같은 제품이다. 

 

 

5개월째 사용하고 있는데, 아직 모니터가 한번도 깜빡이지 않았다.

아주 만족스럽다 :)

 

 

 

결론

 

Macbook에 USB-C(썬더볼트)로 연결한 4K Monitor가 자주 깜빡인다면, Monterey로 업그레이드를 하는 것이 좋다.

USB-C 영상 케이블도 좀더 USB 버전이 높고, 완성도가 높은 영상 케이블로 바꿔야 한다.

 

암튼, 내 모니터의 깜빡이는 문제는 해결 !!!   

Mission Clear !!!  

 

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

 

 

반응형
작성일: 2024년 4월 18일

 

 

 

카카오 API 보다 Slack API를 사용하게 된 이유

 

개인적으로 자동으로 스마트폰 메신저에 Notification 메시지를 보낼 일이 있어서, Python으로 카카오톡 메시지 전송 Rest API를 사용했다. Python + 카카오 API 조합으로 구현하니까 참고할 예제가 많아서 큰 문제없이 개발을 할 수 있었다.

그런데 ...

AccessToken의 만료 시간이 4시간 밖에 안 되니까, Refresh Token을 이용해서 다시 AccessToken을 재발급해야 하는 귀찮은 일이 생겼다. 그냥 한번 코드를 작성하고 몇년 동안 잊고 살았으면 좋겠는데 말이다.

그래서 귀찮은 작업을 안 하려고 Slack API의 Webhooks를 이용하게 되었다.

 

 

 

Slack API의 Incoming Webhooks

Slack API를 이용해서 Slack Messenger에 메시지를 전달하기 위한 절차를 보면,

  • 당연히 Slack에 계정을 만들고, slack.com에 로그인해야 한다.
  • https://app.slack.com 접속해서 App을 추가한다. 
       + 나는 [Incoming Webhooks]라는 App을 추가했다.
       + 이때, 기존 channel을 사용해도 되고, 아래 화면처럼 새롭게 channel을 만들어도 된다.

 

Slack Incoming WebHooks App&nbsp; 생성하기

 

  +  위 화면처럼 channel을 선택하고 나면, 아래 화면이 보일 것이고 [Add Incoming WebHoos integration] 버튼을 누른다.

 

Add Incoming WebHooks integration

 

 

아래와 같이 App이 생성된 결과 및 설정 화면이 나온다.

그리고 Example 명령을 복사해서 Terminal에서 실행하면, 바로 Slack 메신저에 curl로 보낸 메시지가 보여진다.

 

 

 

아래와 같이 slack 메신저에 테스트로 보낸 메시지가 보여지면, Incoming-Webhook App은 정상 동작한 것이다.

 

 

 

Python의 requests package를 import해서 requests.post(url, headers, body)를 이용해도 curl과 동일한 효과를 낼 수 있다.

 

 

 

Python Code 작성

 

##
## FILENAME: my_webhook_test.py
##

import requests, json

## NOTE
##  MY_WEBHOOK_KEY는 "T7RURUGSK/.............................. 22i"
##  이런 형태의 문자열이다.

api_url = "https://hooks.slack.com/services/{MY_WEBHOOK_KEY}"
headers = {
    "Content-type": "application/json"
}
data = json.dumps({
    "text": "파이썬으로 테스트 메시지를 보내다 :) \n 룰루랄라 !!!"
})

response = requests.post(api_url, headers=headers, data=data)
print(response)

 

위와 같이 Python code를 작성하고, 아래와 같이 명령을 수행한다.

 

$ python3 my_webhook_test.py
<Response [200]>
$

 

위 Python 앱이 아래와 같이 메신저에 "파이썬으로 테스트 메시지를 보내다... 룰루랄라!!!"를 출력할 것이다.

 

Python App에서 보낸 메시지가 Slack 메신저 화면에 출력됨

 

 


 

 

그리고 아래 화면처럼 Slack API 매뉴얼이 잘 되어 있어서, 읽고 따라하면 잘 동작한다.

결국, AccessToken을 발급하지 않아도 이 Webhooks처럼 쉽게 메신저에 메시지를 보내는 것이 가능한다.

 

 

 

 

 

꼭 알아야 할 정보

 

내가 만든 Slack App에 관한 전체 목록을 열람하고, 설정 정보를 관리하고 싶다면 아래 주소를 사용한다.

- 내 App 목록을 확인할 수 있다.

- 각 App의 설정 정보,  REST API URL 등 정보를 직접 확인하고 제시해주는 예제 명령어를 통해 테스트할 수 있다.

 

https://api.slack.com/apps

 

Slack API: Applications | Slack

Your Apps Don't see an app you're looking for? Sign in to another workspace.

api.slack.com

 

반응형

 


 

작성일: 2023년 11월 21일   
(새 Macbook을 구입한 날 ^^)
---
오늘 내가 테스트했던 macOS 버전은 Sonoma 14.1.1이다. 잘 동작한다.
그리고 구형 Macbook에서는 Monterey (v12.x) 버전에서 아래와 같은 방법으로 설정해서 잘 사용했었다.

 

 

동작 원리는 잘 모르겠고, 그냥 아래 명령을 따라서 수행하면 한영 변환키 설정이 잘 된다.

내가 원하는 한영 변환키 조합은 이렇다.

[ Shift + Space ]

 

##
## brew 명령을 이용하여 "xcodes"를 설치한다.
## "xcodes"를 설치해야 "plutil" 명령을 사용할 수 있기 때문이다.
##

$ brew install --cask xcodes


##
## plist 파일을 xml 형식으로 변경
##

$ cd ~/Library/Preferences/

$ plutil -convert xml1 com.apple.symbolichotkeys.plist

##
## xml 형식로 변경된 문서를 수정
##

$ vi  com.apple.symbolichotkeys.plist

... 중간 생략 ...
        <key>61</key>      ## <<-- 먼저 <key>61</key> 이 부분을 검색해서 찾고, 아래 부분을 수정할 것!
        <dict>
            <key>enabled</key>
            <true/>
            <key>value</key>
            <dict>
                <key>parameters</key>
                <array>
                    <integer>32</integer>
                    <integer>49</integer>
                    <integer>131072</integer>  ## <<-- 이 부분을 131072로 변경
                </array>
                <key>type</key>
                <string>standard</string>
... 중간 생략 ...

##
## xml 형태의 파일을 다시 원래의 plist binary 형태로 변환
##

$ plutil -convert binary1 com.apple.symbolichotkeys.plist

 

 


위 파일 편집에 관해 부연 설명을 하자면,
<integer>8519680</integer> 
라고 되어 있던 줄을 
<integer>131072</integer>
로 수정하는 것이다.

 

 

위와 같이 plist 파일을 변경하고 나면, 반드시 macOS를 Reboot해야 한다.

어떤 사람은 log-out, log-in만 해도 잘 된다고 하던데... 내가 직접 해보니, 꼭 Reboot을 해야 정상적으로 한영 변환 설정이 적용된다.

반응형

Web Browser에 아래의 주소를 입력하고, 접속해보면 내 Browser의 User-Agent 값을 볼 수 있다.

 

https://www.whatismybrowser.com/detect/what-is-my-user-agent

 

What is my user agent?

Every request your web browser makes includes your User Agent; find out what your browser is sending and what this identifies your system as.

www.whatismybrowser.com

 

반응형

Internet web page를 돌아다니다가 예쁘게 Image를 내 PPT 문서에 넣으려고 보면, SVG 파일이라서 PPT 문서에 인용할 수 없는 경우가 있다.

그럴 때, convert 명령이나 rsvg-convert 명령을 이용하면 SVG file을 JPG나 PNG 파일로 쉽게 바꿀 수 있다.

 

## image converting program 설치하기
$  brew install  imagemagick librsvg

## SVG file을 PNG 파일로 변환하기
##  (참고: -z 3.0은 3배 Zoom해서 PNG 파일로 변화하라는 뜻)
$  rsvg-convert -z 3.0 -f png origin_img.svg  -o output_img.png

 

반응형

업무 때문에 CI/CD, DevOps에 관한 자료를 찾다가 CI CD를 묘사한 그림이 예뻐서 메모를 남긴다. 

Image URL은 아래와 같다.

 

https://nanduribalajee.medium.com/what-is-ci-cd-pipeline-e2f25db99bbe

 

What is CI/CD Pipeline?

Do you need your developing team to convey sans bug-free at high speed? A quick and dependable CI/CD pipeline is pivotal for doing that…

nanduribalajee.medium.com

 

CI/CD Pipeline

+ Recent posts