[4주 완독 챌린지 / 영상 강의] 네이버 개발자 출신이 들려주는 AI 시대 개발자 취업 전략
서버 하나씩 배포하는 것이 점진적 배포가 맞을까요? 맞다면 몇 가지 궁금한 것이 있습니다! 도메인의 새로운 정책을 점진적으로 배포해 적용하는 경우 서버마다 정책의 차이가 생길 것 같은데 이런 상황에서 일관성을 어떻게 유지하는지 궁금합니다. 데이터베이스 스키마 변경이 있는 경우에는 쿼리나 로직 자체가 크게 달라질 것으로 예상되는데 이전 버전과 새로운 버전의 서버가 동시에 동작하는 상황에서 어떤 방식으로 호환성을 맞추는 지 궁금합니다.
기초부터 배우는 Next YTMusic 클론 코딩 (with next.js 14, UI 마스터)
안녕하세요. 우선 소개부터 드리자면 저는 FE 개발자나 그쪽을 지망하는 것은 아니고 백엔드를 업으로 하고 있고 집에서 홈서버에 제 개인 서비스를 배포할 목적으로 해당 강의를 수강하게 되었습니다. 사실 제가 프론트의 세계는 잘 몰라서 질문 드립니다. 혹시 페이지 로드 속도 & 검색 엔진 노출도가 배포 플랫폼에 영향을 받을까요? 다른 말로는, versel 을 통해 프론트를 배포하는 것이 배포가 쉬운 것 이외에 서비스의 퀄리티에도 도움을 주는 장점이 있을까요 ?
현재 spring boot 프로젝트를 GCP를 통해 배포하는 중인데요, rds 만들어서 연동도 잘 해두었고 ssh로 들어갔을때 mysql 연동도 잘 됩니다. 근데 jar 파일로 서버를 실행하려고 할 때 이런 에러가 나더라구요ㅜㅜ 찾아보니까 mysql 연동 문제라고 하던데 아무리 봐도 모르겠습니다... 제발 도와주세요ㅜㅜㅜ
프로젝트를 하다가 next를 배포해서 nginx에 물리려고 했는데 index html 을 찾아서 물려줘야 된다고 해서 강의에서 나온 nextConfig 에서 output:'export 를 해주면 index html 이 뜨는건 확인을 하였습니다. 근데 문제는 제가 서버에서의 기능을 많이 썼기 때문에 정적으로 배포가 어려움이 있었습니다. 다른 방법이 있을까요..?
안녕하세요 강사님. 강사님 프론트엔드 강의도 보았고 현재 이 강의를 보며 진행중인 프로젝트 배포 단계에 있습니다! 여기서 몇가지 고민이 있는데, 타임리프 등을 사용해서 서버에서 페이지를 만들어서 주는게 SSR 렌더링 방식으로 알고 있습니다! 그 반대인 CSR은 빈 페이지를 넘겨주고 클라이언트의 요청에 따라 값이 바뀌는 것이라고 학습했습니다. 현재 제 프로젝트는 스프링부트 + HTML + Ajax + RestController 를 이용해서 CSR 렌더링을 목표로 진행을 했는데요. (리액트나 뷰등은 학습 리소스등의 이유로 바닐라JS 를 사요했습니다.) 그 과정에서 사용자가 접속하는 URL과 html을 어떻게 매핑해주지 고민하다, SSR 방식에서 많이 쓰는 타임리프를 사용하여 주소 경로와 html 페이지를 매핑 시켜주는 걸 이용해서 진행했습니다. @Controller public class ViewController { @GetMapping("/") public String home() { return "home"; } @GetMapping("/kakao") public String login() { return "kakao"; } @GetMapping("/join") public String join() { return "member/joinForm"; } @GetMapping("/add") public String addArticle(@RequestParam(name = "type") String articleType, Model model) { model.addAttribute("articleType", articleType); return "article/addArticle"; } } 이런식으로 Controller를 만들어 타임리프 기본 경로(templates 패키지)를 이용하여 그 곳에 html 파일을 넣어주고 html 파일과 경로를 매핑 시켜주는 용도로만 사용을 했습니다. 이러고 강사님의 배포 강의를 보니 약간 제가 짠 방식은 SSR과 CSR이 짬뽕(?)된 느낌을 받았습니다. 아무래도 타임리프를 경로와 html을 매핑해주는 용도로만 사용하더라도 타임리프를 사용하고 있어서 그런 느낌을 받고 있는 것 같습니다. 강의에 나온 방식으로 바꿔서 프론트,백을 따로 배포 해보려고 하니 강의 내용에서 웹상 URL이 저희가 일반적으로 사용하는 경로가 아닌 .html 파일로 주소가 설정이 되는것으로 확인했습니다. 만약 제 코드에서 타임리프를 사용하는 ViewController를 없애고 진행을 한다면 사용자가 실제 사용하는 URL을 html 파일명이 아닌 일반적인 URL로 사용할 수 있을까요? (쿼리 스트링, 패스 파라미터등도 고려하여..) nginx를 사용하면 힌트가 될 것 같다는 느낌을 받았습니다. 아니면 현재 제가 진행한 방식처럼 타임리프를 유지한 채 프론트,백엔드를 따로 배포해도 문제가 없을지.. 결국 제가 원하는 방식은 깔끔하게 백/프론트를 분리하여 배포 하는 것인데 강의에서 .html 파일명으로 주소 경로가 지정되는 것을 보고 고민이 되어서 강사님 의견도 궁금하여 질문 남깁니다!
스프링부트 프로젝트 배포를 하고있습니다. yml파일에 rds 관련 설정들 적어주었고 로컬에서도 db연결과 실행에 문제없고 ./gradlew clean build -x test 까지는 빌드가 잘 됩니다. 근데 /build/libs 가서 생성된 jar 파일을 실행하기만 하면 db연결 에러가 뜨는데 이 부분에 대해 아시는 분 계신가요..? *************************** APPLICATION FAILED TO START *************************** Description: Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. Reason: Failed to determine a suitable driver class Action: Consider the following: If you want an embedded database (H2, HSQL or Derby), please put it on the classpath. If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).
git에서 작은 토이 프로젝트를 배포했는데 이런 경고문이 나옵니다. 세부정보로 들어 갈 수는 있는데 너무 거슬려요. 저런 경고문을 없앨 수는 없나요? 프로젝트를 배포할 때마다 저런게 뜰 것 같아서 걱정됩니다. 당연하지만 바이러스나 그런 건 당연히 없구요. 클론코딩으로 만든 사이트입니다.
Next.js로 Google Cloud Platform에 App Engine 서비스 배포를 진행하고 있습니다. 문제는 production ( 실 서비스 )와 development ( 개발용 )으로 나누어서 .env.development, .env.production의 두개의 환경변수를 가지고있습니다. 배포 시 실서비스 에서는 .env.production을 사용하도록 개발용 에서는 .env.development를 사용하도록 설정하려는데 이것저것 만져보아도 production만 사용하는 문제가 발생해버리네요. 현재 프로젝트구조와 설정코드는 이렇습니다. project ├── local └── Dockerfile └── docker-compose.yml ├── resource └── .next └── ... (Next.js 빌드 파일) └── node_modules └── package.json └── dev_app.yaml └── prd_app.yaml └── .env.development └── .env.production └── next.config.js └── ... (기타 Next.js 프로젝트 파일) 여기서 package.json의 script설정은 다음과 같습니다. { dev: "next dev", start: "next start", lint: "next lint", deploy: "npm run build && gcloud app deploy --project='production' -q --appyaml=prd_app.yaml", deploy:dev: "npm run build:dev && gcloud app deploy --project='development' -q --appyaml=dev_app.yaml", build: "dotenv -e .env.production next build", build:dev: "dotenv -e .env.development next build" } next.config.js는 특별히 건드리지 않았습니다. dev_app.yaml, prd_app.yaml파일은 서비스명만 각각 설정해 주었습니다. runtime: nodejs20 # or another supported version service: development 질문 1. 현재 app engine 업로드된 용량, 로직을 보니 빌드파일이 아닌 프로젝트 그대로 들어가는 것 같습니다. 빌드는 환경변수파일도 정상적으로 분기되는데 앱엔진에서 해당문제가 발생하는 것으로보아 혹시 Next.js에서 빌드된 파일로 app engine에 배포할 수 있는지 궁금합니다. 질문 2. 빌드파일만 올릴수 없다 라고 하더라도 프로젝트 그대로 올리면서 환경변수를 분기할 방법이 있는지 궁금합니다. 정말 문서건 블로그건 구글서칭, 깃허브검색, GPT 모두 끈질기게 시도해봤지만 능력부족 탓인지 성공하지 못했습니다.. 능력자분들께서 도움주시면 잊지않겠습니다!!
안녕하세요 백엔드 개발자로 취업을 준비하고 있는 비전공자 취준생입니다. 현재 프로젝트 설계 중인데, 아키텍처에 관한 지식이 많이 부족해 글을 올려봅니다. 저희는 달력 일정 관리 프로젝트를 설계중인데, NestJS를 사용해서 github actions, docker를 통해 무중단 배포를 하고자 합니다. db는 postgreSQL을 사용하고자 하는데요. 여기서 db 대용량 데이터와 트랜잭션에 대한 대비로 멀티 서버 구축이 반드시 필요한지 궁금합니다. 저희가 서버 아키텍처 관련 지식이 많이 부족해서 구글링을 해도 잘 모르겠더라고요. 만약 멀티 서버 구축을 해야한다면 데이터 서버를 따로 분리해야하는지 아니면 다른 방식을 해야하는지 잘 모르겠어서 글을 올려봅니다. 만약 서버를 분리하지 않는다면 이를 대비할 다른 방법이 있을지도 궁금합니다. 읽어주셔서 감사합니다.
현재 프론트하고 백엔드하고 배포를 따로 하려고 하는데 이 배포를 언제까지 유지해야 하는지가 궁금합니다. 포폴에 배포 링크를 담아주고 취업할 때 까지 유지해야 하는지 아니면 배포하고 시연 이미지 첨부한 설명을 포폴에 담고 배포를 종료해도 되는지 어떻게 해야하는지 궁금합니다. 알려주시면 감사하겠습니다 ㅠㅠ (__) 꾸벅
안녕하세요, 강사님. 강의를 듣고 있는 학생입니다. 제가 Next.js를 가지고 개발을 하고 있는데 배포를 할 때, Next.js로만 dockerfile을 작성해서 배포하면 되는 걸까요? 아니면 Vue.js와 같은 SPA 처럼 Nginx를 포함시켜서 dockerfile을 작성하고 각각 컨테이너를 만들고 연결시켜주면 되는 건가요? 제가 이쪽 지식이 부족해서 수업 이외에 다른 것도 여쭤보게 되었는데,, 만약 답변이 가능하시다면 염치불구하고 물어보고 싶습니다 ㅠㅠ 배포 환경은 EC2와 같은 가상컴퓨터환경(클라우드)에서 쿠버네티스를 만들고 그 위에 올릴거 같은데,, 어떤 구조를 참고하면 좋을지 고민이에요.
안녕하세요! 2022년 7월에 수강 중인 학생입니다. 영상을 보고 aws에서 실습을 하고 있는데, api gateway 서비스 자체에서 말씀해주시는 부분들이 통폐합된 경우가 많아서요! 지금까지는 대략적으로 이해하고, 통합된 부분들 파악하면서 실습하고 있는데, 배포기록 부분은 공식문서에서도 찾기가 어렵습니다 ㅜㅜ 혹시 지금 버전의 api gateway에서 배포 기록을 어떻게 보고 계시는 지 알 수 있을까요?
Q1. 강의를 보니, 배포는 벡엔드 쪽에서 담당하는 것같은데요. 그런데, 프론트엔드 면접시에 배포에 관한 이해를 요구하는 이유가 뭔가요?? Q2. 큰 기업같은 경우는 배포만 담당하는 부서가 따로 있다고 들었는데요. 그런게 아니라면, 일반적으로 프론트엔드 개발자가 실무에서 배포를 다루는 경우가 있나요?? Q3. 저는 현재 프론트엔드 취준생인데요. "파이어베이스"나 "헤로쿠" 정도만 사용하고 있습니다. 근데, 많은 곳에서 AWS 사용량이 압도적이다보니, 취업을 위해 AWS 사용법을 필수적으로 알아야할지 여줘보고 싶습니다. Q4. 간혹 프론트엔드 개발자 뽑는다면서, 리엑트 네이티브나 스위프트를 이용한 앱 개발까지 같이할 수 있는 능력을 요구하는 곳이 있는데요. 요즘은 프론트엔드 개발자가 웹 + 앱 개발을 둘다 하는게 당연한 추세인가요??