인기 글
react에서 proxy설정하기(http-proxy-middleware)
react에서 proxy설정하기(http-proxy-middleware)
BootCamp
2023.06.07 15:21
인트로오늘은 클라이언트에서 프록시를 설정하여 CORS 오류를 방지하는 실습을 진행했습니다.간단하게 package.json을 통해 설정할 수도 있지만 이번 포스트에서는 http-proxy-middleware를 사용해 여러 개의 도메인에서 응답을 받아오는 경우를 다뤄보겠습니다.설정npm install http-proxy-middleware//src/setupProxy.jsconst { createProxyMiddleware } = require("http-proxy-middleware");module.exports = (app) => { app.use( "/api", createProxyMiddleware({ target: "http://localhost:3080", chang..
리액트에서 SCSS 사용하기 내가 해냄
리액트에서 SCSS 사용하기 내가 해냄
React
2023.03.26 18:52
인트로오늘은 리액트에서 SCSS 사용하는 방법에 대해 알아보려고 합니다. SCSS를 알고만 있고 사용하지 않았는데 CSS 코드가 길어질 때마다 파일 보는 게 너무 괴롭더라고요.. 이참에 SCSS에 익숙해지려고 합니다. 일단 오늘은 리액트에서 SCSS 사용하려면 어떻게 해야하는 지만 알아보겠습니다.SassSass(Syntactically Awesome StyleSheets)는 CSS pre-processor 즉 css 전처리기입니다.가독성이 높고 코드 재사용에 유리한 CSS를 생성할 수 있습니다.변수, 조건문과 반복문 등 추가기능을 사용할 수 있습니다. 더 자세한 내용은 문법 포스팅에서 알아보도록 하죠.어쨌든 순수 CSS보다 지원하는 기능도 많고 짧은 코드로 원하는 스타일을 적용할 수 있습니다.SASS /..
[mqtt.js, mosquitto] WebSocket connection to failed
[mqtt.js, mosquitto] WebSocket connection to failed
삽질노트
2024.01.26 14:20
무슨 일이 있었나요?mqtt 통신을 해야할 일이 있어 mqtt.js를 사용하여 mqtt 통신을 시도했음.처음에 EMQX에서 제공하는 public broker에 연결했을 때 subscribe, publish 모두 잘되는 것을  확인한 후 OK 되는구나하고 넘겼는데다른분이 mosquitto로 구축하신 broker와 연결했더니 나를 반기는 에러...WebSocket connection to failed 열심히 삽질을 하다가 MQTTX를 쓰면서 힌트를 얻었는데.. MQTTX에서 broker와 연결할 때 ws:로 했을 때는 안됐는데 mqtt: 로 설정하니 잘되는 것.. 이때 슬슬 집나간 눈치가 돌아왔고 다른 블로그를 통해서 mosquitto는 웹소켓 통신을 하기 위해서 추가 설정이 필요한걸 알았음..  결론알고보..
react-circular-progress-bar
react-circular-progress-bar
라이브러리
2023.04.08 01:04
intro오늘은 원형 프로그래스 바 라이브러리를 가지고 왔습니다.생각보다 마음에 드는 원형 프로그래스 바 찾기가 너무 힘들었어요.. 1시간~2시간정도 찾아볼 정도로... 제가 사용한 라이브러리는 react-circular-progress-bar입니다.깃헙: https://github.com/tomickigrzegorz/react-circular-progress-bar예시: https://tomickigrzegorz.github.io/react-circular-progress-bar/?path=/story/circular-progress-bar--minimalinstallnpm install @tomickigrzegorz/react-circular-progress-barcodeimport { Circula..
jsconfig.json 내가 해냄
jsconfig.json 내가 해냄
JS
2023.03.25 20:34
인트로클론 강의에서 jsconfig.json 파일을 사용하여 경로를 설정하는 내용이 나왔는데 두고두고 사용할 것 같아서 따로 포스팅을 결정했습니다. jsconfig.json란?우선 jsconfig.json 파일은 프로젝트의 루트에 있어야 합니다. package.json이랑 같은 디렉터리에 있어야 해요.디렉터리에 jsconfig.json 파일이 있으면 해당 디렉터리가 js프로젝트의 루트를 나타냅니다. 복잡한 프로젝트에서 workspace에 jsconfig.json을 한 개 이상 사용할 경우 하나의 프로젝트 코드가 다른 프로젝트의 IntelliSense(vscode 코드 편집 기능)로 사용되지 않게 할 수 있습니다.JS 언어 서비스는 JS 프로젝트의 모든 파일을 분석하여 그것에 대한 IntelliSense를..
NEW
Docker로 healthcheck하기 (Docker Compose)
내가 해냄2024.10.21 16:12Docker로 healthcheck하기 (Docker Compose)

