ai 로 백엔드 개발이 어려운 이유 정보
ai 로 백엔드 개발이 어려운 이유
본문
이것 하나 가지고 쉽다 어렵다를 판단하는 것은 무리가 있지만 어제 이런 경우가 있었습니다.
https 사용시 nodejs 에서 쿠키를 저장할때
이런 방식으로
secure: true,
sameSite: 'none' 으로 설정하라고 나오더라구요.
cookie: {
httpOnly: true,
secure: process.env.NODE_ENV === 'production',
sameSite: process.env.NODE_ENV === 'production' ? 'none' : 'lax',
그래서 위와 같은 방식으로 설정하고 지지고 볶고 하기를 계속 반복 ... ㅠㅠ
아무래도 해결이 안되는거에요.
설정을 수십번을 바꾸어 가면서 ChatGPT, Grok3, Gemini, Claude 등 자주 사용하는 AI에 소스 코드 전체를 놓고 localhsot 에서는 세션이 유지 되는데 왜 https 에서는 세션이 풀리냐에 대해 프롬프트를 작성해서 반나절을 물어보았는데 다들 유사한 답변을 주더라구요.
그런던 참에 ChatGPT 에서
app.use((req, res, next) => {
console.log('Is HTTPS?', req.secure); // true여야 함
next();
});
이런 코드를 알려 주더라구요.
이게 무슨 X소리야.
브라우저 주소에서 https 로 접속을 하고 있는데 HTTPS 인지 물어보라고?
다른 방법이 없으니 안해볼수도 없고... 나원참...
그랬는데 글쎄 결과가 ... Is HTTPS? false 가 나오는겁니다.
와~ 럴수 럴수 이럴수가...
https 설정은 Let's Encrypt 를 이용해서 설정을 한거거든요.
certbot --apache 로 생성한 결과물이 아래와 같았단 말이죠.
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName xxx.gnuboard.com
ServerAdmin webmaster@localhost
ProxyPreserveHost On
# 일반 HTTP 프록시
ProxyPass / http://localhost:3000/
ProxyPassReverse / http://localhost:3000/
# WebSocket 프록시
RewriteEngine On
RewriteCond %{HTTP:Upgrade} =websocket [NC]
RewriteCond %{HTTP:Connection} upgrade [NC]
RewriteRule ^/(.*) ws://localhost:4400/$1 [P,L]
ErrorLog ${APACHE_LOG_DIR}/se.gnuboard.com-error.log
CustomLog ${APACHE_LOG_DIR}/se.gnuboard.com-access.log combined
SSLCertificateFile /etc/letsencrypt/live/xxx.gnuboard.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/xxx.gnuboard.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>
~
그랬는데 여기에
# Express가 HTTPS 요청으로 인식하도록
RequestHeader set X-Forwarded-Proto "https"
RequestHeader set X-Forwarded-Ssl on
이런 코드를 추가하라는 겁니다.
짜잔~
해결은 됐습니다
그래서 한번 곰곰히 생각을 해봤죠.
앞으로 AI를 활용한 백엔드의 개발 방향은 어떻게 될것이냐?
단독 서버를 이용한 개발은 어려울 것이라는 생각이 들구요.
아마도 @똥싼너구리 님의 생각과 같이 백엔드는 API 를 제공하는 서비스를 주로 이용하지 않겠나 하는 생각이 듭니다.
AI 가 프론트는 기가 막히게 해준다고 하더라도... 회원가입, 로그인 같은 서비스는 API 를 이용하는 것이죠.
아마도 이런 방식이 대세가 될거라는 생각이 듭니다.
백엔드는 개발하면서 드는 생각이지만 변수가 너무 많네요.
AI도 쉽지 않을거란 생각입니다. 정형화된 서비스만 나오겠죠.
5
댓글 11개
firebase, supabase 같은거 만드시나요?
gnubase 고고

@ifelse 그렇지는 않습니다
생각은 있지만 그리 쉬운일도 아니어서요 ㅎ
AI 없었다면 백엔드개발을 시도조차 못했을텐데, ai에 물어 좌충우돌하면 백엔드 개발을 할 수있는 것만해도 대단하다고 생각합니다

@김철용 어떤 문제에 봉착했을때 해결 능력이 없다면 ai를 통한 개발이 어렵겠다는 내용입니다 ㅎ

소중한 경험담 감사드립니다

@수평선1203 별 말씀을요 ㅎ

이제는 적어 놓으신 서버 설정 부분은
AWS 나 기타 다른 클라우드에서 기본세팅을 다 해서 제공해 주고 있습니다.
말단에 붙어 있는 기능만 python/nodejs 등으로 개발하면 되는 구조 있습니다.
AI를 통해서는 Function 만 개발하면 되는 형태죠
대신 이런 MSA 구조로 가게 되면 가장 문제가 되는 구간이 인증 구간입니다.
단독서버로 만들면 세션등으로 간단하게 인증을 구현 가능하지만
MSA로 만들면 세션을 담당하는 스토리지를 따로 두고
API 호출시 인증이 된 사용자 인지 아닌지 구분을 해야하기 때문에
이 인증 프로세스를 어떻게 할지 많은 고민을 해야 하더라구요
모든 구간에 인증이 들어가기 때문에 인증 또한 빨라야 합니다.

@똥싼너구리 아마도 정형화된 틀이 나와 있거나, 쏟아지지 않을까 생각했습니다.
그럼에도 불구하고 변수가 생기는 경우를 예로 든건데요.
불현듯 백엔드의 경우에는 프론트엔드 보다는 쉽지 않겠다는 생각이 들었습니다.
앞으로 좋은 예시들이 많이 나오겠지요.

리자님 같은 분들이 한 수 한 수 ai를 가르치시는거 같군요

@쪼각조각 제가요? 지나가다 얻어 걸린 일이죠 ㅎ

글 읽는 재미가 솔솔 합니다.