기본 콘텐츠로 건너뛰기

리더가 리드하지 않고 책임자가 책임지지 않는 회사...

영상버전 :  https://youtu.be/LfAGeU28Raw 얼마전 Linkedin의 어떤 글로 공방이 있었습니다.  누군가가 작성한 문장에서 찬반이 갈리고 있었죠. 회사원은 프리랜서가 아닙니다. 혼동하지 맙시다. 라는 말로 시작했는데요..  자율 출퇴근제에 대한 비관적인 이야기를 하면서 협업의 책임을 회피한다는 이야기를 하고 있었습니다.  즉, 다들 일하는 시간에 출근 안하면 무책임하다..  라는 표현으로 결론을 지어 버린 내용이라 씁쓸했습니다.  여기서 마지막에 언급한 것은  회사에 소속되어 일한다는 것은 단순히 월급을 받기 위한 계약 관계가 아닙니다. 함께 성장하고 더 큰 가치를 만들어내기 위한 공동체에 참여하는 것입니다. 라고 종결을 했는데요..  단순히 보기엔 괜찮은 문장이었습니다.  하지만, 이는 회사의 발전에 동참하지 않는자 퇴사해라 라고 들리거든요..  그래서 저는 반박을 했죠.  말씀은 좋아보입니다만 일반 평시원에게 왜 넌 C레벨만큼 애사심이나 주인의식이 없니? 라고도 들리는 건 저만 일까요? 그렇게 달았더니 거기에 다시 다른 사람의 의견이 달렸습니다.  사원은 회사의 C레벨이나 주인이 아니니 협업에 대해 무책임해도 되는건 아니죠. 라구요..  거기에 제가 반박을 했습니다.  Nolan. J. Bushnel 이란 사람이 있는데요..  이 사람은 ATARI라는 아주 오래전에 세계적인 게임회사 사장이었구요,  유일하게 스티브 잡스가 일을 했던 회사의 오너이기도 하지요.  ATARI외에도 수십개의 회사를 만들고 망해보고를 반복하면서 얻은 결론이 있습니다.  98%는 안정을 추구하고 2%의 혁신가가 회사의 방향을 결정한다.  즉, 잡스가 만든 프로토 타입 게임은 혁신적이었으나,  그것만으론 세상에 내놓을 수 없죠..  상품기획에서부터 이쁜 포장과 마케팅, 고객CS...

태국 개발자들이 버리고 간 폭타

영상버전 :  https://youtu.be/4N0v9QUGD_I 얼마전 태국 개발팀이 만들고 운영하던 서비스를 인수인계 받았는데요..  인수인계를 받으면서  서비스 회사의 대표에게서는 태국 개발자들의 대응이 너무 느리다고 불만이 많았고,  태국 개발자들은 일이 많은데 알아주지 않는다고 불만이 많았습니다.  저야 인수인계를 받는 입장이다보니 양쪽 비위를 맞추어 최대한 잘 받아내야 하므로 이런저런 불만을 계속 들어주면서 어르고 달래서 최대한 받아냈죠.. 인수인계를 받고 한달 남짓.. 아직도 이 서비스를 100% 이해를 못했습니다.  하지만, 점점 양쪽의 입장을 이해하기 시작했습니다.  일단은 구조를 보시죠..  이 구성도 역시 타이 개발자들이 준게 아니라 그냥 디플로이 매뉴얼과  어카운트 정보 표를 보고 하나하나 들어가서 보면서 만든겁니다.  즉, 아직도 빠진게 있을지도 모른다는 것.. 구조를 보면 이상한 툴들이 많이 보이죠? 대부분의 대규모 경험을 한 사람일 수록 리스크 포인트를 줄이기 위한 노력을 합니다.  그 결과가 단순화,  그리고 장애시 빠른 복구가 가능한 구조,  확장이 편리한 구조를 많이 생각하죠.  이 말은 이 서비스는 MSA가 되어있느냐를 항상 질문하게 되죠. MSA는 아주 작은 단위로도 독립적인 서비스로서 기동이 가능하게 만들어야 하구요..,  그 기능들끼리 API등으로 연결해서  장애시 장애 포인트의 확인이 쉽고,  병목이 발생하면 그 부분만 확장이 가능한 구조를 가져가게 됩니다.  그렇게 하면 쉽게 확장이 되고,  운영이 간단하죠.  즉, 특정 모듈이나 솔루션, 미들웨어를 설치할 때,  이것 없이 더 단순화 할 수 있는지를 계속 물어가면서 만들어야 하구요,  개발 공수보다 이 모듈을 넣는게 낫겠다면,  그 모듈을 넣고나서 운영을 어떻게 편리...

