학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. [질문 내용] 강의보고 책으로 복습하다가 궁금한 점이 있어서 질문드립니다. jpa 책 105쪽에 변경감지에 관한 내용입니다. 엔티티가 영속성 컨텍스트에 보관될 때 최초의 상태(persist())를 스냅샷으로 저장해두고 플러시 시점의 엔티티를 비교해서 변경사항에 대한 수정 쿼리를 쓰기지연 sql 저장소에 보낸다고 되어있습니다. 이 메커니즘은 이해가 되는데 persist(); setName(); flush(); 여기서 persist()를 하게 되면 실제 db에 바로 반영이 되는 것이 아니라 영속 컨텍스트에 저장(1차캐시), 이후 insert 쿼리를 쓰기 지연 저장소에 저장하게 됩니다. 이후 엔티티의 이름을 변경하고 플러시할 경우 스냅샷과 플러시 시점의 엔티티 상태를 비교해서 변경 부분에 관한 수정 쿼리를 쓰기지연저장소에 보낼 때 쓰기지연저장소에는 insert와 update 두 쿼리가 있고 플러시할 때 insert, update 두가지 모두 실행되는 걸까요? 아니라면 이유가 궁금합니다! 찾아보니까 insert만 나간다고 하는데 왜 그런지 도무지 이해가 안됩니다.
(AI 퀀트) 코드 한 줄 안 쓰고 주식 자동 분석 시스템 만들기 feat. Claude CLI
그날 장마감 후 주식테마맵을 만드려고 합니다. 조언좀 주시면 감사하겠습니다. 1. 현재 키움증권 open api를 통해 10% 이상 상승종목을 수집합니다. 네이버 뉴스 검색 api를 통해 상승종목을 검색해 상승이유를 찾습니다. 테마맵을 만듭니다. 이렇게 실행했더니 문제가 생겼습니다. 아래를 참고해 상승종목이 테마별로 잘 묶이는 방법을 조언해주시면 감사하겠습니다. 1. 종목과 테마맵 불일치.(EX 화장품 종목인데 반도체 테마에 묶인 경우) 2. 반도체 테마가 반도체 테마로 묶이지 않고 개별상승 종목으로 분류 되는 경우.
왼쪽 코드 맨아래 설명을 생략하신거 같은데요 NULL은 숫자 0이 아니잖아요 그래서 NULL==0은 거짓이니까 0이라고 생각했습니다 그래서 저는 출력 시 NULL==0의 결과: 0 이라고 생각했거든요 그런데 오른쪽 출력값에 1이라고 나와있더라구요 오타인가요? 아니면 제가 이해를 잘 못한건가요??
현재 경력 기술서는 큰돌님이 말씀하신 것과 비슷하게 하나의 이슈에 대한 문제, 분석, 해결 과정, 결론 및 소감 형태로 나열되어 있습니다. 여기서 문제점이, 이슈가 많을수록, 내용이 많을수록 비대해지더라구요.. 한, 두 줄 내로 줄여도 이슈가 많으니 페이지는 자꾸 늘어나고 있습니다. 경력기술서 내용을 포트폴리오에 넣어 분산시켜야 할지, 굵직한 이슈만 적어야할지, 방향에 대해 고민이 됩니다. 경력기술서의 존재 이유?(면접관이 왜 보는지, 어떤 부분을 중심으로 보는지 등) 같은게 궁금합니다.
업캐스팅 문제 예시 5번문제와 6번 문제 질의입니다. 5번 문제에서 최초 A b = new B(1) 에서 부모 기본생성자를 방문하므로 "생성자 of A" 출력 그다음으로 자식 기본생성자를 방문하므로 "생성자 BB1" 출력 3. 그러나 6번 문제에서는 최초 A b = new B(1) 로 5번 문제와 동일한 형태의 생성자가 존재하지만 부모의 기본 생성자인 A()가 호출되지 않아서 "생성자 of A"가 출력되지 않았습니다. -> 혹시 어떤 부분이 다르기에 부모의 기본생성자가 호출되지 않은건가요? 감사합니다.
(AI 퀀트) 코드 한 줄 안 쓰고 주식 자동 분석 시스템 만들기 feat. Claude CLI
'(AI 퀀트) 코드 한 줄 안 쓰고 주식 자동 분석 시스템 만들기 feat. Claude CLI' 강의와 'AI로 만드는 KR/US 퀀트 트레이딩 노드 분석 시스템 (바이브코딩)' 강의의 차이점이 뭔가요? 둘다 유사한 기능을 하는데, 사용 도구가 다른건가요? 그리고 이 프로그램이 완성되면 '연기금'이 보유한 주식과 거래량 추적이 가능한지요?
--Weekly Retention WITH base AS( SELECT user_pseudo_id, event_name, DATE(TIMESTAMP_MICROS(event_timestamp), 'Asia/Seoul') AS event_date, DATE_TRUNC(DATE(TIMESTAMP_MICROS(event_timestamp), 'Asia/Seoul'), WEEK(MONDAY)) AS event_week, FROM advanced.app_logs WHERE event_date BETWEEN '2022-08-01' AND '2022-11-03' ), first_week_data AS( #first_week 추출 SELECT DISTINCT user_pseudo_id, event_week, MIN(event_week) OVER(PARTITION BY user_pseudo_id) AS first_week, FROM base ), week_diff_user_cnt_data AS( #week_diff 및 user_cnt 추출 SELECT week_diff, COUNT(DISTINCT user_pseudo_id) AS user_cnt FROM( SELECT *, DATE_DIFF(event_week, first_week, WEEK(MONDAY)) AS week_diff FROM first_week_data ) GROUP BY week_diff ) #first_week_user_cnt 및 retention_ratio 추출 SELECT *, ROUND(SAFE_DIVIDE(user_cnt, first_week_user_cnt), 3) AS retention_rate FROM( SELECT *, FIRST_VALUE(user_cnt) OVER(ORDER BY week_diff) AS first_week_user_cnt FROM week_diff_user_cnt_data ) ORDER BY week_diff --Monthly Retention WITH base AS( SELECT user_pseudo_id, event_name, DATE(TIMESTAMP_MICROS(event_timestamp), 'Asia/Seoul') AS event_date, DATE_TRUNC(DATE(TIMESTAMP_MICROS(event_timestamp), 'Asia/Seoul'), MONTH) AS event_month, FROM advanced.app_logs WHERE event_date BETWEEN '2022-08-01' AND '2022-11-03' ), first_month_data AS( #first_month 추출 SELECT DISTINCT user_pseudo_id, event_month, MIN(event_month) OVER(PARTITION BY user_pseudo_id) AS first_month, FROM base ), month_diff_user_cnt_data AS( #month_diff 및 user_cnt 추출 SELECT month_diff, COUNT(DISTINCT user_pseudo_id) AS user_cnt FROM( SELECT *, DATE_DIFF(event_month, first_month, MONTH) AS month_diff FROM first_month_data ) GROUP BY month_diff ) #first_month_user_cnt 및 retention_ratio 추출 SELECT *, ROUND(SAFE_DIVIDE(user_cnt, first_month_user_cnt), 3) AS retention_rate FROM( SELECT *, FIRST_VALUE(user_cnt) OVER(ORDER BY month_diff) AS first_month_user_cnt FROM month_diff_user_cnt_data ) ORDER BY month_diff 더 보완할 점은 없는지 평가해 주시면 감사하겠습니다. 강의 항상 정말 잘 듣고있습니다.
전체적으로 강의도 1회독하고 모의고사나 과거 시험으로 나온 문제도 풀면서 어느정도 언어에 대한 정리는 끝난 상태입니다. 그리고 최근에 만들어주신 각 언어에 대한 기출변형까지 습득을 했다면 언어는 어느정도 마스터했다고 판단하고 제공해주신 이론 PDF로 자주출제되는 쪽부터 암기하면 되겠죠? 작년부터 하고 있어서 마음이 조금 급해지네요ㅠ