웹 개발

웹 개발/⚛️ React

React | Redux Toolkit 완전 기초 – createSlice와 .actions 이해하기

Redux Toolkit 완전 기초 – createSlice와 .actions 이해하기React로 앱을 만들다 보면 여러 컴포넌트에서 데이터를 공유해야 하는 상황이 생깁니다.예를 들어 로그인 정보, 권한, 현재 선택된 탭 같은 것들 말이죠.이걸 컴포넌트끼리 props로 일일이 넘기다 보면… 코드가 금방 복잡해집니다.이 문제를 해결해 주는 게 바로 Redux입니다.Redux는 전역 상태 저장소(Store)를 만들어서 모든 컴포넌트가 필요한 데이터를 한 곳에서 읽고/쓰게 해줍니다. Redux Toolkit으로 간단하게 Store 만들기요즘은 Redux Toolkit 덕분에 세팅이 훨씬 쉬워졌습니다.아래는 로그인 상태를 관리하는 authSlice.js 예시입니다.import { createSlice } fro..

웹 개발/🚨 Error Log

리액트 npm start시 Invalid options object문제

문제npm start> react-scripts startInvalid options object. Dev Server has been initialized using an options object that does not match the API schema. - options.allowedHosts[0] should be a non-empty string. 원인webpack-dev-server의 호스트 검증 로직 때문 해결.env.development.local 생성 후 아래 작성DANGEROUSLY_DISABLE_HOST_CHECK=true 후 npm start 하면 정상작동 원리react-scripts start → 내부에서 webpack-dev-server 실행webpack-dev-serve..

웹 개발/🐍 Python

Airflow를 활용한 postgresql 자동 파티션 생성 스케줄링

1. 함수생성postgre에서 먼저 파티션 생성 함수를 만들어야합니다.CREATE OR REPLACE FUNCTION "MEASURE".create_monthly_partition(target_date date) RETURNS void LANGUAGE plpgsqlAS $function$DECLARE start_date date := date_trunc('month', target_date); end_date date := start_date + interval '1 month'; partition_name text := format('meas_data_%s', to_char(start_date, 'YYYYMM'));BEGIN IF NOT EXISTS ( SELECT 1 FROM pg..

웹 개발/🐍 Python

Python 타입 힌트에서 tuple, list, dict

Python 타입 힌트에서 tuple, list, dict Python에서 타입 힌트(Type Hint)는 코드의 가독성과 안정성을 높여주는 도구입니다.특히 tuple, list, dict처럼 자료형 컨테이너의 타입 힌트를 쓸 때는 갯수 제약이 어떻게 적용되는지를 정확히 아는 게 중요합니다.이번 글에서는 아래 세 가지를 기준으로 비교해보겠습니다:tuple[타입1, 타입2, ...]list[타입]dict[KeyType, ValueType]✅ 1. tuple: 갯수 중요def get_user() -> tuple[str, int]: return ("Alice", 30)이 함수는 두 개의 값을 반환합니다.첫 번째는 str, 두 번째는 int갯수까지 정확히 맞아야 합니다❌ 예외 발생 예시get_user() ..

웹 개발/🐍 Python

Python 자주 쓰는 예외 클래스

자주 쓰는 예외 클래스예외 클래스설명ValueError값이 잘못된 경우TypeError타입이 잘못된 경우KeyError딕셔너리 키가 없을 때IndexError리스트 인덱스 범위 초과ZeroDivisionError0으로 나눴을 때RuntimeError일반적인 실행 오류 예외 발생시키기raise를 사용하면 됩니다. java의 throw같은 역할을 합니다. raise ValueError(f"지원하지 않는 주소: {address}")

웹 개발/🐍 Python

Python 정규표현식 re.match 사용법

파이썬 re.match() 완전 정복파이썬에서 문자열을 분석하거나 필터링할 때 정규표현식(Regex)은 매우 유용한 도구입니다.그중에서도 re.match()는 문자열이 특정 형식으로 시작하는지 검사할 때 사용하는 함수입니다.이 글에서는 re.match()의 기본 개념부터 다양한 정규표현식 구성 요소, 실전 예제까지 하나하나 쉽게 설명해드리겠습니다.✅ re.match()란?re.match(pattern, string) 형태로 사용하며,문자열의 시작부터 pattern이 일치하는지 확인합니다.일치하면 Match 객체를 반환일치하지 않으면 None을 반환import rem = re.match(r'abc', 'abcdef')if m: print(m.group()) # 출력: 'abc'→ 문자열이 'abc'..