JavaScript

    [백준 2292] NodeJS / Javascript 문제풀이

    정답 - 풀이과정 정답 let input = require("fs") .readFileSync(process.platform === 'linux' ? '/dev/stdin' : '../../input.txt') .toString() .trim() .split(" "); const num = parseInt(input[0]); let increaseNumber = 1; let i=1 while(num > i){ i += increaseNumber*6 increaseNumber++ } console.log(increaseNumber) 리얼 풀이과정 우선, 벌집의 규칙을 찾아 보았습니다. 1부터 시작해서 원형으로 수가 어떻게 증가하는지를 확인 해 보니, 1 -> 7 -> 19 -> 37 순서로 증가하는것을 확..

    [ReactJS] react-router-dom V6 바뀐 라우팅

    v6 로 넘어오며 많은것이 바뀌게 되었습니다. 우선, 간단한 내용부터 천천히 넘어가보도록 하겠습니다. 라우팅의 변화 기본적인 변화 V5 에서는 아래와 같은 코드로도 작동이 되었습니다. import {BrowserRouter as Router, Switch , Route } from 'react-router-dom'; import Home from './pages/Home' const App = () => { return( ) } export default App; 하지만, V6로 넘어오며 Switch -> Routes component -> element 이렇게 변경이 되었습니다. 이렇게 변화가 되면서 element 에는 {Home} 이 아닌 태그로 작성을 해야 정상적인 작동을 하게 됩니다. import..

    [ReactJS] 내가 생각하는 효율적인 라우터 관리 방법

    React 프로젝트를 진행할 때 제가 자주 사용하는 방법 중 하나 입니다. react-router-dom 이 v6 로 넘어오며 이 방법을 사용하고 있지는 않지만, ReactNative 할 때 react-navigator 를 사용할 때 이용하는 방법 입니다. 우선, 결론 //App.tsx { rootRouter.map((item, key) => return ) } //RootRouter.ts import { ComponentType } from 'react'; interface RouterInterface { name : string; component : ComponentType; } export RootRouter:RouterInterface[] = [ { name='Home', component = ..

    [백준 1712] NodeJS / Javascript 문제풀이

    정답 - 풀이과정 정답 let input = require("fs") .readFileSync(process.platform === 'linux' ? '/dev/stdin' : '../../input.txt') .toString() .trim() .split(" "); const a = parseInt(input[0]); const b = parseInt(input[1]); const c = parseInt(input[2]); if(c - b

    [ReactNative] 카카오 로그인 구현하기 -1

    ReactNatvie 에서 카카오 로그인을 구현하려 하는데 여러 선택지가 있었습니다. 1. react-native-seoul/kakao-login 2. actbase/react-native-kakao-login 이렇게 2개가 있었지만, 1번은 진행 중 많은 오류가 있어 포기를 하게 되었고, 2번은 지원이 중단되었다길래 새로운 방법을 차게 되었습니다. 라이브러리 선정 actbase 에서 기존의 react-native-kakao-login 은 아래 보이는 이미지처럼 npm 에서 This package has been deprecated 라고 뜨며 @actbase/react-kakaosdk 로 변경이 되었다고 합니다. 그래서 @actbase/react-kakaosdk 를 사용하기로 하였습니다. GitHub -..

    [NodeJS] express 오류 : Cannot set headers after they are sent to the client

    yarn start 를 했을 때 문법상 문제가 없다고 했는데,, Request 를 보내니 갑자기 뿜어내는 해당 오류, 이 오류는 무엇인지 찾아보기로 하였습니다. userRouter.route('/token') .get((req, res)=>{}) .post((req,res)=>{ const refreshToken = req.body.refreshToken; if(!refreshToken) res.sendStatus(403); const accessToken = token().issuance(refreshToken, res); res.json({accessToken : accessToken}) }) 제 코드의 일부 입니다. /signup 으로 get 요청을 보내면 작동하는 부분 입니다. 하지만 , 여기서 ..

    [NodeJS] TypeScript 사용 시 Request CustomType

    코드가 잘 보이지 않으신다면 우측 하단의 달 모양을 눌러주시기 바랍니다. 최근 토이 프로젝트를 TypeScript로 진행하며 문제가 생긴 부분이 한 가지 있었습니다. 원래 JavaScript 를 이용해서 JWT 로그인 인증을 구현했을 때 req 객체에 임의의 값을 넣는데 이를 TypeScript로 이용을 하려 하니 문제가 있었습니다. -JavaScript const customMiddleWare = (req, res, next) => { req.authData = { status : 200, jwt : { accessToken : accessToken, refreshToken : refreshToken } } next() } 이런 형태의 코드는 JavaScript 에서는 문제없이 해당 미들웨어를 거쳐서 ..

    [NestJS] 기본 프로젝트 구조 생성 및 CRUD

    글이 잘 보이지 않는다면 우측 하단의 달 모양을 클릭해주시기 바랍니다. NestJS 설치 NestJS 를 시작하는 방법은 우선, 흔히 express 를 설치하듯이 Nest CLI 를 설치후, 프로젝트를 생성하도록 하겠습니다. [project-name] 안에는 생성하고자 하는 프로젝트명을 작성해주시기 바랍니다. npm i -g @nestjs/cli nest new [project-name] 프로젝트를 생성한 뒤 yarn 과 npm 중에서 고르는 화면이 나올텐데, 이 부분은 본인이 편한 방법을 선택하시면 됩니다. 파일 삭제 및 코드삭제 처음 프로젝트를 생성했다면 아래와같은 구조로 되어있을것입니다. src - app.controller.spec.ts - app.controller.ts - app.module...