본문 바로가기

전체 글33

[n8n이 다 해줌] 완독 챌린지_CHAPTER 02. 주식 뉴스 수집봇 만들기 본격적으로 만들기에 앞서 자동화 워크플로우의 뼈대를 완성하는 3가지 요소를 3T 프레임워크라고 한다.3T 프레임워크란?Trigger: 언제, 어떤 특정 시간 or 신호를 받을지 or 버튼을 눌러서 시작할지 선택 Task: 데이터를 가져오고, 정제하고 합치는 본 작업 Target: 결과를 어디로 보낼지 정하는 출력강의 내용 Trigger: On a schedule에서 매일 아침 6시에 뉴스를 받기 위해 Trigger at Hour에서 6am으로 선택 Task1. Rss Read구글에 ' https://news.google.com/rss/search?q=sk하이닉스&hl=ko&gl=KR&ceid=KR%3Ako '라고 검색했다가 그 url을 노드 속성창에 붙이면 한글인 'sk하이닉스'가 문자로 자동 변경되서.. 2026. 5. 17.
[n8n이 다 해줌] 완독 챌린지_CHAPTER 01. n8n시작하기 n8n이라는 용어는 들어본 적 있었는데 이 챌린지를 우연히 알게되어 이번 기회에 어떤건지 직접 해보려고 한다. 먼저 n8n이란? 노드 기반 워크플로우 자동화 플랫폼으로 코딩 없이 시각적 인터페이스를 통해 다양한 서비스와 애플리케이션을 연결하여 자동화 워크플로우를 구축할 수 있다고 한다.핵심 개념워크플로우(Workflows): 자동화 작업 업무 전체 흐름도노드(nodes): 워크플로우 구성 기본 단위 => 함수라고 생각하기!! 트리거(Trigger): 자동으로 실행되기 위한 조건 => 첫 번째 노드는 반드시 '트리거'가 되어야 함액션(Action): 행동 => 트리거가 발동한 뒤 실제로 일어나는 작업강의 내용n8n Cloud사용은 홈페이지(https://n8n.io)에서 설정 후 가능하며 14일 무료 .. 2026. 5. 15.
[프로그래머스 / MySQL / Lv.3 대장균의 크기에 따라 분류하기 2] 문제설명문제👇 이전에 풀었던 문제는 대장균 개체의 크기 분류를 구하는 문제였다면  [프로그래머스 / MySQL / Lv.3 대장균의 크기에 따라 분류하기 1]문제설명문제풀이SELECT ID,CASE WHEN SIZE_OF_COLONY  👉 CASE WHEN~THEN~ELSE ENDCASE WHEN 조건식1 THEN 결과1           WHEN 조건식2 THEN 결과2                        .......           WHEN 조건식n THEN 결과nanalytic-catcher.tistory.com이번에는 상위 퍼센트(백분위)를 기준으로 구간을 나눠야하는 문제이다.풀이SELECT ID, CASE WHEN CUME_DIST() OVER (ORDER BY SIZE_.. 2025. 3. 27.
[프로그래머스 / MySQL / Lv.4 특정 세대의 대장균 찾기] 문제설명문제👇 이전에 풀었던 문제는 개체 ID별 자식의 수를 구하는 문제였다면  [프로그래머스 / MySQL / Lv.3 대장균들의 자식의 수 구하기]문제설명문제풀이 👉 ECOLI_DATA테이블이 아래와 같을 때 개체 ID별 자식의 수를 출력하는 문제이므로 1. PARENT_ID를 기준으로 그룹화하여 자식 개체의 개수 세기SELECT PARENT_ID, COUNT(*) AS CHILD_COUNTFROM Eanalytic-catcher.tistory.com 풀이👉 이번에는 ECOLI_DATA테이블이 아래와 같을 때 3세대 대장균의 ID를 출력해야하는 문제이므로 1. 대장균 개체들의 1세대 추적WITH RECURSIVE LEVEL AS( SELECT ID, PARENT_ID, 1 AS LEVEL .. 2025. 3. 26.
[프로그래머스 / MySQL / Lv.4 입양 시각 구하기(2)] 문제설명문제설명문제풀이✅ 0시부터 23시까지 모든 시간이 포함되야하므로 입양된 데이터가 없는 시간대의 건수는 0으로 표시!! 1. 0~23까지의 숫자를 생성하는 재귀 CTEWITH RECURSIVE HOURS AS ( SELECT 0 AS HOUR UNION ALL SELECT HOUR + 1 FROM HOURS WHERE HOUR 👉 UNION ALL을 이용해 0부터 23까지 증가하도록 함 2. 위에서 만든 HOURS테이블과 ANIMAL_OUTS테이블을 LEFTJOINWITH RECURSIVE HOURS AS ( SELECT 0 AS HOUR UNION ALL SELECT HOUR + 1 FROM HOURS WHERE HOUR 👉 IFNULL(COUNT(A.DATET.. 2025. 3. 25.
[프로그래머스 / MySQL / Lv.2 업그레이드 된 아이템 구하기] 문제설명문제풀이✅ 아이템의 희귀도가 'RARE'인 아이템들의 모든 다음 업그레이드 아이템을 구해야함ITEM_INFO 테이블에서 아이템의 희귀도가 'RARE'인 아이템 = 'ITEM_A', 'ITEM_B', 'ITEM_D', 'ITEM_E'로ITEM_A ➡ ITEM_B ➡ ITEM_D              ↘                ↘                  ITEM_C        ITEM_E 👉 다음 업그레이드 아이템들인 'ITEM_B',  'ITEM_C' , 'ITEM_D',  'ITEM_E'의 정보들이 출력되야함 1. ITEM_INFO테이블과 ITEM_TREE테이블을 JOIN( ITEM_ID기준) SELECT *FROM ITEM_INFO IJOIN ITEM_TREE TON I.ITEM.. 2025. 3. 24.
[프로그래머스 / MySQL / Lv.4 오프라인/온라인 판매 데이터 통합하기] 문제설명문제풀이SELECT DATE_FORMAT(SALES_DATE, '%Y-%m-%d') AS SALES_DATE, PRODUCT_ID, USER_ID, SALES_AMOUNT FROM ONLINE_SALEWHERE DATE_FORMAT(SALES_DATE, '%Y-%m') = '2022-03'UNION ALLSELECT DATE_FORMAT(SALES_DATE, '%Y-%m-%d') AS SALES_DATE, PRODUCT_ID, NULL AS USER_ID, SALES_AMOUNT FROM OFFLINE_SALE WHERE DATE_FORMAT(SALES_DATE, '%Y-%m') = '2022-03'ORDER BY SALE.. 2025. 3. 21.
[프로그래머스 / MySQL / Lv.2 분기별 분화된 대장균의 개체 수 구하기] 문제설명문제풀이SELECT (CASE WHEN (MONTH(DIFFERENTIATION_DATE) BETWEEN 01 AND 03) THEN '1Q' WHEN (MONTH(DIFFERENTIATION_DATE) BETWEEN 04 AND 06) THEN '2Q' WHEN (MONTH(DIFFERENTIATION_DATE) BETWEEN 07 AND 09) THEN '3Q' ELSE '4Q'END) AS 'QUARTER', COUNT(ID) AS ECOLI_COUNTFROM ECOLI_DATAGROUP BY QUARTERORDER BY QUARTER👉 각 분기별로 구하기 위해 MONTH(DIFFERENTIATION_DATE)로 '월'을 추출 후 CASE문을 이용해서 만들어줌실행결과 2025. 3. 20.
[프로그래머스 / MySQL / Lv.3 물고기 종류 별 대어 찾기] 문제설명문제👇 이전에는 물고기 종류 별 물고기의 이름과 잡은 수를 구하는 문제를 풀었는데  [프로그래머스 / MySQL / Lv.2 물고기 종류 별 잡은 수 구하기]문제설명문제방법1(서브쿼리)1. FISH_TYPE별 물고기를 잡은 수 구하기 SELECT FISH_TYPE, COUNT(*) AS FISH_COUNT FROM FISH_INFOGROUP BY FISH_TYPE📌 COUNT(*): 전체 행 개수 vs COUNT(컬럼명):해당 컬럼 데이터 개수(NULL제analytic-catcher.tistory.com이번에는 물고기 종류 별로 가장 큰 물고기의 의 ID, 이름, 길이를 구해야함풀이1. FISH_TYPE별로 가장 큰 물고기 찾기SELECT FISH_TYPE, MAX(LENGTH) AS MAX_.. 2025. 3. 19.
[프로그래머스 / MySQL / Lv.4 그룹별 조건에 맞는 식당 목록 출력하기] 문제설명문제방법1(LIMIT)1. JOIN(MEMBER_ID기준)SELECT M.MEMBER_NAME, R.REVIEW_TEXT, DATE_FORMAT(R.REVIEW_DATE, '%Y-%m-%d') AS REVIEW_DATEFROM MEMBER_PROFILE MJOIN REST_REVIEW R ON M.MEMBER_ID = R.MEMBER_ID👉 DATE_FORMAT(R.REVIEW_DATE, '%Y-%m-%d') : 날짜 포맷을 맞추기 위해서 사용 2. 가장 많은 리뷰를 작성한 회원의 MEMBER_ID를 찾고 REVIEW_DATE, REVIEW_TEXT 오름차순 정렬SELECT M.MEMBER_NAME, R.REVIEW_TEXT, DATE_FORMAT(R.REVIEW_DATE, '%Y-%m-%d').. 2025. 3. 18.