분류 전체보기75 [React] Vite Proxy CORS 문제 해결하기 Vite를 사용하여 외부 API를 호출할 때, 때때로 CORS 문제가 발생할 수 있습니다. 이러한 문제는 API 호출에 실패하거나, 데이터를 받아올 수 없는 상황을 초래할 수 있습니다. CORS는 Cross-Origin Resource Sharing의 약자로, 보안상의 이유로 브라우저에서 한 도메인의 자원을 다른 도메인에서 요청할 때 발생하는 문제입니다. 이를 해결하기 위해서는 프록시를 별도로 설정해주어야 합니다. Vite에서는 Vite.config.js 파일에서 프록시 설정을 할 수 있습니다. 프록시 설정을 통해, API 요청을 보낼 때 Vite 개발 서버를 거쳐 요청을 보내기 때문에 CORS 문제를 우회할 수 있습니다. 프록시 설정하기 `Vite.config.js` 파일 수정 import react .. 2023. 3. 16. [Flutter] Error (Xcode): 34 duplicate symbols for architecture arm64 해결하기 위 오류의 문제는 관련 패키지 혹은 라이브러리가 잘못되었을때 발생하는 문제가 많습니다. 따라서 pod를 초기화하고 다시 설치해주시면 됩니다. pod 초기화 `ios` 폴더에서 명령어 실행 pod deintegrate pod cache clean --all pod install 2023. 2. 14. [FastAPI] 크론탭(Crontab) 스케쥴러 만들기 백엔드 개발을 하다 보면 특정 시간 혹은 날짜에 맞춰 스케쥴러를 돌려야 할 때가 있습니다. 이럴 때는 아래와 같은 방법으로 진행하면 쉽게 처리할 수 있습니다. 쉘 스크립트 형태 크론탭 실행 파일 생성 `crontab.py` 파일 생성 # -*- coding:utf-8 -*- import logging import os import sys from datetime import datetime import pytz import uvicorn from fastapi import FastAPI from sql import database, models sys.getdefaultencoding = lambda: "UTF-8" sys.getfilesystemencoding = lambda: "UTF-8" datab.. 2023. 2. 9. [Flutter] IOS Update to recommended settings 경고 끄기 Xcode에서 프로젝트 항상 경고 문구가 뜨는데 바로 Update to recommended settings라고 뜹니다. 이 경고를 끄기 위해서는 Podfile에 코드 한 줄을 넣어주면 무시할 수 있습니다. 경고 무시하기 `ios/Podfile` 하단에 inhibit_all_warnings! 추가 후 빌드와 Xcode 재시작 해주면 사라집니다. target 'Runner' do use_frameworks! use_modular_headers! inhibit_all_warnings! flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) end 2023. 2. 9. [Nginx] nginx.conf 설정 튜닝하기 user nginx; #gzip on; worker_processes auto; error_log /var/log/nginx/error.log notice; pid /var/run/nginx.pid; events { worker_connections 1024; multi_accept on; use epoll; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_.. 2023. 2. 6. [Flutter] "Fatal signal 11 (SIGSEGV)" 오류 해결하기 `Fatal signal 11 (SIGSEGV)`오류는 프로그래밍에서 흔히 발생하는 오류이며 분할 위반이라고도 하는 분할 결함을 나타냅니다. 위치가 존재하지 않거나(NULL 포인터 역참조) 프로그램이 액세스 할 수 없도록 보호되어 있기 때문에 프로그램이 액세스가 허용되지 않은 메모리 위치에 액세스 하려고 시도할 때 발생합니다. 오류 메시지의 'in tid 18280 (1.io), pid 18247 (ital.parkinsons)' 부분은 오류가 발생한 스레드 ID(tid) 및 프로세스 ID(pid)를 나타냅니다. 이 오류는 다음과 같은 여러 요인으로 인해 발생할 수 있습니다. 오류 발생요인 초기화되지 않은 포인터에 액세스 (Accessing an uninitialized pointer) 이미 해제된 포인.. 2023. 2. 5. [Flutter] Android "Unable to find bundled Java version" 오류 해결하기 위 문제는 이번 안드로이드 `Electric Eel` 버전의 프로그램 버그로 보입니다. 우선 해당 안드로이드 폴더인 `C:\Program Files\Android\Android Studio`로 이동하여 `jbr` 폴더의 내용을 `jre`에 덮어쓰기 해주세요. 만약, 위 문제가 해결되지 않는다면 `jre` 폴더 자체를 삭제해 보시면 될 것 같습니다 2023. 2. 4. [Flutter] 임펠러(Impeller) 사용해보기 Kaleidoscopia는 임펠러로 그래픽 성능을 개선한 예를 보여주는 데모 임펠러는 Flutter의 새로운 렌더링 런타임으로 Flutter 3.7 Impeller는 Flutter 프레임워크의 최신 버전에서 추가된 기술입니다. Impeller는 성능, 그래픽 품질, 호환성, 개발 효율 등을 개선하는 기술로, 플러터 개발자가 더 높은 효율성으로 애플리케이션을 개발할 수 있도록 돕습니다. 사전 컴파일된 셰이더를 사용하여 보다 예측 가능한 성능을 제공하며, 실행 시 셰이더 컴파일로 인한 프레임 손실을 완화합니다. iOS와 Android의 최신 로우 레벨 API인 Metal과 Vulkan의 프리미티브를 활용합니다. 또한 동시성을 효과적으로 활용하여 스레드에 단일 프레임 워크로드를 분산합니다. 셰이더 활용 2023. 1. 31. [Javascript] 자바스크립트 `console`를 활용한 더 나은 디버깅 하기(`console.log`만 사용하지 말자) 자바스크립트에서 디버그를 한다고 하면, 대부분은 `console.log`를 많이 생각할 것입니다. 하지만, `console.log`만 로그를 호출하고 보여줄 수 있는 것이 아니기 때문에, 아래와 같이 다른 디버깅 형태로도 호출하여 활용하면 좋을 것 같습니다. console.table 표 형식의 데이터를 읽기 쉽고 한눈에 파악하기 좋습니다. const users = [ { id: 1, name: 'John Doe' }, { id: 2, name: 'Jane Doe' } ]; console.table(users); console.group `console.group`, `console.groupEnd` 방법을 사용하면 중첩된 축소 가능한 그룹을 만들 수 있습니다. console.group('User Deta.. 2023. 1. 6. [NextJS] Isotope-layout `window is not define` 오류 해결하기 `NextJS`에서 `isotope-layout`를 사용하려고 하면, `SSR` 환경에서는 `window is not define` 오류가 발생할 수 있습니다. 그래서 `Isotope`를 사용하는 곳을 `SSR을 풀어주고 다이내믹 링크를 통하여 해결`해볼 수 있습니다. 예제 `Home.tsx` const DynamicPortfolio = dynamic( () => import('src/components/Portfolio/portfolio'), { ssr: false, }, ) export default function Home() { return ( {/* */} {/* ... 등등 */} ) } `Portfolio.tsx` declare module Portfolio { interface Data {.. 2023. 1. 1. 이전 1 2 3 4 5 6 7 8 다음