250622 ICA 인증

1년 전 호기롭게 강의+인증시험 패키지를 구매했으나, 바쁘다는 핑계로 시작도 못했다. 만기를 1주일 앞두고 시험을 신청했고, 휴가와 공휴일을 활용해 벼락치기 공부를 했다.

1차 시험에선 안타깝게도 4점차로 탈락했고, 2주 후에 본 2차 시험에선 12점 여유있게 합격했다. 2주라는 텀을 둔 것은 제대로 공부할 시간을 벌기 위한 것이었으나, 실상은 시험 당일 2차 벼락치기였다.

현업에서 점점 멀어지고 있는 상황에서 실습 위주의 인증 시험을 통과한거라 더욱 뜻깊다.

Introduction to Istio (LFS144)를 교재로 활용한 스터디에 참여한 후,

https://trainingportal.linuxfoundation.org/learn/course/introduction-to-istio-lfs144

아래 Killercoda 시나리오의 실습 문제를 풀어보며 관련 개념을 정리했다.

https://killercoda.com/lorenzo-g

Sidecar에 대한 시나리오는 없으므로 따로 공부해야 한다.

https://istio.io/latest/docs/reference/config/networking/sidecar

IstioOperator를 활용해 특정 컴포넌트의 이름을 변경하거나, 자원 요청량을 지정하여 설치하는 연습도 필요하다.

https://istio.io/latest/docs/reference/config/istio.operator.v1alpha1

코드레벨의 작업을 직접 해보면서 ‘내가 제대로 모르고 있었구나’ 라는 생각을 여러 번 했다. 앞으로는 새로운 기술을 익힐 때, 스스로 공부하고, 정리하고, 가급적 실습까지 해볼 생각이다.

다이소에서 산 모조전지로 책장을 가리고, 책상 위에 있던 모니터, 스탠드, 책들 다 치운다고 아주 귀찮았다.

1차 시험에선 개인 맥북프로 14인치에서 vi 에디터를 사용했고, 마우스로 모든 copy & paste를 수행했다. Task 별로 폴더를 만들어서 폴더를 이동하며 문제를 풀었다. 선풍기의 2시간 타이머가 끝나면서 마지막 30분은 더위와도 씨름해야했다.

2차 시험에선 회사 맥북프로 16인치에서 vscode를 사용했다. 브라우저와 vscode 편집창 사이에서 copy & paste는 단축키를 이용했다. Task 별로 폴더를 만들지 않고 루트 폴더에 모든 파일을 만들었다. Task 3.2의 VirtualService를 만들 때 파일명은 32vs.yaml로 하는 식이었다. alias ka='kubectl apply -f'를 정의해놓고 활용했다.

그렇게 2차 시험에서는 환경을 최적화하고 동일 컨텐츠를 한 번 더 공부했음에도 불구하고, 시간이 부족한 건 여전했다. 조금만 실수하면 틀리기 쉬운 문제들이 많아서 정신 바짝 차려 한 문제 한 문제 신중하게 풀다보니 시간이 빠르게 지나갔다. 시간이 만료되어 자동으로 종료될 때까지 최선을 다 했다.

실무 감각을 놓치지 않기 위해서, 새로운 지식을 제대로 공부하기 위해서, 내년에도 실습 위주의 자격증 시험에 도전해야겠다.

250412 랜덤 명언 생성기

<홍드로이드의 AI 도구를 활용한 학습부터 웹 & 앱 서비스 개발까지 한번에> 강의를 들으면서 AI 도구로 웹서비스를 하나 만들어봤다.

http://wise.reshout.com/

Claude로 최초 코드 생성 후, Cursor와 대화하며 기능을 추가했다. 내가 작성하거나 수정한 코드는 한 줄도 없다. 그야 말로 입코딩이 가능한 시대가 그리 멀지 않은 것 같다.

실무 역량이 점점 부족해지는 매니저에게는 반가운 변화가 아닐까 싶다.

