안녕하세요, 강사님. TDD 관련 강의 항상 잘 듣고 있습니다. 강의 내용을 따라 실습을 진행하던 중, 테스트 격리 전략에 대해 궁금한 점이 생겨 질문 남깁니다. # 강의에서 다뤄주신 상황 강의에서처럼 여러 테스트 메서드에서 동일한 이메일 값을 사용하니, 테스트 클래스 전체를 실행했을 때 JPA의 유니크 제약 조건 위반 에러가 발생했습니다. 이로 인해 개별 테스트는 성공하지만 전체 테스트는 실패하는 상황에서 궁금증이 생겼습니다. # 제가 먼저 생각한 해결책: @Transactional 을 이용한 롤백 저는 강의를 들여면서 이 문제를 해결하기 위해, 각 테스트 메서드에 @Transactional 애너테이션을 붙여 테스트가 끝나면 자동으로 롤백시키는 방식을 먼저 떠올렸습니다. 이 방법으로 각 테스트가 독립적인 트랜잭션 내에서 실행되고, DB 상태를 다음 테스트에 영향을 주지 않는 상태로 유지할 수 있다고 생각했습니다. ##강사님의 방식(임의 데이터 generator)에 대한 질문## 그런데 강사님께서는 강의에서 롤백 방식을 사용하지 않으시고, UUID 등을 활용해 매번 고유한 이메일 주소를 생성해주는 데이터 제너레이터 방식을 사용하셨습니다. 강의에서도 @Transactional 을 성능 등 여러가지 이유로 인해 사용하지 않았다고 하셨는데요. @Transactional 을 이용한 롤백 방식도 충분히 좋은 해결책이라고 생각했는데, 강사님께서 UUID 생성 방식을 선택하신 특별한 이유나 설계 철학이 궁금합니다. 혹시 제가 생각한 롤백 방식에 비해 UUID 생성 방식이 갖는 실용적인 장점(ex. 롤백을 하지 않으니 디버깅의 용이성(?))이 있을까요? 두 방식의 장단점과 어떤 상황에서 어떤 전략을 선택하는 것이 실무에서 더 좋을지에 대한 강사님의 고견을 듣고 싶습니다. 감사합니다!
강의를 들으면서 내부 설계에 의존하는 테스트라는 것이 무엇인지 조금 헷갈려서 질문 드립니다. 강의 초반에는 테스트가 내부 설계에 의존해서는 안된다고 말씀 주셨습니다. 내부 설계에 의존하게 되면 테스트가 깨지는 등의 부작용이 발생할 수 있기 때문이라는 점도 함께 말씀 주셨는데, 이번 강의에서는 내부 설계에 의존해야 하는 케이스를 설명 해주셨습니다. 다만 왜 이런 케이스에는 내부 설계에 의존해야 하는지를 확실하게 이해를 하지 못했습니다. 조금 더 자세한 질문을 드리자면 내부 설계의 의미 내부 설계에 의존해야 하는 이유 이 두가지를 잘 이해하지 못한 것 같습니다. 내부 설계라는 것이 클라이언트가 실제로 사용하는, 외부로 공개된 인터페이스를 제외한 모든 부분을 말하는 것일까요? 이번 강의에서 내부 설계에 의존해야 하는 이유는 클라이언트는 어떤 방식으로 암호화를 하는지 알 필요가 없다. 하지만 현재 공개된 인터페이스로는 실제 비밀번호가 평문으로 저장이 되었는지, 아니면 정말 암호화가 이루어져 저징이 되었는지를 확인할 수 있는 방법이 없다. 그러므로 실제 암호화 로직을 테스트 해야한다 (내부 설계에 의존해야 한다) 정도로 이해했습니다만 제가 맞게 이해한 것인지 감이 오질 않습니다. 요약하자면 내부 설계란 외부로 드러난 인터페이스 외적인 것들을 말하는 것인지 왜 내부 설계를 의존해야만 하는 상황이 발생하는지 정도일 것 같습니다. 감사합니다.
코드 5줄의 마법, 5줄 머신러닝 PyCaret: 데이터 분석 프로젝트에 AutoML 날개 달기
ydata_profiling 버전 확인 시 'v4.17.0' 입니다. 이슈 해결을 위해 노력해보았으나 너무 어려워 확인 부탁드립니다. 버전 충돌 문제인 지 어렵네요.. 처음에 Overview 화면은 잘 나오나 뒤에 Correlations 등 클릭하면 다시 미니 주피터랩 화면으로 나타납니다. html로 저장하여 확인 시에는 전부 다 잘 확인되는데 notebook 화면에서 확인이 안됩니다. notebook화면에서 확인할 수 있는 방법 알려주시면 감사하겠습니다. conda 명령어로도 실행해보았으나 동일한 이슈가 발생합니다. conda install -c conda-forge ydata-profiling import numpy as np import pandas as pd from ydata_profiling import ProfileReport df = pd.DataFrame(np.random.rand(100, 5), columns=["a", "b", "c", "d", "e"]) profile = ProfileReport(df, title="YData Profiling Report") profile
안녕하세요 한기용 지식공유자님. 37. 앞서 Airflow 예제를 개선해보자 (v4) - 실습 강의에서 데이터의 벌크 업로드를 위해 dag의 insert into 코드를 copy into로 변경했습니다. 그러나 이 경우 기존에 한 줄씩 insert into 하던 방식보다 더 느린 결과가 나옵니다(insert into의 경우 2분, copy into의 경우 3분) 개인적으로는 제 컴퓨터의 IO 연산이 좋지 않고, 데이터의 양이 크지 않아서 오버헤드가 더 크기 때문인 것으로 예상하고 있는데, 지식공유자님의 의견도 알고 싶습니다 🙂
테스트와 코드간 성장 헙력 관계를 보면서 문득 궁금증이 들었습니다. 테스트 시나리오는 작성하면서 시나리오의 순서 역시도 중요하지 않을까? 하는 의문이 들었습니다. 단순한 기능들은 (예시로 들어주신 회원가입)은 테스트 시나리오의 순서에 큰 영향을 받지 않을 것 같으나 좀 더 복잡한 로직, 예를 들면 금액 계산과 같은 로직은 테스트 시나리오를 작성함에 있어서 순서를 신경 써야 할까요? 좋은 예시가 떠오르지는 않지만 예약 시스템을 만들면서 테스트 시나리오를 짠다고 했을 때 테스트 시나리오의 순서대로 코드가 성장이 된다고 가정하면 테스트 시나리오를 작성하는 순서 역시도 중요한 부분 중 하나일 수 있겠다는 생각이 들었습니다. 강사님은 테스트 시나리오를 작성 하실 때 순서를 크게 신경 쓰지 않으시나요? 아니면 로직의 흐름을 미리 어느정도 파악해 두시고 시나리오를 그 흐름에 맞춰 작성하시나요? 두서 없는 질문이라 정말 죄송합니다.
한 번에 끝내는 AI 에이전트 개발 올인원 (w. LangGraph, Google ADK, CrewAI)
from firecrawl import Firecrawl firecrawl.search(query, limit=5, integration="crewai") ... TypeError: search() got an unexpected keyword argument 'integration' 환경 패키지: firecrawl-py 3.4.0 문서 관련 Firecrawl Python SDK 페이지에 search() 파라미터 목록이 나와 있으나 integration 항목은 보이지 않습니다. docs.firecrawl.dev Search API 레퍼런스/가이드에도 query , limit , sources , location , timeout 등은 보이나 integration 은 확인하지 못했습니다. 사실 어떻게 연동하는지에 대한 초점이 맞춰져 있어서 작성을 망설였는데, 학습하다 보니 궁금해서 작성하게 되었어요. integration 없이 호출해도 괜찮은지 확인 부탁드려요.
6강에서 Cursor의 AI를 이용해서 프로그램의 뼈대를 만드는 부분에서 강사님과 같은 프롬프트를 써도 미묘하게 폴더 구조가 강사님과 다르게 작성이 됩니다. 프롬프트가 같다면 무조건 결과가 같은건지 아니면 다를 수도 있는지.. 가능하다면 강의에서 구성한 뼈대 부분을 파일로 제공해 주실 수 있는지 문의드립니다. (전부 화면을 보고 다 따라치려고 해도 강의 화면만 보고는 그것도 무리인거 같습니다.) 기왕이면 이후의 남은 강의들에도 소스 코드를 제공해 주시면 좋을 것 같습니다.
안녕하세요 제 40강의 '카카오 톡딜 크롤링'과제에 대하여 정확히 코드를 입력해서 원하는 정보는 다 크롤링이 되었습니다. 그런데 엑셀로 저장해서 열어보면 아래와 같은 문제가 잇습니다. 엑셀을 열었을때 링크의 하이퍼링크가 활성화가 안됩니다. 이 문제는 모든 엑셀파일에서 나타납니다. 설정에서 웹형태의 문자는 하이퍼링크로 되게끔하였지만 파란색으로 활성화가 안되고 셀을 한번 클릭해야만 활성화가 됩니다. 그런데, 톡딜 과제에서만 이 두번째 문제가 발생하는데, 파란색으로 하이퍼링크 활성화가 되어 클릭해봐도 아무런 창이 열리지가 않습니다. 어떤문제인지 모르겠어요. vs code에서는 단순히 크롤링한 링크를 출력하면 창이 잘 열립니다(수업에서 선생님이 하신것과 동일하게). 그런데 datafram 만들고 엑셀로 저장해서 열면 하이퍼링크 활성화도 안되어 있고, 셀을 클릭해서 파란색으로 변해도 브라우저가 열리지 않습니다. 이렇게 되면 최종 output을 고객이 받아도 문제가 생길것 같은데... 어떤문제일까요? 엑셀에 문제가 있는걸까요.. 부탁 드립니다.