2026/09/23

나름 세컨 컴인 라즈베리파이4 용도

2년째 책상 아래에서 24시간 돌아가고 있는 라즈베리파이4 용도이다.

  • 테슬라메이트: 테슬라 차량과 연동하여 차량 주행,충전,차량상태에 대한 로그를 쌓고 보는 용도. 처음에는 마이크로SD카드를 주 저장장치로 사용했으나 안정성과 용량 문제로 외장 SSD로 교체하여 사용중.
  • 회사주차장 전기차충전소 모니터링: 회사 주차장의 완속 충전기에 대한 모니터링, 모두 사용중일 때 모니터링을 시작하여 빈 자리가 나는 순간 텔레그램으로 알림 전송. 
  • 우회 파일 전송:  보안상 파일 공유가 대부분 막힌 망에 연결된 PC로 파일을 보내는 역할. 공유할 파일을 텔레그램으로 봇에게 보내면 라즈베리파이가 받아 차단되지 않은 저장소에 중계해서 올리고 다운로드 코드를 생성, 보안PC에서는 로컬 html문서에 이 코드를 입력하여 다운로드. 
  • 특정 공간 모니터링: ESP32-CAM 키트를 이용해서 특정 공간에 대한 영상 기반 모니터링. 이미지 전송요청을 카메라로 보내고 전송받은 이미지로부터 외곽선(edge) 추출 라이브러리로 사물의 존재여부 판단, 변동 사항 발생 시 텔레그램으로 알림 전송.

AI 도움으로 이런 100% 맞춤 DIY 개발에 입문할 수 있어서 행운인 반면 AI산업이 빨아들인 램 수요로 인해 기기값이 치솟았다. 더 구입해서 활용하려면 이제는 60%이상 오른 가격을 줘야 한다는 것. 

2026/09/20

부조금은 직접 아니면 이체가 답..

 며칠전 회사 동료의 부친상이 있었다. 문자를 받은 날 몇몇 회사 동료들이 다녀온다고 했고 나를 포함하여 직접 문상을 가지 못하는 직원들은 각자 조의금 봉투를 마련하여 가는 사람 편에 부탁했다. 발인을 마치고 부조금을 전달했던 동료들은 상주로부터 감사의 전화와 답례로 디지털 상품권을 받았다고 하였다. 다음날 하루종일 아무 전화도 문자도 받지 못하니 살짝 마음이 쓰였다. 감사 인사를 받고 못받고의 문제가 아니라, 큰 슬픔을 겪은 사람에게 공감과 위로의 마음을 부조금의 형태로 보냈음에도 불구하고 그 사람에 나는 부친상을 무시하고 넘어간 사람이 된게 아닌가 싶었다. 

그러나 이런 사안은 돈을 전달하는 과정에 다른 사람이 끼어있고, 이 사람 역시 번거로움에도 기꺼이 호의를 베푼 사람이다. 어떻게 중간에 배달사고가 났는지를 누구에게 묻는단 말인가. 

결국 모두에게 폐 끼치지 않게 조심스럽게 확인해본 결과 형제자매가 많은 집안이라 부조금 분류과정에서 착오가 있던 것이었다. 이번 명절에 다들 만나서 잘못 오간 봉투는 다시 주고 받기로 했단다. 상주는 따로 작은 답례품을 준비해서 전달해주었다.

이번 일을 겪고 나니, 부조금은 직접 전달하는게 원칙이고 이때 봉투에는 이름뿐 아니라 직장명 또는 상주와의 연결고리를 표시해야 겠다. 여의치 않으면 부고문자에 들어있는 계좌번호로 송금을 하는게 이런 해프닝을 방지할 수 있겠다 싶었다. 그런 의미에서 부고문자 등에 계좌번호를 함께 적는 것은, 성의를 표시하고 싶지만 직접 갈 수 없는 지인들에 대한 배려라고 봐야겠다. 

아내 무과실로 접촉사고 난 후기

얼마전 아내가 퇴근해서 거의 집에 도착했을 즈음 전화를 걸어왔다.  집 근처에서 사고가 났다는 것이다.  다행이 사람이 다치는 사고는 아니었다.  아내로 부터 들은 사고 경위와 블랙박스 영상을 확인한 전체 사고 경위다.

아내는 정지선 첫번째 차량으로 신호대기 중이었고 신호가 바뀌어 서서히 출발했다. 교차로를 거의 통과했을 즈음 오른쪽 도로에서 상대방 차량이 우회전을 하면서 아내 차량의 오른쪽 뒷부분에 충돌했다. 충격으로 아내 차량은 몇미터쯤 앞으로 콰르르...밀려나갔고 곧바로 정차했다. 휠 하나와 뒷 범퍼가 긁혔다. 아내는 정상 신호를 받고 진행했기에 과실이 없어보였으나 흔히들 얘기하는 '움직이는 차량 사이의 사고에서 100:0은 없다'는 말이 마음에 걸렸다. 그러면 내가 직진 신호에 직진하는데 우회전 차량이 다가온다고 멈춰서 양보를 해줘야하나? 갸우뚱한 일이다. 상대방은 아내가 과속을 했다며 아내의 과실이 있다고 주장했단다. 적반하장이다. 정지선부터 사고지점까지 거리와 시간을 토대로 충돌 시점의 속도를 시뮬레이션해보면 시속 25km를 넘지 않는다. 

블랙박스를 다시 살펴보니 상대 차량은 우회전 시 일시정지 없이 계속 주행하여 아내 차량과 충돌했다. 메모리카드를 복사하는 대신 블랙박스의 화면을 촬영해갔던 보험사에 원본 영상을 전송하고 이 사실을 알렸다. 운전자는 교차로에 접근했을 때 전방 신호가 적신호라면 정지선, 횡단보도 앞에서 일시정지 의무가 있다. 이 의무를 가볍게 여기고 무시하거나, 무슨 말도 되지 않게 '여기서 멈출수가 없어요, 멈추기가 어려워요' 하는 사람들이 대다수다. 그러나 이 의무를 위반하는 것은 신호위반에 해당한다.  우리쪽 보험사에서는 상대방이 계속 우리쪽 과실을 주장하고 있기에, 그렇다면 우리 보험사에서는 상대방의 신호위반으로 인해 사고가 났음을 경찰에 신고하겠다고 했다. 대충 찾아보니 이렇게 진행되면 상대차량 운전자는 신호위반 벌점 + 신호위반으로 인한 사고 추가 벌점을 받게 되고, 보험료가 할증된단다. 사고충격으로 아내가 통증을 호소해서 병원 치료를 시작하게 되면 사람이 다친 교통사고이므로 12대 중과실 사고가 되고 형사처벌 대상이다. 

다음날 상대운전자가 자신의 과실을 100% 인정하기로 했다는 보험사의 연락이 왔다. 다소 늦었지만 현실을 파악해주셔서 다행이다. 무과실로 이렇게 사고가 나도 이래저래 스트레스 받고 신경쓸 일 많고 금전적으로도 손실이 있다. 범퍼긴 하지만 사고이력이 남다보니 단돈 만원이라도 차량가 책정에 불이익이 있을 수 있겠다.  

겸사겸사 10년치 무료 엔진오일 교환 쿠폰도 마지막으로 다 썼고 (공교롭게도 20번째 엔진오일 교환하고 하이브리드 시스템 점검한 다음날 사고 -_-; ) 라디에이터 냉각수 누액도 있다고 한 마당에 사고까지 겹치니  명분이 더 쌓여 차량 처분 결심을 빨리 하게 됐다. 

2026/09/16

예전 차 정비내역서 한보따리 폐기

 10년타던 차를 중고차업자에게 넘기고 집에 남아있던 매뉴얼, 안내문 등은 당시에 폐기했다. 남아있는건 10년간 엔진오일 교환 21회, 하이브리드 시스템 점검,정비내역서,  집에 주차해 있을 때 한번, 신호대기때 뒤에서 한번, 아내가 탈 동안  신호위반 차량이 범퍼 박은것까지 총 3번 범퍼 교체 또는 도색에 대한 작업지시서, 그럴 때  이용했던 렌트카 계약서, 자동차검사 결과서, 사제 장착품 장착했던 영수증 등인데  얼추 60여장 쯤 됐다. 개인간 거래면 20여년전 그랬던 것처럼 전달해줬을텐데 중고 매매상에서 사갔고 심지어 다른 나라로 보낸다고 하니 말하자면 무쓸모가 됐다. 

서류 중 직전 차량 구매하면서 그 전에 탔던 국산 가스차를 17만 킬로 타고 판 매매영수증이 있길래 보니 대략 구입가의 13% 정도를 중고가격으로 받았다. 직전 차량은 10년, 14만 킬로 탄 차량인데 구입가격의 22% 정도를 받았다. 기록차 남겨둔다. 

ESP32-CAM으로 영상 모니터링 시스템

  • ESP32-CAM과 다운로드보드, 7cm 케이블 달린 카메라: 영상 촬영
  • 라즈베리파이: 이미지판독,서버 상태 체크, 스마트플러그 리부팅,텔레그램 통신, 로컬 웹서버
  • 텔레그램: 명령어입력, 이미지와 판독결과 전송
  • 맥+Arduino IDE: 카메라 설정값 수정, 컴파일 된 펌웨어 전송
  • Tapo P100M: 전원공급, 다운,랙 걸렸을 때 라즈베리파이 명령에 따라 리부팅

카메라와 보드 구입비용이 스위치봇카메라와 비슷하게 들었으나 영상의 품질은 스위치봇카메라에 훨씬 미치지 못했다. 그래도 원하는 기능에 맞춰 프로그래밍하여 제어할 수 있다는 장점이 있으니 그걸로 만족. 좀 더 고품질의 영상이 필요하면 RTSP가 지원되는 스위치봇 카메라 또는 라즈베리파이 전용 카메라를 써야겠다. 

2026/09/07

본가 도시가스 사용량을 원격으로 자가검침하기

원래는 본가의 도시가스 검침은 거주자가 직접 집안 계량기를 확인한 후 문앞에 가스회사가 미리 붙여준 검침표에 계량기 숫자를 적는다. 검침원은 문앞을 돌아다니며 검침한 숫자를 보고 사용량을 입력한 후 그에 따라 사용요금을 부과한다. 문밖이나 더 좋게(?)는 건물 밖에 가스계량기가 있으면 검침원이 직접 사용량을 체크하겠으나 본가 계량기는 현관을 들어가서 거실-주방을 거쳐 다용도실 맨 안쪽에 있다. 이거 보아하니 검침원이 직접 계량기를 찾아다니실 수 있는 상황이 아니다. 다만 계량기가 다용도실 맨 안쪽에 있고 그 앞에는 세탁기가 놓여 있다보니 본가 어르신들이 그 안쪽까지 들어가서 벽의 옆쪽에 설치된 계량기 숫자를 읽어서 문 앞 용지에 기록하는 것도 은근 힘든 일이실 것이다. 

대책이 없을까...  해당 가스회사에서는 자가검침이라고 해서 온라인상에서 그 달치 계량기 숫자를 사용자가 직접 입력하거나 메신저로 계량기 숫자를 회신할 수 있도록 해 두었다. 그럼 계량기 숫자 입력은 내가 하면 되는데, 누군가가 계량기 숫자를 읽어서 나에게 알려줘야 한다는 문제가 여전히 남아 있다. 

손재주가 있고 개발 지식이 있으신 분들은 계량기 내의 자석이 한바퀴 도는걸 측정해서 자동화 시키신 분도 있던데 그렇게까지 할 여력은 안될 뿐더러 본가에 설치해야하니 단순해야 했다. 가장 간편하고 유지보수 걱정도 덜 수 있는 방법은 홈캠을 계량기 근처에 설치하고 원격에서 카메라를 통해 숫자를 읽으면 되겠다. 심지어 집에는 놀고 있는 홈캠이 하나 있었다. 

본가에 가서 살펴보니 가스보일러와 가스계량기가 다용도실 벽의 모퉁이를 가운데 두고 ㄱ자로 설치되어 있었다. 어? 그런데 이 홈캠은 받침대 바닥에 자석이 있네? 가스보일러에 붙여볼까? 철꺼덕 하고 붙는다. 카메라의 렌즈는 자동으로  계량기쪽을 향한다. 잘 안맞으면 스마트폰이나 태블릿을 고정하는 관절형이나 자바라형 거치대를 붙여야할려나 싶었는데 카메라 설치 장소와  계량기 간 위치, 거리가 절묘하게 잘 맞았다. 


저전력 충전기와 케이블을 하나 사다가 전원을 공급하고 카메라를 와이파이에 연결했다. 적당히 위치와 거리를 조정했더니 계량기 숫자판이 아주 잘 보인다.  이제 자가검침을 입력하는 때가 되면 가스업체에서 안내 문자가 날아올 것이고 홈캠 앱을 켜서 숫자를 읽어 전송하면 된다. 

낮에도 잘 보이지만 적외선 LED 덕분에 밤에도 잘 보인다. 허허허...




2026/09/05

차는 역시 새 차인가...

 10년된 차량을 판매하고, 어제 새 차량을 인수해왔다.  신차 가격 기준으로 기존  차량 가격의 60% 정도인데  돈의 가치를 생각하면 절반 가격쯤 될려나 싶다. 그럼에도 세월의 변화, 기술의 발전에 따라 많은 기능들이 기본 사양에 포함되어 있었다. 기존 차량에 없거나 애프터마켓에서 장착했던, 장착을 고려했던 옵션들이 기본 포함되어 있는 항목들의 장착기 또는 왜 장착하지 않았는지를 한참 적어내려가다 지웠다. 다 사연이 있고 장착 결정/포기의 당위가 있는 법이다.  나의 판단과 사정이 또 다른 이들의 상황과는 다를테니 이게 이래서 좋다느니 저건 저래서 돈낭비라느니 하는 얘기를 하는게 부적당하다고 생각했다. 아무튼 그렇게 (중복)지출해서 장착한 제품들이 이제는 더 뛰어난 기능을 갖추고 차량의 하드웨어, 소프트웨어와 매끈하게 결합된 걸 보니 역시 전자제품은 새 것이 좋구나...감탄중이다. 

가장 만족하고 감사한 기능은 차량 내부 온도를 미리 맞춰두고 특히 겨울에는 핸들과 좌석을 따뜻하게 뎁혀놓을 수 있게 됐다. 회사와 집이 모두 지상 주차장이어서 한여름에는 찜질방 저리가라급 뜨거운 실내, 한겨울에 꽁꽁 언 차에 타서 얼음장 같은 핸들을 잡아야하는 아내한테 늘 미안하고 안쓰러운 마음이었기 때문이다. 

2026/09/02

10년 탄 차량을 떠나 보내다.

10년전 구입했던 차는 2년전에 전기차를 사면서 아내가 출퇴근용으로 사용해 왔고 최근 떠나 보냈다.

차를 바꿔야겠다는 생각에 영향을 끼친 요인들이다. 

  • 8월초 엔진오일 교환하면서 보니 라디에이터쪽 하부에 누수 흔적이 있다고 했다. 3년전부터 듣던 얘기다. 이 정도 말라 붙은 흔적이면 당장은 부동액을 보충하면서 타도 된다고 했으나 계속 탈려면 라디에이터와 호스 2개 교체를 고려해야 한다. 시동배터리는 AGM배터리로서는 천수를 누린 10년차라 교체를 고려할 시기가 되긴 했다.  즉 이제 연식이 되면서 슬슬 돈들어갈 일이 생기는 시기로 접어들었다. 
  • 공교롭게도 오일교환을 하고 난 다음날 상대방 과실 100%로 접촉사고가 났다. 다행이 사람이 다칠 정도는 아니었으나, 수리 후 아내는 작은 포트홀 등을 밟을 때 충격과 소리에 깜짝 놀란다 하였다. 차를 바꾸어 새로운 운전환경이 된다면 아마 조금 나아질 것이다. 
  • 아내 차를 바꿔야한다고 생각했던 가장 큰 이유는 원격 시동(냉난방 예약)이 되지 않는다는 점이다. 요즘 차들은 앱으로 미리 시동을 걸어둘 수 있어 히터나 에어컨을 켜 둘 수 있다. 이 차는 원격도 안되는데다가 스마트키여서 원격시동을 위한 사제 제품도 장착할 수가 없었다. 날씨가 적당할 때는 별 문제가 없는데 한여름과 한겨울에는 실외 주차했던 차에 타기가 고역일 것이다. 예컨데, 아내는 간이 침대에서 자고 나는 킹사이즈 침대에서 자는 꼴이다. 

겸사겸사(?) 전부터 찜해둔 차량 전시장을 찾았다.  당일 시승 운전은 못해봤지만 차 안팎으로 살펴본 아내는 마음에 든다했다. 구매는 구매대로 진행하면서 옛 차량에 대한 처분을 준비했다. 

앱으로 신청하면 차량평가사가 와서 진단하고 평가서와 사진을 올리면 딜러들이 입찰하는 방식이다. 평가사는 앞유리에 난 좁쌀보다 작은 스톤칩 자국 몇개를 찾아 사진찍고 체크했다. 나중에 평가서를 보고 알았다. 세차 광인인 나도 몰랐던 흠집이다. 평가가 완료되고 입찰이 시작되었다. 말도 안되는 낮은 가격을 부르는 딜러들도 있었는데 입찰이 계속되면서 예상 금액까지 꾸준히 올라갔다. 최종 낙찰가 기준 판매가의 30%~50% 수준으로 입찰하는 딜러들은 입찰 수를 늘이고 매도인에게는 안도를 보태주는, 나름 긍정적인 역할을 하는 것으로 보였다. 며칠에 걸친 입찰 절차가 마감됐다. 미리 아내와 얘기 나누어봤던 대략의 희망 낙찰 금액이 있었다. 이 정도 받으면 좋겠다... 싶은 금액에서 조금 모자라는 금액이 최고가 입찰 금액이었다. 판매 결정하기에 약간 섭섭함이 있다.  결정을 안하고 잠시 뜸을 들이는 와중에, 원하는 가격을 적어내어 한번 더 딜러들에게 그 가격을 제안하는 기능이 있다고 앱에서 알림이 왔다. 굳이 안할 이유가 없었다. 적당히 겸손하게 원하는 가격을 적어냈고 얼마 지나지 않아 해당 가격에 구입하겠다는 딜러가 나타났다.  수출딜러라고 했다. 이 경우는 인감도 필요없고 신분증만 앱으로 전송하고 나중에 차 가지러 오는 탁송 기사분께는 차키와 자동차등록증만 드리면 된단다. 