chatgpt로 DB튜닝 전문가 되기!

영상버전 :  https://youtu.be/3bhK0B96zIQ 이젠 chatgpt를 사용하면 저와 같은 레벨의 db튜닝을 하실 수 있습니다.  단! 아래와 같은 접근을 잘 연습하신다면 말이죠.. 1. 인덱스 점검 먼저 ChatGPT에게 “이 테이블에 어떤 인덱스가 이미 있고, 어떤 게 부족해 보이는지”를 물어봤습니다. 그러자 놀랍게도, 각 테이블에 필요한 인덱스 목록과 개선 방향을 꽤 체계적으로 제시해주더군요. 2. 복합 인덱스 인덱스를 최소화하면서도 효율을 높이려면 복합 인덱스가 답일 때가 많습니다. 그래서 ChatGPT에게 “그럼 복합 인덱스를 구성한다면 어떤 필드 조합이 좋을까?”라고 물어봤죠. 예: return_date + shop_id, order_id + return_flag 등등 필드 순서를 어떻게 두느냐에 따라 성능이 확 달라진다는 이야기 Include 옵션을 활용하면 인덱스만으로 데이터를 조회할 수 있어 훨씬 빠르다는 조언 이런 내용이 나오는데, 솔직히 저도 모르는 건 아니었지만 다른 시각에서 정리된 결과를 보니 훨씬 명쾌했습니다. 3. ‘카디너리티’ 인덱스 튜닝하면 꼭 등장하는 단어가 **카디너리티(Cardinality)**입니다. 쉽게 말해, 특정 필드가 갖는 값의 다양성 정도죠. 예를 들어, shop_id가 수천 개라면 카디너리티가 높고, dtenpocd처럼 점포코드가 57개밖에 안 된다면 카디너리티가 낮습니다. ChatGPT가 강조하더군요. “카디너리티가 높은 필드는 인덱스의 앞쪽에 두어야 효율을 극대화할 수 있어요.” 반면 카디너리티가 낮은 필드는 필요하면 Include에 넣거나 뒤로 빼서 쿼리 범위를 좁히는 식으로 사용하라고 했습니다. 4. 인덱스 필드 순서 실제로 저도 “기간 검색을 먼저 하고, 그 다음에 shop_id로 필터링하는 게 낫지 않을까?”라는 의문이 있었어요. 그런데 ChatGPT는 “shop_id로 먼저 필터링하고 기간 검색을 거는 게 더 나을 수도 있다”라고 하더군요. 그 이유는 shop의 개수가...

DB엔지니어라면 코드를 몰라도 API서버가 만들어지는 것 같습니다.

