inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

블로그에 user 데이터를 추가하는 방법에 대해서

미해결

mongoDB 기초부터 실무까지(feat. Node.js)

읽는 시점에 populate 부분에 대한 시간도 최소화 하기 위해서 생성하는 시점에 user 의 최소한의 데이터를 넣어주고 있는거 같은데요. 이렇게 접근하면, 화면 중심으로 모델이 설계가 되는게 아닐까요? 요구사항이 바뀌거나, 다른 서비스에서 해당 API 를 사용하게 되면 매번 모델을 수정하고 데이터를 마이그레이션 해야 하는 이슈가 생길 수 있을거 같은데요. 어떻게 생각하시나요?

  • javascript
  • node.js
  • aws
  • mongodb
  • rest-api
  • dbms/rdbms
  • 데이터-엔지니어링
박종혁 댓글 1 좋아요 0 조회수 260

airflow docker compose 질문드립니다.

해결됨

실리콘밸리 엔지니어와 함께하는 Apache Airflow

안녕하세요 선생님 airflow docker compose 질문드립니다. airflow docker compose로 최초 실행후 yml 파일을 수정하면 수정 내용만을 반영하게되는건가요? 아니면 새로운 docker compose를 빌드하는건가요? yml 또는 DAG를 수정하는 경우 ci/cd 관점에서 어떻게 관리하는지 궁금합니다. 감사합니다. 🙂

  • python
  • 빅데이터
  • 데이터-엔지니어링
  • airflow
JP 댓글 1 좋아요 1 조회수 446

blog 데이터 생성시 user 관련 오류

미해결

mongoDB 기초부터 실무까지(feat. Node.js)

블로그 생성할 때 user 객체를 넣으면, 리턴 값으로 user 객체를 받을 수 있는 이점이 있다고 해서, 전달해봤는데요. 아래와 같은 에러가 발생합니다. blog validation failed: user: Cast to ObjectId failed for value 블로그 생성시 user 가 아닌 userId 를 전달하면 정상적으로 블로그가 생성되나, 리턴값에는 user 객체가 아닌 userId 가 매핑되어 있습니다. mongoose 버전이 올라가면서 변경된 사항이 있어서 발생한 이슈일까요?

  • javascript
  • node.js
  • aws
  • mongodb
  • rest-api
  • dbms/rdbms
  • 데이터-엔지니어링
박종혁 댓글 1 좋아요 0 조회수 381

age 예외 처리를 별도로 하신 이유가 궁금합니다.

해결됨

mongoDB 기초부터 실무까지(feat. Node.js)

이미 Schema 정의 할 때 age 를 number 로 했기 때문에, 디비에 저장할 때 number 값을 전달하지 않으면 에러가 발생해서 catch 에서 처리할 수 있을거 같은데요. 업데이트 전에 필드를 validation 하면 모든 필드에 대해서 일일히 다 해줘야 할 것 같은데, 그렇게 하는 이유가 있을까요? 그리고, catch 에러에서 number 값을 입력하지 않아서 발생한 오류임을 알 수 있는 방법(e.g., 에러 코드)이 있나요?

  • javascript
  • node.js
  • aws
  • mongodb
  • rest-api
  • dbms/rdbms
  • 데이터-엔지니어링
박종혁 댓글 2 좋아요 2 조회수 337

delete 메소드가 많은 이유가 궁금합니다.

미해결

mongoDB 기초부터 실무까지(feat. Node.js)

User.findOneAndDelete User.deleteOne User.findByIdAndDelete 이렇게 많은 인터페이스를 제공해주는 이유가 있을까요? 단순히 편의를 위한 것인지, 상황에 따라 골라쓰는게 성능적으로 좋은 것인지 궁금합니다.

  • javascript
  • node.js
  • aws
  • mongodb
  • rest-api
  • dbms/rdbms
  • 데이터-엔지니어링
박종혁 댓글 1 좋아요 0 조회수 205