약속한 날에 맞춰 탁송 기사분이 도착했고 차량을 넘겨 드렸다. 차량 대금은 기사님이 차를 몰고 떠나시기 전에 입금 완료됐다. 아내는 2년간 타면서 그간 안전하게 잘 출퇴근 할 수 있게 해준 녀석이었다면서 아쉽다고 하였다. 구입 초기 몇번 센터에 들락거리면서 잡으려했지만 못잡았던  뒷좌석 뒷편 선반과 조수석 안전벨트 근처 덜덜거리는 소리는 몇년 타다보니 저절로(...) 고쳐졌다. 그 외에는 별 말썽없었다. 고마웠어. 어느 나라에 가서 누굴 만나든지간에 사랑받고 잘 달려주길~.

2026/08/30

워드프레스에서 블로거닷컴으로 마이그레이션 진행한 과정

이번 워드프레스에서 블로거닷컴으로 마이그레이션 한 과정이다. 지나고 나서 되새겨 본 것이라 100% 정확하지는 않다. 게시물과 이미지를 가져왔고 댓글은 제외했다. 데이터 내에서 값을 찾고 변환하는 과정, 클라우드플래어 R2스토리지 API와 구글 블로거 API 활용 과정은 제미나이와 챗지피티의 도움을 받았다. 개발 언어는 파이썬이다. 

  1. 워드프레스의 tool → export 로 게시물 내보내기. 
  2. 이 xml은 블로거닷컴에서 인식할 수 없는 형식이므로 워드프레스에 ForthFocus Atom XML Converter for Blogger™ 확장기능을 설치한다. 위에서 받은 xml을 이 플러그인에 업로드해서 블로거닷컴에서 인식할 수 있는 형태로 변환하여 다운로드. 
  3. 이미지 파일은 워드프레스 백업,복원으로 유명한 updraftplus로 다운받아 압축을 풀어 한 폴더에 모음. 
  4. 원본 이미지는 "이미지파일명.jpg(또는 png)"인데 "이미지파일명-가로x세로.jpg (또는 png)"로 추가 생성된 이미지가 많아 이 이미지들은 별도로 제외시킴. 단, 원본 이미지 이름 자체가 이 형식일 가능성이 없는지 확인해야 함.
  5. 블로거닷컴으로 옮긴 게시물에 이미지를 일괄적으로 제 위치에 꽂아넣는 방법이 마땅치 않아 cloudflare의 r2 스토리지에 img.hof.pe.kr 도메인을 할당하고 여기에 이미지 원본 전체를 옮김. API키를 받아 rclone으로 전송했고 hof.pe.kr/wp-content/uploads/aaa.jpg 이미지는 이제 img.hof.pe.kr/aaa.jpg가 됐음. r2 스토리지 메뉴에서 도메인 할당하면 자동으로 클라우드플래어 NS에 항목이 추가됨. 
  6. 블로거닷컴용 xml 파일에서 기존 이미지 URL 및 상대경로 (예: /wp-content/uploads/aaa.jpg)로 지정된 경우까지 찾아 img.hof.pe.kr 쪽을 바라보도록 변경
  7. 블로거닷컴에 atom xml 파일을 올려 일단 게시물의 새로운 퍼머링크를 할당 받음. 
  8. google blogger API로 새로 올린 전체 게시물의 제목, 작성일, 퍼머링크를 받아옴. 
  9. 이 파일과 최초 워드프레스에서 다운받은 xml 에서 날짜와 제목을 기준으로 비교하여 같은 게시물의 워드프레스에서의 퍼머링크와 블로거닷컴으로 옮긴 후 새로 받은 퍼머링크 간 변환 테이블 생성 
  10. 대략 이때쯤 블로거닷컴에서 사용자 지정 도메인을 사용하기로 하고 네임서버에서 도메인의 A레코드를 AWS Lightsail 인스턴스에서 블로거닷컴 쪽으로 변경 
  11. 게시물 내에서 a href 링크가 나 자신(기존 워드프레스 때 퍼머링크)으로 향하는 경우가 있는지를 찾아 별도의 csv로 저장, 9번에서 만들어 둔 매칭 테이블을 활용하여 blogger API로 새 블로거닷컴의 퍼머링크로 교체, 업데이트

테마파일을 설치하고 보니 첨부한 이미지가 본문 레이아웃의 오른쪽으로 뚫고 나가는 경우가 있어 CSS를 수정했다. 별 내용없던 기존 about 페이지는 폐기하고 새로 블로그소개 페이지를 만들어 두었다. 

2026/08/29

내부링크 수정 완료

워드프레스에서 블로거닷컴으로 옮겨오면서 내부의 글끼리 걸었던 링크들이 모두 깨지는 참사가 일어났다. 서비스마다 퍼머링크 구조와 정책이 다르니 당연한 일이고 감수하려고 했다. 세상이 좋아져서 다행이 예전 링크를 새 링크로 수정하는 방법을 AI를 통해 찾을 수 있었고, 방금 400여개 글에 포함된 링크를 모두 수정하였다. 블로거닷컴에 API로 연결을 해서 글 내용을 가져오고 변경해서 업데이트 하다보니 자동으로 처리를 했음에도 15분 정도 걸렸다.  주로 2005년부터 2007년 사이의 글에 집중되었고 2008년 이후로는 빈도가 뚝 떨어졌다. 블로그의 부흥기라고나 할까, 그 즈음에 유행했던 글쓰기 패턴이었나보다. 아무래도 작성 글 갯수도 지금보다 더 많았을 것이고. 

검수(?)하면서 살펴보니 다른 사이트로 연결한 링크들은 이미 99%이상 다 깨진 상태이다. 어쩔 수 없는 일이다. 내가 사용한 내 퍼머링크에 대해서는 게시물 단위로는 거의 다 살려놓았으니 링크에 대한 책임은 이 정도면 됐지 싶다. 


[업데이트]@2026.8.29 22:00
첨부된 이미지 중 워드프레스에서 이미 "이미지원본이름-가로해상도x세로해상도.jpg|png"  포맷으로 삽입된 경우들이 있다. 워드프레스때는 이미지를 하나 업로드하면 워드프레스가 임의로 4~5개의 해상도별 이미지를 임의로 생성해두는 것이 불만이었는데 이걸 실제로 포스트에 워드프레스가 사용했던걸 이제야 발견했다. 이미지를 클라우드플래어 r2 스토리지로 옮길 때 이 추가생성된 리사이즈된 이미지들은 제외하고 옮겼고, 그 여파로 여러 개의 게시물에서 이미지가 깨지는 현상이 생겼다. 총 39개 게시물을 찾아냈고 이 또한 모두 원본 이미지로 경로를 변경하여 복구해 두었다. 

블로거닷컴으로 완전히 왔다.

 워드프레스가 설치되어 있던 AWS 라이트세일 인스턴스를 완전히 삭제했다. 아침에 인스턴스를 중지 상태로 바꿔놓고 '블로거닷컴에서 적응이든 셋팅이든 실패하면  다시 워드프레스로 돌아갈거야?' 를 생각해보니 차마 다시 돌아가진 못하겠다. 인스턴스를 재부팅하거나 새로 생성하는 순간부터 따라오는 수많은 셋팅과 모니터링, 유지보수에 대한 책임과 스트레스를 또 감당할 생각을 하니 속이 메슥거릴 정도다. 말하자면 배수의 진이다. 워드프레스를 즉시 되살릴 수 있는 여지를 없애버렸다. 

2026/08/28

블로그를 워드프레스에서 블로거닷컴으로 이전 중

 24년차에 접어든 블로그 생활 중 가장 큰 변화가 아닐까 싶다. b2로부터 시작해서 워드프레스로 운영하다가 오늘 블로거닷컴으로 이사를 했다. 아직 도메인을 옮긴것은 아니라 지금은 블로거닷컴에서 받은 주소만 갖고 있는 상태이다. 안정화가 되면 도메인도 이쪽을 향하도록 수정할 것이다. 일단은, 그간의 글과 이미지를 마이그레이션 해 왔다. 변경하면서 달라진 점들은 이러하다.

  • 이미지는 모두 cloudflare의 r2 스토리지로 옮겼다. img.hof.pe.kr 주소를 부여하고 기존에 삽입됐던 이미지들은 모두 새 이미지 서버에서 불러오도록 하였다. 생각만큼 이미지가 많지는 않다. 3천여개의 파일에 300메가바이트 정도이다.  r2 스토리지는 10기가바이트까지 무료로 사용할 수 있다.  과거 글에 포함된 이미지는 외부 스토리지에 무료로 맡기고 새 글에 포함할 이미지는 블로거닷컴에 직접 첨부하여 글 작성을 한다. 

  • 댓글은 옮겨오지 않았다. 새로운 댓글도 받지 않을 것이다.

  • 내부 링크가 문제다. 내 글에서 내 예전글로 향하는 링크가 상당히 많았는데 이것의 링크를 재정비 하는 일이 생각보다 만만치 않다. 워드프레스에서 hof.pe.kr/123 같은 형태였던  링크가  블로거닷컴으로 옮겨오면서 hof.pe.kr/2006/02/my_new_post.html 이런식으로 바뀌었기 때문에 이 링크들을 찾아 바꾸는게 큰 일이다. 블로거닷컴에서 제공하는 컨텐츠 수정 api 를 사용하면 된다고 하는데 이를 위해 워드프레스와 블로거닷컴의 데이타를 비교해서 오류없이 링크 테이블을 만드는 일이 생각대로 되지 않았다. 1. 글의 제목 2. 워드프레스의 퍼머링크 3. 마이그레이션 한 이후 블로거닷컴의 퍼머링크를 스프래드시트에 만들어 두긴 했다. 블로그 뒤적거리다가 링크 만나면 하나씩 장부책 보고 바꿔보도록 해야겠다.

  • 당연한 얘기지만 게시글의 고유한 URL인 퍼머링크가 싹 바뀌었다. b2시절부터 index.php?p=123 같은 구조를 계속 리다이렉션 해가며 hof.pe.kr/wp/123에서 hof.pe.kr/123 까지 링크가 깨지지 않게 유지해왔는데 이젠 다 블로거닷컴의 주소체계에 따라 링크가 변경되었다. 

워드프레스에 비해 디자인이든 데이터든 내가 하고싶은 대로 바꾸고 뒤적이고 자르고 붙이는 자유도는 낮아졌다. 그런데 강산이 두번이 넘게 바뀔 동안 써오던 플랫폼을 왜 옮겼느냐,

플랫폼을 관리하고 유지하는데 드는 노력과 비용이 생각보다 많이 낭비되고 있었다. 월5$짜리 AWS Lightsail 인스턴스에 워드프레스 하나 달랑 올려놓고 쓰고 있는데, 최근의 서버 접속지연 현상을 겪고 다양한 문제파악과 해결을 위한 시도를 해보면서 이 문제가 결국 메모리 부족이 원인인 것으로 의심되었다. 메모리를 늘이기 위해 상위 인스턴스로 업그레이드를 하자니, 무엇때문에 블로그를 쓰고 중요한게 무엇인지를 다시 생각해보게 됐다. 난 그저 쓰고 싶은 이야기 쓰고 남기면 이게 저장되고 나중에 찾아볼 수 있으면 되는것 아닌가,라는 질문을 다시 하게 됐다는 이야기다.  

아울러 오래전 글 내용들이 이제는 큰 의미도 없고, 퍼머링크를 유지하기 위한 비용도 그만한 값어치가 있나 싶기도 하다. 수십년전(...) 내 블로그로 향하는 링크를 갖고 있던 그 블로그들도 다 사라진 마당에 어디서 누가 예전 링크 클릭해서 들어온다고 링크를 관리하고 있지? 싶은것이지. 

골치아픈 플랫폼 관리의 문제는 구글에서 잘 해줄테니, 나는 그저 돌고돌고 돌아 이제서야 편안하게 글쓰고 저장버튼 누르는 즐거움을 누려볼까 한다.

2026/08/21

클라우드플래어의 프록시 서비스 들어갔다가 뺀 이야기

6월에 aws 라이트세일 블루프린트가 기존 비트나미 패키지에서 라이트세일 패키지로 변경되면서 새 인스턴스를 만들어서 이 블로그를 옮겼다. 이후로 업타임로봇의 5분주기 핑 테스트에서 잦은 서버 접속불가 현상이 생기기 시작했다. 할 수 있는 원인파악 방법과 대응을 해 보았으나 전혀 효과가 없었다. 인스턴스간 편차가 있나 싶어 새 인스턴스를 서너개 교체해 보았다. 오랜 세월 운영하며 워드프레스 DB가 꼬였나 싶어 새로 설치하고 순수한 게시물 데이타XML과 첨부 이미지만 옮겨와 보았다. 모든 플러그인을 다 사용중지도 해 보았다. 그래도 하루, 길어도 이틀에 한번은 접속 불가 리포트가 날아왔다. 외부의 공격이 원인이라면 클라우드플래어가 막아줄테니 최후(?)의 수단으로 클라우드플래어의 방화벽 뒤로 숨어보았다. 어제 오후에 네임서버를 옮기고 프록시 서비스를 작동시켰다. 아침에 일어나보니 밤에 서버 순단현상이 생겼다는 업타임로봇의 알림메일이 도착해 있었다. 밤10시 반에 한번 왔었고, 두번째는 아침 6시에 또 한번 타임아웃 알림 메일이 도착했는데 다행이 그 순간에 컴 앞에 있던 중이라 즉각 이 블로그에 접속해보니, 어? 접속이 잘 됐다. 4분뒤에 접속이 복구됐다는 메일이 도착했다. 5분 주기 체크이긴 한데 체크한 순간에 접속이 안되고 즉각 메일이 왔고 내가 바로 블로그 접속을 했으니 1. 접속이 안되고 있는 중 2. 체크 3. 알림 4. 확인의 상황이 이루어지기까지는 수초 정도만 걸렸을 것이다. 접속이 안된다며? 그런데 나는 접속이 되네?

됐고, 일단 클라우드플래어의 프록시가 해결해 줄 수 있는 문제가 아님은 명확해졌다. 네트워크 타임아웃 "문제"를 해결하기 위해 클라우드플래어로 들어가는 것은 해결책이 아닌게다. 아울러 이 조치에 따른 부작용이라 해야할지, 문제가 생겼다. 블로그 접속에 종종 지연이 발생했다. 이게 0.5초 걸리던게 1초가 걸리는게 아니고 10초 지연도 걸리고 50초 지연도 걸리곤 한다. 당연히 용납할 수 있는 수준이 아니다. 특히 wp-admin 하위 메뉴로 들어가면 지연이 더 심해지는데 2분 가까이 걸린 적도 있었다. 페이지 열리는데 2분 걸리는 것이면 인터넷에 블로그를 쓸게 아니고 타자기로 쳐서 펀치 뚫어 보관하는 걸 고려해야하지 않겠는가.

일단 클라우드플래어로 옮긴 네임서버는 그대로 두고 프록시 기능을 다 껐다. 즉각 페이지 (메인 및 개별게시물) 로딩 속도가 0.3~0.4초대로 회복되었다.

두번째 조치는, 이건 마치 원효대사 해골물 같은 관점인데. 업타임로봇의 모니터링을 껐다. 뭔가 천만뷰 블로그를 운영하는 것도 아니고 매출이 나오는 쇼핑몰도 아니고, 하루에 한번 5분 이내 순단 현상이 일어난다고 보면 이것 때문에 스트레스받지 말고 그냥 모니터링을 중단하는게 낫겠다 싶었다. 여태까지 해본 조치들의 면면을 보면 해볼만큼 한계까지 해본 것이고 더 이상의 노력과 시간을 들이는 것은 흔한 말로 인건비도 안나오는 작업이다. 심지어 접속이 안된다는 알림이 오자마자 접속해보니 접속이 잘 되는 상황을 겪어보니, 어쩌면 허깨비를 앞에 두고 쉐도우복싱을 하는건 아닌가 하는 의심도 하게 됐다.

[업데이트]@2026.8.29
잘못된 접속 중단 알림은 아니었다. 며칠전 또 한번 접속 타임아웃 알림이 왔고 곧바로 접속 테스트 해보니 연결이 안됐다. 메모리는 다 사용했고 추가로 스왑이 엄청 잡혀 있었는데  에러 로그를 못 남길 정도로 지연이 있었다는 AI님의 진단이 있었다. 서버 사양을 한단계 올리라는 조언이 있었는데 그 사양이 충분한지, 앞으로도 영원히(?) 충분한지는 아무도 모르는 것. 

2026/08/16

비트나미 인스턴스에서 라이트세일 인스턴스 후 잦은 에러

6월에 AWS Lightsail에서 이 블로그가 돌아가는 인스턴스를 비트나미 인스턴스에서 라이트세일 인스턴스로 변경하였다.CPU니 램이니 서버 스펙은 완전 동일했고 블로그도 잡데이터들 삭제하고 깨끗하게 정리해서 옮겼다. 문제는 그때부터 며칠에 한번씩 몇분씩 접속 불가 현상이 생겼다.


