React에서 CORS 문제를 **라우팅 우회(proxy)**로 해결하는 방법은 주로 **개발 환경(로컬)**에서 사용되며, create-react-app 환경이나 vite, next.js 등에서도 설정 가능합니다. 여기선 대표적으로 React CRA 환경과 Next.js 기준으로 설명드립니다.✅ 1. CORS 문제란?CORS(Cross-Origin Resource Sharing)는 브라우저가 보안상 다른 도메인(출처)의 리소스 요청을 제한하는 정책입니다.예:http://localhost:3000에서 http://api.example.com로 요청 → CORS 에러 발생 가능✅ 2. 프록시(proxy) 방식으로 우회하는 원리React 개발 서버가 중간 프록시 서버 역할을 하여 브라우저는 같은 origin..
-- timestamp의 날짜만 변경/ 시간은 그대로UPDATE tb_sn_oilq_dataSET mtrng_dt = DATE '2024-05-01' + (mtrng_dt::time)WHERE inftwt_anls_sn =101 AND ppl_mng_no='L13101003' -- 침입수량 조회select oilq.day, round((oilq.avg_day_flow - inft.avg_day_flow)*24,-1) as avg_day_flow from ( SELECT to_char(date_trunc('day', hour),'yyyymmdd') as day, avg(avg_flow) AS avg_day_flow FROM ( SELECT date_trunc('hour', mtrng_dt) AS h..

출처 : https://velog.io/@integer/React.memo%EC%99%80-useMemo Memoization이란?메모이제이션은 비용이 많이 드는 함수 호출의 결과를 저장하고 동일한 입력이 다시 발생할 때 캐시된 결과를 반환하여 컴퓨터 프로그램의 속도를 높이는데 주로 사용되는 최적화 기술이다.https://www.inflearn.com/course/따라하는-리액트/dashboard React.memoReact.memo란?React.memo는 고차 컴포넌트(Higher Order Component)입니다.컴포넌트가 동일한 props로 동일한 결과를 렌더링해낸다면, React.memo를 호출하고 결과를 메모이징(Memoizing)하도록 래핑하여 경우에 따라 성능 향상을 누릴 수 있습니다. 즉..
해주신 TypeScript 코드는 **폼 입력값을 처리하는 함수(handleInputChange)**로, 특정 섹션의 특정 인덱스 항목의 특정 필드를 수정한 뒤 상태(state)를 업데이트하는 기능을 합니다. 문법과 구조를 단계별로 설명드릴게요.🔷 함수 전체 구조export const handleInputChange = ( section: string, index: number, field: string, value: string, dataMap: { [key: string]: { data: { year: string; type: string }[]; setData: React.Dispatch>; }; }) => { ... };✅ 함수 이름 및 exportexpo..
이 코드는 Spring Boot 애플리케이션을 WAR(Web Application Archive) 형태로 배포할 때 사용하는 구성 클래스입니다.Tomcat 등 외부 WAS(Web Application Server)에 배포하려면 이 구성이 필요합니다.🔍 코드 해석public class ServletInitializer extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(WrOutApplication.class); }}✅ 1. SpringBoot..
build.gradle에서 아래 코드는 **Spring Cloud BOM(Bill of Materials)**을 가져와서, Spring Cloud 관련 라이브러리들의 버전을 일괄적으로 관리하겠다는 의미입니다:dependencyManagement { imports { mavenBom "org.springframework.cloud:spring-cloud-dependencies:2021.0.7" }}🔍 역할 요약✅ 1. Spring Cloud 의존성 버전을 자동 관리Spring Cloud 관련 의존성들을 추가할 때 버전을 생략해도, 여기에서 지정한 BOM(2023.0.1)에 정의된 권장 버전으로 자동 지정됩니다.예:dependencies { implementation 'org...
Logger 객체를 생성하려면 사용하는 로깅 프레임워크에 따라 다릅니다. 보통 Java에서는 SLF4J를 많이 사용하며, 그 경우 다음과 같이 작성합니다:✅ SLF4J 사용 시import org.slf4j.Logger;import org.slf4j.LoggerFactory;private static final Logger logger = LoggerFactory.getLogger(클래스명.class);예:private static final Logger logger = LoggerFactory.getLogger(MyService.class);✅ Log4j 2 사용 시import org.apache.logging.log4j.LogManager;import org.apache.logging.log4j.Log..
Spring에서 @PageableDefault를 사용했음에도 정렬이 ASC로 되는 이유는 대부분 다음과 같은 우선순위 문제나 기본 설정 무시 때문입니다. 아래에서 그 이유와 해결 방법을 구체적으로 설명드릴게요.🔍 문제 원인: 클라이언트 요청의 쿼리 파라미터가 우선시됨Spring MVC에서는 Pageable 파라미터를 컨트롤러에서 사용할 때, 클라이언트(브라우저 또는 REST 클라이언트)가 전달한 쿼리 파라미터 값이 @PageableDefault보다 우선순위가 높습니다.예를 들어, 아래와 같은 요청이 들어오면:GET /api/inftwtAnlss?page=0&size=20&sort=inftwtAnlsSn,asc→ 클라이언트가 명시적으로 sort=inftwtAnlsSn,asc를 전달했기 때문에 @Pagea..
- Total
- Today
- Yesterday
- ul li로 테이블
- devtools
- draw.io
- PostgreSQL
- object key
- excel
- 진열사랑
- $.each
- QueryDSL
- DatePicker
- Keycode
- springboot
- spring
- JQuery
- getter
- CSS
- Javascript
- element위치
- lombok
- caniuse
- setter
- 프로젝트명변경
- 정규식
- sumifs
- 전후방탐색
- border-collapse
- 여러 컬럼 update
- $.extend
- @ExceptionHandler
- oracle
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |