작업형2 연습문제 질문사항
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 연습문제 "노트북 가격 예측"에서 결측치 처리를 위해 범주형 컬럼에서는 "X"값으로 대체, 수치형 컬럼에서는 -1 값으로 대체하였는데 결측치 처리시 어떤 기준으로 해야하는 지표가 있을까요? 통일성있게 적용하고 싶습니다.
- python
- 머신러닝
- 빅데이터
- pandas
- 빅데이터분석기사
173만명의 커뮤니티!! 함께 토론해봐요.
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 연습문제 "노트북 가격 예측"에서 결측치 처리를 위해 범주형 컬럼에서는 "X"값으로 대체, 수치형 컬럼에서는 -1 값으로 대체하였는데 결측치 처리시 어떤 기준으로 해야하는 지표가 있을까요? 통일성있게 적용하고 싶습니다.
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
에서 for(int i =0 ; i < 3; i++) 여기 질문인데요 i가 3 미만인데 73, 95, 82 를 더하나요? 3이 안되기 때문에 3개를 못더하는 거 아닌가요?
해결됨
한 입 크기로 잘라먹는 Next.js
안녕하세요. 좋은 강의로 Next.JS 수강을 마쳤습니다. 그런데 수업노트에 있는 강의 피드백 폼 링크가 엉뚱한 곳으로 연결 됩니다. https://forms.gle/MhvAagJvttQCtS1f6 링크 주소를 치고 들어가면 제대로 들어 접근하는데.. 링크를 클릭하면 다른 곳으로 연결됩니다. 수정이 필요합니다.
미해결
Airflow 마스터 클래스
@task만 쓰거나 inner 함수에 return을 하거나 multiple_outputs=True 옵션(이건 안해봄) 으로 해결되는 것 같습니다. 로그는 다음과 같습니다. Timestamp: 2025-11-01 19:54:50 Traceback (most recent call last): File "<attrs generated methods airflow.sdk.bases.decorator._TaskDecorator>", line 37, in init _setattr('multiple_outputs', __attr_factory_multiple_outputs(self)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/airflow/.local/lib/python3.12/site-packages/airflow/sdk/bases/decorator.py", line 328, in _infer_multiple_outputs if "return" not in self.function.annotations: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: 'str' object has no attribute 'annotations'. Did you mean: 'contains'?
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
예시문제 작업형2에서 레이블 인코딩을 하려고 합니다. 이전 수업에서 했던 방식대로 # 인코딩(레이블) cols = test.select _dtypes(include='object').columns print(cols) # from sklearn.preprocessing import LabelEncoder # le = LabelEncoder() # for col in cols: # train[col] = le.fit _transform(train[col]) # test[col] = le.transform(test[col]) # print( train.info ()) # print( test.info ()) 이렇게 진행했는데 왜 오류가 뜰까요? 강의랑 다르게 cols에 주구매상품, 주구매지점, 환불금액까지 나오긴 했습니다. 혹시 결측치를 mode로 채워서 그런걸까요 ..?
해결됨
FastAPI 완벽 가이드
안녕하십니까 강사님! 오늘도 감사히 강의를 듣고 있습니다. fastapi는 비동기처리로 효율적으로 처리한다해서 자바쪽은 어떻게 할까 궁금해서 조사만 해봤는데 멀티스레드로 병렬처리로써 효율적으로 처리한다고 알게되었습니다. 그러나 궁금한 점이 생겼습니다. fastapi에서 io작업같이 오래 걸리는 부분에 비동기 처리를 하는건 이해했는데 왜 단순 서비스로직 같은 경우에서는 비동기처리를 사용안하는지 궁금합니다. 제 생각에는 단순히 생각해서 모든 처리를 비동기처리 해도 될 거 같은데 왜 그렇게 안하는지 어떠한 부분에서 문제가 발생할 수 있는지 궁금합니다. 또한 만약에 비동기처리를 안하고 동기처리로 할때 멀티스레드로 하는지도 궁금합니다. 아니면 혹시 서비스 로직같은 단순 cpu연산을 사용할때는 워낙 연산 속도가 빠르니 비동기처리와 동기처리가 속도차이가 없어서 그러한 부분들을 고려하지 않아도 되는지 이런 차이들이 궁금합니다! 항상 좋은 강의 감사드리며 정말 저에겐 소중한 강의입니다!
미해결
코드로 배우는 React 19 with 스프링부트 API서버
그냥 갑자기 궁금해서 선생님의 개인적인 의견 궁금합니다.
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 안녕하세요? 실기 체험환경에서 신뢰구간 구할때 결과가 이렇게 나오면 신뢰구간을 보려면 어떻게 하나요? 3,4번째 컬럼을 따로 지정해서 봐야하나요??
미해결
프로그래밍 시작하기 : 도전! 45가지 파이썬 기초 문법 실습 (Inflearn Original)
연습 삼아 이것 저것 해보다 궁금한 점이 있어 질문 드립니다. 위 와 같이 코딩을 했을 때, 다음과 같이 출력이 됩니다. print(ex1)으로 했을 경우에는 리스트 형태로 출력이 되는데 반해, print(ex1.append(i * 10) 형태일 때는 None으로 출력이 되는걸까요?
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 안녕하세요, 이번 11/29 빅분기 시험을 사정상 보기 어려워져서 학습기간 멈춤를 신청하고 싶은데 최대 몇개월 학습 중단이 가능할까요? 내년 3월이후 다시 준비해서 시험을 치뤄야 될 것 같습니다.
미해결
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
시험장에서 자동완성은 어디까지 가능한가요? 미리정의한 변수명은 tab으로 자동완성이 되나요? 함수들도 궁금합니다. 감사합니다!
해결됨
한 입 크기로 잘라먹는 Next.js
안녕하세요. next.js 16 버전으로 해당 강의를 보며 달리고 있는데요. revalidateTag 설정에서 파라미터 값이 하나 더 늘어나 있습니다. revalidateTag(tag: string, profile: string | { expire?: number }): void; tag 파라미터 뒤에 profile 파라미터를 넣어야 하네요. 기본적으로는 'max' 값을 넣었고, expire로 사용자 지정 만료 동작을 위한 값을 지정하게 되어 있습니다. 이것이 구체적으로 어떤 매개변수인지 궁금합니다. 그리고 이전의 tag 파라미터만 있을 경우 와 같은 조건의 매개변수 값은 어떻게 되는지 알고 싶습니다.
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
예시만 봤을 때는 continue와 pass의 차이점이 명확히 구분되지 않는 것 같아 질문드립니다. 1. continue: if문에 해당하여 continue를 만나면 (print가 있다는 가정하에) 출력하지 않고 다음 반복으로 넘어감 pass: if문에 해당하여 pass를 만나면 그 부분만 지나가고 (print가 있다는 가정하에) 밑에 출력은 실행함 저는 이렇게 이해하고 있는데 오류가 있을까요? 2. pass 예제2번에 else 없이 print(i)만 있었더라면 3도 출력이 되는건가요?
해결됨
한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편
안녕하세요 멘토님, 정말 쉽게 설명해주셔서 수업 잘 듣고 있습니다. 인증 처리하기 부분에 대해서 흐름도를 자세하고 재밌게 설명해주셔서 덕분에 이해하기 수월했습니다. 다만 현재 토큰들을 localStorage에 저장하고 이 값을 zustand로 관리하고 있는 것 같은데 사실 토큰을 storage에 저장하는 방식이 일반적이지는 않은 것 같습니다. 이 부분에 대해서 찾아본 결과 supabase를 이용하기에 쿠키에 저장하는 건 무리인 것 같고, 그렇다면 그나마 토큰을 메모리에 저장하는 방식이 안전할 것 같습니다. 로그인을 진행하면 토큰이 localStorage에 저장되는 형태인데, 이때 만약 storage에 저장하지 않고 메모리에 받게하려면 어떻게 할 수 있을까요 .. ? 또한 사실 토큰 자체를 zustand에서 가지고 있는 것도 괜찮은지 의문입니다.. 전역상태로 들고 있는 것이라서 충분히 탈취위험이 있을 것이라고 생각이 되어서요.. 사실 백엔드 서버가 있었다면 쿠키에 저장하는 로직으로 진행했을 거 같은데 만약 이때는 로그인 상태를 어떻게 판별하는지에 대해서도 궁금합니다 !
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
하는 방법이 있을까요?? 강의에서는 슉슉 빠르게 되는 것이 신기해서 여쭤봅니다!
미해결
한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편
안녕하세요..강의 잘 보고 있습니다. import { ITodoInfo } from "@/utils/types"; export async function fetchTodos(blngCoCd:string, userId:string) { const respose = await fetch( `${process.env.NEXT_PUBLIC_API_SERVER_URL}/todo/list?blngCoCd=${blngCoCd}&userId=${userId}` ); if (!respose.ok) { throw new Error("Fetch Todo Error"); } const data: ITodoInfo[] = await respose.json(); console.log('todo data=',JSON.stringify(data, null, 2)); return data; } import { fetchTodos } from "@/api/todo/fetch-todos"; import useUserInfoStore from "@/store/user-info-store"; import { ILoginUserInfo } from "@/utils/types"; import { useQuery } from "@tanstack/react-query"; export function UserTodosData() { const loinData: ILoginUserInfo = useUserInfoStore((state) => state.userInfo); return useQuery({ queryFn: () => fetchTodos(loinData.blngCoCd, loinData.userId) , queryKey: ["todos"], }); } 이런식으로 zustand의 유저 정보를 가져와 훅에서 api를 호출을 하면 처음은 정보를 가져오는데. refresh를 하면 다시 가져 올때 blngCoCd와 userId가 null이 되면서 리스트를 가져오지 못하네요. zustand의 정보는 localstorage로 보관하고 있고... const loinData: ILoginUserInfo| null = useUserInfoStore((state) => state.userInfo); const blngCoCd = loinData?.blngCoCd; const userId = loinData?.userId; // blngCoCd와 userId가 모두 존재할 때만 쿼리를 활성화합니다. const enabled = !!blngCoCd && !!userId; return useQuery({ queryFn: () => fetchTodos(blngCoCd, userId) , queryKey: ["todos", blngCoCd, userId], enabled: enabled, }); 이렇게 변경을 했는데... api에 파라미터를 넘겨야 하는경우 새로고침을 할 경우 이런식으로 하는게 일반적인가요?
미해결
프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
저는 False 가 나옵니다. 찾아보니 False가 정상이고 True는 캐싱으로 설명이 나옵니다. ( 256보다 큰 숫자 이므로 작은 정수 캐싱 범위에 해당하지 않음) 강사님 설명 부탁합니다. m = 800 n = 800 print(id(m)) print(id(n)) print(id(m) == id(n))
해결됨
비전공자도 이해할 수 있는 AWS 입문/실전
안녕하세요! 항상 좋은 강의 잘 듣고 있습니다! 서버 인프라를 어떻게 설계해야할 지 판단이 잘 안서서 이렇게 질문드립니다. 제가 개념이 미숙하다보니 제 생각에 대한 설명이 뭔가 중구난방할 수 있다는 점 양해부탁드립니다. 일단 첫번째로 생각하고 있는건 ELB, Nginx에 대한 고민입니다. 내용이 길어서 질문은 나눠서 올리려고 합니다. 제 머릿 속에 있는 걸 그냥 그대로 끄집어낼게요. ELB로 EC2에 직접 접근 (Client -> ELB -> Spring Boot) ELB를 80/443 으로 열고, http에 대한 타겟그룹을 8080로 설정한 후 EC2 쪽 인바운드는 8080만 열어야 하는가? ELB는 WAS가 아니라서 Nginx처럼 리액트 빌드 결과물 (정적파일)을 서빙 못하지 않을까? 그럼 S3 파트에서 배웠던 내용대로 S3 + Cloud Front 방식으로 리액트 결과물 내보내야 할까? https 설정은 Nginx 대비 이게 더 편한거같음 Nginx만 사용 (Client -> WAS (Nginx) -> Spring Boot & React) ELB 대비 https 인증이 경험 상 상당히 까다로웠음 (자동 인증사 만료 처리도 해야하고...) EC2 안에서 React까지 처리하기 좋았음 이 경우는 인바운드를 80/443 열고 nginx 에서 reverse proxy ELB + Nginx 사용 (Client -> ELB -> Nginx -> Spring Boot & React) ELB는 로드밸런서 역할과 https 인증 담당용 (로드밸런싱은 추후 확장가능성 염두, https 인증은 elb가 더 쉬우니까) Nginx는 내부에서 리버스 프록시 적용 https 처리는 elb가 쉬우니까 이거 쓰고, 리버스프록시와 정적 파일 서빙은 nginx에게 위임하겠다는 취지 만약 이럴 경우, ELB는 80/443 열고 EC2는 80만 허용하면 되는건가? 그러면 80->443 리다이렉션하고 443은 타겟그룹 80을 향해 들어가면, EC2에서 80으로 들어온 요청을 nginx가 리버스 프록시 어떤게 적절한 선택일지 고민중입니다. 서버 인프라를 구성하기 위해 참조할 만한 자료로 깃헙을 찾아보니, 다른 프로젝트 아키텍처 보면 다 2번처럼 하는 것 같았습니다. 근데 실습을 했을 때 ELB가 https 인증이 너무 쉽게 되었던게 매력적이었어서 차마 2번 방식에는 손이 잘 안갑니다. 근데 1번만 하자니, 과연 1번만으로 충분할까? 라는 의문이 들었습니다. 그래서 ELB랑 Nginx를 혼합해서 쓸까라는 생각까지 이어진건데요. 3번은 저 생각대로면 각자의 편의를 챙겨가기는 하지만 좀 더 복잡한 아키텍처같은 생각도 들어요. 우선 각각의 생각에 오류가 있는지, 그리고 전문가의 식견으로 봤을 때 어떤게 더 나은 접근인지 여쭤보고싶습니다. 어려운게 있으면 항상 박재성님 강의부터 찾습니다. 늘 도움받아갑니다. 감사합니다.
해결됨
비전공자도 이해할 수 있는 AWS 입문/실전
안녕하세요! 항상 좋은 강의 잘 듣고 있습니다! 서버 인프라를 어떻게 설계해야할 지 판단이 잘 안서서 이렇게 질문드립니다. 제가 개념이 미숙하다보니 제 생각에 대한 설명이 뭔가 중구난방할 수 있다는 점 양해부탁드립니다. 고민하고 있는건 EC2 등 모델 선정입니다. 그리고 RDS, ElastiCache 도입여부 또한 고민중입니다. 제 프로젝트는 거의 싸이월드 같은 사이트를 만들어야 하는 상황입니다. 알림, 조회수, 좋아요 기능, 파일 업로드, 스트리밍, 게시판, 댓글 등이 주된 기능입니다. (이때 파일 업로드는 multipart/form-data 업로드와, 동영상과 같은 대용량 파일 처리를 위한 AWS Multipart Upload 방식으로 나뉩니다.) 한번 AWS 강의에서 배운걸 다 써먹어보고 싶어서 EC2, RDS, S3, ElastiCache 도입을 상정해봤습니다. 초기 단계 모델을 먼저 결정한 후 K6 등으로 동시접속자 수 100명 200명 300명 순으로 테스트를 진행해서 스케일업을 고려중입니다. (데모 시연도 하고, 실제로 한달 간 출시도 해봐야해서요) 구상중인건 다음과 같습니다. 1단계 (개발 중) :: CI/CD용 : t4g.small (EBS 있으니까 여기 안에서 Redis랑 DB, 서버 다 돌림) + S3 2단계 (개발 완료 후 배포) :: 실제 운영 테스트용 : Case 1. t4g.small + S3 (CI/CD용 그대로) Case 2. t4g.small + RDS + S3 (Redis는 EC2 안) (RDS는 EC2모델과 같은 사양으로) Case 3. t4g.small + RDS + S3 + ElastiCache Case 4. t4g.medium + RDS + S3 + ElastiCache 근데 Case 3까지만 가도 AWS 계산기 돌려보니 월 10만원이 조금 넘더라구요. RDS에서 프록시나 Insights 설정 빼고 SingleAZ로 변경한게 저 수준이었습니다. 너무 비싸더라구요. Case 4는 한 17만 7천원 나오더라구요... RDS가 많이 비싼 것 같습니다. 비용이 비정상적인게 아니라면, 그대로 진행해도 전 좋습니다. 배움에 돈아끼면 안된다고 생각하거든요. 근데 그게 오버스펙이나 비정상적인 설계로 비용이 많이 나오는건 별개의 문제잖아요. 그래서 결국 어떻게 서버 인프라를 구축할지에 대한 고민이 많습니다. 비용이 제 기준에서는 높지만 남들 기준에선 높은게 아닐 수도 있고, 아니면 정말로 너무 높게 나온걸 수도 있어서 정상적으로 프로젝트에 맞게 아키텍처를 구축한게 맞는지, 잘못되었다면 어떻게 조정해야할지에 대한 판단이 어렵습니다. 실례가 안된다면, 지금 제가 어떤 문제가 있는지, 제 상황에선 어떤 아키텍처가 적절한지 설명부탁드려도 될까요? 이건 저 생각이 들기까지의 내용들을 정리한 노션 페이지입니다. https://hooby.notion.site/Server-Infra-Setup-28af6c063f3e80b7a8c3d653add0c068
미해결
[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
안녕하세요 강의 잘 수강하고 있습니다. 현재 subject, link, content, press, date를 추출하는데 만약 해당 값들 중 하나가 없다면 검증은 어떤 식으로 하시나요?? 제가 생각한 방법은 pydantic으로 검증하여 해결할 수 있지 않을까 생각하는데 너무 오버엔지니어링인지 강사님은 어떻게 유연하게 처리하는지 궁금합니다. 예시를 들기 위해 pydantic으로 한 코드 첨부합니다. from typing import Annotated import requests from bs4 import BeautifulSoup from urllib.parse import urljoin, urlencode from datetime import datetime from pydantic import AfterValidator, BaseModel, HttpUrl, field_validator def non_empty_str(v: str) -> str: s = (v or "").strip() if not s: raise ValueError("빈 문자열입니다.") return s def valid_url(url: str) -> str: try: response = requests.get(url) # throw error if status 4xx, 5xx response.raise_for_status() return url except Exception as _: raise ValueError("유효하지 않은 URL입니다.") def valid_date(date: str) -> str: v = (date or "").strip() if not v: raise ValueError("빈 문자열입니다.") try: datetime.strptime(v, "%Y-%m-%d %H:%M:%S") return date except ValueError: raise ValueError("유효하지 않은 날짜 형식입니다.") class NewsItem(BaseModel): subject: Annotated[str, AfterValidator(non_empty_str)] detail_article_url: Annotated[str, AfterValidator(valid_url)] content: Annotated[str, AfterValidator(non_empty_str)] press: Annotated[str, AfterValidator(non_empty_str)] article_date: Annotated[str, AfterValidator(valid_date)] ROOT = "https://finance.naver.com/" PATH = "news/mainnews.naver" def get_news_page_url(page: int, date: str): base_url = urljoin(ROOT, PATH) query_string = urlencode({"date": date, "page": page}) return f"{base_url}?{query_string}" def get_detail_news_url(path): return urljoin(ROOT, path) def get_current_date(format: str ="%Y-%m-%d") -> str: now = datetime.now() return now.strftime(format) def crawl_news_per_page(soup: BeautifulSoup): result = [] news_per_page = soup.select(".block1") for article_card in news_per_page: # subject subject = article_card.select_one(".articleSubject > a").text # detail article link detail_article_url = get_detail_news_url(article_card.select_one(".articleSubject > a").get("href")) # content content_tag = article_card.select_one(".articleSummary") content = content_tag.contents[0].strip() press = content_tag.select_one(".press").text.strip() article_date = content_tag.select_one(".wdate").text.strip() new_item = NewsItem(subject=subject, detail_article_url=detail_article_url, content=content, press=press, article_date=article_date) result.append( new_item.model_dump() ) return result def crawl_all_news(page_total_count: int, date: str): result = [] for page in range(1, page_total_count + 1): request_url = get_news_page_url(page, date) response = requests.get(request_url) soup = BeautifulSoup(response.text, "html.parser") result.extend(crawl_news_per_page(soup)) # 마지막 페이지 검증 if (not soup.select_one(".pgRR")): break return result all_news = crawl_all_news(20, get_current_date()) print(all_news)