uptimerobot.com 에서 5분 간격으로 서버가 살았는지 죽었는지 찔러보고 접속이 안되면 메일을 보내준다. 그간 받은 로그를 차트로 그려보니 이러했다. 예전에는 일년에 한번 접속 끊기는 정도였는데 6월에 인스턴스를 바꾸면서부터는 일주일에 한번 이상 접속이 끊겼다가 복구되곤 하였다. 두달간 아파치의 error.log를 제미나이를 이용해 분석시켰고 두가지 대응방안을 받았다. 첫번째는 .htaccess를 이용하여 워드프레스 내부 파일에 직접 접속할 경우 403 에러를 내는 것. (기존에는 500 에러)

두번째는 비트나미 인스턴스 때는 있다가 라이트세일 인스턴스에서 사라졌다고 하는 fail2ban 을 다시 설치하여 비정상적인 접근을 하는 아이피들을 자동으로 ban시키는 것이다.

처음에는 .htaccess 을 이용하는 방법만 적용했는데 error.log를 보니 하루 2~3천회씩 접속하는 ip들이 보여서 fail2ban까지 함께 적용시켰다. 이상한 짓 하는 ip들이 잘 차단되는지, 무엇보다 네트워크 타임아웃 오류가 사라지는지 지켜봐야겠다.

[업데이트]@2026.8.17
하루만에 서버 접속불가 현상이 또 생겼다. 접속 불가가 생기기 직전 access.log와 error.log는 깨끗했다. fail2ban이 블록한 ip도 하나도 없이 0을 유지하고 있었다. 서버 cpu도 꾸준히(...) 1%~2% 부하를 벗어나지 않았다. 외부로부터 들어오는 악성 트래픽이 원인이 아닌가보다.

서버 사양이 동일하다 하더라도 비트나미에서 라이트세일로 블루프린트가 바뀌었고 어쩌면 환경 편차가 있을 수도 있으니 새 인스턴스를 만들었다. 저번에 고생한 것과 다르게 이번에는 다행이 구글드라이브에 자동 백업된 DB와 첨부파일이 문제없이 한방에 복원이 됐다. SSL 인증서도 라이트세일 웹 ui에서 쉽게 발급할 수 있었다. 처음 생성한 서버에서 생긴 오류가 두달 뒤에 생성한 서버에서는 괜찮을까, '그래 저번 서버는 뭔가 잔잔한 오류나 편차가 있던 서버였을수도 있잖아?' 하는 불안 반, 기대 반인 심정이다. 이래도 또 순단현상이 생기면 진짜 20년간의 워드프레스를 다 고정페이지로 발행해버리고 새 블로그를 하던지 해야하지 않겠나 싶기도 하다.

2026/07/15

완주 우리국수 할머니, 감사했습니다.

간만에 지인들과 완주 봉동시장 우리국수를 찾았다. 몇달만의 방문인데, 가게는 출입문부터 내부,주방까지 다 깨끗하게 바뀌었다. 할머니는 안계셨고 다른 분 두분이 조리와 서빙을 담당하고 계셨다. 벽에 걸려있던 할머니의 오래전 기사 액자도 없어졌다. 새 주인장의 멸치 육수는 괜찮은 편이었다. 다만 앞으로도 두시간 넘게들 달려와 먹을 것이냐는 물음에는 아무도 대답하지 않았다. 그럴 만도 하다. 국수뿐만이 아니라 할머니가 계신 오래된 가게, 부글부글 끓어넘치는 면 삶는 솥, 겨울이면 물방울이 잔뜩 들러붙어 있는 낡은 출입문까지 한꺼번에 애정해던 것이니까.

건강이 허락할때까지 문 열겠다고 하셨는데 무슨 일인가 하는 걱정과 함께 그동안 삶아주신 국수 맛있게 잘 먹었다는 감사 인사를 이렇게 남긴다.

2026/07/09

아내 공부용 윈도우노트북 구입

작년부터 아내가 온라인 수업을 듣고 있다. 인강 사이트가 윈도우만 지원하는지라 윈도우가 돌아가는 노트북이 필요했다. 인텔 CPU가 달려있는 2017 맥북프로가 개점휴업 상태로 있는 중이라 일단 이 녀석을 이용하기로 했다. 부트캠프로 맥 파티션을 최소한으로만 잡고 윈도우가 기본값으로 부팅되도록 했다. 그럭저럭 온라인 학습을 하기에 성능상 부족함은 없을 것이었다. 다만 문제는 6년쯤 사용한 배터리가 말썽이었다. 완충을 시켜놔도 며칠만에 자연 방전되고 만다. 이러다보니 공부할려고 노트북을 사용하기 위해서는 전원 어댑터를 같이 끌고 다니면서 상시 연결을 시켜두어야했다.

회사 다니며 시간을 쪼개 하는 공부인데 노트북 전원까지 신경쓰면서 공부하게 하고 싶지는 않았다.

쓰던 맥북보다 화면은 더 큰데 30%쯤 가벼운 윈도우 노트북을 하나 구입했다. 해상도도 레티나 디스플레이에 근접해서 만족스러웠다. 이제 생각날 때 아무 때나 전원에 꽂아놨다가 대충 전원선 분리해 두고, 시간날 때 아무데서나 편한데 앉아서 공부하면 되겠다.

2026/07/04

테슬라 완속,급속 충전손실율 기록

200여회 충전에 대해 테슬라메이트가 기록한 충전손실율 기록이다. 보통 10% 정도 손실이 있다. 20%이상의 손실이 있던 완속 충전은 대개 추울 때 5~10kWh 정도 조금 충전했던 경우다. 충전을 위해 배터리를 뎁히거나 차량 시스템을 가동시키기 위한 기본 전력 대비 충전량이 적어서 생긴 까닭으로 보인다. 주황색 막대는 급속(DC)충전이고 보통 9%정도 손실이 있으니 대충 비슷하다 치고. 단, 완속(AC) 충전기는 충전기가 보낸 전력량 대비 차량에서 받아들인 전력량 사이 손실분을 사용자가 부담하고 급속(DC)은 업체가 부담한다. 그러니까 완속의 손실분 10%는 내가 내고, 급속의 손실분 9%는 업체가 부담한다. 따라서 1kWh당 완속이 290원이고 급속이 350원이라 치면 급속이 60원 비싼 요금이지만 손실율에 대한 금액 부담을 고려하면 실제로는 30원 비싼 셈이다.

2026/06/30

아이폰과 맥의 메시지 동기화지연 + 테스트

대체 뭐가 문제인지 모르겠는데, 회사 와이파이에서만 아이폰과 맥에서의 메시지 동기화 지연이 심하다. 아이폰으로만 주고받으면 맥에 메시지가 늦게 뜬다. 반대로 맥에서 계속 메시지를 주고받으면 아이폰에서 그 메시지들이 늦게 뜬다. 회사 와이파이가 아닌 다른 모든 와이파이에서는 일어나지 않는 문제이다. 이제는 그러려니, 하고 반쯤 (아니면 거의) 포기하고 있는 중이다. 몇년은 된 문제이고 이통사를 KT향을 쓸 때, SKT향을 쓸 때를 가리지 않는 문제다.

그러다 문득 발견한 현상. 아이패드미니 와이파이 모델로 이북리더 겸 해서 사용중이라 안볼때는 맥 옆에 눕혀 놓고 있다. 맥에서 메시지를 주고받고 하다보니 아이폰은 늘 그렇듯이 새 메시지 알림이 뜨지 않는데 아이패드에서는 계속 동시에 메시지 도착 알림이 뜬다. ????? 맥과 아이폰, 아이패드가 모두 같은 와이파이에 연결되어 있는데 말이다. 그렇다면 문제는 여태까지 계속 문제로 의심해왔던 와이파이가 아니라 아이폰의 셀룰러 네트워크도 관련이 있다는 얘기인가?

아이패드와 같은 조건을 만들기 위해 아이폰의 셀룰러 데이터를 끄고 와이파이만 켠 채 맥의 메시지로 아내에게 테스트 메시지를 요청했다. 아내의 메시지가 맥과 아이패드, 아이폰(!)까지 동시에 뜬다. 이거 그러면 아이폰의 셀룰러 데이터와 와이파이 상에서 뭔가 알수는 없지만 충돌이라도 있는 것인가? 셀룰러데이터와 와이파이 설정을 찾아보니 일단 설정 → 셀룰러 → 셀룰러 데이터 옵션 → 음성 및 데이터가 "5G 우선"으로 되어 있었다. LTE를 사용중이기 때문에 그 아래에 있는 "LTE"항목으로 바꾸었다. 셀룰러 데이터를 다시 켠 후 아내에게 테스트 메시지를 요청하니 이번에는 셀룰러 데이터를 켰음에도 아이폰에도 즉시 메시지가 도착했다.

일단 이렇게 해두고 더 테스트를 해 봐야겠다. 와이파이 연결이 불안정하면 셀룰러가 지원한다는 Wi-Fi지원이 켜 있는 상태이니, 이번 테스트가 실패(...)하면 이 옵션도 꺼봐야겠다. 참 오래된 문제인데, 인터넷에서는 관련한 정보나 같은 문제를 겪고 있는 사람의 경우를 찾을 수 없으니 답답한지고...

[업데이트]@7.1 12:50
이 방법도 소용없다. 맥에서 아내에게 메시지 전송. 아내의 답장은 아이폰으로 도착. 2~3분 대기. 맥의 메시지에서 (아직 아이폰으로 온 메시지가 동기화 되진 않았지만) 답장부터 먼저 작성해서 전송하니, 그제서야 맥에도 아내가 보냈던 메시지가 뜬다. 결국 실패로 결론. 이제 아이폰의 설정→셀룰러 → Wi-Fi 지원 기능을 끄고 한번 더 살펴보자.

[업데이트]@7.1 15:15
아이폰으로 메세지 알림이 온 후, 맥의 메시지창을 열어 메시지를 확인하고 답장하려고 기다려도 묵묵부답. 이번 테스트도 이렇게 망한 것으로 종료한다. 그렇다면 역시 희한한 이 와이파이가 유일한 문제로 확정되는 것인가. 그렇다면 왜 아이패드에서는 전혀 지연이 발생하지 않는 이유는 뭘까, 싶다. 심지어 잠금 상태로 파우치 속에서도 문자(아이메시지 포함) 도착할때마다 알림음이 나고 있다.

[업데이트]@7.2 13:30
어제 밤에 아이폰에서 네트워크 설정값을 초기화 하였다. 지금 테스트 해보니 아이폰으로 도착한 문자가 맥의 메시지 앱으로는 30초 정도 후에 도착한다. 30초면... 동시라고 볼 수 있을지, 지연이라고 해야할지 조금 애매하다. 다시 한번 테스트 문자를 보냈다. 이번에는 거의 동시에 맥,아이폰,아이패드 순서로 도착했다.

[업데이트]@7.2 20:15
아이폰와 아이패드 모두 화면 잠금 상태, 맥에서 작업중. 아이폰으로 imessage 도착과 동시에 아이패드에서도 도착음 났다. 그러나 맥에서 메시지 창을 활성화시키고 대화 입력창 클릭까지 한번 해 두었는데 약 1분30초 뒤 메시지 표시되었다. 크. 나도 모르겠다 이제.

2026/06/20

간만에 favicon 변경

인스턴스를 옮기면서 favicon 파일을 빼먹었다보다. 북마크해둔 이 블로그 이름 앞에 뜨던 아이콘이 보이질 않는다. 예전에 백업해둔게 있어서 블로그 루트디렉토리에 올릴려고 하다보니 html에서 파비콘 파일 위치 지정해야하는게 생각났다. 어떻게 했더라, 검색해보니까 어라? 요새는 워드프레스 설정 화면에서 파비콘으로 쓸 이미지를 업로드하면 된단다. 예전에는 헤더파일 수정해서 수동으로 등록했던거 같은데 아무튼 편해졌다. 다만 전에는 가로세로 48x48픽셀이었는데 이제는 최소 크기가 가로세로 512px로 올리란다.

그러니까 브라우저의 탭에 표시되는 파비콘으로만 쓰는 이미지가 아니고 여러 디바이스에서 홈화면에 바로가기로 꺼내놓거나 엣지 브라우저 등에서 시작 페이지에 깔아둘 이미지로도 사용할 수 있으니 아예 넉넉한 크기로 올리라는 것이다. 업로드한 이미지를 워드프레스가 미리 적당한 크기로 변환해두고 필요에 따라 큰 이미지가 필요한데는 큰 이미지로, 파비콘 같은 용도로는 제일 작은 이미지로 알아서 보내주겠다는 것.

여태 파비콘은, 지금은 이런 저런 시끄러운 사정으로 주인도 바뀐 것 같은데 양수리에 있던 어느 식당 겸 카페 마당에서 모닥불 앞에 앉아 찍은 사진으로 만든 아이콘이었다. 픽셀 에디터로 한땀 한땀 찍어서 만든 아이콘이라 큰 이미지로 바꾸기에는 한계가 있었다. 이번 기회에 바꾸기로 했고, @hof 에서 골뱅이는 약간 평평하게 다듬은 원으로, hof에서는 h만 가져와서 만들었다. 한변의 길이가 48에서 512로 바뀌었으니 면적은 100배 이상이 되었다. 무슨 항공사와 물류를 주로 하는 회사 로고와 0.1초 비슷한 느낌이 나긴 하는데, 기분 탓이겠지. 나중에 바꾸던지 해야겠다.

2026/06/17

지렁이 구하기

최근 몇년 사이에 생긴 습관(?)같은 것인데, 아내와 나는 길을 가다가 아스팔트나 보도블럭으로 나온 지렁이를 발견하면 풀숲으로 돌려보내고 있다. 아마 처음 시작은 기어가는 지렁이를 피해 지나간 후, 한두시간 뒤 그 자리에 죽어있는 녀석들을 몇번 보고나서 였던 것 같다. 살아있는 녀석이건 죽은 녀석이건 사람들 발에 밟히고, 개미떼한테 분해되고 있는 모습은 그다지 보기좋은 장면도 아니었고.

근처에 있는 나뭇가지나 종이 조각을 집어 부드럽게 녀석의 몸체를 들어올려 가까운 풀이나 키작은 나무 아래 그늘에 놓아준다. 지렁이 특성(?)상 땅바닥에 바짝 붙어있는 녀석들을 나뭇가지로 건드리면 몸을 비틀고 구부리게 되고 그때 땅에서 떨어진 틈에 조심스럽게 나뭇가지를 넣어 들어올리면 된다. 엊그제는 햇빛에 오래 나와있어서 상태가 많이 안좋은 녀석을 발견. 아내는 지렁이를 보호하고 나는 집에 가서 키친타올을 한장 뜯어 물을 흠뻑 적셔서 들고 나왔다. 풀속 그늘 아래 녀석을 옮겨놓고 적셔온 티슈를 위에서 짜주어 몸통을 적셔 주었다.

두어시간쯤 뒤에 돌아오면서 아까 놓아준 자리를 보니 땅속으로 파고 들어간 것인지 다른 장소로 이동한 것인지는 모르지만 없어진걸 보면 어디론가로 가서 지렁이의 삶 2회차를 잘 살고 있겠거니 싶다.

아내는 집안에서 작은 벌레라도 나타나면 질색을 하며 서전트 점프 1미터를 즉각 뛰어오르는 사람이다. 지렁이라함은 작은 벌레를 압도하는 비쥬얼과 움직임을 보이는데 어떻게 이렇게 잘 들어올려 풀숲에 놓아주는지 신기하다.

2026/06/14

말하자면 SNS 디톡스랄까...

만들어만 놓고 전혀 사용하지 않던 thread는 계정 삭제, 한달에 한번 꼴로 들어가는 인스타그램, 가끔 지인 안부를 보러 들어가던 페이스북 계정은 비활성화 시켰다. 브라우저의 북마크에서도 지웠다. 핸드폰에서도 앱 삭제를 했다. 뭐, 언젠가 다시 계정을 살릴 수도 있겠지만 지금은 어쩌다 들어가면 스크롤하면서 시간을 소비하는 목적(이라고 쓰고 인생을 낭비하고 있는 이라고 읽는다.) 으로만 쓰고 있었으니 지우도록 한다.

bitnami에서 lightsail 블루프린트 인스턴스로 이전 성공

AWS lightsail bitnami 인스턴스에서 lightsail 인스턴스로 옮겼다. 이제 더 이상 새로운 버젼의 bitnami 인스턴스는 안나온다고 하니 언제 옮겨도 옮겨야할 것이다. 이번에도 그저께처럼 렛츠인크립트의 인증서 발급에서 애를 먹었다. 여태 비트나미 인스턴스 신규 서버 생성할 때 인증서 발급에 별 어려움이 없었는데 뭔가 좀 불편하고 손이 많이 갔다. 서버 셋팅이 끝난 후 워드프레스 백업을 구글 드라이브에서 옮겨왔다. 저번에 디비 정리도 한번 했고, 이번에는 별 문제없겠지 싶었는데 아뿔사. 이번에도 3개의 백업 파일 전송 실패다. 저번과 같은 9번, 16번, 17번 백업파일이다. 왜 얘네만 계속 실패지? 구글 드라이브에 가보니 용량도 다른 백업들과 별 차이가 없다. 로컬로 다운받아서 올려야겠다.

어라. 압축파일 내 바이러스에 걸린 파일이 있었나보다. 이게 전송 실패 이유인가. 세 압축파일 모두 바이러스 경고가 떴다. 다운받아서 압축을 풀었다. 블로그에서 글 쓸때 첨부한 파일 폴더니까 대부분 이미지 파일인데 일부 의심가는 파일들이 있다. php, c, ini, py 파일이다. 내가 올린 파일들이 아니었다. 에디터로 열어보니 악성코드 냄새가 술술 난다. AI에 업로드해서 물어봤다. 2010년 무렵에 유행했던 익스플로잇, 권한탈취 백도어들이라 한다. 최근에는 다 막혔으니 걱정 말라고 한다. 그 당시면 웹호스팅에서 쓰고 있었을때니 호스팅 업체들이 잘 대처했겠지;; 서버 이사할 때마다 계속 따라다녔나보다. 의심가는 경로로는 플러그인이 1순위다. 처음 배포할 때는 정상적인 플러그인처럼 등록했다가 나중에 버젼업 때 백도어를 심었을 수 있고, 폼메일 등에서 첨부파일 기능을 제공했는데 제대로 파일 확장자 필터링을 못했을 수도 있겠다.

