안녕하세요, 데이터 엔지니어에 관심을 가지고 이제 막 공부를 시작한 학생입니다. 섹션 8 yfinance 첫 번째 강의를 수강하던 도중에 에러가 생겨서 문의 남깁니다. 작성되어 있는 코드 중에 extract(symbol) >> load(file_path, symbol, schema, table) 이 부분에서 문제가 생겼었습니다. 그래서 file_path = extract(symbol) extract(symbol) >> load(file_path, schema, table) 이렇게 수정해서 오류를 해결했는데, airflow web ui에서 다른 오류가 발생했길래 또 찾아보니 load함수에서 문제가 생긴 것 같습니다. file_path를 load함수에서도 다시 만들어줘서 snowflake에 데이터를 적재할 때 올바른 파일 경로를 찾지 못해서 생기는 오류가 발생하는거 같아요. def load(file_path, schema, table): cur = util.return_snowflake_conn("snowflake_conn") try: cur.execute(f"USE SCHEMA {schema};") cur.execute( f"""CREATE TABLE IF NOT EXISTS {table} ( date date, open float, close float, high float, low float, volume int, symbol varchar )""" ) cur.execute("BEGIN;") delete_sql = f"DELETE FROM {table}" logging.info(delete_sql) cur.execute(delete_sql) # 바로 받은 file_path 사용 (더 이상 경로 재생성 X) util.populate_table_via_stage(cur, table, file_path) cur.execute("COMMIT;") except Exception as e: cur.execute("ROLLBACK;") raise e finally: file_name = os.path.basename(file_path) table_stage = f"@%{table}" cur.execute(f"REMOVE {table_stage}/{file_name}") cur.close() 요렇게 변경해주니까 데모 영상에 나온 것과 같이 똑같이 스노우플레이크에 잘 적재되었습니다.! 제가 제대로 해결한게 맞을까요??
7:36초 부분에 대해 문의드립니다. 자식 클래스를 생성하면 부모 클래스에 있는 기본 생성자인 Car()가 한번 호출된다고 말씀해주셨는데, 만약 자식 클래스의 생성자와 부모 클래스의 생성자에 동일한 파라미터로 구성된 경우에는 어떻게 동작하나요? 예를 들어, 부모 클래스에 Car(String name, Int price)라는 생성자가 있고, ElectricCar(String name, Int price)라는 생성자가 있을때, ElectricCar의 두 파라미터를 입력하여 객체를 생성하는 경우입니다. 이런 경우에도 부모 클래스에서는 파라미터가 들어간 생성자가 호출되는 것이 아니라, 기본 생성자가 호출되나요?
안녕하세요. 최근부터 Spark 강의를 듣고있는데 이해하기 쉽게 설명 해주셔서 감사합니다. Broadcast에 대해서 설명을 해주셨는데 Join 대상이 큰 빅데이터 이거나, meta에 큰 데이터를 담을 경우에는 Broadcast를 사용 하지 못한다고 설명해주셨는데요, 혹시 Broadcast에서 지원할 수 있는 최대 메모리가 있을까요? 그리고 Join대상 데이터가 A, B, C, D ID로 이뤄진 TB 사이즈의 테이블이라고 했을 경우 meta에 A, B, C, D ID에 대한 Name을 Brodcast할 경우 위 테이블과 맵핑하여 사용이 가능할까요?
유닉스 파일 시스템에서 단일 간접 블록은 데이터들을 저장한 블록주소 인 것으로 학습하였습니다. 여기서 단일 간접블록은 Inode가 아닌, 순수하게 데이터만 저장한 블록이 맞을까요? 그림상에서는 블록 주소에 하나의 데이터만 매칭이 되있는 것으로 보였는데, 그렇다면 단일 간접 블록은 하나의 블록이 아닌 여러개의 데이터를 포함할 수 있는 블록의 모음체일까요? 감사합니다.
안녕하세요. redis를 공부하던 중 궁금한 점이 생겨서 질문드립니다. 개발상황 window10 springboot 3.4.3 티스토리 를 참고해서 redis 설치 window for docker 설치 문제상황 docker의 compose.yml을 생성해서 docker 이미지(springboot와 redis)를 생성해서 동작을 시켰습니다. 이때 window에서 동작 중인 redis를 중지시키지 않았지만 docker의 redis는 포트 충돌 없이 정상적으로 동작합니다. window와 docker에서 redis가 여전히 동작 중인 것은 확인했습니다. Dockerfile FROM openjdk:17-jdk COPY build/libs/*SNAPSHOT.jar app.jar ENTRYPOINT ["java", "-jar", "/app.jar"] compose.yml services: api-server: build: . ports: - 8080:8080 depends_on: cache-server: condition: service_healthy cache-server: image: redis ports: - 6379:6379 healthcheck: test: [ "CMD", "redis-cli", "ping" ] interval: 5s retries: 10 docker와 window에서 redis 서버를 동작시키는 상황에서 Windows 명령 프롬프트에서 netstat 명령어를 통해서 포트번호와 IP를 확인했습니다. C:\Users>netstat -ano | findstr :6379 TCP 0.0.0.0:6379 0.0.0.0:0 LISTENING 15492 TCP 0.0.0.0:6379 0.0.0.0:0 LISTENING 19004 TCP [::]:6379 [::]:0 LISTENING 15492 TCP [::1]:6379 [::]:0 LISTENING 3800 아래는 docker redis만 동작시켰을 때 상황입니다. C:\Users>netstat -ano | findstr :6379 TCP 0.0.0.0:6379 0.0.0.0:0 LISTENING 15492 TCP [::]:6379 [::]:0 LISTENING 15492 TCP [::1]:6379 [::]:0 LISTENING 3800 아래는 window redis만 동작시켰을 때 상황입니다. C:\Users>netstat -ano | findstr :6379 TCP 0.0.0.0:6379 0.0.0.0:0 LISTENING 19004 질문 redis는 docker와 window가 다른 네트워크 인터페이스를 가지고 있어서 포트 번호가 같아도 충돌이 나지않는걸까요? 그렇다면 왜 springboot 어플리케이션은 같은 포트로 동작시켰을 때 포트 충돌이 발생하지 않아야하는거 아닐까요? springboot 어플리케이션은 포트 충돌로 인해 docker 또는 window 둘 중 하나에서만 실행시킬 수 있습니다. docker, redis에 깊은 이해를 하고 있지 않아서 많이 어려운 것 같습니다. 문제 접근 방식이 잘못된건지 저에게는 어렵네요
사진처럼 DirectionalLight의 위치를 z: 10, y: 5로 주어 위치하였는데요. 도미노 중간부분이 오히려 어떤 무언가에 가려진 듯 어둡고, 끝 부분에는 가려진게 없는 듯이 밝습니다. 혹시 Light에 near, far 같은 옵션이 있어서 그런건지 아니면 위에 무언가가 가리고 있는건지 잘 모르겠습니다 하하..
[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
@VersionColumn() 관련하여 'save()함수가 몇번 불렸는지 기억한다' 라고 하셔서 save함수가 불린 횟수에 따라 1씩 증가하는 것으로 처음에 이해를 했었는데, 강의 영상과 조금 다르게 service & controller 나눠 작성하는 연습을 하다가 아래와 같이 title을 동일한 값으로 수정하는 코드를 작성했었습니다 async PatchUsers(id: string) { const user = await this.userRepository.findOne({ where: { id, }, }); if (!user) { throw new NotFoundException(); } console.log('Before save - Version:', user.version); if (user) { user.title = '수정하기'; } const newUser = await this.userRepository.save(user); console.log('After save - Version:', user.version); return newUser; } 이때 title이 이전과 동일하면 실제로 save함수는 실행이 되지만 DB상에 변화가 없기 때문에 @VersionColumn() 으로 정의한 version에는 변화가 없는 것 같은데 save함수의 실행횟수보다 db의 변화가 있는지에 초점을 맞춰서 생각하면 될까요 ?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 강의 잘 따라하고 있다가 @Around에서 service 부분 따라하는 부분 시작하려하니 위 사진들과같은 에러?가 발생합니다 gradle 빌드 clean해봤는데 여전하네요... 뭐가 문제일까요? (참고로 패키지명은 저게 맞습니다. 강의랑 조금 다르게됐어요)
안녕하세요 현재 하나하나 따라하면서 진행하고 있습니다. 로컬 디버거까지는 잘됐는데, 원격 디버거가 안붙는데 무슨 문제인지 모르겠어서 질문 글 남깁니다. 호스트의 경우 이 상태에서 연결이 안되는 상태이고 가상환경은 이 상태입니다. 혹시 가상환경이 32bit가 아니라 64비트로 되어있어서 진행이 안되는건지 아니면 호스트 컴퓨터에 다른 세팅을 더 해야하는건지 궁금해서 이렇게 글 납깁니다! 강의 정말 잘 보고 있습니다.
안녕하세요 더치 페이 함수 만들기에서 going_dutch 함수 리턴값 계산하실 때 return float(total) / num_of_ppl 로 int 값인 total을 float으로 바꾸셨는데 굳이 float으로 바꾸신 이유가 궁금합니다 어차피 int끼리 나눗셈(/)을 하면 결과가 무조건 float으로 나오는데, 굳이 total을 float으로 바꾸신 이유가 있을까요? 바꾸지 않아도 결괏값은 float으로 나오지 싶어서요. 답변 기다리겠습니다. 감사합니다
안녕하세요. 감자님. 강의 듣던 도중에 표현 상에서 어색한 부분(?)이 있는 것 같아 질문드립니다. 프로세스가 컨텍스트 스위칭으로 인해 시분할처리되면서 사용자 입장에서는 프로세스의 실행 순서를 예측하기가 어렵다. 따라서 연산 결과를 예측하기 힘들고 이를 동기화 문제라고 하셨는데 연산 결과 라기 보다는 공유 자원에 대한 접근 순서 라고 하는 편이 더 정확하지 않을까요? 연산 결과가 잘못된다는 것은 결국 프로세스 실행 순서가 잘못되어 해당 프로세스가 공유 자원에 접근할 순서가 아닌데 접근해서 처리되면서 그로 인해 예상했던 연산 결과값이 아니다 라고 생각을 합니다. 뭔가 디테일한 설명이 생략된 것 같아서 질문드립니다. 운영체제는 프로세스의 실행 순서를 관리 및 결정하지만, 실행 결과에는 관여하지 않는다. 즉, 큐에서 프로세스를 꺼내 CPU를 통해 처리를 하도록 하는 것이지, 결과는 운영체제 알 바가 아니다. 라고 생각하는데 맞을까요? 이 부분은 강의에 나온 게 아니라 제가 따로 생각해 본 부분입니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 강의 캡쳐내용인데 사진을 보면 강의에서는 MemberServiceIntegrationTest 파일을 실행시킨거같은데 저는 이 파일에서 실행시키니 오류가 나고 MemberService 파일을 실행시키면 결과가 나오던데.. 뭔가요?