unique validation 처리

미해결

mongoDB 기초부터 실무까지(feat. Node.js)

unique 에서 중복이 발생하면 catch 에 잡히는데, 이 때 unique 에러 때문에 발생한 에러인지 어떻게 알고 케이스를 나눠서 클라이언트에게 전달 할 수 있을까요?

  • javascript
  • node.js
  • aws
  • mongodb
  • rest-api
  • dbms/rdbms
  • 데이터-엔지니어링
박종혁 댓글 1 좋아요 0 조회수 319

.travis.yml 파일 작성하기 과정 중에 아무리해도 테스트가 성공이 안됩니다.

미해결

따라하며 배우는 도커와 CI환경 [2023.11 업데이트]

.travis.yml 파일 작성 후에 깃 커밋하고 sudo: required language: generic services: - docker before-install: - echo "start creating an image with dockerfile" - docker build -t gonieyoo720/docker-react-app -f Dockerfile.dev . script: - docker run -e CI=true gonieyoo720/docker-react-app npm run test -- --coverage after_success: - echo "Test Success" 트래비스에까지 테스트를 돌렸는데, 몇번을 수정하고 해봐도 트래비스에서 테스트를 통과하지 못하네요. 오타 확인도 많이 해봤는데, 해결을 못하고있습니다. 테스트에 중지되지않은 비동기작업이 있다고 오류를 해결하려면 devDependency를 추가하라는데, 어떻게 해야할까요 --------------------|---------|----------|---------|---------|------------------- File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s --------------------|---------|----------|---------|---------|------------------- All files | 8.33 | 0 | 33.33 | 8.33 | App.js | 100 | 100 | 100 | 100 | index.js | 0 | 100 | 100 | 0 | 7-17 reportWebVitals.js | 0 | 0 | 0 | 0 | 1-8 --------------------|---------|----------|---------|---------|------------------- Test Suites: 1 failed, 1 total Tests: 1 failed, 1 total Snapshots: 0 total Time: 2.06 s Ran all test suites. Jest did not exit one second after the test run has completed. This usually means that there are asynchronous operations that weren't stopped in your tests. Consider running Jest with `--detectOpenHandles` to troubleshoot this issue. One of your dependencies, babel-preset-react-app, is importing the "@babel/plugin-proposal-private-property-in-object" package without declaring it in its dependencies. This is currently working because "@babel/plugin-proposal-private-property-in-object" is already in your node_modules folder for unrelated reasons, but it may break at any time. babel-preset-react-app is part of the create-react-app project, which is not maintianed anymore. It is thus unlikely that this bug will ever be fixed. Add "@babel/plugin-proposal-private-property-in-object" to your devDependencies to work around this error. This will make this message go away. The command "docker run -e CI=true gonieyoo720/docker-react-app npm run test -- --coverage" exited with 1. Done. Your build exited with 1.

  • aws
  • docker
  • github
  • ci/cd
  • travis-ci
  • 데이터-엔지니어링
gonieyoo 댓글 1 좋아요 0 조회수 467

ntile 정규분포에 관하여 ... 향후 일을 하게 될 시

해결됨

다양한 사례로 익히는 SQL 데이터 분석