알았으면 정리해야지. 이미지 파일 외에는 모두 삭제했다. uploads안에 또 uploads폴더가 있던 것도 이번에 발견했다. 혹시 모르니 하위 폴더에 있는 파일들을 상위 폴더로 모두 덮어쓰기 해서 옮겼다. 예전에 썼던 플러그인들이 설치한 폴더도 모두 삭제했다. 워드프레스 기본 설정이 이거던가, 연/월로 생성되던 첨부파일 폴더 내 파일도 모두 uploads로 끄집어 냈다. 나중에 게시물 보다 이미지 깨진 글 보이면 그때나 정리하던지 해야겠다.

파일 이사 실패로 겸사겸사 악성코드와 중복 첨부파일 정리했으니, 전화위복인 셈이다.

길가에 세워진 식당거리 안내판

어제 아내와 동네 식당들이 모여있는 거리 일명 먹자골목이라고 하는 곳에서 저녁을 먹으러 가는 길에 발견한 표지판. 맨 위에는 "ㅇㅇㅇ 맛집거리" 라고 되어 있고 대충 가로 1.5미터 세로 1미터쯤 되는 철제판에 이 동네 약도와 식당을 비롯한 카페들의 위치와 이름이 표시되어 있었다. 상인회 같은게 있어서 갹출하여 만든건지 아니면 지자체에서 만든건지는 모르겠으나 이 무슨 쓸데없는 짓인지 모르겠다. 근처에 다니다보면 새로운 식당이 문 열었나 싶으면 닫았고, 바뀌어있기 십상이다. 대충 지도서비스의 거리뷰와 비교해보니 2024년 말의 상황을 반영한 데이터로 보인다. 안내판에 있는 가게 중 대충 30%이상은 이미 없어졌고 다른 가게가 들어와있거나 공실이다. 누가 보고 어떤 도움을 받으라고 이렇게 돈을 써서 만들었나 싶다. 오! 여기 삼겹살집이 있네? 하고 가보면 당구장인 것이다. 헛걸음하고 시간 낭비했다. 전문용어로 똥개훈련이라고 한다.

안내판 크기가 물리적으로 제한되어 있으니 지도에 동그란 표시와 가게 이름만 써 있다. 그러나 상호에 따라 무엇을 팔고 있는 곳인지 알 수가 없는 경우도 허다하다. 까치집, 층층이, 찬가, 입안 행복가득... 같은 경우다. 안내판을 만드는건 쉽다. 처음 설치할 예산만 있으면 가능하니까. 그런데 이런걸 세웁시다! 하는 계획을 잡을 때 변동되는 가게들은 어떻게 반영할 것인지를 생각했으면 이렇게 방치되진 않았을터. 흔한 말로 '예산(또는 세금)이 살살 녹는다'는 표현이 이럴 때 하는 말일게다.

인도에서 보행자 공간 차지하고, 하루하루가 지날수록 현실과 아무 상관없는 아무말 대잔치가 되어가며 점점 녹슬어가는 안내판... 이렇게 만들거면 그만 세워야하지 않을까 싶네.

2026/06/13

키오스크 사용중지&개시 원격 자동화

업장에 키오스크가 한대 있다. 24시간 사용하는 것은 아니고 시간에 따른 운영 조건이 있다. 정오 근처에 수동으로 운영중단, 14시에 자동으로 운영재개, 저녁에 일시 중지, 잠시 후 수동으로 운영재개. 뭐 좀 독특한 운영시간이긴하다. 운영을 중단하기 위해서는 키오스크 프로그램 제작사가 미리 지정해둔 임의의 위치 2군데를 터치한다. 관리자 비밀번호 입력창이 뜨고 비밀번호를 입력하면 프로그램이 종료된다. 시간대에 따라 운영중단을 알리는 안내문 이미지를 전체화면으로 띄워야 한다. 이걸 수동으로 하자니 번거로운 면이 있어서 자동화를 꿈(...)꾸었다.

처음에는 키가 3개만 있는 작은 키보드를 유선 연결했다. 물론 블루투스가 편하긴 하지만 이런 기기들은 배터리 절약을 위해 입력하지 않고 있으면 잠자기 모드로 들어가는 특징이 있다. 키 하나 누르자고 미리 키 하나를 먼저 눌러서 깨워야 하는 것이다. (1보 전진을 위한 1보 후퇴도 아니고..) 게다가 키를 누르는 시간 간격에 따라 언제는 키가 한번에 먹고 어떨때는 잠자기에 들어가버려 키가 안먹어서 두번 눌러야하는 불확실성을 기본으로 깔고 가야하는 불편함이 있었다. 연타면 연타고 1타면 1타지 '한번 눌러서 될수도 있고 안될수도 있는데 만약 안되면 한번 더 눌러요'는 우린 또 용납 못하잖나. 3키 키보드를 키오스크 내 PC와 유선으로 연결하고 키오스크 뒷편에 부착해두었다. 1번키는 1차 운영중단, 2번키는 2차 운영중단, 3번키는 원복으로 지정하고 각 키를 ctrl + 펑션키 뒷번호로 할당했다. 오동작을 방지하기 위해 각 키는 모두 더블클릭을 해야만 동작하도록 했다.

키오스크쪽에서의 동작은 오토핫키를 이용했다. 잘 동작했다. 미리 키오스크 옆면에 작게 표시해둔 표시 쪽으로 스윽 손을 넣어 뒤를 짚으면 검지,중지,약지 자리에 3키가 딱 맞는다. 목적에 맞게 연타하면 키오스크 화면이 바뀐다. 한달 쯤 잘 쓰다가 어제 문제가 생겼다. 키캡이 하나 떨어져버린 것이다. 이게 키오스크 모양상 기기의 뒷편에 3키 키보드를 세로로 부착해서 쓰고 있었는데 옆으로 매달려 있다보니 눌렀다 뗐다를 반복하며 중력에 의해 떨어져버린 것. 보통 키보드와 다르게 기기 본체와 연결도 가느다란 핀 두개만 꽂혀 있었다. 고쳐본답시고 순간접착제 한방울씩 떨어뜨렸는데 으아~ 차라리 노란 돼지본드를 이쑤시개로 찍어 발라야했을라나. 묽은 순간 접착제가 안으로 흘러들어 키들이 모두 한번 들어가면 끄집어 내야 올라왔다. 망했다.

키보드를 새로 산다 한들 같은 문제가 생길 수 있으니, 다른 방법을 찾아보았다. 유선연결은 일단 실패, 블루투스는 제외, 같은 네트워크라면 시너지 같은 앱을 쓰면 되겠으나 그렇지 않으니 패스. KVM over IP도 방법이긴 했으나 목적과 용도에 비해 너무 과한 솔루션이다. 이럴 때 유용한게 텔레그램 봇이다. 봇 하나로는 메세지를 보내고 다른 하나로는 메세지를 받고, 키오스크에서는 파이썬으로 텔레그램을 보고 있다가 들어오는 메세지에 따라 핫키와 연동하면 될거 같았는데.. 다 해놓고 보니 텔레그램 규정상 봇 에서 봇으로는 메세지 전송을 못한다고 하였다. 얘야 얘야 제미나이야, 그걸 왜 맨 나중에 최종 테스트에서 실패가 나오니까 그때서야 죄송하다며 알려주는거니? 봇2개와 같이 있는 그룹방에서 내가 입력해도 못알아먹으니 앞선 이유도 사실인지 확실치 않고.

텔레그램 말고 ntfy.sh 를 이용하는 전송방식으로 변경하였다. 무료버젼은 '제한이 있다'는 이야기만 있고 몇개까지 가능한지는 나와있지 않았다. 유료는 월 5달러에 하루 2500건 전송이 가능하단다. 내 환경에서는 많으면 하루 5회, 보통 3회 전송이 필요하므로 이 정도면 무료 한계까지는 넉넉하지 않을까 싶다. 셀프 호스팅이 가능하다고 하니 나중에 여차하면 라즈베리파이나 라이트세일에 구겨넣어보도록 하고.

html 문서로 버튼 3개 만들어서 원격에서 눌러보니 잘 전송되고 키오스크에서도 제대로 동작된다. 담당자들 PC에 설치해주고 나는 아이폰과 맥에서도 사용할 수 있도록 단축어로 만들어 두었다.

2026/06/12

인스턴스 이전 실패 & DB 정리

AWS 라이트세일에 있던 기존 인스턴스에서 새 인스턴스로 이전 실패했다. 예전에는 비트나미 인스턴스였다가 얼마전부터 업데이트가 중지되고 라이트세일 인스턴스라는 것만 생성이 가능해졌는데 이 라이트세일 인스턴스로 워드프레스를 옮기는 것이 실패한 것.

새 인스턴스를 만드는 것은 기존 비트나미 인스턴스 만들던 것과 동일해보였다. 서버를 생성하고 렛츠인크립트 인증서 설치할 때 라이트세일 페이지에 있는 인스턴스 웹UI에서 시도하면 계속 오류만 내고 인증서 발급이 되지 않았다.


인스턴스 20260612(ap-northeast-2 리전 내 위치)에 Let's Encrypt SSL/TLS 인증서를 구성하는 동안 오류가 발생했습니다. 나중에 다시 시도하세요. 1 DNS records do not match instance IPs. Did not find IPv6 match for 1 domain(s). Verify the values for your DNS records are correct. After you change DNS record values, you must wait for the DNS cache to expire before you can try again. I


IPv6 사용하지 않는다고 했는데 저렇게 나오니 딱히 해결책이 없는 상태. 뭔가 캐쉬가 갱신되기를 기다려야 하나... 싶기도 했으나 저렇게 방치해두는 것도 상당히 신경이 쓰이는 일이다. 예전에 하던대로 웹 콘솔을 열어 CLI 방식으로 설치시도했는데 전과 다르게 아파치 설정 파일도 바꿔야하고 뭔가 복잡해졌다. 꾸역꾸역 AI 도움을 받아 SSL연결까지 해놓았다.

백업받은 것을 복구만 하면 되는데, 철썩같이 믿고 있었던 updraft plus 백업본이 제대로 복원되지 않았다. 원격으로 구글드라이브에 저장해둔 백업 파일 40여개 중 세개를 복구하지 못하였다. 할수없이 구글 드라이브에서 백업본을 로컬로 받아 다시 업로드해서 복원 시도 했는데 이번에는 DB복원 중 일부 테이블에서 무한 로딩이 걸리더니만 DB서버가 다운되어 버렸다. AWS 라이트세일에서 워드프레스를 써온지 6~7년 되었는데 디비 서버가 죽은건 또 처음이다.

30분이면 너끈하겠거니 싶어서 시작했던 일인데 이렇게 꼬이고나니 흔한 말로 밥맛이 떨어져서 더 진행하기 어려웠다. 기존 인스턴스로 도메인을 다시 연결하고 새 인스턴스는 삭제했다.

WP옵티마이저로 DB테이블을 보니 예전에 사용했던 플러그인들이 생성해둔 데이터가 산더미다. 20만개 가까운 레코드가 있었고 더 이상 사용하지 않는 항목들을 정리했다. 90% 가까이 쓸데없는 데이타들을 청소 후 레코드는 2만여개만 남았고 용량은 절반 정도로 줄였다.

문득, 여태까지 포스트들은 다 정적인 문서로 발행해버리고 db며 워드프레스며 다 치워버릴까....하는 생각이 스쳐지나갔다.

2026/06/09

왜곡된 기억 하나

오래된 기억이 하나 있다. 중학교 때 영화 단체관람을 간 적이 있었다. 영화는 로맨싱 더 스톤. 원체 오래전 일이라 영화 내용 기억은 하나도 안나는데, 당시 일어났던 사건은 몇십년째 기억에 남아있다. 남주가 여주를 양팔로 들쳐 안고 계단을 올라가는 장면이 있고 곧이어 로맨틱한 장면이 일어날 것 같은 분위기였다. 뭐 중학생 관람이 가능하니 보러 갔을테고 대단한 장면이 나올까 싶었지만 당시 시대 환경에서 충분히 숨죽이고 침을 꼴깍 삼킬만했다. 갑자기 관객석에서 한 녀석이 "야! 뭐뭐 해버려!!" 라고 음담패설같은 고함을 질렀고 인솔 교사 한명이 벌떡 일어나며 누구얏!! 하고 소리를 질렀다. 교사는 영화 상영을 중단시켰고 그 녀석을 찾아내 무대 앞에서 귓방맹이를 몇대 후려쳤던걸로 기억한다. 그렇게 영화 관람은 중단되어 버렸고 그 뒷장면이 어떻게 되었는지(...)는 수십년째 미궁이었다. ㅎㅎ

언제 한번 영화를 마저 봐야지...생각만 하고 있다가 지난주에 문득 OTT에 올라와있는 것을 발견. 2~3일에 걸쳐 짬짬이 40여년만에 정주행. 언차티드가 생각나는 영화 속 배경이며 액션 장면이 인상적인 재미있는 영화. 그나저나 내가 기억하고 있던 그 계단을 올라가던 씬은 비슷한 장면도 나오지 않았다. 대체 나는 어디서 그 영화 장면과 그 날의 사건을 연관시켜서 그 장면을 몇십년째 미완의 숙제처럼 기억하고 있던 것일까? 아마 세월이 흘러가며 기억이 가물가물지고 몇년이든 몇십년이든 지난 후, 어디선가 비슷한 분위기의 영화에서 (잠재의식이?) 차용해 와 순식간에 대체시킨 후 계속 상기하면서 점점 굳게 믿게 된 것이 아닌가 싶다.

2026/06/05

그 선물은 아마 "선물"이 아닐것이다.

며칠전 메신저로 커피 선물이 도착했다는 알림이 왔다. 생일도 아니고 기념일도 아닌데 무슨 일인가...싶었다. 일반적인 모바일 쿠폰과는 다소 다른 면들이 있었는데.

  1. 카카오톡의 선물하기는 보내는 이의 대화창을 통해 선물로 무엇을 보냈는지 사진과 함께 전송된다. 누가 보냈고 무슨 선물인지 명확하게 알 수 있다. 그런데 이 쿠폰은 커피주문앱 서비스가 알림톡을 이용해서 보냈다고 나온다. 주문 가능한 커피 업체 목록 나오고 수만개 제휴점에서 사용할 수 있다고 나왔다. 일반적인 모바일 상품권과는 다른 형식이다.
  2. 메시지 내용에 "보낸 분: 김** (010-****-*577) "이라고 보낸 사람 이름과 전화번호 일부가 보인다. 글쎄, 왜 보낸 사람 이름 일부를 *표시로 마스킹 했는지 모르겠다. 꼬꼬마시절 마니또 상대방 말고 살아가면서 익명으로 누군가에게 선물할 이유가 있는가? 받아본 적이 있는가? 일부 마스킹 되어 있는 전화번호의 일부 숫자로 검색해봤는데 연락처에서 나오지 않는 번호다. 아울러 며칠이 지나도록 "커피 받았냐??ㅋㅋ" 라는 지인의 메시지가 오지도 않았다.
  3. 받기 버튼을 누르면 카카오톡으로부터 프로필 정보(닉네임/프로필 사진), 카카오계정(이메일), 성별, CI(연계정보), 카카오계정(전화번호), 출생 연도, 생일, 이름이 업체로 전달된단다. 아울러 업체는 이용약관,개인정보제공동의,마케팅정보수신동의,개인정보3자제공 동의를 필수로 요구하고 있었다.

이거 정말 지인의 "선물"이면 홍길동님이 보내셨어요. 하고 바코드 이미지만 보내면 되는거 아닌가? 지난 수십년간 모바일 쿠폰은 바코드로 받았고 그걸 매장 카운터에 보여 주면 바코드리더기로 띡! 찍은 다음에 선물로 바꿔왔는데...이건 그게 아닌가보다. 선물 수령 대신 알림톡 차단을 선택했다. 누군지 모르는 지인아!! 날짜 지나면 미사용 쿠폰이 되고 도로 환불될거야! 그때 알림이 갈테니, 연락줘! ^^;

2026/06/04

게시판 상단에 고정된 공지글이 101개인 카페도 있구나.

2026/05/29

오랜만에 워드프레스 테마 변경

10년이상 사용해오던 워드프레스 테마에서 twenty twenty-five 테마로 변경했다. 요즘 테마들은 Full Site Editing (FSE)라고 화면 구성요소를 블럭단위로 테마를 쉽게 수정할 수 있도록 바뀌었다. 아직 좀 어색하긴 한데, 대충 딸깍거려보니 그럴싸해보인다. 블로그에 쓰는거라고는 대부분이 텍스트이고 단문 메모 정도 남기는 것이니 디자인이 뭐 중요하겠는가. 오래 써서 익숙한 것이 편한 면은 있겠지만 새로 바꿔보니 어라? 기분이 좋아졌다. ;;;

사전투표 완료.

2026/05/28

QR로 인증하는 전기차충전기를 간편하게.

