[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 스프링 빈 등록 방법 중 @Autowired를 사용해 자동으로 등록하는 방법과 자바 코드로 직접 스프링 빈을 등록하는 방법 두 가지를 모두 알아야 한다고 하셨는데, 그 이유가 무엇인가요?
[단테랩스] Hermes × Codex 로 세우는 나만의 AI 가상 오피스 (8주 마스터 과정)
수업내용처럼 oliver에 무신사,네이버,쿠팡 각각 10개씩 남성의류 스크래핑을 bright data로 진행하고 있는데요. 잘 안되네요.. 무신사는 10개 내용 정상 진행 네이버는 6개 밖에 없다고 하면서 에러나서 그냥 6개로 처리,(카드내용 수정했음) 쿠팡은 제목은 읽는데 내용을 못 읽어서 원인을 확인 시켰더니 아래와 같은 내용으로 나옵니다. 고급 스크래핑 기능이 안 사용되어 지는것 같은데 bright data가 네이버와 쿠팡 사이트 정도는 스크래핑 잘 하는거 아닌가요? 올리버 검토내용은 여기이하 -> - brightdata MCP 연결: 정상 - 발견 도구: 14개 - 새 Oliver 세션에서 brightdata 서버만 사용해 쿠팡 상품 상세 URL을 다시 요청: 완료 - 결과: 여전히 상품 상세 본문이 비어 있습니다. 따라서 원인은 기존 brightdata-mnp 연결이 아니라, 현재 새로 연결한 14개 도구의 구성입니다. 현재 14개는 ecommerce 그룹입니다. Amazon·Walmart·eBay·Google Shopping 등의 구조화 도구는 추가됐지만, 쿠팡 전용 구조화 도구는 없고 브라우저 도구도 포함되지 않습니다. 현재 빠진 도구: - scraping_browser_navigate - scraping_browser_snapshot - scraping_browser_get_text - scraping_browser_get_html - scrape_as_html - extract 즉, groups=ecommerce만으로는 쿠팡 상세 페이지의 브라우저 렌더링 문제를 해결하지 못합니다. 다음 연결은 아래처럼 해야 합니다. text groups=ecommerce,browser,advanced_scraping 그 뒤 새 세션에서 브라우저로 쿠팡 상세 페이지를 열고, 렌더링된 텍스트나 HTML을 조회해야 합니다. 현재 14개 도구 연결 자체는 정상이며, 필요한 것은 브라우저·고급 스크래핑 그룹 추가입니다.
안녕하세요 쿠케님! 현재 구현되어 있는 댓글 삭제 로직을 보면 1. 댓글 조회 2-1. 자식 댓글이 존재하면 deleted=true 로 변경 2-2. 자식 댓글이 존재하지 않으면 댓글을 물리 삭제하고, 부모 댓글을 재귀적으로 삭제 이렇게 구현되어 있는데요. 동시성 문제가 발생할 수 있겠다는 생각이 들었습니다! T1 삭제 트랜잭션 T2 답글 트랜잭션 ──────────────────────────────────────────── SELECT 부모 SELECT 자식 → 없음 SELECT 부모 → ACTIVE INSERT 답글 COMMIT DELETE 부모 COMMIT (제가 잘 분석한게 맞나 모르겠네요 ㅎㅎ) 물론 이렇게 꼬일 확률은 낮지만, 이런 케이스에 대해서는 select for update를 거는 것이 좋을지, 아니면 fk를 추가하여 정합성을 보장해줘야 할지, 쿠케님 의견을 묻고 싶습니다.
안녕하세요~ 강의 수강중 통계정보 갱신에 대해 여쭤보고싶은게 있습니다. 운영중에 간혹가다 옵티마이저가 실행계획을 잘못 선택해서 쿼리를 실행해서 슬로우 쿼리가 발생되는 경우가 종종있었습니다. 이때 use index 를 사용해서 주로 해결했었는데 이번 강의에서는 문제가 되는 테이블의 통계정보를 갱신하면 이런 문제들이 해결된다고 하시던데 운영중인 db 에 통계정보 갱신을 했을때 트레이드 오프같은게 없을까요? 실무에서 보통 어떻게 하셨는지 궁금하네요.
[단테랩스] Hermes × Codex 로 세우는 나만의 AI 가상 오피스 (8주 마스터 과정)
강의처럼 ada에게 설명달아서 진행하니, 승인이 필요하다면서 Blocked까지 진입을 했습니다. 그런데, 강의처럼 코멘트에 '승인'했다고 남겨놔도, Nudge dispatcher를 눌러도 Blocked에서 움직이지 않네요. 혹시나해서 In progress로 카드를 옮겨도 바로 다시 Blocked로 넘어가는데 왜 그런지 모르겠습니다. 이것저것 해보니까 코멘트로는 다음단계로 넘어가지질 않고, Unblock 버튼을 눌러야만 In progress로 갔다가 Done으로 넘어가지네요. 이것도 업데이트가 되어서 바뀐걸까요? 혹시 제가 설정을 잘못한게 있어서 그런가 싶어서 문의드립니다. 아니면, 칸반의 동작구조만 이해하는 수준으로가고 이런 디테일은 넘겨도 될까요? [캡쳐화면] 왼쪽에 Blocked에 카드가 있고, 오른쪽 화면을 보면 하단에 승인이 필요하다는 Blocked 메세지가 보이구요, 위쪽에 보면 Blocked 메시지 이후에 제가 남긴 승인 코멘트가 기록되어 있으나 진행되지 않네요. [Unblock 버튼을 클릭한 후 완료멘트 나옴]
안녕하세요! PK 설계와 관련하여 궁금한 점이 있어 질문드립니다. 강의에서는 AUTO_INCREMENT 를 사용하면 PK가 순차적으로 증가하기 때문에 랜덤한 위치에 데이터가 삽입되는 것을 줄이고, 페이지 분할을 최소화할 수 있어 사용을 권장한다고 이해했습니다. 그런데 한편으로는 MSA 환경에서 PK로 UUID를 많이 사용한다는 이야기를 들었습니다. UUID를 사용하면 각 서비스에서 ID를 독립적으로 생성할 수 있다는 장점이 있다고 하는데, 서비스별로 데이터베이스와 테이블이 분리되어 있다면 각 테이블의 PK는 해당 테이블 내에서만 유일하면 되기 때문에 AUTO_INCREMENT 를 사용해도 문제가 없지 않을까 생각했습니다. 그래서 다음 내용이 궁금합니다. 실제 MSA 환경에서는 일반적으로 PK로 UUID를 많이 사용하는지 UUID 사용으로 인한 인덱스 크기 증가와 페이지 분할 등의 단점보다 UUID의 장점이 더 커지는 판단 기준은 무엇인지 찾아보니까 시간 순서 특성이 있는 UUID v7 라는 것도 있는데 이를 사용하는 건지 이런 궁금증이 생기는데 시원하게 해결이 되지 않아서 질문으로 남깁니다. 항상 좋은 강의 올려주셔서 감사합니다. 다음 강의에 해당 내용에 대한 설명이 다 있는 것을 확인하였습니다. 감사합니다!
박문성이 그랬다. 스트라이커 손흥민에게 공이 안 가는데 전술은 돌아보지 않고 오현규 넣고 안되면 조규성 넣고 "해줘" 축구만 한다고. 결국 오현규에게도, 조규성에게도 공은 가지 않았다 클로드 해줘! 코덱스 해줘! GLM 해줘! 그록아 해줘! Kimi 야 너가 미래다, 해줘! 프리미어리그 득점왕 손흥민의 능력을 10%도 활용하지 못한 채, "해줘"만 외치던 맹보햄처럼 여기저기 좋다는 AI들 구독료만 내며 "해줘"만 외치다가, 어쩌다 하나 얻어걸리면 자랑하는 명장병 걸린 바이브코더가 나였다는 깨달았다 이 강의를 통해 황금 10강 클로드 쏘니의 능력을 100% 사용하는법을 배웠고 앞으로 나오는 AI들도 필요에따라 어떻게 관리 감독하며 자동화가 가능한지 깨달았다. 정말 감탄하면서 재미있게 봤어요 감사합니다 !!!
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (모름) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요. 궁금증이 생겨서 질문을 드립니다. 현재 시점(26.8) 에서 강의를 듣고 있는데요. pdf 을 보면, 시간 지남에 따라 assertEquals() 내용이 달라 지듯이, 그 동안 강의 에서 배운 assertj 의 assertThat().isEqualTo()나, 다른 방법 들이 있어서 어떤 것을 쓰는게 맞는지 몰라서 여쭈어 봅니다. 첫 번째는 assertEquals(), assertThat()이고 두번째는 assertThrows() , assertThatThrownBy() 입니다. 영한님 이라면 어떤 것들을 쓰실지 궁금합니다. 답변 부탁 드립니다.
안녕하세요, 강사님. Shape 클래스 실습을 진행한 결과물을 공유드립니다. 실습 내용을 바탕으로 도형의 크기를 부모 클래스에서 관리하고, 각 자식 클래스에서 기본 크기를 지정할 수 있도록 생성자를 구성해 보았습니다. 시간 괜찮으실 때 구현 방향에서 어색한 부분이나 개선하면 좋을 점이 있는지 간단히 봐주시면 감사하겠습니다. 또한 이번 실습에서 추가로 생각해 보면 좋을 내용이 있다면 함께 알려주시면 감사하겠습니다. 감사합니다. package java2_30; import java.util.Scanner; /** * 화면에 출력할 수 있는 도형의 공통 부모 클래스입니다. * * 현재 실습에서는 삼각형과 정사각형만 다루므로, * 가로와 세로를 구분하지 않고 하나의 size 값으로 크기를 관리합니다. */ abstract class Shape { private final int size; protected Shape(int size) { this.size = size; } protected final int getSize() { return size; } /** * 각 도형의 모양을 콘솔에 출력합니다. */ abstract void render(); } class Rectangle extends Shape { private static final int DEFAULT_SIZE = 4; public Rectangle() { this(DEFAULT_SIZE); } public Rectangle(int size) { super(size); } @Override public void render() { for (int i = 0; i < getSize(); i++) { for (int j = 0; j < getSize(); j++) { System.out.print("*\t"); } System.out.println(); } } } class Triangle extends Shape { private static final int DEFAULT_SIZE = 5; public Triangle() { this(DEFAULT_SIZE); } public Triangle(int size) { super(size); } @Override public void render() { for (int i = 0; i < getSize(); i++) { for (int j = 0; j <= i; j++) { System.out.print("*\t"); } System.out.println(); } } } class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("사각형은 0, 삼각형은 그 외 숫자를 입력하세요: "); int input = scanner.nextInt(); Shape shape; if (input == 0) { shape = new Rectangle(); } else { shape = new Triangle(); } shape.render(); scanner.close(); } }
강사님 안녕하세요, 좋은 강의 여러번 반복해서 잘 듣고 있습니다. 재고 감소와 비교했을때 차이점이 궁금하여 문의드립니다. 안녕하세요 강사님 이전 재고 관리 강의와 차이에 대해 궁금합니다. 이전 질문을 참고하였으나 추가로 더 궁금한게 있어서 문의드립니다. 재고 감소와 쿠폰 발급의 차이점이 너무 헷갈려서 정리하고 있습니다. 두 경우 모두 한정된 수량을 여러 요청이 동시에 차지한다는 점에서는 비슷해 보입니다. 그렇다면 쿠폰도 이벤트 테이블에 잔여 수량을 100개나 300개로 설정하고, 재고처럼 수량을 차감한 뒤 사용자 쿠폰을 생성하는 방식으로 구현할 수 있지 않을까요? 강의에서는 쿠폰 발급의 정합성을 위해서 전체 로직에 락을 걸 필요가 없다고 하셨는데, 그러면 반대로 재고 감소 같은 경우도 마찬가지로 재고 감소의 정합성을 위해 전체로직에 락을 걸 필요 없이 다른 방법으로 하는게 더 나은 방법 아닌가요?? 비슷해 보이는 한정 수량 문제를 서로 다르게 푼 이유를 잘 모르겠습니다 ㅠㅠ
안녕하세요, 저는 회사에서 next.js로 포팅하여 개인적으로 좀 공부하고 있는 학생입니다. 현재 2강 할 일 관리 앱을 보면서 저희 회사의 작업 방식을 함께 생각해봤는데 저희 회사는 꼭 필요한 부분 (iron-session을 이용하여 세션을 가져온다거나)을 제외하고는 죄다 클라이언트 컴포넌트로 바꿔서 사용하고 있습니다. 그래서 이 작업을 진행하면서도 클라이언트 컴포넌트로 모두 바꾸어 진행한다면 어떨까라고 생각이 들었었는데 과제에서는 최소한의 컴포넌트만 클라이언트 컴포넌트로 바꾸라고 하신 이유가 궁금합니다. 감사합니다!
커버링 인덱스가 아니라고 가정한다면 클러스터링 인덱스까지 2번의 B+Tree 탐색을 하지만 커버링 인덱스라면 이런 탐색을 한번 줄여 발생하는 IO 작업을 최적화 하는것으로 이해 했습니다 커버링 인덱스 말고도, 자주 사용되는 페이지의 위치를 자동으로 InnoDB에서 어댑티브 해시 인덱스라는 공간에 저장 하는것으로 알고 있는데 이 방식도 IO 작업을 최적화 하는 것인지 궁금 합니다