묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결쉽게 시작하는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
Vagrant 도 에러, OVA도 에러... 실습환경을 만드는게 너무 힘들어요~~~~~!!!!!!
Vagrant 도 에러, OVA도 에러... 실습환경을 만드는게 너무 힘들어요~~~~~!!!!!!
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
캐글 [t1-39 퇴근후딴짓 교육 분석] 7번 문제 질문
안녕하세요. 늦은 시간까지 공부하다가 질문이 생겨 문의 드립니다.. 시간이 시간인지라 시험 전까지 질문에 답변이 없으시면 어쩔 수 없겠죠 ㅠㅠ캐글 문제를 풀다가 상위 20% 사용자 또는 하위 15% 사용자 필터링 하는 과정의 풀이 방법에 대해 질문 드립니다.저는 상위 20%의 데이터 추출할 때 특정 컬럼을 기준으로 내림차순 sort를 진행하여 인덱싱으로 추출하였는데 강사님께서는 quantile(0.8) 함수로 데이터를 추출하셨더라구요답이 다른데.. 제 풀이 방법에 대해 어디에 오류가 있는지 잘 모르겠습니다ㅜㅜ상위 N% 데이터 추출 시에 제 풀이처럼 풀 수 없나요? #본인의 풀이 top20 = df.sort_values('학습 효율 지수', ascending=False).reset_index(drop=True) end = int(len(top20)*0.2) df1 = top20[:end] result7 = df1['총 결제 금액'].mean() print("result7:", int(result7)) #답 : 127125 #강사님의 풀이 top_20_cutoff = df['학습 효율 지수'].quantile(0.8) top_20_df = df[df['학습 효율 지수'] >= top_20_cutoff] result7=top_20_df['총 결제 금액'].mean() print("result7:", int(result7)) #답 : 123304
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 제출이 잘 되었는지 확인하는 방법있나요?
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요 마지막에 result = pd.DataFrame({"pred":pred})result.to_csv("result.csv", index=False)이후에 제출하고나서 제출이 잘 되었는지 따로 확인하는 방법은 없나요?pred.shape,, pd.read_csv("result.csv") 로 데이터확인하는거말고.. 제출이 잘 되었는지 확인..?
-
미해결죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.
2장. 작전2: 분산 서버 로그 처형 작전 (시스템에 의존적인) SystemCommandTasklet 관련 질문
안녕하십니까 형님!2강 작전2 : 분산 서버 로그 처형 작전 관련해서, 실무적으로 어떠한 방향으로 접근하는 것이 좋을지 의문이 생겨서 질문 드려봅니다!제가 윈도우 환경에서 실행하다보니, 자료에 기술된 cli를 윈도우 환경으로 바꾸는데 많은 비용을 소모하였습다.특히 이번 내용의 경우,단순 개행문자 및 OS간 인식문제를 넘어서, 명령어를 아예 윈도우 환경에 맞게 변경을 해야한다는 점에서 다소 힘이 많이 들었던 것 같습니다.뿐만 아니라, 윈도우 cmd 환경에서의 실행을 고려해서 cmd -c의 명령어를 추가해준다든지, 리눅스의 mkdir -p가 먹히지 않으므로 mkdir를 &&로 이어서 실행하게끔 한다든지..(이러다보니 collected_logs 폴더도 최초부터 존재하지 않아야 정상 실행이 가능한 환경적 제약사항까지 고려해야 하였습니다) 전체적으로 환경의 차이를 많이 느끼고 그만큼의 비용도 일전보다는 훨씬 많이 소모된 느낌이 있었던 내용이었습니다. //-p 옵션은 윈도우에서 안먹힘..따라서 collected_logs라는 디렉토리 생성(mkdir)은 처음부터 존재하지 않아야 한다. //SystemCommandTasklet -> 반드시 cli 명령어 작성 필요 @Bean @StepScope public SystemCommadTasklet mkdirTasklet( @Value("#{jobParameters['date']}") String date) throws IOException { SystemCommandTasklet tasklet = new SystemCommandTasklet(); // //tasklet.setWorkingDirectory(System.getProperty("user.home")); //실행환경은 batch 명령어 작성환경에 상관없이 무조건 cmd //경로직접주임은 반드시 백슬래쉬 tasklet.setWorkingDirectory("C:\\Users\\gyrbs\\OneDrive\\Desktop"); String collectedLogsPath = "collected_logs\\" + date; String processedLogsPath = "processed_logs\\" + date; //String collectedLogsPath = String.format("collected_logs\\%s", date); //String processedLogsPath = String.format("processed_logs\\%s", date); String command = String.format("mkdir %s && mkdir %s", collectedLogsPath, processedLogsPath); // //tasklet.setCommand("mkdir", "-p", collectedLogsPath, processedLogsPath); //tasklet.setCommand("cmd", "/c", "mkdir", collectedLogsPath); tasklet.setCommand("cmd", "/c", command); tasklet.setTimeout(3000); // 3초 타임아웃 return tasklet; }@Bean @StepScope public SystemCommandTasklet scpTasklet( @Value("#{jobParameters['date']}") String date) { SystemCommandTasklet tasklet = new SystemCommandTasklet(); //tasklet.setWorkingDirectory(System.getProperty("user.home")); String rootDirectory = "C:\\Users\\gyrbs\\OneDrive\\Desktop"; tasklet.setWorkingDirectory(rootDirectory); String collectedLogsPath = String.format("collected_logs\\%s", date); StringJoiner commandBuilder = new StringJoiner(" && "); for (String host : List.of("localhost", "loan", "pay")) { //String command = String.format("scp %s:~\\logs\\%s.log .%s\\%s.log", // host, date, processedLogsPath, host); String src = String.format("logs\\%s.log", date); String dest = String.format("%s\\%s.log", collectedLogsPath, host); commandBuilder.add(String.format("copy %s %s", src, dest)); } //String src = String.format("logs\\%s.log", date); //String dest = String.format("%s\\%s.log", collectedLogsPath, "localhost"); tasklet.setCommand("cmd", "/c", commandBuilder.toString()); tasklet.setTimeout(10000); //10초 타임아웃 return tasklet; } 이런 느낀점이 많다보니, 이번 내용을 진행하면서, SystemCommandTasklet을 실무적으로 어떻게 활용하면 좋을지 의문점이 생겼습니다. 첫번째는, 단순히 배치를 실행하는 환경이 리눅스라면, 리눅스 환경은 어차피 한동안 안고쳐질거니까, 윈도우라면 그것대로 윈도우 배치 환경은 거의 변경이 없겠지?라는 생각으로 단순히 SystemCommandTasklet으로 구성해야겠네!라고 생각하는게 맞는지 일단 의문이 들었습니다. 배치라는게 이러한 환경적 독립성을 유지하지 않고, 배치실행환경에 맞게 일단 구성하는게 맞을까요? 물론 이 내용이 SystemCommandTasklet을 배우는데 중점이 있을 수 있겠지만, 이번에 꽤 많은 소모를 느껴서 질문드리게 되었습니다! 두번째로, SystemCommandTasklet이 아닌 Tasklet을 사용하여 아래와 같이 시스템에 의존하지 않고 모든 시스템에 적용이 가능한 Java API버전으로 구성하였는데, 빌드 성공하긴 했습니다. //-p 옵션은 윈도우에서 안먹힘..따라서 collected_logs라는 디렉토리 생성(mkdir)은 처음부터 존재하지 않아야 한다. //tasklet -> return (con, ch) @Bean @StepScope public Tasklet mkdirTasklet( @Value("#{jobParameters['date']}") String date) throws IOException { return ((contribution, chunkContext) -> { Path desktop = Paths.get("C:\\Users\\gyrbs\\OneDrive\\Desktop"); Path collected = desktop.resolve("collected_logs").resolve(date); Path processed = desktop.resolve("processed_logs").resolve(date); Files.createDirectories(collected); Files.createDirectories(processed); return RepeatStatus.FINISHED; }); } 이렇게 처음부터 시스템에 상관없는(상관없이 구동이 가능한) 로직을 구현하는게 유지보수적으로도 맞지 않을까..하는 생각이 들었습니다. 형님께서는 실무적으로 이를 적용할때 어떠한 방향으로 구성하시는지, 제가 지금 의문이 드는게 맞는것인지.. 궁금해서 질문드려봅니다!(아니면 만약 SystemCommandTasklet과 같이 시스템에 의존적인 구현이 필요하다면, 이 경우는 환경적으로 바뀔 가능성이 현저히 적다던가..이러한 특수적인 상황적 조건이 있을때 사용하실까요?) 제약사항이 생각보다 커져서 배꼽이 더 커지는 상황이었기에, 형님께 여쭤보고자 하였습니다! 감사합니다!
-
해결됨제미니의 개발실무 - 커머스 백엔드 기본편
타임베이스 정산 배치 실패 시 처리에 대해
안녕하세요 시간날 때 틈틈히 보다가 어느새 막바지에 다다랐네요! 타임베이스 정산 배치가 실패했을 때 궁금한점이 있습니다. 우선 현재는 시간 대별로 오전 1시, 4시, 9시로 배치가 나눠져있는데이 상황에서 강의에서도 설명하셨듯이 오전 1시 배치가 오전 4시 30분에 끝나서 오전 4시의 배치가 에러가 뱉는 상황에 대해 문제를 해결하는 방법들이 궁금합니다! 우선 제가 생각한 방법들은 다음과 같습니다.1. 이벤트 기반 이벤트 기반으로 각 단계가 완료되면 바로 다름 배치 단계로 넘어가는 방식입니다.하지만 이 방법은 이미 기존 인프라와 코드를 변경해야하고 정산 시간이 고정 된다는 요구사항이 있다고도 보여 현재 요구사항에는 적절하진 않은 것 같습니다. 2. 각 배치마다 전 단계 완료 여부 상태를 확인오전 4시, 오전 9시 배치가 이전 단계의 배치 중 실패한 배치 이력이 있는지 확인하는 방법입니다.현재 스케줄링 방식으로는 이를 위해 별도의 배치 기록 테이블을 만들어서 배치 이력 관리를 추가합니다.오전 4시, 오전 9시에 해당 정산 날짜에 대해 실패한 이전 배치 단계 이력이 있다면 성공할 때 까지 N번 재시도 합니다.정산의 즉시성이 필요하다면 N번 재시도 후 실패했을 때 해당 배치 단계를 에러 상태로 처리하고,에러 로깅과 알림을 전송합니다.다음 배치 단계는 정산 날짜에 해당하는 이전 배치 이력이 에러 상태로 남아 있다면 실행하지 않습니다. 현재 요구사항에서는 수동으로 처리할 부분은 최대한 제거하는 2번 방식을 사용할 수 있을 것 같습니다.제가 배치 관리에 대해 잘 이해하고 있는지 모르겠어서 생각한 방법에 대해서 재민님은 어떻게 생각하시는지 궁금합니다.! 항상 잘 보고 있습니다 감사합니다!
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
f_oneway를 무조건 사용해야 하는 경우가 있을까요?
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요저는 ols와 anova_lm으로 일원분산분석을 하는데 f_oneway를 사용하는 예제가 있었던 걸로 기억합니다. 혹시 f_oneway를 사용해야만 하는 경우가 있는지 문의 드립니다.
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
문제3 368.5가 나오는 이유
사실 질문은 아닙니다 ㅎㅎ저도 처음에 왜 자꾸 368.5가 나오나했는데,주어진 전체 데이터셋이 아니라 문제 2번에서 80프로의 데이터셋으로 문제 3번을 풀면 368.5가 나오고, 제대로 전체 데이터셋으로 풀면 473.5가 잘 나오네요 ㅎㅎㅎ
-
미해결한 입 크기로 잘라먹는 실전 프로젝트 - SNS 편
prettier
강의 내용대로 하였는데 저장 할때는 정렬이 되지 않고터미널에 npx prettier --write src/App.tsx 를 입력 하여야 작동하는데 이유가 뭘까요...
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업3 코딩
어떤 문제는from sicipy.stats import chisquarechisquare(ob,ex)로 풀었던데,,, 밑에처럼 ,, 그냥 다른 단일표본검정 불러올때처럼 from scipy import stats만 즉, 다음과 같이from scipy import statsstats.chisquare(ob,ex) from scipy import statsstats.chi2_contingency(ob) chi2 까지 저렇게 써도되는거 맞을까요?감사합니다
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
오류 이해안됌
-
미해결Do it! 알고리즘 코딩테스트 with JAVA
백준 1940 주몽의 명령 시간복잡도
해당 문제 시간복잡도 O(NlogN)이 맞나요?sort 함수 이용 O(NlogN)투포인터 탐색 O(N) 이니까요
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
@JoinColumn을 쓰는 경우와 안쓰는 경우의 차이
@JoinColumn을 명시하는 경우가 있고 그렇지 않은 경우가 있는데 무슨 차이인가요?단순히 아래처럼 컬럼 명을 명시해주기 위해서 @JoinColumn이 사용되는 걸까요?@JoinColumn({ name: 'author_id' })
-
미해결일잘러의 구글 스프레드시트 활용법
실습파일
공유해주신 https://abit.ly/mqOqao을 입력했는데 오류가 발생하고 열리지 않아요
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
이렇게 풀어도 괜찮을까요?
이렇게 하나요..?이정도 차이나도 40점 받을 ㅜㅅ 있을가요??..r교차검증을 안 하고 (Advanced)안 했는데ㅜㅜ
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
기출10회 작업형3 2-1
기출10회 작업형3 2-1 문제에서 (모든 독립변수를 포함한 회귀모형을 적합하시오. 이때 절편을 제외한 회귀계수의 합을 구하시오.) 라는 문제가 있는데, summary로 표현된 회귀계수를 합하면 0.253의 값이 나오는데, 실제 함수를 사용한 회귀계수의 합은 0.254가 나와서 0.001의 오차가 발생하는데 이 경우에도 summary로 계산한 값을 적어 제출해도 오답으로 되지 않는지 궁금합니다!
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
보험가입확률
기출3회차 작업형2에서평가지표가 안내되지 않았는데그냥 보험가입"확률"이라서 roc_auc로 평가하고 분류로 보는건가요? 감사합니다
-
해결됨카카오 코테 6주 합격! 실전 파이썬 코딩테스트
코테가 1주일 남았을 때의 학습 우선순위
안녕하세요, 헤이밥님! 강의 잘 듣고 있습니다!다름이 아니라 제가 다음 주 토요일에 코딩테스트 시험이 있는데요, 짧은 기간 내에 핵심만 공부를 하려고 할 때 강의 목차 기준으로 어떻게 학습하는 것이 효율적일지 여쭤봅니다! 당연히 모든 강의를 순차적으로 듣는 것이 가장 효율적인 방법이지만 현실적으로 시간이 부족하다고 생각해서요! 참고로 코딩테스트 기업은 네이버입니다! 감사합니다!
-
미해결Readable Code: 읽기 좋은 코드를 작성하는 사고법
만약 보드를 이용한 게임의 종류가 더 다양해진다면 어떻게 될 수 있을지에 대한 고민
안녕하세요, 열심히 강의를 수강 중인 4년차 백엔드 개발자입니다.먼저 이렇게 퀄리티 높은 강의를 제공해주셔서 감사드립니다!저는 4년차임에도 아직 리팩토링할 때 '관심사의 분리' , '같은 관심사끼리의 응집'에 대한 느낌을 체득하지 못해서 듣고 있습니다.문득 SRP까지 강의를 들은 시점에 GameBoard를 보고 'GameBoard가 셀로 나눠진 보드판'을 의미하는 것이라면 현재 GameBoard는 '지뢰찾기'에 한정된 느낌인데, 나중에 체스, 오목, 장기와 같은 보드형 게임을 추가한다면 어떻게 바꿔야 할까를 고민해보게 되었습니다.질문을 올리는 이 시점에는 GameBoard를 더 포괄적인 개념의 보드판으로 두고 상속을 하는 구조로 바꾸고, open()이나 isLandMineCell()과 같이 '지뢰찾기'에 의존적인 역할은 "MineSweeperGameBoard 같은 자식에서 구현해야 하나?" 하는 생각이 들게 되어서요!좀 두서없는 질문이고 엉뚱할 수 있지만 공유자님이라면 게임의 종류가 다양해진다면 어떤 고민을 시작으로 변경해 나가시는지, 어떤 부분을 먼저 생각해보는 것이 좋을지 궁금합니다.(사고의 흐름..?) 좋은 강의 감사드리며, 앞으로도 더 좋은 강의 부탁드리겠습니다!감사합니다 😃
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
cicd 서버 올린 후 기존 마스터 노드 기동 시 네트워크 에러
포트포워딩 하는 포트가 겹쳐서 그런지 아래 에러가 나오면서 기존 마스터 노드 vm이 기동되지 않습니다.NAT#0: configuration error: failed to set up redirection of 2222 to 22. Probably a conflict with existing services or other rules (VERR_NAT_REDIR_SETUP). 저의 경우는 vm 우클릭 > 설정 > 네트워크 > 어댑터1 > 포트 포워딩(P) > 호스트 포트를 2223으로 변경했습니다.--> 이후에 이것저것 확인하다 보니 그냥 포트 포워딩을 지워도 될 것 같습니다.TL;DR포트 포워딩은 하지 않아도 된다.단 NAT은 켜져있어야 한다(아니면 설정을 많이 바꿔야해서 그렇게까지? 하고 싶진 않네요... 하지만 폐쇄망에서 사용하게 될 경우를 고려한다면 해보는 것도 괜찮을 수 있을것도 같습니다.) 아래는 추가적으로 생각해본 사항이고 수업이랑?은 크게 관련 없고 수업 환경 세팅과 관련된 질문입니다.. 혹시 맞는지 확인차 질문드립니다. 포트 포워딩을 해야하는 이유가 있을까요? 호스트 전용 어댑터로 이미 네트워크가 구축이 되어있고 NAT은 외부에서 자료를 받는 용도로만 사용하고 따로 외부 호스트가 접근할 일이 없을것 같은데 굳이 포트 포워딩 설정이 들어가야하는 걸까요??(실제로 의문이 들어 포트포워딩 내용을 모두 삭제했으며 VM 기동 자체에는 문제가 없습니다.)이미 다운로드 할 것을 다 한 서버는 NAT이 없어도 상관 없지 않을까? 라는 생각에 NAT 네트워크를 끄고 기동해 보았는데 몇몇 파드들이 기동에 문제가 생기더군요(dashboard, grafana, etc...) 이미 이미지를 다운로드해서 파드 생성시에도 캐시된 이미지를 사용하면 문제가 없을 거라고 생각했고 실제로 아래 명령으로 확인 시 캐시된 이미지들이 있었음을 확인했습니다. 하지만 파드 기동에는 문제가 생기더군요...sudo crictl images2번의 내용을 좀 더 확실하게 확인해보고 싶어 여러가지 내용들을 확인하던 중 coredns가 /etc/resolv.conf 의 내용을 참고하는것을 확인했고 여기에 nameserver가 10.0.2.3 이렇게 NAT의 IP 대역대로 설정 되어 있음을 확인했습니다. 더 깊이 확인하는건 네트워크 관련 영역인것 같아 여기서 마치며 결과는 coredns같은 여러 kube-system이나 calico 관련 파드들이 NAT 네트워크 연결 설정이 되어있고 실질적으로 해당 네트워크를 사용하지 않더라도 연결을 시도하다가 파드 기동에서 문제가 생겼음을 확인했습니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
체험환경에서 답안제출하려고 나가면 코드가 다 사라져요
체험환경에서,답안제출하려고 문제풀이 창을 나갔다가 다시 들어오면만들어놨던 코드들이 다 없어져 있어요.. 저장버튼도 안되는것 같은데코드들 사라지는 것없이 창을 이동할 수 있는 방법이 없을ㄲㅏ요?