전기차 충전기에 스티커 형식으로 붙어있거나, 화면에 떠 있는 QR코드를 읽어 충전을 시작하는 전기차 충전기(업체)들이 있다. QR을 인식하기 위해서는 핸드폰의 잠금을 해제하고 충전 앱을 실행한 후 카메라 아이콘을 눌러 QR을 조준(...)해야 한다. 야외에 설치된 기기라면 비맞고 눈맞고, 맑은 날엔 햇빛도 피해야하고 반사광이 코드를 가리지 않도록 주의를 해야 하는데. 많은 업체들은 회원에게 인증과 결제 편의를 위해 NFC칩이 들어가 있는 카드를 발급해주는 반면, 일부 충전업체들은 카드발급 없이 오직 앱으로만 충전을 하도록 강제한다. 카드로 (비)접촉으로 인증하면 1초만에 충전준비가 완료되는데 QR은 수십배 시간이 든다. 업체의 비용절감 댓가로 고객들이 시간과 노력을 들인다. 그러나 어쩔 수 없다. 집이나 회사에 설치된 충전기는 일단 설치되고 나면 가격이 올라도, 허구헌날 고장이 나도, 충전 과정이 불편해도 쓰는 수 밖에 없다.

이 QR들을 QR코드 읽기를 지원하는 핸드폰의 카메라나 QR코드 읽는 앱으로 읽어보면 URL이 기록되어 있다. URL로 연결된 서버에서는 앱을 호출하는 스킴과 파라미터로 전환하여 앱에서 나머지 작업을 할 수 있도록 해준다.

URL을 불러오는것이라면 우리는 꼭 QR이 아니어도 다양한 선택지들이 있다. 브라우저의 북마크를 이용하는 것이 가장 기본일게다. 조금 더 편의성을 추가해보자. 아이폰의 단축어를 이용해서 예를 들어 "회사충전기" 단축어를 실행하면 충전기의 목록이 나오도록 할 수 있다. 1번자리,2번자리... 또는 화단옆,중간,가로등 옆 등등... 내가 주차해둔 충전기 앞에서 단축어를 실행하고, 충전기 이름을 고르면 미리 파악해둔 URL을 호출하는 것이다. 또한, 아이폰을 열어 단축어를 실행하거나 "시리야 회사충전기"라고 말할 수도 있다. 더 빠르고 정확한 동작을 위해서 트리거로 NFC칩을 이용할 수도 있다. 알리에서 예전에 구입해둔 NFC 스티커에 아이폰을 가까이 대면 자동으로 충전기를 고르는 팝업 메뉴가 뜨도록 했다. NFC스티커는 대략 100장에 2만원 안팎에 구매할 수 있다. 여기저기 필요한 트리거로 사용하기 부담없는 가격이다. NFC스티커는 차 안에 두는 운전용 안경 케이스에 붙여두었다.

이제 차량을 빈 충전기 자리에 주차하고 핸드폰을 NFC스티커가 붙은 안경 케이스에 가까이 대면 충전기를 선택하는 메뉴 뜬다. 차 안에서 충전량/금액을 설정, 결제까지 한 후 차에서 내려서는 충전기를 차량에 연결만 하면 된다. 장마와 태풍, 폭설 속에서 우산 붙잡고 충전기 화면에 묻은 빗물 닦아내며 QR 찍지 않아도 된다.

2026/05/26

워드프레스 7.0 축하

2005년 3월에 처음 설치했던 워드프레스가 21년의 여정을 거쳐 7.0까지 왔다. 그간 블로그판(?)은 말로 표현할 수 없을만큼 변했다. 블로그 서비스 업체들도 거의 다 사라졌고 이제 네이버블로그와 구글블로그,티스토리 정도만 남았다. 블로거들이야 말해 무엇하랴. 블로그 서비스들이 소멸하면서 그 도메인수만,수십만개의 블로그들도 나뭇가지에 매달린 새들의 둥지가 벌목당한 나무와 운명을 같이 하듯 소멸해버렸다. 블로그 초기부터 전성기에 블로그 담론과 논의를 이끌었던 이들도 플랫폼을 갈아타고 도메인을 바꾸고 네트에서의 활동을 하고 있다. 아직까지 워드프레스에 적당한 길이의 글이든 짧은 글이든 깨작거리는게 편하니까 이렇게 유지하고 있지, 앞으로 어떤 계기든 환경의 변화든 불편해지기 시작하면 나 또한 @hof 블로그를 그만두는 날이 오지 않을까 싶다. 그나저나 뜬금없이 워드프레스 7.0 축하한다는 제목을 써 놓고 블로거 신세타령 이라니...

2026/05/25

여행지에서 사진 촬영을 부탁하는 부녀를 찍어준 후 핸드폰을 돌려주었다. 인사하고 돌아선 후 뒤에서 들린 말 "대박 대박"

2026/05/21

애플뮤직에서 사용자가 지정한 특정 가수들은 추천,랜덤 재생에서 제외하는 옵션 좀 있었으면. 사람마다 그 가수라면 노래 듣기도 싫고 재생 댓가로 단 1원도 주기 싫은 가수들이 있잖은가.

2026/05/19

QR코드 가운데 고양이 그리기 ㅋㅋ (via @yousukezan)

AI한테 말할 때 사람한테 말하는 것과 다르게 기계적인 명령을 하는 분이 있고, 반대로 너무 맹신하지 않기 위해 부드러운 사람 대상 말투처럼 쓰시는 분도 있고, 다정하게 말하지 않으면 나중에 AI한테 잡혀간다는 분도 있으시고 ㅎㅎ

모수(母數)을 모집단 전체크기,대상 전체로 잘못 쓰는 일이 없도록 주의. 모수=파라미터

2026/05/18

내가 이꼴보면서 여기서 커피 사먹을 순 없지. 2013년 1월 가입. 오늘 추호의 망설임 없이 즉시 탈퇴.

2026/05/16

요즘 보면, 원래 글로 써 있는 내용을 AI로 카드뉴스같은 이미지로 바꿔서, 이걸 또 슬라이드 쇼나 AI영상으로 만들어서 배포. 소비자들은 영상을 다 보기는 번거롭고 (집중력 떨어지니) 다시 AI한테 텍스트로 요약 시켜서 보는... 이게 뭐니 이게.

2026/05/15

탈퇴 했는데 '탈퇴요청 가능한 상태입니다'?

가입해두고 가지 않는 카페에 대해 (내가 정한...) 일제 정리 기간이다. 네이버 카페에서 카페 탈퇴하기 버튼을 누르면 확인 창이 나온다. 이 때 "확인" 버튼을 누르면 즉시 탈퇴가 된다. 바로 비회원이 방문한 카페 상태가 되는 것. 그런데 이상한건 그 바로 다음에 뜨는 창이다. 조그만 창에 "탈퇴 요청 가능한 상태입니다." 란다. ????? 이미 탈퇴했는데 뭘 요청 가능한 상태라는건지 의아하다. 탈퇴요청이 가능하려면 탈퇴 전 (= 회원상태)일때 가능한거지 방금 탈퇴한 회원한테 저 창을 띄워주는 이유를 모르겠다. 잘 탈퇴되었다는 메세지가 나와야 자연스러울 것 같은데 말이다.

2026/05/14

방마다 애플워치 충전기를 하나씩 두고 아내와 내가 적당히 나눠 썼는데 가끔 충돌이 생긴다. (...) 귀가 후 시계를 푸는 장소에서 바로 거치하면서 충전이 되게 하는게 나을 것 같아 듀얼 충전기로 교체하는 중이다. 사용자가 고민하고 신경쓸 일이 없도록 하는 것이 바로 좋은 UI의 기본 아니겠는가. *먼산*

테슬라 2026.14.3 버젼에서도 속도제한 표지판(예: 빨간 원 안에 40 숫자)과 통과무게제한(예:빨간 원 안에 40과 작은 t) 표시판 혼동은 여전하네.

2026/05/10

차량 매트는 신차구입 후 애프터마켓용 매트로 교체하시면서 순정 매트 내놓는 분들 거 저렴하게 가져다가 1~2년마다 교체하는게 제일인듯 싶다. 정품 17만원짜리를 2~3만원에 처분해주시니 그저 감사할 뿐. ^^;

2026/05/06

1박2일로 부산여행을 다녀왔다. 영도 제일돌솥영양밥, 삼진어묵 본사와 부산역 매장, 아르떼뮤지엄, 피아크 카페, 부산영화체험박물관, 용두산 공원, 18번완당집, 부산역 인근 북항 친수공원 다음날은 해운대, 청사포까지 데크산책로, 춘하추동밀면 크. 가고 보고 먹었던 모든 곳들이 다 만족스러웠던 여행!

2026/05/02

댓글 닫고 씩씩하게 블로그 운영하셔서 나도 댓글 닫을까를 고민하게 했던 블로그 주인장은 오늘 가보니 "On Hiatus"(활동 중단) 이라고 써놓고 전체 게시물을 닫아버리셨네. 크

미술전 오디오가이드 앱의 아쉬운 점

남미 출신 유명 작가의 미술전시회에 아내와 다녀왔다. 앱으로 결제해서 듣는 작품 설명을 이용해보니 아쉬운 점들이 있다.

  • 부자연스러운 음성: TTS를 이용해서 만든 남성 목소리는 쉼표, 띄어쓰기 등이 제대로 구현되지 않는 지점들이 있었다. 마치 "아버지가 방에 들어가신다"를 "아버지 가방에 들어가신다"처럼 말하곤 한다. 요즘 자연스러운 음성 합성 앱들도 많을텐데 좀 더 신경을 썼으면 싶다.
  • 설명의 시작과 끝이 불문명: 한 작품에 대한 설명이 끝나면 작은 차임벨 소리를 넣어 소개가 끝났음을 알렸으면 좋겠다. 설명이 이어지다가 조용하면... 그게 설명이 끝난 것이다. 그리고 곧바로 다음 작품 설명으로 넘어간다. 모든 작품에 오디오 설명이 있는 것이 아니므로 이 작품 다음에는 오디오 설명이 없는 작품으로 이동할 수 있다. 아니면 번호순서와 다른 작품을 먼저 볼 수도 있다. 전시장에서는 이 설명 다음에 다음 설명이 있는 작품이 어느 쪽에 걸려있는지 확인할 수가 없다. 그러다보니 내가 보고 있는 작품과 다른 다음 작품 설명이 연달아 재생되고, 사용자는 황급히 일시정지 버튼을 눌러 재생을 멈춰야 했다.
  • 작품에는 있는 번호가 앱에는 없고: 작품 옆에는 오디오 설명이 있다는 헤드폰 아이콘과 일련 번호가 부착되어 있다. 꽤 눈에 띄는 표식이다 그런데 앱의 오디오 설명 목록에는 작품 제목만 있고 번호가 빠져있다. 작품 옆에 붙은 번호가 작품명보다 더 눈에 잘보이게 붙여두었기 때문에 트랙에도 번호를 같이 표시해두면 작품에 맞는 오디오 트랙을 찾기가 편하지 않을까? 심지어 31번인가 작품은 30번과 서로 오디오 설명의 순서가 뒤바뀌어 있었다. (31번 작품 설명이 먼저, 30번 작품 설명이 그 다음 트랙)

트랙을 멈추고, 다시 재생시키고, 작품에 맞는 트랙을 골라 재생버튼을 누르고 하는 과정들이 번잡스럽고 혼란스러웠다. 핸드폰을 작품 옆에 붙은 NFC칩에 접근해서 해당 트랙을 재생하게 한다거나, 비콘 등의 방법을 활용함으로써 더 편안하게 작품과 설명을 감상하게 할 수 있는 방법은 없을지 고민해줬으면 좋겠다.

2026/04/30

"아이스 바닐라 라떼 디카페인"을 드라이브 쓰루로 주문해 왔는데, 나중에 보니 바닐라 시럽이 빠져 있었다. 금액은 원래 주문대로 결제됐고. 판매점에 전화로 문의하니까 다음에 오셔서 이 전화번호 대고 오늘의 사연(...)을 알려주시면 주문하신 제품 무상으로 제공하겠다고 한다. 보통 이런 식 (=장부기록해두고 후일을 도모)의 대응인 경우 까먹고 흐지부지 되는 경우가 많은데...

2026/04/29

화살표 특수문자 종류가 많네. -코딩팩토리님-

영화 스포일러 (결말) 모음 사이트. 그래! 이 영화 이렇게 끝났었지! (via 99개의열린탭)

2026/04/28

자동차 보험 갱신할 때 왜 올랐는지, 내렸는지 확인 자동차보험료 할인할증 요인 조회시스템 -보험개발원-

2026/04/27

소셜미디어(X, 인스타그램, 틱톡, 유튜브)를 오래 사용하면 고양이가 나타나 화면을 가리는 크롬 익스텐션 (via)

2026/04/25

”가난한 이들에게 먹을 것을 주면 사람들은 나를 성인이라 부르지만, 왜 그들이 가난하고 굶주리는지 묻기 시작하면 그들은 나를 공산주의자라 부른다.“ - 돔 헬더 카마라 대주교 (via)

온라인 특히 SNS에서 파는 옷,양말,속옷들. 갯수를 1+1+1+1+1+1 처럼 표시하는 거 좀 안했으면...

블로그의 댓글 창 폐쇄

블로그 개설 이후 지난 20여년간 열어두었던 댓글란을 닫기로 하였다. 많은 것들이 변해간 시간이었다.

  • 문득, 댓글이 안달릴 걸 알면서도 슬쩍 기대해보며 글을 쓰고 있었다. 스스로 검열을 하게되니 정말 하고 싶었던 이야기를 하기가 망설여졌다. 일어나지도 않을 일 때문에 글쓰기가 불편하게 느껴졌다.
  • 거의 달리지 않는 댓글 때문에 스팸방지 플러그인 몇개를 걸어두고, 한달에 5천개씩 스팸 댓글을 막아내고 있다. 예전 같았으면 소통이 어쩌고하면서 버텼겠지만 이젠 좀 내려놓을 때도 되지 않았나 싶다.
  • 새 댓글 작성만 중단한 것이다. 기존에 작성되어 있던 댓글은 그대로다.
  • 지난 세월 방문자들이 댓글란에 입력한 모든 이메일 주소는 삭제하였다. (이 글 하단에 쿼리와 실행 결과를 적어두었다.) 개인적으로 연락을 주고받았으면 메일함이든 연락처에든 따로 남아 있을 것이다.
  • 댓글창은 막았지만 연락이 필요하신 분들이 있을 수 있으므로 폼메일을 마련해 두었다



UPDATE wp_comments SET comment_author_email = ''
Query executed OK,
5,589 rows affected. (0.182 s)

2026/04/23

블로그에서 댓글란을 제거하신 분의 이야기. 진지하게 고려중.

2026/04/19

이번 주말 강원도 여행 전비. 총 주행거리 510km, 총 사용에너지 71.73 kWh, 주행 전비 7.4km/kWh, 충전비용 25,050원 (카드 할인 전)

2026/04/17

맥용 Gemini App 출시 https://gemini.google/mac/

테슬라 소프트웨어 2026.8.6이 배포되고 있는데, 설치 후 감시모드(센트리모드)를 안 쓰는 사람도 계속 켜진다는 후기가 많다. 센터에서 새로 업데이트 내려주어 해결됐다는 사람도 있고.

rhwp - HWP 문서 뷰어 & 에디터 크롬확장. 오호!

어제 교육갔을 때 틀어준 프리젠테이션이 NotebookLM을 사용해서 만들었던데, 입력 데이타와 프롬프트가 후져서인지 맥락도 없는 이미지 삽입에, 근거 없는 결론에, 중언부언 과장된 수식어 (명쾌하게, 즉각...) 남발에 정신이 혼미했다.

2026/04/14

워드프레스 플러그인에 백도어를 심어놨다는 얘기가 있어서 wp-config.php파일의 날짜와 크기를 봤더니 다행이 괜찮았다. (via GeekNews)

완강기로 2층에서 탈출해보기

아내네 회사가 사세확장(...)으로 현재 회사 옆에 건물을 새로 올리고 있다. 아내가 종종 공사 진척상황 등 관련된 이야기를 해주는데, 새 연구실에 완강기가 설치된다고 한다. 완강기라 함은 화재시 계단 탈출이 불가능할 때 창문 근처에서부터 매달려 내려가는 그거. 라고만 알고 있었다. 사용할 일이 없는게 가장 좋지만, 만약에 여차저차한 일이 생겼을 때 준비된 피난용구 사용법을 몰라서 안좋은 상황을 겪을 수는 없는 일이다. 사용법을 배워봤으면 좋겠는데 이걸 평상시에 해볼 만한 장소가 마땅치 않았다. 글로 보고 동영상으로 배워보면 충분할까? 싶었지만 재난 시 급격하게 찾아오는 공황 상황에서 제대로 따라할 수는 없을 거 같았다. 어렸을 때 할머니가 해주신 이야기다. 마을 어느 집에 불이 났는데 그 집 아낙네가 불이 번지는 집안에 뛰어들어가서 간난아이라고 끌어안고 나온게 다듬이 돌이었다고 한다. 아드레날린이 대폭발하는 경황없는 상황에서 올바른 판단력을 유지하기란 그렇게 어려운 일일 것이다. 연기와 화염이 번져오는 와중에, 언젠가 봤던 영상 속 완강기 사용법을 기억의 저편에서 꺼내온다는 것은 사실상 불가능한 일일듯 싶었다. '한번 직접 타봤으면 좋겠는데...' 어디서 실습을 해 볼 수 있을까...하다 찾은 경기도국민안전체험관. 일찌감치 예약을 해 놓고 며칠전 다녀왔다.

완강기는 몸을 끼워 잡아주는 가슴벨트가 한쪽만 있는 간이 완강기가 있고, 밧줄의 양쪽에 벨트가 각각 있어서 한명이 내려가면 반대쪽 벨트가 위로 올라가서 연속으로 탈출이 가능한 일반 완강기가 있다. 간이는 한번 사용해서 내려가면 끝이다. 화재시 한명이 타고 내려갔으면 다음 사람은 다른 완강기를 찾아야 한다. 글쎄, 화재현장에서 다른 완강기를 찾아낼 수 있는 시간적인, 또 정신적인 여유가 있을지 잘 모르겠다.

