분류 전체보기

Typescript

tsconfig에서 allowSyntheticDefaultImports flug

react에서 json 파일을 import 해오는데 다음과 같은 에러가 났다.Module '"/Users/heesun/Documents/salin/linker/linker-front-sender/src/pages/Main/briefer_intro"' can only be default-imported using the 'allowSyntheticDefaultImports' flagts(1259)briefer_intro.json(1, 1): This module is declared with 'export =', and can only be used with a default import when using the 'allowSyntheticDefaultImports' flag. 하지만 이미 tsconfi..

카테고리 없음

a 태그 target="_blank" 와 rel="noopener noreferrer"

target_blank를 두면 연결된 링크가 새로운 탭으로 열리게 된다.  여기서의 문제점이 바로 보안 취약점이 발생할 수 있다는 것! 새 창이 열리면, 새 창은 원본 창에 대한 참조(window.opener)를 가지게된다.target="_blank"를 사용하여 링크를 클릭해 새로운 탭이나 창을 열 때, 새로 열린 창이나 탭은 원본 창의 window.opener 객체에 접근할 수 있습니다. 이를 통해 악성 코드가 포함된 페이지는 원본 창을 조작할 수 있다! 여기서 rel="noopener noreferrer"를 추가하면 이 보안 취약점을 보완할 수 있게 된다! noopener: 새 탭이 window.opener 속성에 액세스하는 것을 방지하여 새 창을 원본 창과 효과적으로 분리할 수 있게 된다!! nor..

Problem&Solution

불필요한 상태 삭제하기 + enabled

export const useGetProjectVerify = ({ projectId, password }: ReqGetProjectVerify) => { return useQuery({ queryKey: [VERIFY, projectId, password], queryFn: () => getProjectVerify({ projectId, password }), enabled: !!password, });};, import { useEffect, ChangeEvent, Dispatch, SetStateAction, useState } from 'react';import { IoLockClosedOutline } from 'react-icons/io5';import { useGetProjectVeri..

Problem&Solution

로컬state를 만들어 서버 부하 줄이기

챗봇을 개발하면서 assistant api를 사용했다.  노출되는 api-key로 인해 프록시 서버를 만들어 openai 의 api를 사용했다.  기존에는 질문을 던지고 대답을 받으면 다시 메시지리스트를 refetch하여 사용했는데 그럼 메시지 답변을 주고 받을 때마다 refetch가 일어나 성능상 좋지 못할 것 같았다.  따라서 useEffect로 localMessageList를 만들어 저장한 뒤 챗봇 탭이 (gpt로 치면 채팅방) 변경될 때에만 refetch 로 메시지 리스트를 가져오게 변경했다. 따라서 탭이 변경되지 않는다면 서버 부하가 훨~씬 줄어들게 된다.  useEffect(() => { if (!isAnswerLoading && streamingAnswer) { const userMes..

*히아*
'분류 전체보기' 카테고리의 글 목록 (2 Page)