강의를 듣는 도중, ntile()의 경우, 분포가 skew가 심하면(정규분포가 아니라면), 순위를 매길 때, 문제가 생김을 배울 수 있었습니다. Q1. 저는 왜곡이 되어있는 걸 보자마자, 차라리 판다스나 Spark SQL로 데이터를 정규화 한뒤에, 시각화를 하는게 더 빠르지 않을까? 하는 생각이 들었는데요, 기업에서 일을 하게 될 때, 어떤 경우에 SQL을 쓰는지가 궁금합니다. 저는 강사님의 강의를 수강하며, python 데이터 분석 -> 머신러닝 -> 딥러닝 이후, 현재 SQL강의를 수강하고 있습니다. 희망직무는 데이터 사이언스트 및 데이터 엔지니어를 희망하는데, 항상 채용공고를 보면, python 능력도 중요하지만 고급 SQL 능력도 자격요건으로 되어 있는 경우가 많았습니다. Q2. 현업에서 데이터를 가공하거나 처리할 때, 오히려 프로그래밍언어보다는 SQL를 훨씬 많이 쓴다고 하는데, Q1처럼 때에 따라 유동적으로 쓰는 것인지, 아니면 앞으로 데이터 분석을 연습할 때도, (이를 테면, 캐글과 같은) 파이썬 보다는 SQL위주로 연습하는 것이 더 적합한 건지 여쭙고 싶습니다. Q3. 이건 머신러닝과 관련된 이야기지만, 이렇게까지 skew가 개선되지 않을 때는 어떻게 해야하나요? from sklearn.preprocessing import StandardScaler # OverSampling을 해도 Skew가 개선되지 않음 # UnderSampling을 하면 데이터가 줄어들기 때문에, 사용에 유의가 필요하나 skew가 # 너무 심하기 때문에 사용함. from imblearn.under_sampling import CondensedNearestNeighbour from scipy import stats import numpy as np def log_transform(column): return np.log1p(column) scaler = StandardScaler() df["freq"] = log_transform(df["freq"]) df["freq"] = scaler.fit_transform(df[["freq"]]) cnn = CondensedNearestNeighbour(sampling_strategy='majority', random_state=42) X_resampled, y_resampled = cnn.fit_resample(df[["freq"]], df["user_id"].values) resampled_df = pd.DataFrame(data=X_resampled, columns=["freq"]) print(resampled_df) ####### freq 0 -0.352373 1 -0.352373 2 -0.352373 3 -0.352373 4 2.495698 ... ... 2557 -0.352373 2558 3.642937 2559 -0.352373 2560 -0.352373 2561 -0.352373 [2562 rows x 1 columns] ######### resampled_df["freq"] = log_transform(resampled_df["freq"]) resampled_df["freq"].skew() ### 2.4721717038971214

  • sql
  • postgresql
  • dbms/rdbms
  • 퍼포먼스-마케팅
  • 데이터-엔지니어링
minsubrother 댓글 1 좋아요 0 조회수 384

데이터 엔지니어 되고싶은데

미해결

[리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]

백엔드 엔지니어가 먼저 되어야 할까요? 스프링을 배워야 할까요? 데이터 엔지니어가 백엔드부터 배워야 하는 이유ㅣ4년차 현직자의 솔직한 조언 - YouTube 개발자 진로는 농업 데이터 엔지니어가 되고싶습니다 팜모닝 데이터 분석가 | 그린랩스 (greenlabs.co.kr)

  • python
  • sql
  • mysql
  • dbms/rdbms
  • 데이터-엔지니어링
조현성 댓글 1 좋아요 0 조회수 1306

m1 mac 환경 셋팅 관련 문의

미해결

15일간의 빅데이터 파일럿 프로젝트

안녕하세요, 좋은강의 감사합니다. 저는 m1 mac 이용하는 수강생입니다. virtualbox 환경 셋팅 중에 막히는 부분이 있어 문의 드립니다. 7버전 이상에서 m1 chip 설치는 지원하여 무리 없이 설치할 수 있었는데, 제공해주신 server01/02 이미지 실행시 부팅 상 에러가 나옵니다. (=Unsupported CPU 에러 출력, 제공주신 이미지가 amd64 베이스여서 그런듯합니다) 추가로, parallels 설치 후 virtualbox 설치 시에도 뜻대로 되지 않아 우선 홀딩 하였습니다. https://www.inflearn.com/questions/837697/comment/253276 이 댓글 이후에 7개월 정도 지났는데 관련하여 업데이트 된 부분이 있을지 문의 드립니다. (arm 호환 가능 이미지 제공 등) 없다 라고 한다면, 혹시 우회하여 실습해 볼 수 있는 방법이 있을까요? (클라우드 환경에서 windows 서버 마련해야 할까요? ㅜ)

  • 빅데이터
  • hadoop
  • kafka
  • zookeeper
  • redis
  • flume
  • impala
  • 데이터-엔지니어링