영상버전 :  https://youtu.be/JGgTOA5Tcsc 2007년에 SQL Server에 있는 SP를 기반으로 만든 서비스가 있습니다.  다른 RDBMS에서는 그냥 프로시저라고 부르는데 유독 SQL Server에서만 Stored Procedure라고 하네요..  이유가 뭔지는 모르겠지만.. 아뭏든..  거의 모든 처리는 SP에서 처리하고  웹페이지는 그냥 SP를 실행한 결과만 호출하는 방식이죠. 결과 또한 표시 화면에 맞추어 쿼리를 만들었기 때문에 계산이나 변수에 받아서 조정할 일이 없습니다.  여기에는 많은 개념이 있었는데요..  2007년이면 AWS가 막 이름을 내기 시작했고, VMWare가 일본을 장악 했던 떄이죠.  VMWare의 3.5를 쓰다가 VMWare 4.0부터 많은 부분이 안정화 되었고,  이 VMWare를 이용한 인프라 관리가 관건이었습니다.  Xen도 이 때 많이 커지는 듯 하였으나, 어느 정도 중대규모 및 상업용은 VMWare가,  초 대규모 또는 무상은 Xen이 점령하고 그 밖에 virtualserver, hyper-v, kvm등등 많은 가상화 솔루션들이 있었죠.. 그리고 2011년 정도 되어서 openstack과 cloudstack을 기반으로 오픈소스 진영이 엄청나게 전쟁중이었구요.. VMWare같은 가상화 솔루션은 하나의 머신에 VM을 쓰다가  vMotion이란 것을 이용해서 가동 중에 여기저기 머신을 오다닐 수 있는 기능을 가지고 있구요,  그러다 보면 local IP를 바꾸기 일상이죠.  300대의 물리머신에 대당 10개의 가상머신이 있다면 일일이 동일한 IP로 옮겨다니기 어렵거든요..   가상 IP를 마구잡이로 넣고 나중에 글로벌IP를 Routing으로 매핑하거나 NAT를 많이 쓰기도 했구요..  이 즈음에 Azure 클라우드 서비스가 처음 선보였는데,  이 때...

생성형AI가 만들어가는 인간불신 사회

영상버전 :  https://youtu.be/h9mVZ6MHQ4k #생성형AI 가 아무리 발전해도 그걸 쓰는 사람의 능력 이상은 끌어낼 수 없다.  요즘 이런 이야기를 하시는 분들이 늘고 있습니다.  저 역시 공감하고 있고, 어제 그 공감이 또 확신이 되었네요.  신규 고객의 환경은 #proxmox 로 #kubernetes 를 관리하는 환경인데요. kubernetes가 원래 #docker #container 관리를 편하게 해주는 툴 이잖아요? 그런데 kubernetes를 바로 안쓰고 다시 proxmox라는걸 이용해서 #가상환경 까지 통합관리를 하더라구요..  즉, #VMWare + Kubernetes 랄까요? Kubetnetes를 그냥 쓰면 어딘가 docker 이미지를 디플로이 할 수 있는 환경을 손수 준비를 해야 하지만, proxmox에서 설정하면 자동으로 VM과 docker 이미지를 같이 디플로이 할 수 있다.. 인데요..  어떻게 보면 참 편리한 도구 같잖아요? 하지만, 역으로 이게 더 관리가 어렵네요.  이유는 VM을 위한 환경 변수도 다 설정해야 하고,  VM이 설치 된 뒤의 Docker이미지 관련 환경 변수도 다 설정하고 해야 하니 어짜피 한 화면에서 하느냐 서너화면에서 하느냐 차이 밖에 없더라구요.. 너무 복잡하게 설정되어 있어서, 이걸로 서비스를 하나 만들었는데 신규 고객용으로 디플로이 하는거 자체가 엄청난 수작업 해야하는 상황입니다. 이 이야기는 관리포인트가 더 많아서 장애에 대한 대처 지식이 더욱 필요한 것이지요.   그런데 일이 터져 버렸습니다.  인수인계를 받자마자 일 주일도 안되어 서비스가 떨어졌습니다.  인계를 해준 타이 개발자들은 나몰라라 하고 인계후 연락을 끊어버렸구요..  이 원인을 찾기 위해 #chatgpt 를 사용해서 에러 메시지와 그에 따른 원인을 묻고 그 원인처럼 보이는 것을 하나씩 찾아서 제거해 갔죠....

일본 건강보험의 전산화 클라쓰! (2025)

