안녕하세요 선생님, 강의를 정말 재밌게 수강하고 있습니다. 섹션 8 PostgresToSnowflake DAG를 실행해서 Snowflake에 user_session_channel 테이블과 session_timestamp 테이블에 CSV 파일 로드할 때 오류가 있는것 같아요. 간단하게 해결할 수 있는 문제인데 DAG 파이썬 파일에서 os import 구문이 빠져있는거 같아요 import os 이거 넣어서 간단하게 해결했습니다! 좋은 강의 만들어주셔서 감사하고 곧 추가될 강의도 기다리고 있겠습니다!
16:47 부모 클래스의 접근 제어자가 private으로 붙은 메서드의 경우, 자식 클래스에서 재정의 할 수 없다고 하셨습니다. 그렇다면, 해당 예시 문제처럼 업캐스팅이 아닌 일반적인 경우에 대해 문의드리고 싶습니다. Parent obj = new Child(); 가 아닌 Child obj = new Child(); 로 쓴 경우를 생각해 보겠습니다. 이 경우에는 예시 문제와 마찬가지로 부모 클래스에서 접근 제어자가 private으로 설정된 메서드를 자식에서 재정의 할 수 없겠지요. 그렇다면 만약 부모 클래스에 있는 동일한 메서드가 아닌, void display(String name)과 같이 파라미터를 다르게 정의한다면, 자식 클래스에서 정의하여 사용할 수 있을까요?
강의를 들으면서 데이터 엔지니어를 준비하고 있는 학부생입니다. 취업사이트에 데이터 엔지니어를 찾아보면 대게 경력 위주로 채용을 진행하고 있는데 데이터 엔지니어가 신입으로 일을 할 수 있는 방법이 있는 지 ? 아니면 신입으로서 바로 데이터 엔지니어로 일하기는 조금 어려운게 현실인지 궁금하여 글 작성합니다. 괜찮으시다면 데이터엔지니어 직무 입사자가 이런 경험이 있으면 채용하겠다는 부분이 있는 지 알려주시면 감사하겠습니다.
안녕하세요. Java의 정적 변수, 정적 메서드(static)강의 중 9분에 나오는 빈칸 채우기 기출 문제에서 질문이 있어서 남깁니다. Test라는 클래스에서 void타입을 리턴하는 static 메서드 main()에서 Test.check(1);을 출력하게 되는데, 이 때 Test는 클래스명이므로, 클래스에서 직접 접근 가능한 메서드이기 때문에 check는 int형 파라미터를 받는 static 메서드인 것으로 보입니다. 혹시, 여기서 앞에 public, private, protected 등을 붙일 경우 오답처리가 되나요?? 아니면, 이런 경우는 명확하게 정답의 글자 수를 알려준다는 등의 방법으로 답이 static이 될 수 밖에 없는 방식으로 문제가 출제되나요? 우선 강의를 다 들은 후에 기출문제를 풀어보려 하니 아직 문제가 나오는 형식을 잘 몰라서 질문을 남깁니다! 추가적으로, 9분 14초 정도에 나오는 기출문제에서, 인스턴스 변수인 name에 접근하기 위해서는 (파라미터를 받는 Person 생성자에서, 인스턴스 메서드인 print()에서) this 키워드를 통해 해당 생성자나 메서드 등을 호출한 주체를 찾아야 한다고 배웠었는데, 왜 여기서는 this.name으로 접근하는 것이 아닌 name으로 접근해도 에러가 발생하지 않는 것인가요??
현재 RN0.77 버전으로 프로젝트를 하고있는데, react-native-vector-icons가 강사님께서 강의를 찍으신 당시와 좀 바뀌어서 몇 개의 아이콘 종류들은 사라지고 다른 것들로 대체되거나 몇개는 기존 것이 있는 상황입니다. 근데 옛날과 다르게 github문서( https://github.com/oblador/react-native-vector-icons )의 과정과 강사님의 과정이 좀 차이가 있어서 다음과 같이 수행했습니다. 1. 라이브러리 설치 ```npm install --save @react-native-vector-icons/common``` 에서 common을 제외하고 받았습니다. 2. node_modules 에서 ttf파일 추출 후 Fonts폴더 생성 후 그곳에 넣기 추후에 build phase에서 적용된 것 확인함(5-3 강의 16분23초 쯤인가 그 과정) 3. 라이브러리 호출 후 사용 이 때 계속 아이콘이 깨져서 나옵니다 RN버전이랑 안맞는 건지, 아니면 공식문서와 강의의 설정이 차이가 있는지 잘 모르겠네요. import icon from '@react-native-vector-icons/ionicons 로 호출하게 되면 에러메시지는 안뜨지만 사진처럼 나오고, import icon from 'react-native-vector-icons/ionicons 로 하게되면 아래와 같은 에러 로그가 나옵니다. ``` Error: Unable to resolve module react-native-vector-icons/ionicons from /Users/juhkang/Documents/Github/ReactNative/matzip/Matzip_FE/src/navigations/drawer/MainDrawerNavigator.tsx: react-native-vector-icons/ionicons could not be found within the project or in these directories: ``` 77버전에서 react-native-vector-icons를 자유롭게 사용하고 싶은데 해결책이 있을까요?
강의를 한번 완주하고 다시 복습하는 겸 발생했던 문제들과 해결 방법들에 대해 간단히 적어 넣습니다. npx react-native@0.72.6 init [프로젝트명] --version 0.72.6 우선 저는 루비 버전 3.2 를 설치하여 사용하고 있습니다. cocoapods 이 정상적으로 설치했음에도 다음과 같이 cocoapods 이 정상적으로 설치 되지 않았다고 나옵니다. ✔ Downloading template ✔ Copying template ✔ Processing template ✔ Installing Ruby Gems ✖ Installing CocoaPods dependencies (this may take a few minutes) error bundler: failed to load command: pod (/Users/park/Desktop/project/myfood/food/vendor/bundle/ruby/3.2.0/bin/pod) /Users/park/Desktop/project/myfood/food/vendor/bundle/ruby/3.2.0/gems/activesupport-7.0.8.7/lib/active_support/logger_thread_safe_level.rb:12:in `<module:LoggerThreadSafeLevel>': uninitialized constant ActiveSupport::LoggerThreadSafeLevel::Logger (NameError) 이럴땐 가볍게 무시하고 cocoapods이 설치 되어있으니 ios 폴더로 들어가서 pod install 명령어를 치면됩니다. cd 프로젝트명/ios pod install 이후에 ios 프로젝트를 실행시킬때 정상적으로 작동하면 다행이지만 터미널이 위의 사진과 같이 실행되고 멈추는 현상이 있을 경우 해결 방법은 다음과 같습니다 우선 Xcode 를 실행시켜주고Open Existing Project로 프로젝트를 열어줍니다. 사진은 tttt 지만 강의를 들으신다면 아마 Matzip 일 겁니다. xcworspace 를 열어주시고 좌측 메뉴에 Pods → Flipper → FilpperTransportTypes 파일로 가서 사진처럼 #include <functional> 코드를 넣어주면 다시 vscode로 가서 실행시켜주면 아마 될 겁니다. 왜 이런 오류가 나는지는 잘 모르겠지만 저와 같은 문제로 고생 안했으면 싶어서 올립니다.
Sqlalchemy 라이브러리와 Python-oracledb 드라이버를 이용해 DB 연결을 하려고 하는데 쉽지 않습니다.. 저는 service name 정보만 있고 SID 정보는 없는 상태인데, 공식문서를 참고해 아래와 같이 접속을 시도해도 에러가 발생합니다..ㅠ 에러 내용 ) File "src/oracledb/impl/thin/transport.pyx", line 289, in oracledb.thin_impl.Transport.send_oob_break OSError: [Errno 22] Invalid argument DB 접속 코드 ) import sqlalchemy engine = sqlalchemy.create_engine("oracle+oracledb://MY_USERNAME:MY_PASSWORD@MY_DB_HOST:MY_DB_PORT/?service_name=MY_DB_SERVIC_NAME") disable_oob=True로 하면 될 것 같은데, sqlalchemy에서 어떻게 해당 값을 세팅해야 하는지 모르겠습니다...ㅠ 따로 설정파일을 만들어야 하나요?ㅠㅠ
안녕하세요 강사님. 제목의 강의 중에서 depth_first 함수의 동작이 궁금하여 기본 코드에서 "2.코드 변경"과 같이 print 문을 추가 하여 분석 중 "3. 실행결과"와 같이 출력 되는 것을 확인 하였습니다. 질문 Node(3) 출력하기 전에 s-yield가 한번 출력 되어야 할 것 같은데 두 번 출력에 대한 해석이 안됩니다. f-yield Node(3) s-yield Node(1) Node(3) s-yield Node(0) Node(3) Node(3) @@추가 질문을 올려 놓고 고민 하다 보니 Node(1).depth_first() 함수가 한번만 호출 된다고 생각했는데. 프로그램이 종료 될 때 까지 총 4번이 호출 되면 말이 되는 듯 한데.. 추측한 시나리오가 맞는지요? Node(1).depth_first() : next(Node(1)) 4번 호출 Node(3).depth_first() : next(Node(3)) 2번 호출 Node(4).depth_first() : next(Node(4)) 2번 호출 Node(2).depth_first() : next(Node(2)) 3번 호출 Node(5).depth_first() : next(Node(5)) 2번 호출 코드 변경 def depth_first(self): print("f-yield",self) yield self print("f-next",self) for c in self: for x in c.depth_first(): print("s-yield",self,x) yield x print("s-next",self,x) 실행 결과 f-yield Node(0) Node(0) f-next Node(0) f-yield Node(1) s-yield Node(0) Node(1) Node(1) s-next Node(0) Node(1) f-next Node(1) f-yield Node(3) s-yield Node(1) Node(3) s-yield Node(0) Node(3) Node(3) s-next Node(0) Node(3) s-next Node(1) Node(3) f-next Node(3) f-yield Node(4) s-yield Node(1) Node(4) s-yield Node(0) Node(4) Node(4) s-next Node(0) Node(4) s-next Node(1) Node(4) f-next Node(4) f-yield Node(2) s-yield Node(0) Node(2) Node(2) s-next Node(0) Node(2) f-next Node(2) f-yield Node(5) s-yield Node(2) Node(5) s-yield Node(0) Node(5) Node(5) s-next Node(0) Node(5) s-next Node(2) Node(5) f-next Node(5)
안녕하세요, 데이터 엔지니어에 관심을 가지고 이제 막 공부를 시작한 학생입니다. 섹션 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() 요렇게 변경해주니까 데모 영상에 나온 것과 같이 똑같이 스노우플레이크에 잘 적재되었습니다.! 제가 제대로 해결한게 맞을까요??