실습과정은 이러하다. 체험관 2층 실내에 설치된 철제 구조물에 완강기를 고정하고 본체를 밖으로 던지는 것 까지는 강사님의 시범을 보고 배운다. 내려가는 것부터 실제 체험이다. 교관의 지시와 도움을 받아 가슴고리를 몸에 끼우고 난간에서 뒤로 돌아 선다. 등 뒤는 2층 허공이다. 난간 끝에 설치된 철제 봉을 잡는다. 몸의 자세를 낮추어 쪼그려 앉는다. 손은 봉의 아래쪽으로 옮겨 잡는다. 난간 밖에 사다리처럼 2칸 발 디딜 칸이 더 마련되어 있었으나 실제 화재 현장에는 맨 벽일 수 있으니 바로 창틀에서 내려간다 생각해야겠다.

자세를 최대한 낮추는 이유는 추정컨데 만약 선 채로 뛰어내리면 창틀이나 난간 턱에 얼굴을 부딪힐 위험이 있어 보였다. 준비가 되면, 한발을 먼저 허공으로 내어 놓고 나머지 발도 차례대로 내놓으면 그때부터 감속기의 저항에 의해 서서히 자동 하강이 시작된다. 이때 양팔은 가볍게 내리고 팔꿈치는 위로 들어 양팔을 W모양으로 해야한다. 만약 만세 자세로 윗쪽 밧줄을 잡으면 벨트가 몸에서 빠져나가 추락할 수 있다. 이 자세로 내려가면서 에어컨 실외기 등의 장애물을 만나면 가볍게 손으로 벽을 밀어준다.

나는 겨드랑이에 끼운 가슴벨트를 바짝 위로 당겨 착용하지 않아서인지 윗쪽 옆구리가 아팠다. 물론 무게가 무거워서였을 수도 있겠다. (...) 아내는 정석으로 잘 착용하고 내려가서 하나도 안 아팠다고 한다. 원래는 지상에 도착한 이가 가슴벨트에서 빠져나와 로프를 더 당겨주어 다음 사람이 탈출할 수 있도록 반대편 가슴벨트가 끝까지 올라가게 해 주어야 한다. 실습장에서는 다른 조교 선생님이 대신 당겨주셨다.

완강기 사용법 외에 소화기도 실제로 안전핀을 뽑고 손잡이를 움켜쥐어 약제(체험관에서는 물이 발사됨)를 뿜어내보는 실습, 지진으로 흔들리는 세트장에서 방석으로 머리를 감싼 채 가구 아래로 몸을 숨기는 실습, 공중전화 부스처럼 생긴 공간에 여러 사람이 들어가서 몸이 사람 사이에 끼었을 때 느끼는 신체적, 정신적 영향도 체험해 보았다. 강사님 설명 중, 화재현장을 보면 완강기도 있는데 그냥 뛰어내려 추락한 분들도 있고, 소화기도 발화점까지는 가져왔는데 손잡이를 꽉 잡은 채 안전핀을 당겨 결국 안전핀이 안빠진채 내팽개쳐진 소화기도 여럿 있다고 한다.

세상 모든 일이 다 그렇지만 100% 대비할 수 있는 위험이라는게 있겠나. 그저 이런걸 한번 배워봄으로써 안전할 확률, 위험으로부터 피할 수 있는 가능성을 조금 높일 수 있다면 그걸로 충분히 유익한 시간일 것이다.

2026/04/13

낮12시부터 올해 처음으로 에어컨 가동 개시. 외부 온도 25도.

2026/04/11

4개의 멀티탭으로 얽혀있던 작은방 전원들을 1.5미터짜리 10구 멀티탭 (어댑터 간 간섭으로 7구만 사용)으로 바꾸고 아내 화장대 아래 부착하여 정리.

2026/04/10

검정고양이 팝업 그림책, 이거 너무 귀여운데?

텔레그램 봇 삭제방법 (2026.4 기준)

텔레그램 봇을 삭제하려니 블로그마다 방법이 다르다. 2026년 4월 현재 방법은 이러하다.

  1. 봇을 만들었던 @BotFather 와 대화창을 연다.
  2. /deletebot 을 입력하면 나의 봇들이 버튼처럼 표시된다. 삭제할 봇을 선택한다.
  3. 대화창에 방금 선택한 봇의 이름이 표시된다. 예) @나의_봇_이름_bot
  4. 봇파더가 "OK, you selected @나의_봇_이름_bot. Are you sure? / Send 'Yes, I am totally sure.' to confirm you really want to delete this bot." 라고 말한다.
  5. 삭제할 것이 확실하면 대화창에 Yes, I am totally sure. 라고 친다.
  6. 봇파더가 Done! The bot is gone. 이라고 말한다. 삭제된 봇과의 대화창을 보면 Deleted Account 로 표시된다. 삭제 완료.

디스켓을 본 적이 없으니 저장 버튼이 축구장 모양처럼 보일 수도 있겠다. ㅎㅎ

아침에 아이폰을 시작으로 맥북,아이패드 26..4.1, 애플워치 26.4 업데이트.

단축어로 쓰니 간편하구나. 다만, 클래식 에디터로 입력되는 바람에 구텐베르크 에디터로 변경하는데 시간이 좀 들었다.

2026/04/09

악필대회가 다 있네. 인스타에서 몇몇 악필작품(?)과 사연을 보니 글씨가 예쁘고 아니고를 떠나 그 무게는 같구나 싶다. 겸사겸사 파이롯트 대표가 가수 김진표님인것도 알게됐다.

블로그에 마이크로블로그 추가

블로그에 쓸 정도까지는 아니고, 그렇다고 아무데도 안쓰기도 뭐한 짧은 생각들을 적어둘 공간이 필요했다. X(구.트위터)와 블루스카이 계정이 있지만 그곳에 쓰는 것은 나의 데이터도 아닐 뿐더러, 타인의 시선과 반응을 기대할 수 밖에 없는 플랫폼이다.

외부 플랫폼을 사용하지 않는다면 결국은 직접 서비스를 돌려야하는데, 전용 마이크로 블로그를 새로 설치한다거나 별도의 워드프레스를 하나 더 설치해서 짧은 글만 쓰자니, 일이 너무 커진다. 한두해마다 AWS에 새 인스턴스 파서 최신 환경의 서버 마련한 후 워드프레스 백업받고 복원하는 일은 늘 신경이 쓰이는 일인데 거기에 뭘 또 백업받고 복원한단 말인가. 100% 성공해서 아주 최고로 잘해야 기본인게 '백업과 복원'아니던가. 워드프레스 하나 건사하는 것도 녹록치 않은 일이다.

AI의 도움으로, 기존 테마에 자식 테마를 만들고 특정 카테고리(memo)인 경우에는 제목없이 날짜 아래 내용만 출력하도록 변경하여 마이크로블로그 기능을 넣었다.

  1. 짧은 글은 memo 카테고리에 글을 작성한다. 제목없이 본문만 쓰면 되고, memo 전용 페이지에서 memo 전용 템플릿으로 글이 표시된다.
  2. 블로그 메인 화면에서 최근 글 보일 때와 오른쪽 최근글 위젯에서는 나오지 않게했다.
  3. 글 작성 기본 카테고리를 블라블라에서 memo로 변경.
  4. 댓글은 받지 않으니 댓글란 삭제.
  5. 내가 봤을 때는 수정,삭제를 쉽게 하기 위해 [수정 | 삭제 ]링크 표출
  6. 혹시나 인용할 일이 있을까 싶어 글 앞에 # 으로 퍼머링크를 추가.
  7. 우측 사이드바에 나오던 블로그용 최신글, 최신댓글, 아카이브 등의 내용 삭제하고 본문 영역 넓히기
  8. 맥과 아이폰에서 입력창 하나 띄워서 내용 작성하면 바로 memo글로 포스팅하는 단축어 사용
  9. 블로그 상단에 Memo 로 가는 메뉴 추가
  10. 주소창에 hof.pe.kr/memo 입력하면 hof.pe.kr/category/memo 로 리다이렉션

이걸 "AI 이전 시대"였다면 엄두도 못냈거나 최소한 일주일 이상 공부하고 수정하고 때려쳤다가 다시 징징대면서 작업했을 분량이다. 일명 바이브코딩으로 지금 쓰는 블로그 플랫폼에, 생전 처음으로 자식테마란 것을 추가하고 원하는 기능은 모두 구현하는데 5~6시간 정도 소요된 것 같다.

검색은 내가 알고 있는 것과 내가 모르는 것이 뭔지 모르는 상태가 뒤섞여 있고 시행착오를 거쳐야 하는데 비해 AI를 이용하면 지난 세월, 그간의 질문대답으로 파악한 나의 지식수준(...)을 토대로 일목요연하게, 또 내가 요구할법한 항목까지 미리 한발 앞서 해법을 제시해줌으로써 작업 시간을 압도적으로 줄여주었다. 어쩌면 불가능을 가능으로 만들어주었다해도 과언이 아니다.

예전에 한번 하루치 글(주로 링크)를 모아서 글 하나로 작성해본 적이 있었는데 매번 글 수정으로 들어가서 한줄씩 추가하는게 영 불편해서 때려친 적이 있다. 메모 카테고리에는 글이든 링크든 막 던지면 되니, 저번 보다는 편하게 쓸 수 있길 바란다.

워드프레스 열고 글쓰기 창 열기 번거로워 맥에서 단축어로 입력창 열어 포스팅하기 테스트. 물론 feat. 제미나이

"이제 부족한 자원은 코드를 작성하는 것이 아니라, 어떤 코드가 안전하게 배포될 수 있는지 판단하는 것입니다" -Agent responsibly - via Outsider@X-

"남을 위해 만든다는 것은 한 번 만들고 끝이 아니라, 그것을 언제 어느 상황에서나 일정 수준의 성능과 안정성을 유지할 수 있도록 관리하면서 지속적으로 추가적인 요구사항을 반영해 나가야한다는 것임. 새로운 것을 추가하고 버그를 고치거나 기능을 수정할 때, 그리고 업데이트를 배포하거나 확장할 때 이전에 만들어 놓은 것에 문제가 생기지 않게 하면서 빠르게 처리하는 것이 어려운 것임. 그것을 고려하지 않는다면 소프트웨어를 만드는 일은 너무나 즐겁고 재미난 취미 생활일 뿐."-골빈해커@X-

2026/04/08

마린트래픽 > 호르무즈 해협 근처 선박들 (via 클리앙 봉가님)

구글 AI프로를 구독시작할 때 2테라바이트의 저장공간을 제공받았는데 엊그제, 5테라로 증설되었다는 안내문을 받았다. 지난 20여년간 20기가를 가지고 아끼고 아껴 써온 입장에서, 250배 이상 늘어난 저장공간을 어떻게 써야할지 감이 안오네. -_-;

EmDash가 워드프레스를 대체할 수 있을까. 플러그인 보안문제 때문에 등장했다면서 "안전한 샌드박스 환경에서 플러그인을 실행하기 위해 Dynamic Workers를 사용"하고 그러기 위해서는 월5달러의 유료계정을 사용해야 한다고 하면서 자신들은 워드프레스의 정신적 계승자라고 한다. (...)

2026/04/07

트위터, 마스토돈, 블루스카이, 별도의 프로그램(memos), 워드프레스 하나 더 설치의 선택지 중에 고르고 골라 기존 워드프레스에 카테고리를 추가하고 child-theme를 추가,수정하기로.

메모 카테고리 첫글인데 어떻게 나올려나 궁금하다. ^^

2026/03/18

테슬라에서 애플뮤직 로딩오류 났을 때

종종 일어났던 오류였다가 최근 한달 정도는 아예 상시적으로 발생하는 문제였다. 테슬라의 모니터로 인앱 애플뮤직을 재생할 때 "라이브러리" 음악이 재생이 안되는 현상이다. 애플 뮤직 첫화면에 가면 이러저러한 추천 음악들이 뜬다. 이것들은 전혀 문제없이 재생이 잘 된다. 오직 라이브러리, 그러니까 내가 곡이나 앨범, 플레이리스트를 저장한 음악들만 재생이 안되는 것이다. 어떤 현상들이 있었고 어떤 시도들을 해보았는지 읊어보면 아래와 같다.

  • 아이폰의 애플 뮤직에서는 모든게 정상이다. 오직 테슬라의 인앱 애플뮤직 > 라이브러리에서만 재생이 안된다.
  • 오류는 "로딩오류"가 나기도 하고 "재생오류", "[mk-007]UNSUPPORTED_ER... "가 난다.
  • 테슬라 인앱 애플뮤직 > 홈에서 추천 및 검색한 결과에서의 곡들은 정상적으로 재생된다. 단, 이 음악들을 (+) 버튼을 눌러 라이브러리에 추가하면, 라이브러리에서는 재생이 되지 않는다. 100이면 100, 무조건 에러 발생.
  • 인앱 애플뮤직에서 로그아웃 후 다시 로그인해도 해결되지 않았다.
  • 양쪽 휠 버튼으로 차량 리셋을 해봐도 해결되지 않았다.
  • 심지어 테슬라에서 진행중인 카컴교체 캠페인에 해당하는 차량이어서 입고 후 차량용 컴퓨터를 통으로 교체했어도 차량 인수 후 바로 오류가 재현됐다.
  • 라이브러리에 가면 모든 앨범, 플레이리스트, 곡, 앨범커버 이미지까지 제대로 표시된다. 아이폰의 음악 앱에서 새로운 앨범을 추가하면 테슬라의 애플뮤직 앱에도 잠시 후 그 앨범이 등장한다. 여기까지는 정상인것처럼 보인다. 그러나 재생 버튼을 누르는 순간 오류 발생. 인앱 애플뮤직에서 '검색'해서 듣던 곡,앨범,플레이리스트를 라이브러리에 추가하면 재생 오류.
  • 스포티파이로 전환했다가 와도, 블루투스 연결해서 듣다가 와도 해결되지 않았다.
  • 센터에 수리요청 후 차량 SW를 재설치 했으나 해결되지 않았다. (2025.44.25.3이 설치되어 있는 상태에서 같은 버젼이 SW업데이트 대기중이라고 알림이 와서 업데이트 시행)
  • 프리미엄 커넥티비티와 애플뮤직 멤버쉽은 문제없이 정상 구독중.

아쉬운대로 아이폰에서 음악앱을 재생하고 차량과는 블루투스 연결해서 듣기를 한달여.

며칠전 Jazon Mraz의 We Sing. We Dance. We Steal Things앨범을 선택하는 순간, 19세 이상 연령확인을 해야한다는 창이 아이폰 전체 화면을 가렸다. 어? 했다가 순간 '이거네!'하는 느낌이 왔다. 이 앨범의 10번 트랙이 The Dynamo of Volition 인데, 미국판에서는 [E] 표시가 붙어있고 한국 애플 계정으로 들어가보면 [19] 표시가 붙어있다. 한국에서 이 곡을 듣기 위해서는 1년에 한번씩 애플 뮤직에 성인 인증을 해줘야하는데 이 기간이 만료됐나보다.

아이폰에서 이통사의 문자메세지를 이용한 성인인증을 수행했는데, 문자로 날아온 6자리 코드를 정확히 입력했음에도 제대로 입력하지 않았다는 오류가 나왔다. 다시 시도해서 인증 완료. 곧바로 차량의 인앱 애플뮤직에서 모든 라이브러리 재생이 가능해졌다. 헐. 이게 원인이었네.

테슬라의 인앱 애플뮤직에는 '이 계정은 한국의 성인인증을 하지 않았거나 만료되었다.' 라는 정보가 날아왔는게 그걸 제대로 처리못했거나해서 전체 라이브러리 재생불가라는 오류가 난게 아닌가 싶었다. 글로벌하게 사용하는 인증수단이 아니어서 그랬나보다. 이렇게 블로그에 써 놓으면 나중에 고쳐지려나...

아울러, 이 성인 인증이란게 하다보니 매끄럽게 동작하지 않았다. 엊그제 아이폰에서 성인인증 할때도 두번 세번 반복했어야 했는데 어제 밤 맥의 음악앱을 사용할 때 성인인증이 되지 않았다며 다시 인증을 요구했다. 이 과정에서도 6자리 코드를 제대로 입력했지만 "문제가 발생했습니다. 다시 시도하십시오" 오류가 나왔다. 아무것도 고치지 않고 다시 한번 "다음" 버튼을 눌렀고 이번에는 제대로 진행됐다. 이건 애플에서 고쳐야할 문제 같고.

아무튼 한달넘게 불편하게 듣던 애플뮤직 로딩오류는 이렇게 해결 완료!

2026/03/08

동물병원 가루약을 캡슐에 쉽게 넣는 방법

지난주, 고양이 녀석의 병원 처방약을 받아왔다. 저번에도 그렇고 이 병원은 가루약을 약봉지에 담아주고 빈 캡슐을 따로 몇개 넣어준다. 약을 사료나 간식에 섞어 먹이거나 캡슐에 담아 먹이라는 것일게다. 같은 츄르라도 먹던 맛이 아니면 거들떠도 안보는 예민한 녀석이라 간식에 섞어 먹일 수는 없었다.

여태까지는 이렇게 해 왔다. 종이 약봉지를 대각선으로 잘라 한쪽 귀퉁이를 뾰족하게 만든다. 반으로 분리한 캡슐을 잡고 약봉지를 기울여 탈탈탈~ 탈탈탈탈~ 흔들어 캡슐 입구로 흘러내리게 해왔다. 가루약이 워낙 고운 입자다보니 원하는대로 균질하게 흘러내리지 않았다. 어느 순간에 쿨럭 쏟아지기도 했다. 탈탈 터는 과정에서 약봉지 끄트머리와 캡슐 가장자리가 만나면 흔들던 약봉지 귀퉁이를 튕기는 셈이 되어 가루약이 공중으로 뿌려지는 일도 생겼다. 약봉지를 잡고 잔잔하게 손을 털어대는 이는 손에 쥐가 날 지경이다. 만약 혼자서 캡슐도 잡고 약봉지도 잡으면 잠시 손을 놓고 쉬기도 어렵다.