Docker를 사용해서 서버를 돌리게 되면서 healthcheck 스크립트를 Docker용으로 다시 작성해야했다. (기존에는 window 스케쥴러를 등록하여 1분마다 해당 스크립트를 돌리도록 했음) 코드 자체는 매우 간단했지만 docker에 대해 알아가면서 짜다보니 시간을 많이 잡아먹었다.서버로 api요청을 보낸 후 응답이 비정상적일 경우 컨테이너를 종료하고 다시 시작하는 healthcheck 스크립트를 작성하였다. healthcheck_docker.sh#!/bin/bash LOG_FILE="/app/healthcheck.log" TIMESTAMP=$(date +"%Y-%m-%d %H:%M:%S") HEALTH_CHECK_URLS=( "헬스체크 endpoint" ) echo "$TIMESTAMP - St..

[백준-1926] 그림
코테2024.07.18 14:30[백준-1926] 그림

인트로백준은 js로 입력 받는 게 불편하여 파이썬을 사용하여 풀었습니다.알고리즘 공부를 안한지 꽤 되어 다시 천천히 시작해보려고 합니다.문제실버1 : https://www.acmicpc.net/problem/1926나의 풀이from collections import dequegraph = []visited = set([])cnt = 0max = 0def dfs(start_x, start_y, graph): global cnt global visited dx = [1,0,-1,0] dy = [0,1,0,-1] size = 1 cnt += 1 visited.add((start_x, start_y)) queue = deque([(start_x, start_y)]) ..

[mqtt.js, mosquitto] WebSocket connection to failed
삽질노트2024.01.26 14:20[mqtt.js, mosquitto] WebSocket connection to failed

무슨 일이 있었나요?mqtt 통신을 해야할 일이 있어 mqtt.js를 사용하여 mqtt 통신을 시도했음.처음에 EMQX에서 제공하는 public broker에 연결했을 때 subscribe, publish 모두 잘되는 것을  확인한 후 OK 되는구나하고 넘겼는데다른분이 mosquitto로 구축하신 broker와 연결했더니 나를 반기는 에러...WebSocket connection to failed 열심히 삽질을 하다가 MQTTX를 쓰면서 힌트를 얻었는데.. MQTTX에서 broker와 연결할 때 ws:로 했을 때는 안됐는데 mqtt: 로 설정하니 잘되는 것.. 이때 슬슬 집나간 눈치가 돌아왔고 다른 블로그를 통해서 mosquitto는 웹소켓 통신을 하기 위해서 추가 설정이 필요한걸 알았음..  결론알고보..

웹 성능 최적화(1)
내가 해냄2023.11.30 17:40웹 성능 최적화(1)

Light House (before) : Loading Properly size images : 이미지를 적절한 사이즈로 압축하여 로드 타임 최적화 ㄴ 실제 사용되는 너비보다 2배 큰 사이즈로 width, height를 지정하는 것이 적절함 ex) 사진이 차지하는 픽셀이 120x120이라면 240으로 지정 how to solve? CDN(Contents Delivery Network) : 소비자와 가까운 곳에 컨텐츠 서버를 두는 기술 Image CDN(image processing CDN) : CDN + 이미지를 가공해서(처리 과정을 거침) 사용자에게 전해줌 > imgIX라는 이미지 CDN 서비스를 사용할 수 있음 > unsplash같은 사이트에서 사진을 가져올 경우 파라미터 width, height 조..

덧칠하기
코테2023.09.18 18:05덧칠하기

인트로레벨 1 javascript 문제 다풀려고 노력 중..문제덧칠하기https://school.programmers.co.kr/learn/courses/30/lessons/161989나의 풀이function solution(n, m, section) { let lastPaintIndex = section[0]+m-1; let cnt = 1; section.map((el) => { if(el > lastPaintIndex) { cnt+=1; lastPaintIndex=el+m-1; while(lastPaintIndex > n) { lastPaintIndex-=1; } ..

image