inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

구글 애드센스 검토를 요청 했는데 오류가 발생해요

미해결

구글 애드센스 수익형 워드프레스 블로그 만들기

강의안을 따라서 진행했는데 오류가 발생합니다. 이미지는 아래에 첨부했습니다. 제가 생각하는 문제는 제가 활성화하는 서버의 위치가 synology-nas안에 있는게 문제인것 같아요. 일단 저의 블로그는 blog.synology-nas.me 이런식으로 접속을 하는데 반해서 구글 애드센스의 사이트 등록은 blog.synoloy-nas.me라고하면 최상위 사이트가 아니라고 오류가 떠서 synoloy-nas.me를 통해서 사이트를 연결했습니다. 문제는 synology-nas.me는 synology에서 제공하는 web환경의 페이지에 접속하다보니까 아래와 같은 오류가 발생하는거 같아요 어떻게 진행해야 할까요

  • HTML/CSS
  • wordpress
  • php
  • 웹-디자인
  • 반응형-웹
심규대 댓글 2 좋아요 0 조회수 119

13강 수업자료 입수 방법문의

해결됨

바이브 코딩으로 만드는 재미있는 재무제표 (커서 ai)

안녕하세요 강사님, 13.[new] 3단계로 완성하는 재무제표 웹앱 실습의 수업자료로 올려주신 corp.xml은 어디에서 어떻게 구할 수 있는지 문의드립니다. python으로 호출하여 받은 것인지요? 감사합니다.

  • 프롬프트엔지니어링
  • 비즈니스
  • ai-활용-(ax)
  • ai-agent
  • 바이브코딩
woos.bang 댓글 1 좋아요 0 조회수 95

pubspec.yaml에서 font를 추가하면서 weight 값을 지정하는 것이 의미가 있는 것인지 문의

미해결