이강호 댓글 1 좋아요 2 조회수 512

도커 볼륨을 이용한 소스 코드 변경 4:23 에서

미해결

따라하며 배우는 도커와 CI환경 [2023.11 업데이트]

docker: invalid reference format. See 'docker run --help' 자꾸 이렇게 뜨는데 docker run -it -p 3000:3000 -v /usr/src/app/node_modules -v $(pwd):/usr/src/app gonieyoo720/docker-react-app 저는 강의에 나오는 것과 동일하게 써서 오타를 모르겠습니다 ㅠㅠ 이유가 뭘까요

  • aws
  • docker
  • github
  • ci/cd
  • travis-ci
  • 데이터-엔지니어링
gonieyoo 댓글 1 좋아요 0 조회수 572

dag 스케줄링 관련

해결됨

Airflow 마스터 클래스

안녕하세요? 좋은 강의에 진심으로 감사드립니다. 책으로 공부했으면 아직 헤매고 있을텐데, 친철하게 설명해 주셔서 그동안 들었던 강의를 바탕으로 어제 data.go.kr 에서 기상청이 제공하는 대기정체지수를 다운로드 받는 dag을 만들어 수동으로 실행을 해보니, 수동으로는 csv 파일 생성까지 success가 되는 것을 확인하였습니다. 그런데 오늘 새벽에 자동으로 실행이 되도록 컴퓨터를 켜두었었는데, 아침에 보니 돌아가지 않았습니다. ㅠㅠ DAG에 크론 일정은 "0 5 \* \* \*"로 주고 , start_date는 어제 날짜 2023. 11. 5. in_timezone('Asia/Seoul')로 주었었습니다. (매일 새벽 5시에 돌아서 전일자로 업데이트된 데이터를 받고자 하였습니다.) airflow를 직접 사용해 보니 UTC와 KST가 혼재되어서 사용시에 헷갈리기도 하고, 실제로 제가 만들어 보니 권한 문제, 패키지 추가 문제 등 여러가지 난관에 봉착했었습니다만, 여기 질문 게시판을 참조하면서 모든 문제를 해결할 수 있었는데, 일정 셋팅 관련해서는 제가 아주 기본적인 airflow의 시간 개념을 잘 못 이해하고 있는 것 같아서 질문드립니다. 위의 두가지 말고 따로 확인해야 하는 사항이 있는지요? 여기 게시판의 첫번째 질문도 시간개념이었는데, 읽어봐도 제 입장에서는 제 문제 해결방법이 명확해 지는 것 같지는 않아서 이렇게 폐를 끼치게 되었습니다. 여담입니다만, 기상청에서 제공하는 API 데이터들은 1루치 정도만 제공되어서, 매일 접속을 해서 처리를 해두지 않으면 데이터가 사라져 버립니다. 수작업으로 하는 것이 예상보다 피곤하였고, 중간중간 잊고 지나치는 경우가 생겨서, 데이터의 완결성이 떨어지는 등 아쉬운 점이 있었습니다. 제 계획은 노트북을 출근전에는 꺼놓고, 퇴근후 집에와서 WSL에 airflow 도커로 올려서 새로 켜놓고, 새벽에 Dag이 일정대로 돌아서, 아침에 일어나면 데이터들이 제가 원하는 형태대로 정리되고, 이메일로 완료되었다고 노티를 받는 것입니다. 가능할 거라고 보시는지요?

  • python
  • 데이터-엔지니어링
  • airflow
unho.chang 댓글 1 좋아요 0 조회수 406

task 데코레이터 사용시 궁금증이 있습니다.

미해결