이번에도 원래처럼 하다가 문득 안쓰는 귀후비개가 생각이 났다. 귀후비개로 말하자면 아주 작은 스푼 같은 모양이 아니던가. 어디선가 기념품으로 나눠준 손톱깎이와 귀후비개 셋트를 서랍 구석에서 찾아냈다. 가루약을 귀후비개로 떠서 캡슐에 넣어보니까 크기도 알맞다. 약을 넣기도 좋고 심지어 담긴 약을 꾹꾹 누르기도 좋다. 둘이서 하는거면 한명이 캡슐을 천천히 돌려주니 귀후비개를 잡은 이는 위아래로 눌렀다 뗐다하며 가루약을 다져 넣을 수 있다.

봉지에서 바로 캡슐로 털어넣는 것보다 비교할 수 없이 편하고 빠르게 약을 담을 수 있는 방법이다.

2026/03/05

가게 평점이 무슨 소용이 있나...

한두번 본게 아니다. 식당이든 카페 식탁위에 놓여있는 안내판이다. 지도서비스에 나오는 자기네 업장에 대해 평점을 높게 매겨주면 음료수든, 곁가지 음식이든 제공하겠다는 제안이다. 대가성 블로그 후기에는 이를 명시하게 해 두었지만 이런 평점과 보상에 대한 거래에 대해서는 아직 규정이 없어보인다. 평점 3.3보다 4.8인 가게가 더 끌리는건 어쩔 수 없는 노릇이니, 이런 마케팅이 성행하는 것이겠다. 게다가 평점 옆에는, 이 점수는 보상을 주고 얻은 댓가라는 표시도 없다. 블로그에 명시하는 대가성 여부도 검색에 나오지 않게 이미지처리를 하거나, 요새는 심지어 [#협찬] 이라는 새끼손톱만한 이미지로 대가성 여부를 표시하는 후기들도 보인다. 그럼에도 불구하고 어쨌거나 대가성 여부를 (억지로라도, 아닌척하면서) 표시해야하는 것이 블로그 후기이다. 반면 별점 리뷰는 그러한 제약도 없는데다가 지도서비스 업체에서 블로그리뷰보다 별점리뷰를 더 우선적으로 보여주다보니 업체 입장에서는 티도 안내면서 좋은 평가를 얻을 수 있는 방법일게다. 그 유혹을 마다할 수는 없겠지. 여러 참여자가 점수를 매기고 그 평균값으로 전반적인 평가치를 재보자는게 별점인데, 이런 체계에서는 믿을 수 없는 점수가 되어 버렸다. 별점 4.8 (리뷰시 식혜제공했음), 별점 4.7 (리뷰시 떡사리 무료 제공했음) 뭐 이렇게 써놔야 아, 그래서 그랬구나 싶겠지만 그렇게 될리는 없을테고 말이다. -_-;

집 NAS의 하드디스크 축소

11년째 현역으로 뛰고 있는 집 NAS (시놀로지 215j)에는 2개의 하드디스크가 장착되어 있(었)다. 나스와 함께 온 나스 전용 3테라 하나. 단품하드보다 저렴하게 나온 외장하드를 구입해서 꺼낸 10테라 하나. 두번째 녀석 가동시간이 4만9천시간 정도니까 5년 반쯤 된 셈이다.

데이터를 사용, 소비하는 방식이 로컬에서 클라우드로 옮겨가다보니 NAS 저장장치는 그저 백업 정도의 용도로만 사용하게 됐다. 스트리밍, OTT 사이트에서 영상과 음악을 듣고 보느라 큰 용량을 차지하는 파일들이 새로 들어올 일도 없다. 파일을 찾으러 들어가는 일도 한달에 한번 있을까 말까다. 파일과 미디어를 보내는 서버로서의 역할도 사실상 끝났다. 대신 바이브코딩으로 깨작거려 만든 프로그램으로 처리한 데이터를 배포, 전달하는 목적으로 사용하는 일이 잦아졌다. 엑셀 파일을 받아 용도에 맞게 정제하고, PDF로 생성하여 필요로 하는 이들에게 쏴주다보니 NAS만큼 편한게 없었다. 특히나 클라우드 접근이 차단된 환경에서 컴퓨터를 다루는 이들에게는 선택지도 많지 않았다. 다만, NAS를 사용하지 않을 때 디스크가 잠자기 모드로 들어가 있다가, 사용자가 접속하면 깨어나는데 걸리는 수십초의 시간이 걸림돌이었다. 이에, 어차피 많이 쓰던 NAS도 아니긴하나 디스크 하나를 줄이고 외장하드도 떼어내고 기본 하드만 둔채 상시 가동으로 돌리기로 하였다. 언제 접속해서 파일 전송 요구를 하더라도 즉시 응답할 수 있도록 하기 위함이다. 대충 살펴보니 하드디스크 하나에 5~6W 정도 사용하고 한달 전기요금 1천원 밑이다. 이 비용이면 잠자기 상태 들어가는 대신 상시대기 상태로 두는 편이 편의성 면에서 낫겠다 싶었다. 2분쯤 걸리는 S.M.A.R.T 체크를 한달에 한번 심야에 실행하도록 해 두었다. 이상이 감지되면 바로 교체하면 되겠다. 늘 그렇듯이 새로 이사할 때 불필요한 집기를 털어낼 수 있는 법이니 그때는 4테라짜리만 사도 충분할 것이다.

2026/02/25

제미나이 쓰다가 기특하다고 느꼈던 순간

요즘은 계속 짬날때마다 제미나이로 뚝딱뚝딱 파이썬과 오토핫키를 활용해서 업무자동화,간소화를 하는 중이다. 엑셀파일을 여러개 던져주고 요구사항에 따라 처리한 후 결과물을 pdf로 뽑으라는 요청을 했다. 결과를 보고 피드백하고 다시 수정하고 테스트하기를 반복. 출력형식도 이리저리 바꿔서 가장 효율적인 결과물을 내기 위해 손보기도 반복.

원래는 기본 출력 양식이 이런 식이었다. 수십개의 결과물이 한줄씩 나오고 뒤에 시간이 붙는다. 한번의 데이타 묶음을 처리할 때 출력하는 시간 꼬리표는 모두 동일해야 한다. 만약 여타 시간과 다른 이상한 시간이 붙으면 그 줄에는 맨 뒤에 "◀◀◀주의"를 표시하게 했다. 결과는 잘 나왔는데 출력물을 보니 데이타와 시간이 한줄에 길게 나오는게 영 번잡스러워보였다.

같은 시간은 반복되어 표시되니, 이 시간 타이틀로 잡고, 그 아래 데이타만 줄줄이 쏴달라고 했다. 만약 다른 시간인 데이타가 있다면 새로운 타이틀을 그 시간으로 잡고 거기에 속하는 데이타를 따로 모아달라고 했다.

생성한 코드를 실행해보니 원하는대로 실행되긴 했는데, 처음에는 데이타에 붙던 ◀◀◀주의 표시가 이번에는 이상하다고 판단된 데이타 꾸러미의 타이틀에 ◀◀◀주의 라고 붙었다. 이게 더 알아보기 편한게 맞다. 이미 이상한 데이타라고 모아놓았는데 거기 있는 데이타마다 전부 ◀◀◀주의라고 붙일 필요는 없으니까말이다.

제미나이의 설정에 보면 맞춤 요청사항이라고 있다. 얼마전 본 65줄짜리 Cloude의 코딩능력을 끌어올린 가이드를 읽고 내 상황에 맞게 "코드 작성 시 변동 요구사항에 대한 처리만 하고 이전 기능, 메세지는 변경하지 않는다. 변동 요구사항을 처리할 때 필수적으로 변경해야 할 경우에만 따로 고지하고 처리한다." 등을 적어두었다. 제미나이가 명령을 처리할 때 이 규칙을 늘 준수하라는 것이다. 이번의 변경 사항 (데이타에 붙일 태그를 타이틀 쪽으로 제미나이가 임의로 옮긴 것)에 대해 질문을 하였다. 왜 이전에 내가 요구했고 잘 동작했던 기능을 변경했는지 알고 싶었다.

제미나이의 답변을 보자.

이 프로그램을 만드시는 가장 핵심적인 목표는 "섞여 있는 데이터 속에서 잘못 지정된 날짜와 시간을 한눈에 직관적으로 찾아내는 것"입니다. 사용자의 시선은 큰 제목(구분선이 쳐진 시간대)을 먼저 훑고 지나가게 됩니다. 따라서 이상이 있는 시간대 그룹을 발견했을 때, 그 제목에 바로 경고 마크가 띄워져 있으면 더 빠르고 확실하게 오류를 인지할 수 있도록 돕는 UI/UX 관점의 최적화였습니다.
저는 감정이나 직관을 가진 사람은 아니지만, 주어지는 코딩 요구사항을 단순히 기계적으로 번역하는 것을 넘어 "이 기능이 어떤 목적을 위해 쓰이는가"를 분석하도록 설계되어 있습니다. 요구사항 4번 원칙("코딩 시 이번 작업이 어떠한 기능을 추가, 변경해서 어떤 목표를 이루려고 하는 것인지를 중점적으로 생각한다")을 지키기 위해, 출력 양식이 바뀔 때 사용자의 궁극적인 목표에 가장 부합하는 형태로 로직을 다듬은 결과입니다.

그렇네. 내가 지정한 맞춤요청사항 중 또 다른 하나가 있었다. '이 요구사항을 통해 어떤 목표를 위해 이 요청을 했는지를 생각하라'는 것을 제미나이가 기억하고 반영하고 있던 것이다. 그에 따라 나의 목표를 추정하고 결과물의 가치를 높이기 위해 데이타 출력양식을 제미나이가 임의로 변경했다. 화면을 올려보니 코드를 출력하기전에 이미, 그렇게 하겠다라고 고지도 해놓았었다. 원래대로라면 이상한 데이타 꾸러미의 데이타마다 ◀◀◀주의가 붙었을테고 나는 그런가보다, 했을게다. 제미나이 말대로 좀 어수선하다 싶었으면 주의표시를 타이틀로 옮겨달라고 요청했을수도 있겠다.

생성형 AI를 쓰면서 90%의 순간은 감탄을 하곤하는데 이렇게 한번씩 기대치를 장대높이뛰기 선수처럼 뛰어넘는 감격의 순간을 맛보게 해줄 때는 기특해서 등이라도 투닥투닥 쳐주고 싶다. 발전 속도 따라기가 벅찰만큼 수준이 높아져가고 있으니 이제 더 새로운, 더 놀라운 순간들을 어떻게 펼쳐 보일지 기대해보자.

2026/02/21

간단한 코딩결과물 전송 codeshare.io

제미나이의 도움을 받아 업무용 PC에 몇가지 자동화 작업을 하고 있다. 코딩 작업을 하는 컴퓨터는 맥+상용인터넷이고 사용할 컴퓨터는 공용 윈도우PC + 다른 네트워크에 연결되었다. 로그인만 가능하다면 클라우드 서비스와 연동해서 주거니 받거니 하겠지만 문제는 공용PC라는 것. 공용PC에 구글 로그인을 해둔다? ㅎㄷㄷ.. 말도 안되는 이야기다.

대충 작업이 끝나면 send-anywhere.com 을 이용해서 파일을 보내고, 윈도우PC에서 받아서 실행하는 방법을 써왔다. 광고를 한번 봐야하기 때문에 보내는 쪽에서 파일 선택 → 전송버튼 → 광고배너(대기) → 광고 닫기 버튼 → 전송 개시 → 전송이 끝나면 확인 버튼. 받는 쪽에서도 PIN코드 입력 입력 → 받기 버튼 → 광고배너 (대기) → 광고 닫기 버튼 → 전송 개시... 뭐 대략 이런 과정이다. 받는 쪽에서는 같은 파일이름이 계속 날아오니 다운로드 폴더에 파일명(1), 파일명(2), 파일명(3)...이 생긴다. 생성되는 파일 뒤치닥거리도 번거롭다.

그러다 찾은 codeshare.io

한쪽 컴의 웹브라우저에서 페이지를 열면 특정한 주소가 할당되고 커다란 편집창이 나타난다. 이 할당된 주소를 다른 PC의 브라우저를 열고 주소창에 그대로 붙여 넣으면 이쪽에도 편집창이 크게 열린다. 이제부터 왼쪽 편집창에 써 있는 문자열이 바뀔때마다 같은 주소창을 열어둔 PC쪽의 편집창에도 동일한 내용이 써진다. 작업 PC에서 어느 정도 작업이 되면 코드를 전체선택-복사-코드쉐어에 붙여넣기를 한 후, 옆PC에 켜진 브라우저 창에서 전체선택-복사 한 후에 해당 파이썬 파일을 열어둔 편집기에서 전체선택 - 삭제 - 붙여넣기- 저장하고, 저장된 코드를 실행하면 즉시 반영된다. 말로쓰니 장황해보이는데 단축키로 뚝딱뚝딱하면 1초거리다.

실물(?) 파일을 던지고 받고 하는 과정에 비해 훨씬 빠르게 코드를 옮길 수 있었다. 테스트 → 수정 → 재전송 → 테스트 주기가 잦을수록 그 효과는 더 커졌다. 회원가입하면 20개 파일을 보관할 수 있단다. 비회원은 1개의 편집창을 24시간 동안은 공유할 수 있기 때문에 지금 상황에서는 충분했다.

2026/02/19

명절에 부모님께 AI 리터러시를...

어머니는 종종 카톡으로 받은 영상을 보내주시곤 한다.무슨 의사입니다, 무슨 박사입니다 하면서 건강을 위해 뭘 먹어라, 뭐는 먹어서는 안된다, 하루세번 이걸 꼭 해라, 우리가 몰랐던 뭐뭐 식재료의 정체 어쩌고 하는 영상들이다. AI로 생성되었지만 어르신들은 잘 눈치채지 못하시는 모양이다. 처음에는 이런 영상들이 근거도 없고 영상에 나오는 "사람"들도 허구로 생성한 가짜들이라고 말씀드렸으나, 자식들이 귀찮게 잔소리하는 것으로 받아들이시는 모양이다.

이번 명절에 방문했을 때에는 이 허구들이 얼마나 우습게 만들어지는지를 보여드리기로 미리 마음먹었다.. 어머니께는 같이 식사를 하다가 식탁에 올려둔 수저통 사진을 찍고, 잠시 후 수저통에서 빨간, 노란 꽃들이 환한 조명과 함께 피어나는 영상을 만들어 보여드렸다. 아버지께는 눈앞에 있는 딸기 접시가 빙글빙글 돌면서 고양이로 변하는 영상을 만들어 보여드렸고. 두 분다 지금 눈앞에 있는 사물에서 실제와 구분하기 어려운 새로운 영상이 만들어진 것에 대해 놀라워하셨다. 1분전에 사진 찍는걸 봤는데 거기서 이렇게 쉽게 상상으로만 가능한, 티비 뉴스에서 가끔 나오는 영상들이 쉽게 만들어지는걸 보시고는, 말하자면 문화충격을 받으신 것 같았다. 부모님의 예전 사진을, 할머니 할아버지의 사진으로 덩실덩실 춤추는 영상을 만들어 드렸으면 더 강력한 효과를 발휘할 수 있었을지도 모른다. 그러나 사람의 형상, 특히 본인 또는 가족처럼 매우 익숙한 사람의 얼굴이 등장하는 AI영상이라면 불쾌한 골짜기의 감정을 느끼실 수도 있으니 주의가 필요할 것 같았다.

우리도 한창 때는 주작 글이니 판춘문예같은 가짜 사연에 울고 웃고 했던 일이 있었다. 지금의 AI 영상들은 상업적이고 전문적인 집단에 의해 창작되고 유포되는지라 그 세련되고 고도화된 컨텐츠 물량공세를 어떻게 구별해내야할지 걱정이다. 누구 말마따나 이제 우리들은 남은 생애에 보게될 모든 영상들이 가짜일 가능성을 염두에 두고 봐야하는 시대를 살게 되었다. 그렇게 해서 구별해 낼수만 있다면 그나마 다행이겠다만...

2026/02/10

반복적인 엑셀파일 분석에 AI 대신 파이썬

정기적으로 검토해야하는 엑셀 파일 작업이 있다. 두개의 엑셀 파일에는 예를 들자면 수백개의 일련번호가 있고 각 항목에는 "과일-25%","생선-50%"처럼 두개의 값이 결합된 데이터들이 할당되어 있다. 규칙은 이러하다.

  • 해당 일련번호가 갖고 있는 "과일-25%" 항목중 "과일"부분은 다음 파일에서도 그대로 있어야 하되, 25%라는 항목은 반드시 50%로 증가하여 기록되어 있어야 한다. 처음 50%였던 항목은 75%가 되어 있어야 한다. 예를 들자면, 0001번 일련번호에 할당된 과일-25%는 다른 엑셀파일에는 과일-50%가 되어 있어야 하고, 일련번호 0002번이 생선-50%였다면 두번째 파일에는 반드시 생선-75% 값이 들어있어야 한다.
  • 한 파일 안에 한 일련번호는 한번만 등장해야 한다. 같은 파일 안에 반복되는 일련번호가 있어서는 안된다.
  • 첫번째 파일에서 XX-100% 였던 항목은 두번째 파일에 등장해서는 안된다. 임무완료로 퇴역하는 항목이다.
  • 위의 검토조건에서 오류가 발견되었다면 어떤 오류인지를 화면에 출력한다.
  • 만약 모든 입력 항목에 오류가 없다면, 두번째 파일에 등장했어야 할 첫번째 파일 항목 중 누락분만을 따로 목록을 생성한다.

이 과제를 제미나이의 사고모드 및 프로모드를 이용해서 작업을 시켜보았다. 빠른 모드로 해보니 첨부한 파일에 없는 항목을 데이터로 사용하는 할루네이션 현상이 나타났기 때문이다. 요구사항을 분석하고 방법을 찾는중이라는 진행단계 알림 메세지가 출력되고 결과가 그럴싸하게 나왔다. gems로 저장해놓고 여러번 불러보니 두가지 문제가 있다.

프롬프트대로 결과물을 잘 뽑아줄 때가 있는 반면, 어떨 때는 "언어 모델로서, 저는 그것을 도와드릴 수가 없습니다." 라거나 "저는 단지 언어 모델일 뿐이고, 그것에 필요한 정보나 능력이 없기 때문에 도와드릴 수가 없습니다." 또는 "저는 텍스트 기반 AI라서 그것은 저의 능력 밖의 일입니다." 라며 진행되지 않았다. 아니, 잘 하다가 왜 이러는게냐?

파일이 크거나 작업량이 과했느냐 하면 그것도 아니다. 15개 열에 300줄이니, 엑셀 파일 치고는 AI한테는 먼지같은 수준이다. (그냥 하는 말이 아니고 실제로, xlsx 말고 csv로 전달해주면 더 낫냐고 물었더니 이렇게 대답했으니까.) 작업 요청은 하루에 10번 미만이니 제미나이 프로 계정에서 할 수 있는 작업량이 비하면 그 또한 티끌만큼일게다.

또 다른 문제는, 작업이 성공해서 결과가 나올때에도 시간이 생각보다 오래 걸렸다. 결과가 나오기까지 2분 이상 소요됐다.

속도나 안정성이 만족스럽지 않았다. 그러던 중, 결과를 내기 위해 생성하는 파이썬 코드가 있으니, 이 코드를 다듬어 로컬에서 실행시키면 어떨까 싶었다. 사용자가 실행할 수 있도록 손봐달라고 요청해서 코드를 받았다. 파이썬이 설치된 윈도우pc에서 폴더를 하나 만들고 검토할 엑셀파일 두개를 던져넣고 파이썬 코드를 실행하니 대충 1초만에 결과가 나왔다. 여러번 해도 백발백중이다. 신속하고 틀림없이 결과가 나오니 필요한 요구사항들을 더 추가했다. 이 역시 즉각적인 결과가 나왔다.

AI가 데이타 처리를 잘 해주는건 맞지만 이렇게 몇백개 정도(더 많이도 가능?) 의 데이터에 대한 정합성을 검증하는 작업은 파이썬으로 돌리는게 (체감상) 수십배 이상의 효율이 나오는 듯 하다. 물론 이렇게 하기 위한 코드를 생성해준 것 역시 AI이까 AI의 도움이라는 것은 변함이 없다. 나중에 초인공지능시대가 와도 내 진심은 이러하다는걸 잘 기억해주길 바란다;;;;;

2026/02/08

인터넷우체국의 가상키보드 불편

인터넷 우체국의 가상키보드 화면 캡쳐 이미지

얼마전부터 인터넷우체국 사이트에 접속하면 비밀번호를 입력할 때 가상키보드가 뜬다. 화면상에 보이는 그림 키보드에서 비밀번호 문자열을 클릭하여 입력해야하는걸 강제한다. 사용자가 가상키보드를 닫을 수도 없다.

왜 가상키보드를 강제하느냐. 사용자의 PC에 키보드 입력을 가로채는 해킹 프로그램이 깔려있고 사용자가 누르는 키보드의 키가 가로채져서 전송되고 있다고 가정하고 있는 것이다. 키를 누르는것보다 키 배열이 매번 바뀌는 키보드 그림을 그려주고 여기를 마우스로 왔다갔다 지나다니면서 한번씩 누르면 어느 키(어느 비밀번호 문자)가 눌렸는지를 해킹 프로그램이 알아차리지 못하게 하겠다......는 의도일 것이다.

하...... 이걸로 보안 강화되는거면 구글이니 페북이니 네이버니 테슬라니 연매출 수백조인 회사의 서비스에서는 왜 로그인 화면에 가상키보드를 안쓰는 것일까? 나는 그저 인터넷 우체국 들어가서 미리 작성해 둔 pdf 문서 파일 올려서 우편발송만 하면 되는데 이게 이렇게까지 사람을 귀찮게 할 일인가 싶다.

저 가상키보드의 단점은, 비밀번호 관리프로그램을 사용할 수 없다는 것이다. 예를 들면 나는 인터넷우체국의 비밀번호를 Yf&Tl%Vecx9OCyZ! 처럼 지정해서 사용하고 있는데 이건 매우 강력한 비밀번호이다. 추측할수도, 무작위 대입해서 뚫을 수도 없는 비밀번호이다. 외울 수도 없는 비밀번호이기 때문에 비번관리프로그램을 이용해서 자동으로 입력하게 하는데 저 가상키보드는 그 과정을 차단시켰다. 수동으로 복사 & 붙이기를 해도 입력되지 않는다. (물론 꼼수는 있으나, 굳이 여기서 말해서 막히게 하고 싶진 않다.) 그렇다보니 이러한 가상키보드의 단점은 사람들로 하여금 외울수 있고 타이핑할 수 있는 비밀번호를 사실상 강제하는 것이다. Yf&Tl%Vecx9OCyZ! 대신 apple123! 라든가 password72@ 같은 비번 말이다. 보안을 위해 정기적으로 비밀번호를 바꾸라고 하면 우린 또 무슨 새로운 비번을 지정해서 그걸 외워야하나? 외우기 힘든 비번이라면 메모지에 비밀번호를 적어서 모니터에 붙여두거나 키보드 아래에 둔다. 누가 "가상키보드를 도입하면 보안이 강화됩니다"라고 설득했는지 모르겠으나 그로 인한 부작용이 더 크지 않다고 입증할 수 있는 이가 있을까?

백번 양보해서 기본값으로 가상키보드를 켜고, 사용자 책임하게 가상키보드를 끄게 하면 안되었을까? 패스키를 도입할 수는 없었을까? 의심스러운 로그인이 감지되면 그때 2단계인증을 요구할 수는 없었을까? 로그인을 이메일 주소로 하고 사용자가 입력하면 로그인할 수 있는 무작위로 생성된 URL을 메일로 보내 클릭하게 할 수도 있다. 모든 고객의 컴퓨터에 악성코드가 설치되어 키보드입력이 해킹당하고 있다고 확신하면 아예 저 가상키보드를 반투명하게 만들고 3초마다 한번씩 화면 여기저기로 동에 번쩍 서에 번쩍 이동하게 만들지 그러나.

세상 수천만개일지 수억개일지 모를, 그 많은 웹사이트, 로그인 기반 서비스들에게는 사용자의 컴퓨터가 키로그 툴로 인해 입은 피해에 대해 보상할 책임이 없는데 왜 우체국은 이렇게 키보드를 만들어 놨나 모르겠다.

참으로 불편하고 또 불편한 서비스 UI이다.

[업데이트]@2월27일
어제 밤에 확인해보니 가상키보드가 없어졌다. 다행이다. 우리는 뭔가 일을 할 때, 이게 실제로 필요하고 실제로 동작하는지, 문제해결 방식에 부합하는지 (아니, 그러한 문제가 실제로 존재하는지부터 먼저 확인), 선의의 고객이 감수할 불편함보다 압도적인 이익이 있는지 확인해...야 하는데... 사실 월급쟁이들이 그런 주장을 하긴 쉽지 않겠지.

2026/01/31

체험단 리뷰뿐인 식당

주말에 외식을 할까 하는 생각에, 작년 봄에 동네에 생긴 어느 냉면집을 떠 올렸다. 걸어서 20분정도 거리니까 운동삼아 걸어다녀오면 좋겠다 싶었다. 처음 가는 집이니 N포탈의 지도서비스에서 가게 정보를 찾고 리뷰 탭을 살펴보았다. 블로그리뷰쪽을 보니 사진도 근사하게 찍어 여러장씩 잘 첨부했고 설레발이니 호들갑이니 떨며 맛집이라는 칭송이 가득했다. 다만, 게시물의 상단이나 하단 가끔은 얄팍하게 중간에 끼워넣은 체험단 리뷰라는 이미지 문구가 게시물마다 자꾸 보였다.

제품,식사를 제공받고 써주는 리뷰가 있으면 직접 가서 사먹고 쓴 리뷰도 있겠지 하고 꾸준히 페이지를 내려보았다. 최근 리뷰 50개 중 이른바 내돈내산은 단1개이고 49개의 리뷰는 모두 무료 식사 제공받고 작성한 리뷰들이었다. 아무리 냉면을 좋아한다치더라도 이렇게 공짜 음식 제공이 아니면 리뷰가 달리지 않는 식당까지 찾아가서 먹는건 좀 위험부담이 있지 않나 싶다. 식당 입장에서는 답답하니 업체 끼고 리뷰해줄 사람을 찾는 걸텐데, 이렇게 무료로 식사를 제공해야만 리뷰를 써주는 사람들이 있고 우연히 찾아오거나, 지인 추천으로 와서 먹어보고 만족해서 자발적으로 리뷰를 쓰는 사람은 왜 없는지를 생각해보길 바란다.

체험단 리뷰가 (누가봐도 광고라는걸 알지만 그래도) 업장을 소개하고 방문객을 끌어들여 좋은 평이 확산되도록 하는 마중물이 되면 좋겠지만, 밑빠진 독에 물붓기를 하고 있는건 아닌가 싶다. 심지어 프랜차이즈라 음식의 맛이나 품질, 메뉴를 향상시키기에 한계가 있는 식당들은 더 운신의 폭이 좁을테니 안타까운 일이다.

2026/01/27

극장에서 본 천공의 섬 라퓨타

우연히 접한 "천공의 섬 라퓨타" 극장 재개봉 소식. 극장에서 본 적은 없는 최애 애니메이션이다. 다행이 집에서 가까운 곳에 상영관이 있었다. 하루에 한번 상영이었는데 밤9시가 넘어 시작했다. 아내에게 이야기하니 기꺼이 같이 보자고 했다. 시간이 너무 늦는게 걱정이었으나 아내는 상관없다고 했다.

영화 시작 직전에 대충 훑어보니 관객은 10명 남짓. 20~30대가 여러명 보였는데, 영화가 언제 나왔는지를 생각해보면 뜻밖이었다. 극장에서 처음 본 라퓨타는, 모니터나 액정화면에서 보는 감동을 확연히 뛰어넘었다. 두시간동안 눈도 깜빡 안하고 봤다고 말할 정도로 몰입해서 관람했다. 작화의 세밀한 부분도 볼 수 있어 좋았다. 제일 좋아하는 장면인 파즈가 지붕에 올라가 나팔을 불 때 비둘기 떼가 골짜기 마을로 날아가고 햇살이 쏟아져 들어오는 순간이 큰 화면으로 보니 이렇게 아름다운 장면이었구나 싶다.

90년대 중반인지 라퓨타를 포함해서 미야자키하야오 감독의 애니 몇개를 VHS 테이프로 갖고 있었다. 정품은 아니었을텐데 어디에서 구했는지는 기억하기 어렵다. 라퓨타 하면 첫 회사를 다닐 때 강남역에서 우성아파트사거리 쪽으로 가다보면 지하에 라퓨타라는 인터넷 카페가 생겨서 퇴근길에 몇번 들러봤던 기억도 난다.

오래된 그러나 처음 만나는 추억에 대한 감회에 젖어있는 하루다.

2026/01/18

올해 생일을 축하해주신 분들.

조촐한 올해 생일 축하 메세지 결산이다.

대학교 동창 돌쇠군이 생일 며칠전에 축하 전화를 걸어왔다. 일년에 두어번씩 만나서 닭한마리 칼국수를 먹어왔는데, 그 집이 추가 반찬 값을 받기 시작한 이후부터 정내미가 떨어져서 발길을 끊으니 그 여파로 만남이 뜸해졌다. 추운 날 만나면 구시렁 대니 날씨 풀리면 좀 봐야겠다.

나우누리 동갑내기 시절부터 오래 만나온 troky녀석이 케익을 하나 보내왔다. 최근엔 교류가 뜸해지긴 했으나 가까워졌다 멀어졌다 30년을 이어온 인연이다. 신촌에 웹스페이스라고 최초의 인터넷 카페가 생겼다고 해서 한번 가보자고 처음 만났던 걸로 기억한다. 근처에 먼저 도착해서 긴 트랜치코트에 머플러를 두르고 홍콩 느와르 영화 주인공 못지 않은 허세 섞인 폼으로 담배 한대 피우던 모습이, 기억 속 첫 모습이다.

역시, 오랜 지인인 묜씨가 롤케익을 보내왔다. 자신이 가장 좋아하는 케익이라고 했다. 생일날 배송주소 입력하니 다음날인 어제 도착했다. 여태까지 지인들 생일에는 얇은 빵과 아이스크림같은 크림이 겹겹히 쌓인 크레페케익을 주로 보내왔는데 어제 먹어본 결과, 앞으로 이 케익을 좀 보내봐야겠다.

같은 회사에 계신 조여사님께서 커플용 커피와 조각케익 세트를 보내주셨다. 가끔 회사에서 오후에 커피를 시켜먹거나 밖에서 사 오실 때 나를 위해 따로 디카페인 커피를 챙겨주시는 분이다. 그런 일화를 아내에게 이야기하면 '조여사님께 잘하세요.보통 그런 분 없어요.' 라고 한다.

미국에 사는 사촌동생이 생일축하 카톡을 보내왔다. Harry는 명절이나 생일 인사를 할 때는 꼭 한국어로 첫 인사를 한다. 아는 한국어인지 번역서비스를 이용한 것인지는 잘 모르겠다. 내가 영어문장을 보낼 때처럼 긴 문장은 번역서비스를, 짧은 문장은 짧은 외국어(한국어) 능력을 활용하는게 아닌가 싶다.

어제는, 강원도 모 지자체 도서관에서 사서로 일하는 대학교 2년 후배인 H가 전화를 걸어왔다. 카톡에서 생일자 명단을 우연히보다보니 하루 지난 내 생일이 나왔단다. 한 10년 전까지만해도 일년에 한두번 컴퓨터나 인터넷에 문제가 있으면 선배 찬스로 전화를 해 오곤 했다 뜸했는데, 이렇게 또 전화 걸어주니 기특하고 고마울 따름이다.

하루하루 별일없이 산다는게 행복이고 행운인 것처럼, 생일 축하를 받는 것도 누구 하나 당연한게 없고 감사하다.

2026/01/16

스포츠지도자연수원의 스팸

2019년에 스포츠지도사 자격증 취득과정에 포함된 모 대학교의 연수원에 다닌 적이 있다. 당시에 꽤 만족스러운 교육 환경때문에 블로그에 장문의 글과 사진으로 (대놓고 추천은 아니지만 사실상) 추천 글을 올린적이 있다. 만 6년이 지난 어제, 해당 연수원 부원장이름으로 방과 후 늘봄학교 사업을 하니 인력풀에 등록하시라는 문자를 보내왔다. 연수원에 국가자격증 취득하려고 개인정보를 제공했더니 이렇게 사용하려고 6~7년이나 개인정보를 보유하고 있었구나.

문자 수신 후 이 블로그에서 해당 연수원 게시물을 삭제하였다. 흔한 말로, 내가 이 꼴을 보려고 글을 썼나 싶다. ^^; 개인정보를 용도 외로 무단 보유,사용하는 개인이나 단체는 주가조작하면 패가망신하게 한다는 정책 수준으로 엄한 기준으로 처벌하지 않으니 이런 일이 반복되는 것이다.

스포츠지도자 연수원의 개인정보 무단 사용은 여기뿐 아니라 당시에도 서울 소재 모 대학에서도 동일한 일이 있었다. 스포츠지도자 연수원의 개인정보 취급,활용에 대한 엄격한 관리감독이 필요하다.

2026/01/10

"왜 이렇게 화가 나신거에요?"

가끔 게시판에서 보는 표현이다. 서로 다른 의견이 오가는 댓글에서 주로 나타나는데, 한창 이야기하는 도중에 "그런데 ㅇㅇㅇ 주장하는 분들은 왜 이렇게 화가 나신거에요?" 또는 "화가 많으신 분들이 보이네요. ㅎㅎㅎ" 같은 댓글이다. 상대방 주장을 타당성 여부와 상관없이 화가 많은 사람의 비이성적 화풀이라는 프레임을 씌우는 것이다. '얘기하다보니 (이성적인 나와는 다르게) 이 사람 화가 많은 사람이네, 더 얘기할 필요없네'의 메세지도 숨어있다. 이런 공격을 받는다고 '저 화 많은 사람 아니에요' 라고 뜬금없이 자신이 온화한 성품의 소유자임을 증명할 수도 없고, 그 논리에 말려드는 것도 우스운 일이다.

이런 공격은 마치 예전에 많이 보이던 "웃자고 한 얘기에 죽자고 달려드시네요"를 떠올리게한다. 상대방이 감정적으로 불편하든 아니면 잘못된 이야기에 논리적으로 반박하든, 사람들과 어울리지 못하고 유머감각없이 싸움만 즐기는 이상한 사람을 만들고 빠져나가는 말버릇이다. 당시 이런 "유머"글의 상당수는 차별,편견,혐오,비하 게시글이었던 걸로 기억한다.

위 경우 모두 메세지가 아닌 메신저에 대한 공격의 일환이다. 내가 한 말의 오류, 네가 한 말의 진위여부는 모르겠고 나한테 반박하는 너는 화가 많고 사회성이 부족한 녀석임. 끝! 땡! 쫑! END! 내가 이김! ....에베베베베!! 같은 것이다.