[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

안녕하세요. 좋은 강의 만들어 주셔서 감사합니다. pubspec.yaml 에서 font를 추가하면서 weight 값도 추가해주는데요. 이 값일 빼거나, 다른 값으로 변경해서 테스트를 해도 변화가 없는것 같던데요. 그래서 의미가 없는 코드처럼 보여서요. 제가 맞게 파악하고 있는 것일까요? 아래 내용은 강사님께서 수업하시면서 말씀하신 내용을 주석으로 남겼던 부분입니다. # 패밀리는 폰트의 종류를 의미한다.(철자는 마음대로 지정해도 된다) fonts: - family: parisienne fonts: #fonts는 실제 적용될 폰트를 의미한다. - asset: asset/font/Parisienne-Regular.ttf #asset에 실제로 사용될 폰트를 선택해준다. - family: sunflower fonts: #Medium, Bold는 더 굵은것이라는 것을 구분하기 위해서 명시해줘야 한다. - asset: asset/font/Sunflower-Light.ttf - asset: asset/font/Sunflower-Medium.ttf weight: 700 # 숫자는 마음대로 넣을 수 있다. 코드에서 weight500를 사용하면 Medium 폰트를 사용할 것이라는 뜻이다. - asset: asset/font/Sunflower-Bold.ttf weight: 500 # 숫자는 마음대로 넣을 수 있다. 코드에서 weight500를 사용하면 Medium 폰트를 사용할 것이라는 뜻이다.

  • flutter
  • 클론코딩
Myoungsu Park 댓글 1 좋아요 0 조회수 77

CubeIDE 프로젝트 생성 문제

해결됨

전동킥보드로 배우는 임베디드 실전 프로젝트

프로젝트 생성 후 Includes를 제외한 나머지 폴더,파일 제거라고 하셨는데 ioc 파일밖에 안보입니다. 어떻게 해결하면 좋을까요?

  • 임베디드
  • stm32
  • hardware
  • motordriver
  • artwork
김하람 댓글 2 좋아요 0 조회수 169

[33. 좋아요 수 구현] 에서 테스트 하는 화면 동시성 문제

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

학습 관련 질문을 최대한 상세히 남겨주세요! 고민 과정도 같이 나열해주셔도 좋습니다. 먼저 유사한 질문이 있었는지 검색해보세요. 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. [33. 좋아요 수 구현] 에서 테스트 하는 화면에서요. 해당 방법대로 실행을 하면 동시성 문제가 발생합니다. Record has changed since last read in table 'article_like_count' 저는 MariaDB를 사용하고 있는데요. MySQL도 마찬가지로 기본 잠금 수준이 Repeatable Read 라고 알고 있습니다. 해당 기본 수준으로 실행하면 동시성 문제로 영상과 다른 결과를 보이게 됩니다. 따라서 잠금 수준을 Read Commited 나 Read Uncommited 로 변경하면 제대로 실행이 됩니다. 이렇게 하는 것이 정답인지 아니면 다른 원인이 있는건지 알려주세요.

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
주주파파 댓글 2 좋아요 0 조회수 130

14강 아웃풋 질문

해결됨

수익형 AI Agent n8n 전문가 강의, 블로그·쇼츠 자동화

보시는 것처럼 아웃풋이 나왔는데 마지막에 끝마무리가 안난 상태에서 잘려서 나오는데. 글자수 제한이 있나요? 참고로 클로드로 진행한 결과구요. 제미나이 2.5pro로 하니까 아웃풋이 아예 아무것도 안나오네요.

  • docker
  • n8n
  • 인공지능(ai)
  • 프롬프트엔지니어링
  • ai-활용-(ax)
  • 카카오공채-개발
byunbros 댓글 3 좋아요 0 조회수 111

강의 들으면서 궁금한 부분 질문드립니다.

미해결

한 입 크기로 잘라먹는 Next.js

여기에 질문드리면 되는걸까요? 아니면 다른 곳에 따로 질문드리는걸까요? 질문 1. 꼭 하나의 폴더를 먼저 만들어서 열어준 다음 'npx create-next-app@14 프로젝트 이름' 이렇게 폴더 내에 폴더를 만들어서 새로 만든 폴더를 열어서 작업해야 하나요? 아니면 그냥 vs code켜서 'npx create-next-app@14 프로젝트 이름' 바로 쳐서 그 프로젝트에서 바로 시작하면 되나요? 질문 2. 꼭 const router, const {q}로 해야 하나요?, 그 이유도 궁금합니다. 방금 let으로 {q} 선언하니까 오류가 발생했어서 질문드립니다. 질문 3. [[...id]].tsx 에러를 방지하기 위해 기본적으로 대괄호 두번 쓰는게 일반적인가요? 질문 4. search안에 index.tsx라고 파일명을 지었는데, 일반적으로 pages 폴더 하위 폴더를 만들면 그 안에는 무조건 index.tsx라고 파일명을 설정하나요? 그리고 쿼리 파라미터를 받는 동적 url인 경우에만 해당 쿼리 파라미터 이름을 대괄호 안에 적는건가요? 그리고 다중으로 쿼리 파라미터 설정을 할 것을 대비해서 일반적으로 ... 설정을 하는지도 궁금합니다. 질문 5. 404페이지는 보통 이미지로 많이 설정하는데 그럼 export default하고 그 안에 이미지 url을 불러오는건가요? 이미지는 어느 폴더에 보관하는건지 궁금합니다. 질문 6. export default function Page() {}에서 Page는 Pages 안에 들어있는 Page니까 관용적으로 Page를 사용하는건가요? 질문 7. 보통 export default 이렇게 다 작성하는지 아님 자동완성 템플릿을 설정해놓고 사용하는지도 궁금합니다.

  • next.js
감자깡 댓글 1 좋아요 0 조회수 150

보스가 공격 모션에 들어가질 않네요.

미해결

2. 유니티가 어려운 입문자를 위한 입문용 게임 제작

이제 마지막 강의만 남겨놓고 있는데, 보스가 공격을 처음 2번만 하고 그 다음엔 계속 Idle 상태로만 있는 버그가 있네요. 제가 애니메이터에서 특정 조건에서 특정 모션으로 들어가는 걸 설정을 잘 못 해서 이런 것 같은데... 강의에 보스 애니메이터 설정을 하는 내용이 있다면, 어디에 있나요? ㅠㅠ

  • C#
  • unity
Lokasenna 댓글 2 좋아요 0 조회수 105

apache airflow 설치하기 질문

해결됨

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

안녕하세요 mac에서 apache 설치하려고 하는데, Apache Airflow 설치하기 강의가 learn-apache-airflow-main.zip 파일 기반으로 진행되는 걸까요? 일단 강의환경에 맞춰서 python 3.10 & airflow 2.6.2 로 가상환경 생성해서 하고있는데 강의에서보이는 파일목록이 따로 생성되지 않아서 문의드립니다..

  • python
  • 빅데이터
  • 데이터-엔지니어링
  • airflow
얌얌쩝쩝 댓글 2 좋아요 0 조회수 130

백엔드

미해결

아바타 커뮤니티앱 만들기 (React Native Expo)

안녕하세요, 강의 잘 듣고 있습니다! 백엔드가 처음이라.... Git 관리 관련하여 질문드립니다. 제공해주신 백엔드 서버 폴더를 GitHub에 연동해도 괜찮을까요? 백엔드 서버도 별도 저장소로 관리하고 싶은데 제공해주신 파일을 그대로 올려도 되는지 궁금합니다.

  • git
wodnd0284 댓글 2 좋아요 0 조회수 90

다음 AI 챌린지 관련 질문드립니다.

미해결

안녕하십니까. 스승님. 다음 유니티 AI 챌린지 주제가 정해졌는지, 정해지지 않았다면 pvp관련 컨텐츠도 가능한지 궁금합니다. 다음 챌린지는 12월 말에 모집~1월 말 강의 시작이 맞는건가요?

루키스애호가 댓글 1 좋아요 0 조회수 21

전체적으로 프롬프트로 나온 결과값이 너무 달라요.

해결됨

[VOD] 6주 완성! 개발 실무를 위한 고농축 바이브코딩 (Cursor AI, Figma)

전체적으로 프롬프트로 나온 결과값이 너무 달라서 그냥 우선 강의를 듣고 잇긴한데 cursor 버젼때문인지.. Sonnet버젼 4로 시도했는데 실행이 안되서 auto로 그냥 자동 AI툴 돌려서 했더니 강사님이랑 결과값이 너무 품질이 떨어지는 결과가 나오고. pro로 업그레이드 해야 할지.. 이게 씽크가 어느정도 맞아야 진도를 맞출거 같은데 말이죠. 어떻게 해야 하나요??

  • react
  • next.js
  • cursor
  • 프롬프트엔지니어링
  • 바이브코딩
saladac 댓글 2 좋아요 0 조회수 156

연관관계 매핑 질문드립니다.

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

강의 13:30분 부터 설명하시는 부분에 대한 질문입니다. 해당 부분은 Member의 팀 값을 변경했을때 DB의 Member의 외래키(TEAM_ID)가 변경되어야하는지, Team의 멤버들을 업데이트 했을 때 외래키 값이 업데이트 돼야하는지에 대한 내용인데요. 전자는 코드상으로 member.setTeam(team)이 될것이고 후자는 team.getMembers().addMember(member)가 될텐데요. 전자는 이전 강의인 단방향 연관관계에서도 봤듯이 해당 코드를 진행하면 DB Member의 외래키 업데이트가 자동적으로 이루어 지는 것으로 이해하고 있습니다 후자는 후자의 코드를 진행해도 FK 업데이트가 이루어 지지 않는 것으로 알고 있습니다.(Team에는 외래키가 없는 것이 원인으로 알고있습니다.) 그래서 영상에서 말씀하신 둘중 무엇으로 외래키를 업데이트 해야하냐 같은 딜레마라고 언급하신 것이 이해가 잘 되질 않습니다. 어차피 후자의 코드자체가 외래키가 업데이트 되지 않는 코드인데 강의에서 언급하신 전자, 후자 중 어느 것으로 업데이트 해야 하는지에 대한 딜레마가 나온 이유를 모르겠습니다. 이부분을 어떻게 이해하여야할까요?

  • java
  • jpa
yoon6669 댓글 2 좋아요 0 조회수 128

수업 문의 드립니다

미해결

[UI3 업데이트] 피그마 배리어블을 활용한 디자인 시스템 구축하기

강의 소개 영상을 보니 2023년 버전인 것 같은데 현재 25년 12월 기준으로 피그마 업데이트가 많이 진행되어서 지금 수강해도 문제가 없는지 궁금합니다!

  • 웹-디자인
  • figma
  • figma-tokens
  • 디자인-시스템
  • 아토믹-디자인
  • figma-variable
  • 프로덕트디자인
gusdyd20 댓글 3 좋아요 0 조회수 106

구글 스티치에서 피그마로 내보내기

미해결

AI 도구와 피그마를 활용한 앱 서비스 기획

안녕하세요! 9-1강을 듣고 있는데 알려주신 Google Stitch를 저도 사용해보려고 하는데 디자인이 생성되고나서 이미지 상단에 Edit, Figma 버튼이 없어서 검색해보고 했는데 강사님 화면과 제 화면의 차이점이 Standard Mode 유무 더라고요. 처음 써보는거라 구글이메일로 로그인해서 쓰고 있는데 혹시 방법을 알고 계실까요?ㅠ 이미지 첨부해 드립니다!

  • figma
  • 서비스-기획
  • 인공지능(ai)
  • uiux
  • googlestitch
design weing 댓글 2 좋아요 0 조회수 1544

네트워크 프로그램 자원종료 Socket 정리 시 closed 사용 문의

미해결

김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 네트워크 프로그램 자원종료 관련 이해가 안되는 부분이 있어서 문의드립니다. [SessionManagerV6] public synchronized void closeAll() { for (SessionV6 session : sessions) { session.close(); } sessions.clear(); } [SessionV6] // 세션 종료시, 서버 종료시 동시에 호출될 수 있다. public synchronized void close() { System.out.println("closed : " + closed); System.out.println(Thread.currentThread().getName()); if (closed) { return; } closeAll(socket, input, output); // shutdown closed = true; log("연결 종료: " + socket); } 서버에서 ShutdownHook이 발생했을 때 2개의 Client에 Socket이 연결되어 있었다고하면 첫번째 Clinet의 Socket이 정리되고 난 후 2번째 Clinet의 Socket이 정리되는 시점에서는 closed 변수가 true이기 때문에 정리가 안되고 return되는거 아닌가요? 제가 잘 못 이해하고 있는걸까요? 추가적으로 로그를 찍어서 상태값을 확인해 봤는데 이해가 잘 되지 않아서 문의드립니다. 아래는 로그 정보입니다. 17:34:32.806 [ shutdown] shutdownHook 실행 closed : false shutdown 17:34:32.806 [ shutdown] 연결 종료: Socket[addr=/127.0.0.1,port=58474,localport=12345] closed : false shutdown 17:34:32.806 [ shutdown] 연결 종료: Socket[addr=/127.0.0.1,port=58480,localport=12345] 17:34:32.807 [ Thread-2] java.net.SocketException: Socket closed closed : true Thread-2 17:34:32.807 [ Thread-3] java.net.SocketException: Socket closed closed : true Thread-3 17:34:32.807 [ main] 서버 소켓 종료: java.net.SocketException: Socket closed 종료 코드 130 (interrupted by signal 2:SIGINT)(으)로 완료된 프로세스

  • java
  • 네트워크
  • 객체지향
yeon 댓글 2 좋아요 0 조회수 154

[문의] Statusline

미해결

클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지

안녕하세요 첨부 이미지와 같이 statusline을 설치했는데 프로젝트명과 모델명이 안 보입니다. 혹시 해결방법을 알려주실 수 있으실까요?

  • react
  • next.js
  • cursor
  • tailwindcss
  • claude
read.eun77 댓글 2 좋아요 0 조회수 189

강의에서사용하신 root.py 파일이 안보여서 실습하면서 만든 텍스트 공유 드려요

해결됨

토스 개발자와 함께하는 Data Workflow Management 기반의 대용량 데이터 처리 설계 패턴

dynamicDag from datetime import datetime, timedelta from airflow import DAG from airflow.operators.python import PythonOperator from db_utils import execute_query import logging def log_task_start(message): logging.info(f"[START] {message}") def log_task_end(message): logging.info(f"[END] {message}") # 분석할 주식 종목 리스트 (설정으로 관리) STOCK_SYMBOLS = ['AAPL','GOOGL','MSFT','AMZN','TSLA'] default_args = { 'owner': 'data-team', 'depends_on_past': False, 'start_date': datetime(2024, 1, 1), 'email_on_failure': False, 'email_on_retry': False, 'retries': 1, 'retry_delay': timedelta(minutes=5), } def analyze_stock_data(symbol, **context): """주식 종목에 대해서, 최근 30일간의 주식 데이터를 분석""" log_task_start(f"주식 분석 - {symbol}") query = """ SELECT symbol, AVG(price) as avg_price, MAX(price) as max_price, MIN(price) as min_price, SUM(volume) as total_volume, COUNT(*) as trading_days FROM stock_prices WHERE symbol = %s AND trade_date >= DATE_SUB(CURDATE(), INTERVAL 30 DAY) GROUP BY symbol """ result = execute_query(query, [symbol]) if result: data = result[0] print(f"{symbol} 분석 결과:") print(f" 평균 가격: ${data[1]:.2f}") print(f" 최고 가격: ${data[2]:.2f}") print(f" 최저 가격: ${data[3]:.2f}") print(f" 총 거래량: {data[4]:,}") print(f" 거래일수: {data[5]}일") log_task_end(f"주식 분석 - {symbol}") return result def create_stock_dag(symbol): """개별 주식에 대한 DAG 생성 함수""" dag_id = f'stock_analysis_{symbol.lower()}' dag = DAG( dag_id, default_args=default_args, description=f'{symbol} 주식 데이터 분석 DAG', schedule='@daily', catchup=False, tags=['dynamic', 'stock', 'analysis', symbol] ) # 데이터 품질 체크 태스크 def check_data_quality(**context): query = """ SELECT COUNT(*) as count FROM stock_prices WHERE symbol = %s AND trade_date = CURDATE() - INTERVAL 1 DAY """ result = execute_query(query, [symbol]) logging.info(f"{symbol} 데이터 품질 체크: {result[0][0] if result else 0}") return result data_quality_check = PythonOperator( task_id=f'check_data_quality_{symbol.lower()}', python_callable=check_data_quality, dag=dag ) # 주식 분석 태스크 analyze_task = PythonOperator( task_id=f'analyze_{symbol.lower()}', python_callable=analyze_stock_data, op_kwargs={'symbol': symbol}, dag=dag ) # 결과 저장 태스크 def save_results(**context): query = """ INSERT INTO daily_stats (symbol, summary_date, avg_price, total_volume, trade_count) SELECT %s, CURDATE() - INTERVAL 1 DAY, AVG(price), SUM(volume), COUNT(*) FROM stock_prices WHERE symbol = %s AND trade_date = CURDATE() - INTERVAL 1 DAY ON DUPLICATE KEY UPDATE avg_price = VALUES(avg_price), total_volume = VALUES(total_volume), trade_count = VALUES(trade_count) """ result = execute_query(query, [symbol, symbol]) logging.info(f"{symbol} 분석 결과 저장 완료") return result save_results = PythonOperator( task_id=f'save_analysis_{symbol.lower()}', python_callable=save_results, dag=dag ) # 태스크 의존성 설정 data_quality_check >> analyze_task >> save_results return dag # Dynamic DAG 생성 # 각 주식 종목에 대해 별도의 DAG 생성 for symbol in STOCK_SYMBOLS: dag_id = f'stock_analysis_{symbol.lower()}' globals()[dag_id] = create_stock_dag(symbol) CrossDag (트리거 센서) from datetime import datetime, timedelta from airflow import DAG, Dataset from airflow.operators.python import PythonOperator from airflow.operators.trigger_dagrun import TriggerDagRunOperator from airflow.sensors.external_task import ExternalTaskSensor from db_utils import execute_query import logging #기본 설정 default_args = { 'owner': 'data-team', 'start_date': datetime(2024, 1, 1), 'retries': 1, 'retry_delay': timedelta(minutes=2), } # ======================================================== # TriggerDagRunOperator # ======================================================== def process_data(**context): """간단한 데이터 처리""" logging.info("데이터 처리 시작") query = "SELECT COUNT(*) FROM stock_prices" result = execute_query(query) count = result[0][0] if result else 0 logging.info(f"처리된 레코드 수 : ${count}") return {"record_count": count} trigger_dag = DAG( 'trigger_example_dag', default_args=default_args, description='TriggerDagRunOperator 예제', schedule='@daily', catchup=False, tags=['cross-dag', 'trigger'] ) process_task = PythonOperator( task_id='process_data', python_callable=process_data, dag=trigger_dag ) #다른 DAG를 트리거 (가장 기본적인 사용법) trigger_next_dag = TriggerDagRunOperator( task_id='trigger_sensor_dag', trigger_dag_id='sensor_example_dag', wait_for_completion=False, # 완료를 기다리지 않음 dag=trigger_dag ) process_task >> trigger_next_dag # ======================================================== # ExternalTaskSensor # ======================================================== # 두 번째 DAG: 외부 태스크 대기 def analyze_triggered_data(**context): """트리거된 후 분석 작업""" logging.info("외부 태스크 완료 후 분석 시작") # 간단한분석로직 analysis_result = {"status": "completed", "timestamp": str(datetime.now())} logging.info(f"분석 완료: {analysis_result}") return analysis_result sensor_dag = DAG( 'sensor_example_dag', default_args=default_args, description='ExternalTaskSensor 예제', schedule=None, # 트리거로만 실행됨 catchup=False, tags=['cross-dag', 'sensor'] ) # 외부 DAG의 태스크 완료를 기다림 def get_most_recent_dag_run(dt): """가장 최근의 DAG 실행을 찾는 함수""" from airflow.models import DagRun from airflow.utils.session import provide_session @provide_session def get_recent_run(session=None): recent_run = session.query(DagRun).filter( DagRun.dag_id == 'trigger_example_dag', DagRun.state == 'success' ).order_by(DagRun.execution_date.desc()).first() if recent_run: return recent_run.execution_date return dt return get_recent_run() wait_for_external_task = ExternalTaskSensor( task_id='wait_for_process_data', external_dag_id='trigger_example_dag', # 기다릴 DAG external_task_id='process_data', # 기다릴 태스크 execution_date_fn=get_most_recent_dag_run, #최근성공한 실행 DAG timeout=60, # 1분 타임아웃 poke_interval=5, # 5초마다 확인 allowed_states=['success'], #성공 상태만 기다림 dag=sensor_dag ) analyze_task = PythonOperator( task_id='analyze_triggered_data', python_callable=analyze_triggered_data, dag=sensor_dag ) wait_for_external_task >> analyze_task # ======================================================== # Dataset Denpendencies # ======================================================== # Dataset 정의 (Dataset Dependencies 용) market_data_dataset = Dataset("market_data") analysis_dataset = Dataset("analysis_result") def create_market_data(**context): """마켓 데이터를 생성하고 Dataset을 업데이트""" logging.info("마켓 데이터 생성 시작") # 실제 데이터 생성 로직 query = """ SELECT symbol, AVG(price) as avg_price FROM stock_prices WHERE trade_date = CURDATE() - INTERVAL 1 DAY GROUP BY symbol LIMIT 3 """ result = execute_query(query) market_data = [] if result: for row in result: market_data.append({"symbol": row[0], "avg_price": float(row[1])}) logging.info(f"생성된 마켓 데이터: {market_data}") return market_data dataset_producer_dag = DAG( 'dataset_producer_dag', default_args=default_args, description='Dataset Dependencies - 생산자', schedule='@daily', catchup=False, tags=['cross-dag', 'dataset', 'producer'] ) create_data_task = PythonOperator( task_id='create_market_data', python_callable=create_market_data, outlets=[market_data_dataset], # Dataset 업데이트 알림 dag=dataset_producer_dag ) # Consumer def consume_market_data(**context): """생성된 마켓 데이터를 소비하여 분석""" logging.info("마켓 데이터 소비 및 분석 시작") # Dataset이 업데이트되면 자동으로 실행됨 query = "SELECT COUNT(DISTINCT symbol) FROM stock_prices" result = execute_query(query) symbol_count = result[0][0] if result else 0 analysis = { "total_symbols": symbol_count, "analysis_time": str(datetime.now()), "status": "Dataset 기반 분석 완료" } logging.info(f"Dataset 기반 분석 결과: {analysis}") return analysis def generate_final_report(**context): """최종 리포트 생성""" logging.info("최종 리포트 생성") ti = context['ti'] analysis = ti.xcom_pull(task_ids='consume_market_data') report = f"Dataset 기반 리포트: {analysis.get('total_symbols', 0)}개 심볼 분석 완료" logging.info(report) return report dataset_consumer_dag = DAG( 'dataset_consumer_dag', default_args=default_args, description='Dataset Dependencies - 소비자', schedule=[market_data_dataset], # Dataset이 업데이트되면 실행 catchup=False, tags=['cross-dag', 'dataset', 'consumer'] ) consume_task = PythonOperator( task_id='consume_market_data', python_callable=consume_market_data, outlets=[analysis_dataset], # 다음 Dataset 업데이트 dag=dataset_consumer_dag ) report_task = PythonOperator( task_id='generate_final_report', python_callable=generate_final_report, dag=dataset_consumer_dag ) consume_task >> report_task

  • 빅데이터
  • docker
  • docker-compose
  • airflow
dellahong 댓글 7 좋아요 0 조회수 213

Header 컴포넌트 리렌더링 질문

미해결

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

안녕하세요 Header.jsx 수정중 궁금한점이 있어서 질문드립니다! new Date() 함수는 날짜를 가져오는 함수라 리렌더링이 계속 될것같은데 memo 를 사용하면 리렌더링이 안되는건가요 ??

  • javascript
  • react
  • node.js
  • 카카오공채-개발
bitt2580 댓글 2 좋아요 0 조회수 102

FPGA 강의 보드 문의 드립니다.

미해결

설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)

안녕하세요 맛비님, 언제나 좋은 내용 감사합니다. 아직 FPGA 수강등록을 하지 않았기에 부득이하게 Verilog 학습 q&a에 질문을 드립니다. 설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계, 강의를 위해 보드를 구매하려 하는데 Zybo z7-20 board가 단종이 되어 해외에서 또는 중고로 구매해야 하는 약간의 Risk가 있습니다. 금액도 생각보다 좀 나가네요. Arty z7 10으로 시작을 하고, 나중에 좀 실력이 생기면 조금 더 비싼 것으로 구매하던지 하는 Safe한 Approach를 하려 하는데요. Arty board를 구매했을 때 수업 내용과 달라서 어려운 점이 예상 되는 부분이 있나요? Board 구매를 한 후 수강을 하려 생각하고 있습니다. 감사합니다.

  • verilog-hdl
  • fpga
  • 임베디드
leeky74 댓글 2 좋아요 1 조회수 144

인기 태그

인프런 TOP Writers

주간 인기글