전체 글 166

구조 분해 할당 (Destructuring assignment)

구조 분해 할당 : Destructuring assignment 배열이나 객체의 속성을 쉽게 해체하여 변수에 담아주는 javascript 표현식이다. 구조 분해 할당은 크게 배열 구조 분해와 객체 구조 분해로 나뉘게 된다. - 배열 구조 분해 배열에 담긴 요소들을 순서대로 해당 변수에 담아준다. const numbers = ["one", "two", "three"]; const [a, b, c] = numbers; console.log(`one: ${a} | two: ${b} | three: ${c}`); // one: one | two: two | three: three 각각의 변수에 배열을 통해 값을 할당하여 줄 수 있다. let a, b; [a, b] = [1, 2]; console.log(`a: ..

Javascript/etc 2022.08.15

[ Node.js ] - winson이용하여 로그 남기기

winston 로그 관리를 위해 사용되는 모듈의 일종이다. 사용법 > npm i winston winston-daily-rotate-file - winston이 실질적인 로그를 남기는 모듈이고, - winston-daily-rotate-file 모듈을 로그를 일자별로 파일로 관리할 수 있도록 해주는 모듈이다. 기본 틀 import winston from "winston"; import wistonDaily from "winston-daily-rotate-file"; const { combine, printf, label, timestamp } = winston.format; const logFormat = printf((level, message, label, timestamp) => { return `..

Javascript/Node.js 2022.08.14

[ Node.js ] - compression으로 데이터 압축하기

Compression 많은 양의 데이터가 네트워크 전송시 네트워크에 부담을 줄 수 있는데, compression은 서버에서 데이터를 압축하여 준다. 이를 통해 서버는 클라이언트로 데이터를 전송할 때, 압축된 데이터를 보냄으로써 네트워크 전송 속도를 높이고, 비용을 줄일 수 있다. 사용법 > npm i --save compression compression을 이용하여 데이터 압축하기 전 import express from "express"; const app = express(); app.get("/", (req, res) => { const payload = "dkssdjssdjfkalsjfklasjklfjlkakssdjfkalsjfklasjklfjlkasjfsjfkalsjfklasjklfjlkakssd..

Javascript/Node.js 2022.08.14

[ ERROR ] - next error (Unhandled Runtime Error)

Unhandled Runtime Error Error: Rendered more hooks than during the previous render. 위와 같은 에러가 나는 이유는 조건에 따라 hook을 요청할 때 발생하는 에러이다. 이를 해결하기 위해서는 hook을 조건 내부가 아닌 최상단위에 작성하여 주면 된다. 예를 들면 아래와 같은 경우 위의 에러가 난다. import {useEffect, useState} from 'react'; const Home = ({auth}) => { if (auth) { const [ count, setCount ] = (0); useEffect(()=>{ console.log('welcome to home') },[]) } return ( count : {count..

ERROR 2022.08.03

[ JAVA ] - 기본 개념

JAVA 자바는 객체 지향 프로그래밍 언어로 자바 가상 머신 (JVM: Java Virtual Machine)을 통해 실행 가능하다. * 자바 애플릿 (Java Applet) : 웹에서도 자바를 실행가능하게 해주는 도구로, 현재는 보안상의 이유로 사용이 권장되지 않는다. 자바 특징 자바는 JAM을 통해 실행되어 운영체제와 상관없이 독립적으로 실행되며 같은 결과를 출력한다. 가비지 컬렉터를 통해 자동 메모리 관리를 지원하여 준다. 자바는 상속성, 캡슐화, 다형성의 특징을 가지고 있는 객체 지향언어이다. 자바는 멀티스레드를 지원한다. * 이클립스 : 통합 개발 환경(IDE: integrated development environment)을 제공하는 대표적인 자바 개발도구이다. * JSP ( Java Serv..

JAVA 2022.07.27

vercel로 프론트 배포하기

vercel? https://cocobi.tistory.com/105 [Next.js] Vercel로 프론트 배포하기 ❔ Vercel 이란 Vercel 은 Next.js 에서 제공하는 배포플랫폼으로 [빌드 + 배포 + 호스팅] 서비스를 제공한다. Next.js 공식문서에서는 Vercel를 통한 Front Project 배포를 권장하고 있으며, github의 레파지토.. cocobi.tistory.com Vercel 은 Next.js 에서 제공하는 배포플랫폼으로 [빌드 + 배포 + 호스팅] 서비스를 제공해준다. 1. github repository 생성 2. 프로젝트 생성 > npx create-react-app my-app --template typescrip 위의 명령어로 설치안되는 경우 먼저 yarn..

Javascript/etc 2022.07.27

[ Node.js ] - node-cron 활용하여 스케줄러 작동시키기

node-cron https://www.npmjs.com/package/node-cron node-cron A simple cron-like task scheduler for Node.js. Latest version: 3.0.1, last published: 2 months ago. Start using node-cron in your project by running `npm i node-cron`. There are 753 other projects in the npm registry using node-cron. www.npmjs.com node-cron은 일정한 시간 간격으로 특정한 작업을 실행할 수 있도록 해주는 모듈이다. > npm i node-cron > npm i --save-dev @t..

Javascript/Node.js 2022.07.27

[ Next.js ] - next api에서 express-rate-limit 사용하기

기본적으로 express-rate-limit은 무분별한 요청으로 인한 서버 과부하를 막기 위해 사용되는 라이브러리이다. 백엔드 서버를 제대로 구축하여 express-rate-limit을 사용하는 것은 express-rate-limit문서에 나온 그대로 사용하면 문제없이 사용할 수 있지만 next에서 express-rate-limit을 그대로 사용하면 에러가 나고 제대로 작동하지 않기 때문에 해당 라이브러리를 사용하기 위해서는 수정하여 사용하여야 한다. 기본적인 express-rate-limit 사용 ☞ 2022.06.02 - [Javascript/Node.js] - [ Node.js ] - 서버 DDos 공격 막기 사용방법 next 환경 구축 > npx create-next-app --ts // 위의 명..

Javascript/Next.js 2022.07.26

[ JAVA ] - 자바 개발환경 구축 (feat mac) - 02

JAVA 개발 환경 구축 - JDK 설치 - 이클립스 설치 - 어피치톰캣 설치 - 이클립스와 톰캣 연동 -- STS4 설치 1. 이클립스 설치 이클립시는 자바 통합 개발 환경이다. https://www.eclipse.org/downloads/packages/ 위의 url을 클릭한다. 아래와 같은 창이 나오면 Eclipse IDE for Java Developers에서 본인의 OS에 맞는 것을 클릭한다. 클릭 후 페이지가 이동되면 다시 다운로드를 클릭한다. 다운로드 후 Eclipse를 Applications로 옮겨준다. Launchpad나 finder에서 Elcipse를 더블 클릭하면 아래와 같이 나오는데, 이는 작업 환경의 경로를 설정해두는 것이다.나는 기존대로 하고 Launch 클릭 2. 어피치 톰캣 ..

JAVA 2022.07.24