육아 휴직을 했던 2020년에 현재 수준의 AI 기술이 있었다면, 개인 서비스 하나는 뚝딱 만들 수 있지 않았을까? 그때는 프론트앤드까지 공부해서 개발을 하자니 엄두가 나지 않았다.

Mac에서 YouTube 컨텐츠 MP3로 다운로드 하기

$ brew install yt-dlp
$ brew install ffmpeg
$ yt-dlp -x --audio-format mp3 -o '~/Downloads/%(title)s.%(ext)s' https://youtu.be/7UYIDomkUEU\?si\=QvUWYfvYJVg2zcC1
[youtube] Extracting URL: https://youtu.be/7UYIDomkUEU?si=QvUWYfvYJVg2zcC1
[youtube] 7UYIDomkUEU: Downloading webpage
[youtube] 7UYIDomkUEU: Downloading tv player API JSON
[youtube] 7UYIDomkUEU: Downloading ios player API JSON
[youtube] 7UYIDomkUEU: Downloading m3u8 information
[info] 7UYIDomkUEU: Downloading 1 format(s): 251
[download] Destination: /Users/reshout/Downloads/계엄, 정권 교체까지 가야 끝난다. #철학 #박구용.webm
[download] 100% of   37.58MiB in 00:00:04 at 9.37MiB/s
[ExtractAudio] Destination: /Users/reshout/Downloads/계엄, 정권 교체까지 가야 끝난다. #철학 #박구용.mp3
Deleting original file /Users/reshout/Downloads/계엄, 정권 교체까지 가야 끝난다. #철학 #박구용.webm (pass -k to keep)
$ ls
계엄, 정권 교체까지 가야 끝난다. #철학 #박구용.mp3

블로그 도메인 변경

reshout.com을 좀 더 넓은 영역에 활용하기 위해, 다시 blog.reshout.com으로 돌아왔다.

인증서 갱신에 실패하여 https도 버렸다.

당분간은 reshout.com, www.reshout.com에서 blog.reshout.com으로 redirection을 유지할 생각이다.

EC2에 kubeadm으로 쿠버네티스를 직접 설치하고 회사에서 경험한 것들을 나만의 클러스터에 적용하면서 기술 블로그도 쓰고 싶은데, 회사일과 개인공부에 쓸 시간도 부족해서 차일피일 미루고 있다.

Route 53으로 도메인 이전

올해 목표 중 하나가 AWS를 제대로 공부하는 것이어서, 블로그도 AWS로 옮겨서 운영해보려 한다.

오늘은 도메인 관리 기관 및 DNS를 Cloudflare에서 Route 53으로 이전하는 데까지 완료했다.

집에 있는 서버는 언제 Public IP가 바뀔지 몰라서 crontab으로 3분마다 dns 레코드가 업데이트 되도록 구성했다.

reshout :: ~/route53 » cat template.json
{
  "Changes": [
    {
      "Action": "UPSERT",
      "ResourceRecordSet": {
        "Name": "reshout.com",
        "Type": "A",
        "TTL": 300,
        "ResourceRecords": [
          {
            "Value": "{public-ip}"
          }
        ]
      }
    },
    {
      "Action": "UPSERT",
      "ResourceRecordSet": {
        "Name": "www.reshout.com",
        "Type": "A",
        "TTL": 300,
        "ResourceRecords": [
          {
            "Value": "{public-ip}"
          }
        ]
      }
    }
  ]
}
reshout :: ~/route53 » cat update.sh
WORKDIR=$HOME/route53
MYIP="$(curl --silent ifconfig.co/)"
cp $WORKDIR/template.json $WORKDIR/request.json
sed -i s/{public-ip}/$MYIP/g $WORKDIR/request.json
/usr/local/bin/aws route53 change-resource-record-sets --hosted-zone-id Z0054835EUXT8OQM2CGE --change-batch file://$WORKDIR/request.json >> $WORKDIR/result.log 2>&1
reshout :: ~/route53 » crontab -l
*/3 * * * * $HOME/route53/update.sh

다음에 할 작업은 EC2로 워드프레스 옮기기.