안녕하세요. 재밌고 좋은 강의를 해주셔서 감사합니다. 아직 70%정도 보고 있지만 궁금하게 있습니다. 현재 백엔드 개발자로 근무하고 있는데 저희 환경은 aws의 ec2에 직접 올려 백엔드 서버(spring-boot)를 운영하고 있습니다. 점차 쿠버네티스 환경으로 변경하려고 인프라담당자들과 백엔드 개발자들이 스터디 및 환경 구축하고 있는데요. 만약 실무에서 쿠버네티스 환경으로 바뀐다면 개발자들의 로컬 개발 환경은 어떻게 하시는지 궁금합니다. 대부분 자바, 스프링 환경이면 인텔리제이등으로 개발 후 테스트를 해볼텐데 컨테이너에서 다른 개발자들과 다 같은 환경에서 테스트를 해보고 빌드해보고 해야 하지 않는가 싶어서요. 실무에선 어떤식으로 개발자들이 개발하는지 개발, 테스트 , 운영 배포 까지 플로우가 어떻게 되는지 궁금합니다.
드리는 말씀 안녕하세요, 김판다 강사입니다. 바쁜 일상 속에서도 학습을 지속하는 여러분은 정말 대단합니다. 학습에 진지하게 임하면 자연스럽게 궁금증이 생기고, 더 깊이 알고 싶은 순간이 올 것입니다. 이는 학습에 대한 진정성을 보여주는 방증이기도 합니다. 다만, 현재 코딩 입문자가 가장 빠르고 효율적으로 코딩을 정복하는 방법은 생성형 AI를 습관화 하는 것입니다. 코딩 관련 의문은 대부분 ChatGPT나 Gemini에 단지 질문하는 것만으로 해결됩니다. 의문이 생긴 지금이 ChatGPT 활용을 훈련할 기회 입니다. 귀찮음이나 두려움 등을 이유로 사용을 망설이지 마세요. 지금 가진 의문을 생성형 AI에 질문하는 용기 있는 시도가 여러분의 코딩 미래를 바꿉니다. 저는 여러분이 코딩과 생성형 AI 모두 능숙하게 다룰 수 있을 것이라 믿습니다! ChatGPT URL 👉 https://chatgpt.com 구글 Gemini URL 👉 https://gemini.google.com 학습 관련 질문 을 남겨주세요! 자주 묻는 질문 을 참고하시고, 유사한 질문이 있는지 검색해 보시면 여러분의 시간을 아낄 수 있어요! 인프런 서비스 운영 관련 문의는 1:1 문의하기 를 이용해 주세요.
1. Data Drift 발생 시에 머신러닝 모델이 동작하지 않게 될 것이라는 것은 서비스는 돌아가지만, 머신러닝의 모델이 원래 기대했던 성능을 내지 못할 것을 의미하는 것일까요? 예를 들어 추천 모델을 돌리고 있다면, 추천이 제대로 되지 않고 엉뚱한 것을 추천한다는 것을 의미하는 것인가요? 2. 주기적으로 데이터의 분포를 점검하는 필요가 있다면 어느 정도 주기여야 할까요? 3. 데이터의 분포가 어느 정도로 변하게 되면 이상 신호로 받아 들이게 되는 것인가요? 평균의 변화가 아닌 분산의 변화만으로도 이상 신호로 보아야 하는 것인지요? (뭔가 더 복잡하면 데이터의 성격에 따라 이러한 분포의 변화에 대해 반응해야 하는 수준이 다 다를 것으로도 느껴지기도 합니다.)
현재 강의에서는 aws 인스턴스 에서 직접 compose.yml을 작성하는데 제가 현재 spring boot 프로젝트 루트 경로에 compose.yml을 구현해뒀어도 프로젝트 빌드시에는 yml이 포함되지 않아서 강의와 같이 인스턴스가 직접 생성해줘야하는 지 궁금합니다. 그리고 나중에 ci/cd를 하게 되면 github Actions같은 CI/CD 도구를 이용해야 yml파일이나 .env이런 파일을 직접 인스턴스에 구현하지 않아도 되는 것이 맞는 지 궁금합니다.
3강 진행 중에 sudo lsof -i:3306 명령어를 사용했는데 ""Sudo가 이 컴퓨터에서 사용하지 않도록 설정되어 있습니다. 사용하도록 설정하려면 으로 이동하세요. Developer Settings page 설정 앱의"" 이렇게 나와서 시작을 못하고 있습니다. 그리고 다른 질문인데 현재 프로젝트를 하고 있는데 db를 mysql을 사용하고 있는 상황이라 만약 실습을 위해서 포트를 끄면 프로젝트할때 영향이 가는지도 궁금합니다.
# 데이터 생성(먼저 실행해 주세요) import pandas as pd import random random.seed(2022) df = pd.DataFrame() for i in range(0, 5): list_box = [] for k in range(0, 200): ran_num = random.randint(1,200) list_box.append(ran_num) df[i+2000] = list_box df = df.T df.to_csv("data.csv", index=True) 이렇게 가장먼저 데이터생성하는 코드가 디폴트값으로 적혀있는데, 실제 빅분기시험에서도 이렇게 첫 스타트를 끊는 부분은 저희가 처음부터 별도로 코딩을 하지않아도되는건가요? 실제 시험에서는 어떻게 진행되는지 궁금하네요... 처음부터 문제 읽자마자 데이터 생성을 하고 시작해야하는건지 아니면 데이터 생성코드가 입력되어있으면 그냥 코드실행바로 누르고 시작하는건지 알려주세요
1. 현재 학습 진도 3-5 스택부분 수강 2. 어려움을 겪는 부분 백준 탑 문제를 강사님께서 구현해주신 코드로 풀어보고 있는데 강사님 코드를 사용하면 시간초과가 나는 것 같습니다. 3. 시도해보신 내용 N = int(input()) tops = list(map(int, input().split())) def top_stack(N): result = [0] * N while tops: cur_top = tops.pop() for i in range(len(tops) - 1, -1, -1): if cur_top <= tops[i]: result[len(tops)] = i + 1 break print(' '.join(map(str,result))) top_stack(N) 강사님께서 구현해주신 코드에 입력값을 사용자가 지정하게만 바꿔서 백준문제를 풀어보려고 했는데, 시간초과가 납니다. 제가 혹시 코드에 실수한 부분이 있는지 궁금합니다.
강의중 파드가 5개인데..처음에 2개가 생성되는건 maxSurge 25% 5개 파드의 25% 여서 2개인건가요? 그런다음에 왜 maxUnavailable 25%에 대해서는 2개 삭제가 아닌 1개만 삭제되는지도 이해가 안되구요 같은 25%인데요... 그럼 그상태에서는 4개만 서비스가 되는건가요? 아니면 추가로 생성된 2개도 서비스가 같이 되고있는건가요? 그럼 총 6개가 서비스되고 있는상태에서 또 몇개가 생성되고 몇개가 죽나요? 이게 일단 기동시간이 같다는 전제하에 블루그린방식과 같다는게 좀 이해가 안갑니다. 새로 올라온 서버는 서비스가 안되는건가요?
중요하다고 생각해서 여러번 보는데도 api입장에서는 이해가 잘 안되네요..제가 생각한 결론은 liveniessProbe는 pod재기동을 위한 api 상태체크같고 readinessProbe는 service에 pod를 연결시킬거냐 말거냐를 결정하는거 같은데... 이걸 호출하는 api 를 봤을땐 liveness와 readiness의 api를 실무에서 어떻게 각각 구별해서 만들수가 있을까 싶은거에요... 또한 app초기화 user초기화로 구분했던것도 실은 서버가 올라옴과 동시에 거의 강사님이 말씀하신 app초기화와 user초기화는 거의 순식간에 끝나는거 아닌지요? 막말로 톰캣서버올라오는 순간 모든 api들은 정상호출되는거 아닌지요..그리고 그렇게 user초기화를 위한 과정이 서버 기동시 그렇게 오래 올라올까 싶기도 하고..만약 실제로 그렇다면 굳이 startupProbe가 왜 필요할까 싶기도 해요...어차피 startupProbe가 성공하던 말던 중요한건 readiness에서 서비스연결할지 여부를 결정할거고 liveness에서 재기동까지 결정할텐데..굳이 startupProbe까지 넣을필요있는지.....설명은 이해가 되지만 실제로 의미가 있을까 하는 생각뿐이에요..
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 코테 적용 문제들은 교재에 따로 없이 강의 아래의 리트코드 주소를 통해서 확인하고 푸는 거 맞나요?? 영어로 되어있어서 질문 올려봅니다.