Airflow 마스터 클래스

task 데코레이터를 사용하면서부터 함수호출값을 받게 변경되는 점이 궁금합니다. 변경 전 def foo(): ... py_task = PythonOperator( python_callable=foo) 변경 후 @task(task_id='py_task') def foo(): ... py_task = foo() 변경 후에는 foo라는 함수원형을 입력하는 것이 아니라 함수를 호출하게 되는데 데코레이터로 감쌌기 때문에 괜찮아지는 건가요?

  • python
  • 데이터-엔지니어링
  • airflow
박희진 댓글 1 좋아요 0 조회수 371

JDBC Sink Connector 에서 Topic Commit 처리 문의

미해결

카프카 완벽 가이드 - 커넥트(Connect) 편

안녕하세요 강사님 JDBC Sink Connector 에서 Topic 의 파티션이 다수인 경우 Topic 에 대한 Commit 처리를 어떻게 하는지 궁금합니다. 예를 들어 CDC Connector 로 저장된 Topic 을 MySQL 로 Sink 하고자 하는 경우이고 Topic 스키마에 당연히 키값은 있고 파티션이 10개 정도 된다고 했을때 Sink Connector 에서 최대 1000 개 데이터를 batch 로 DB에 처리하도록 설정했다면 Topic 에 대한 Commit 처리를 offset 정보를 loop 돌면서 commit 하는걸까요? 소스를 참고할수있다면 소스 레벨로 알려주시면 감사하겠습니다.

  • kafka
  • 데이터-엔지니어링
AWWW 댓글 1 좋아요 0 조회수 370

jupiter노트북 말고 명령어 실행 할 수 있나요?

미해결

[리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]

이걸 주피터 노트북에서 했던거처럼 python에서 실행하는건가요?

  • python
  • sql
  • mysql
  • dbms/rdbms
  • 데이터-엔지니어링
조현성 댓글 1 좋아요 0 조회수 413

travis 에서 aws EB 연결시 오류

미해결

따라하며 배우는 도커와 CI환경 [2023.11 업데이트]

travis 에서 정상적으로 배포 되어 s3에 압축파일이 정상적으로 들어갑니다. 또한, EB 환경에서도 실행중인 버전이 Travis-... 로 시작하구요. 그런데 도커 도메인을 클릭시 아무것도 뜨지 않습니다. 환경 Health 확인 시에도 OK 로 정상 이고요. 결론은 정상적으로 배포가 불가능합니다. 리뉴얼은 도대체 언제 되는건가요

  • aws
  • docker
  • github
  • ci/cd
  • travis-ci
  • 데이터-엔지니어링
-잼 댓글 3 좋아요 0 조회수 460

[섹션2] 메세지 비동기 전송 부분에 기본적인 질문인데요

해결됨

카프카 완벽 가이드 - 코어편

카프카 관련 질문이라기 보다는.. 자바에 익숙하지 않아서 자바에 관한 질문입니다. kafkaProducer.send(producerRecord, new Callback() { @Override public void onCompletion(RecordMetadata metadata, Exception exception) { if (exception == null) { logger.info("partiion: " + metadata.partition()); logger.info("offset: " + metadata.offset()); logger.info("timestamp: " + metadata.timestamp()); } else { logger.error("exception error from broker: " + exception.getMessage()); } } }); 여기서 sendThread에서 callback에 대한 부분을 호출할때, 이런식으로 동작하는것으로 생각했습니다. 그래서 sendThread에서 broker에서 response를받아 callback에 해당하는 부분을 채워넣을때 이와 같이 동작한다고 생각합니다. (java에 익숙하지 않아서... python코드로 그냥 이해한대로 적어보겠씁니다.. ) def responseCallback(record, callback) { callback.onCompletion(record, exception) } 이런식으로 callback 객체의 onCompletion 메서드를 호출하고 받은 정보를 parameter로 넘기는것으로 이해했는데요. 근데, lambda형식으로 바꾸게 되면, kafkaProducer.send(producerRecord, (metadata, exception) -> { if (exception == null) { logger.info("partiion: " + metadata.partition()); logger.info("offset: " + metadata.offset()); logger.info("timestamp: " + metadata.timestamp()); } else { logger.error("exception error from broker: " + exception.getMessage()); } } }); 이렇게 코드를 작성되는데, 이렇게 되면 callback 함수를 호출할때, onCompletion 메서드를 호출을 안하게 되는건가요? callback(metadata, exception) 이와같이 호출을 하는건가요?? lambda에서의 호출방법으로 호출하는건지, 기존의 callback 객체를 호출하는 방식이 맞는건지.. 어떠한 부분이 맞는건지 궁금합니다.

  • kafka
  • 데이터-엔지니어링
