영상버전 : https://youtu.be/nFYwe-bzUWI
그럼 요즘의 바이브 코딩으로 어디까지 만들 수 있는지를
알아야 하잖아요?
요즘 제가 깊이 있게 만들고 있는 건데요..
Giip라는 원래 저 혼자 classic asp로 만든
인프라 관리 툴입니다.
인프라를 관리하는 툴인 zabbix라던가
New relic같은 서비스를 보셨죠?
이런 툴은 모니터링 위주의 툴이고
Jenkins는 디플로이 위주의 툴이죠..
이런 툴과 비슷하다고 보시면 됩니다.
주변에선 다들 AI개발한다느니
프론트엔드 또는 일반 유저 대상
서비스만 개발하고 있는데,
왜 이딴거 하냐고 물어보시는 분들도 계시는데..
전 기초과학이 뛰어난 국가가
응용과학도 뛰어나다고 생각하는 주의 입니다.
때문에 IT에서도
데이터 저장 및 관리를 잘하는 사람이
모든 IT서비스를 효율적으로 만들 수 있다고 생각하거든요.
때문에 데이터 저장을 포커싱 했고,
데이터 저장 및 처리에 중요한
데이터베이스나 인프라의 병목 등을 찾아
해결하고자 했죠.
이것만 잘하면 이 위에
어떠한 서비스를 올려도
효율적으로 돌릴 수 있지 않을까요?
그래서
그런 문제를 보다 쉽고 빠르게 찾아내고자 만든게
Giip인데요..
서론이 길었습니다.
아직 개발중이지만
100%바이브 코딩으로 만든 giip v3를 한 번 둘러보시죠!
첫 화면은
요즘 핫하다는 google ai studio에서
Giip를 소개하고 그에 어울리는 이미지를
뽑아달래서 만든거구요..
로그인을 해보죠.
-- 로그인 처리
로그인 방법은 v2까지 모두 독자 계정을 사용하다보니
그대로 사용하고 있습니다.
이 서비스의 핵심은
한 사람이 여러 프로젝트를 만들고
각각의 프로젝트에 사람들을 초대하여
공동 운영이 가능합니다.
다국어 처리도
바이브 코딩으로 하면
다국어가 필요한 위치를 자연스럽게
내가 지정한 나라의 언어로 자동으로 바꿔주다보니
일일이 번역해서 넣을 필요가 없습니다.
페이지 내에 번역을 원하는 텍스트가 있다면
그 텍스트를 드래그 해서
다국어 처리 해줘
라는 한마디로 내가 초기에 설정한 다국어 버전 텍스트가
그냥 만들어지는 거죠
프로젝트를 일단 선택해보구요..
그리고 그 서버의 리스트를 보시죠.
지금은 내 개인용 PC들 리스트인데요..
이 서버들이 어떻게 연결 되어 있는지
한 번 보겠습니다.
-- Network3d 클릭
화면이 움직이면서 피씨들이 보이죠>
제가 지금 쓰고 있는 피씨와
같은 네트워크에 연결된 고객사 피씨
그리고 데스크탑 세 대가 연결 되어 있구요
각각의 gateway도 자동으로 표기 됩니다.
어떤 gateway를 타고 인터넷에 나가는지
등도 표기를 하려는데
아직 동일 L2내에서의 네트워크만 표기 중입니다 .
이렇게 연결해서 만들어 나가면
내가 지정한 서버가 어디랑 연결 되었는지 알기 쉽죠.
이 부분의 바이브 코딩을 어떻게 했냐구요?
그냥
네트워크 구성을 3D로 표현하고 싶어.
그에 따른 추천 콤포넌트로 그림을 그려주고,
그에 필요한 JSON데이터를 추출할 수 있게
윈도우즈와 리눅스용 스크립트를 각각 만들어줘
라고 했더니 스크립트까지 만들어주네요.
각각의 스크립트를 각 서버에서 실행하도록
Giip에서 구성하여 내려보내구요.
각자 PC들은 그걸 받아 실행한 결과를
Giip의 KVS라는 스토리지에 던지면
그걸 읽어서 화면에 뿌려주게 되죠.
처음에는 이상한 뻘 짓을 많이 했지만,
하나하나 물어가면서 조정하다보니
여기까지 왔습니다.
또하나 봐야죠.
이번엔 실제 고객사의 SQL Server퍼포먼스 저하를
찾아달라는 요청으로
고객사의 퍼포먼스 정보를 받아오도록 만들었죠.
전제조건은
고객사의 경우 고객사의 서버에 멋대로 에이전트를 설치할 수 없어요.
때문에 고객사에게서 받은 노트북에서
그 서버에 접속해서 필요 정보를 받아와야 하죠.
부하가 거의 안들도록 시스템 정보만 가져오게 해서
보여준 것이 바로 이것입니다.
-- DPA 버튼 클릭
화면 아래로 뭔가 박스가 연결 되어 있죠.
부하가 큰 시간대로 이동해 볼께요.
드래그 해서 빨간 색이 있는데로 이동도 가능하지만,
바로 아래쪽 가장 부하가 큰 시간대 10개가
부하 순으로 나열 되어 있어서 이걸
클릭해도 됩니다.
-- 11:45:12 클릭
이렇게 3D 로 몇 개가 연결되어
어떤 놈이 부하를 주는지를 선의 색으로
표시하고 있구요..
클릭을 해보면 이 부하에 사용된 쿼리까지 볼 수 있습니다.
어짜피 화면은 임팩트용이고
자세히 천천히 보기 위해서는
아래로 스크롤 해보면
이 타이밍에 추출된전체 쿼리 각각의 부하 정도를
볼 수 있죠..
-- 프로젝트를 lowy personal로 변경
-- Automation 클릭
그리고 현재 각각 서버에 설정되어서
돌고 있는 작업들의 리스트를 볼 수 있구요.
등록, 삭제등도 이제 추가해야죠..
기존 버전에는 전부 사용 가능합니다.
-- KVS factor일람 클릭
그리고
각각의 서버마다 최신KVS데이터나
KVS의 이력을 추적할 수도 있구요..
매일 작업할 시간이 몇 시간 안되어서
이제 며칠 정도 한 분량이라 이 정도인데요.
가장 시간이 많이 들어갈 줄 알았던
3D구현이 되어버렸으니
나머진 노가다로 바이브코딩을 하면 됩니다.
개발자 분들이라면 여기서 의문이 있겠죠.
API는 어떻게 된거냐?
DB는 어떻게 연결하냐?
등등요..
물론 많은 분들이 DB를 직접 연결했으리라
생각하시겠지만,
전 웹서버나 client에선 DB를 절대
호출하면 안된다는 개발논리를 가지고 있습니다.
보안에 취약해지 잖아요..
그러니 API공통 규약을 만들고
API서버를 운영하고 있죠.
-- azure faw보여줌
Azure의 Funcation App이란 것입니다.
여기에 딱 한 페이지 짜리 API를 만들었구요.
물론! 이것 조자 바이브 코딩입니다.
그리고 API의 표준화를 위해
DB에서 Procedure를 만들면
자동으로 매핑하도록 만들었습니다.
그러고나니
Procedure에서 모든 계산이나 처리를 하기만 하면
프론트나 API는 아주 간단해져 버리는 거죠.
로그인 판정에서부터
현재 세션의 유효성 검사,
데이터의 조건에 따른 INSERT또는 실패 코드를
리턴하기도하고..
그러면 그 리턴은 전부 프론트에서
코드와 메시지를 보고 판단하는 것 뿐입니다.
이런식으로 만들면
쿼리 인젝션은 기본적으로 불가능하구요..
Cookie등을 조작해서 들어올 수는 있지만,
정상 데이터를 알고 있다는 전제하에
들어오는거라서 accesstoken을 굳이
사용자의 PC에서 빼내가서 조작할 정도로
PC가 거덜났다면
굳이 giip에 그 유저 계정으로 엑세스 하는 것 보다
그냥 그 유저PC에 있는 보안 계정으로
직접 서버 해킹하면 되는거죠..
즉, 사용자의 PC가 안전하다면
충분히 안전하도록 만들어져 있구요..
또 재밌는건
요즘 copilot에서는
뭔가 요청하면
관련으로 추가 보안 적용 사항등을 제안하더라구요.
그래서 프론트는 추천하는 보안을 다 때려 넣어달라면
알아서 때려 넣습니다.
그러다가 충돌나는건 ai가 해결 못해주기 때문에
언제든 돌아갈 수 있게 해야하구요..
혹시
여기까지 보신 분 들 중에
아직 바이브코딩은 아냐..
라고 생각하시는 분들은
제 채널에서는 별로 건져가실 건 없으리라 봅니다.
혹시 바이브코딩으로 뭔가 만들어보고자 하는
아이디어가 있다면
같이 만들어가는 시간을 가져보면 어떨까 합니다.
.jpg)
댓글
댓글 쓰기