영상버전 :  https://youtu.be/ITOp6wuCPrw 한국의 국가 서비스의 전산화가 아주 잘 되어 있다고 했잖아요? 일본도 전산화는 되었습니다.  그런데 보시면 아마 속터질 거에요..  작년 교통사고로 인해서 병원에 다녀온 이력을 떼려고 했는데..  원래 교통사고랑 엮인 병원 처리는 건보 처리를 안하고 병원과 보험사가 직접 처리하는데 나중에 정산 내역을 보니까 보험료 없이 병원비 계산해서  위자로에서 제하고 준다네요.. =ㅅ=;; 즉, 내가 내 건강보험료로 병원을 다녀오고나서 나중에 보험사의 위자료만 받는게 낫다는 생각이 듭니다.  일단, 그건 차치하고  보험사에서는 내가 개인적으로 병원 다닌건 계산 안하다보니  위자료가 적게 산정이 되었드라구요..  병원에 얼마나 다녔나 를 계산해서  10일 갔으니 60만엔.. 뭐 이런거드라구요..  그래서 내가 자비로 간 곳도 있다고 하니까  듣는둥 마는 둥 해서  내 보험의 변호사 특약을 써서  청구 요청을 하려고  의료 보험 이력을 떼려고 했습니다.  온라인으로 가능하지 않을까 해서  건보 홈피에 갔는데..  거기에 인터넷 조회가 있더라구요! 그런데 인터넷 조회를 하려면  회원 신청이 필요하다네요…  그래서 신청을 했더니..  확인후 우편으로 발송해준다고 합니다.  뭐, 일본에선 언제나 거주지 확인을 우편으로 했으니 하고 기다리는데..  며칠 후 우편이 왔습니다! 그 속에는 무려..  인터넷 접속 아이디와 패스워드가 들어있는거에요! 음..? 인터넷 접속 아이디랑 패스워드를 종이로 간수하라는건가? 여기서 이미 느끼셨겠지만,  한국은 자기 공인인증서만 있으면 그 자리에서 모두 해결 되잖아요?  개인 보호라는 명목으로 주민 번호같은게 없어서 생기는 폐해가  이렇게 나오더랍니다....

올리브의 언덕 이라는 패밀리 레스토랑에서 문득 든 자동화된 현실을 느꼈다.

영상버전 :  https://youtu.be/wnak61YfPLc       오랜만에 올리브의 언덕이라는 스파게티가 메인인 패밀리 레스토랑에 왔는데 자동화가 눈에 띄네요.  날이 갈 수록 점점 디지털화가 된다는 느낌이 있긴 했지만,   조금씩 바뀌는 모습에 눈치를 잘 못 챘는데.. 생각해보니 참 많이 바뀐 거 같습니다. 아마 한국도 키오스크가 많이 생겨 나이든 분들에게는 어려움이 많지만,  인건비 절감등의 경쟁력을 위해선 어쩔 수 없는 흐름이라고 봅니다.  이 중에서 이번에 본 것들을 한 번 정리를 해볼까 합니다.   예전이라면 대기판이라는 곳에 펜으로 적었던게 키오스크로 바뀌고 전화 알림 설정을 하면 시간이 되면 전화로 기계 목소리로 안내를 하네요.. 직원이 직접 전화를 했던 예전과는 달라진 것 같지만, 이것도 상당히 예전부터 도입이 된 시스템이긴 합니다.  이렇게 불려서 내 차례가 되면 카운터로 갑니다.  예전에는 점원이 안내를 해줬지만, 이젠 대기표를 스캔하면 테이블 번호표를 다시 발급 받습니다.  알아서 그 테이블을 찾아가야 하구요..키오스크에는 매장 맵에서 제 테이블 위치가 표시되는데요.  이 부분만큼은 사람을 접대하는 서비스이기 때문에 사람을 쓸 줄 알았는데,  가차 없네요..   음식은 예전엔 점원을 불러 메뉴판을 보고 주문 했으나 이젠 단말기로 주문 하면 됩니다.  이건 아마 한국에서도 많이 도입 되지 않았나요? 일본에서도 코로나 이전부터 많은 점포에서 도입한 부분이라 큰 감흥은 없지만,  제가 일본에 처음 왔던 2004년에는 없던 것이라 어느새 바뀌었나 싶은 부분입니다.  물론 지금도 작고 오래된 카페 같은데 가면 완전 아날로그를 경험할 수 있다보니 취향대로 손님의 성향은 극에서 극으로 나뉘지 않을까요? 다른 곳에선 qr을 읽으면 휴대폰에서 주문 가능한...