Hyeonghwan Kwon 댓글 1 좋아요 0 조회수 429

SAKILA 폴더에서 가져온 SCHEMA와 DATA가 정확히 뭘까요

미해결

[리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]

SCHEMA는 관계 정보고 (DESC명령어로 보는) DATA는 관계에 들어가는 데이터(SELECT 명령어로 보는) 인가요? DB정보를 넘길때는 보통 이 두개 파일을 넘기게 되나요?

  • python
  • sql
  • mysql
  • dbms/rdbms
  • 데이터-엔지니어링
조현성 댓글 1 좋아요 0 조회수 296

task가 실행되지 않습니다.

미해결

Airflow 마스터 클래스

task가 제대로 수행되지 않습니다 작업의 로그를 확인하면 아래와 같은 메세지만 나타나구요 *** Could not read served logs: Request URL is missing an 'http://' or 'https://' protocol. 아래에서 저와 같은 증상을 겪은 사람을 찾았습니다만 링크 메모리 사용량을 늘려서 해결했다고만 나타납니다 저는 이미 WSL의 메모리를 8GB에 swap도 2GB도 준 상태구요... airflow의 worker 자체의 에러로그를 찾아보았더니 아래와 같이 권한 문제가 나타납니다 [2023-10-31 15:51:22,188: ERROR/ForkPoolWorker-15] [4c24a6e8-1133-46a5-99ac-5fd6bdb3c730] Failed to execute task [Errno 13] Permission denied: '/opt/airflow/logs/dag_id=dags_bash_operator'. zz5414-airflow-worker-1 | Traceback (most recent call last): zz5414-airflow-worker-1 | File "/usr/local/lib/python3.8/pathlib.py", line 1288, in mkdir zz5414-airflow-worker-1 | self._accessor.mkdir(self, mode) zz5414-airflow-worker-1 | FileNotFoundError: [Errno 2] No such file or directory: '/opt/airflow/logs/dag_id=dags_bash_operator/run_id=manual__2023-10-31T15:51:20.844476+00:00/task_id=bash_t1' worker 컨테이너안의 /opt/airflow/logs/dag_id=dags_bash_operator라는 파일에 권한이 없어서 발생하는 문제로 보입니다. 컨테이너 내부 파일의 권한은 어떻게 설정하는지를 모르겠습니다 제가 만든 dag말고도 example_bash_operator도 마찬가지로 실행되지 않고 같은 에러입니다. 해결해주실 수 있을까요? 정말 airflow 열심히 배워보려고 했거든요 ㅠㅠ

  • python
  • 데이터-엔지니어링
  • airflow
박희진 댓글 2 좋아요 0 조회수 1724

스트림즈dsl의 state.dir에 대해

미해결

[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!

state.dir을 설명하시다가 /tmp의 생명주기가 다르다고 하셨는데 os 마다 /tmp의 데이터가 삭제되는 조건들이 다르다는 말씀인가요?

  • kafka
  • 데이터-엔지니어링
낌상 댓글 2 좋아요 0 조회수 370

인기 태그

인프런 TOP Writers

주간 인기글