- 간단한 상황 설명.. ssh로 학교 서버(윈도우)에 있는 리액트를 실행하려 했다. 하지만 sudo 명령어도 안되고, choco도 안되길래 scoop으로 nodejs와 yarn을 설치하였다! - Powershell 관리자 모드 실행 Start-Process -FilePath "powershell" -Verb RunAs - (Scoop 설치를 위한) 보안 정책 설정 ‼️주의 사항: PowerShell execution policy is required to be one of: Unrestricted, RemoteSigned or ByPass Scoop를 설치하려면 PowerShell이 Unrestricted/RemoteSigned/ByPass 상태여야 한다. PowerShell에 적용된 보안정책 알아보는..
- SSL 구매 백엔드(장고)를 학교 서버에 넣고 SSH를 이용해 집에서 원격으로 실행하고 있다. 프론트(리액트)를 실행해보면, SSL 인증서 오류가 발생하였고, 해결 방법으로는 SSL 인증서를 생성 / 구매하는 방법이 있다. 시간이 없어서 SecureSign에서 구매하는 방법을 택했다. 설명이 잘 되어있는 블로그를 참고하였다. [HTTPS] Route53 + Nginx + SecureSign HTTPS 설정 1\. SSL 인증서 구매접속 - https://www.sslcert.co.kr/1) 적당한 서비스 선택 > 신청2).상품 및 기간 선택3). 도메인 및 CSR 생성 또는 등록CSR이 없다면 CSR 자동생성 선택을 통해 직접 등록이 가능 하지만 필 velog.io 큰 프로젝트가 아니기에 가장 저렴..
🎨 ArtRound 대학 3학년 4명이 모여 21년 9월부터 프로젝트를 시작했습니다. 사망년이란 말이 있듯이 학점과 프로젝트를 동시에 병행하기는 힘들었기에 12월 1차 마무리하고, 아직 다듬는 중입니다. - 프로젝트명 아트라운드(ArtRound) 사용자 주변의 예술품이라는 뜻입니다. - 개발 기간 2021.09.10 ~ - 팀원 FE 개발자 3명, BE 개발자 1명 - 기술 스택 React, Django Rest Framework - 주요 기능/소개 카카오 소셜 로그인으로 회원가입, 로그인을 진행합니다. 사용자 주변의 전시회, 박물관이 지도에 나타납니다. (GPS 동의 필요) 전시회 혹은 박물관을 클릭하여 즐겨찾기에 등록, 공유 등이 가능합니다. 모바일 사이즈만 제작하였습니다. 이미지는 unsplash에..
Success Rate: 97.64%, 난이도: Basic 문제이다. 비트 연산으로 풀 수 있지만, 더 간단한 솔루션을 찾았다. - 문제 32비트 unsigned 정수가 주어지면, 비트 1은 0으로, 비트 0은 1로 반전시키고 unsigned integer로 결과를 리턴하여라. - 예시 [입력값] 3 2147483647 1 0 [출력값] 2147483648 4294967294 4294967295 - 풀이 'use strict'; const fs = require('fs'); process.stdin.resume(); process.stdin.setEncoding('utf-8'); let inputString = ''; let currentLine = 0; process.stdin.on('data', fu..
자동완성 익스텐션 글에 이어 또 다른 유용한 익스텐션을 들고 왔습니다! 리액트 VSCode 자동완성 익스텐션 추천 (Auto Import, Code snippets 등) 리액트를 공부하며 필요한 익스텐션을 정리해보았다. - Auto Import - ES6, TS, JSX, TSX Auto Import - ES6, TS, JSX, TSX - Visual Studio Marketplace Extension for Visual Studio Code - Automatically finds.. breathtaking-life.tistory.com - Import Cost import 하려는 모듈의 크기를 알아볼 수 있는 익스텐션이다. - 사용법 사용법은 아주 간단하다. 익스텐션 설치 후 다시 코드 파일로 돌아가 ..
- 문제 16953번: A → B 첫째 줄에 A, B (1 ≤ A +v); let answer = -1; const DFS = (A, B, cnt) => { if (A === B) { answer = cnt + 1; return; } else { if (A * 2
[문제] 1747번: 소수&팰린드롬 어떤 수와 그 수의 숫자 순서를 뒤집은 수가 일치하는 수를 팰린드롬이라 부른다. 예를 들어 79,197과 324,423 등이 팰린드롬 수이다. 어떤 수 N (1 ≤ N ≤ 1,000,000)이 주어졌을 때, N보다 크거나 같고, www.acmicpc.net [코드] const stdin = require("fs") .readFileSync(process.platform === "linux" ? "/dev/stdin" : "input.txt") .toString() .trim(); let N = Number(stdin); const checkPrimeNum = (n) => { if (n === 1) return false; else if (n === 2) return t..
일반적으로 로그인에서 사용하는 토큰은 단순한 문자열이다. 따라서 발급된 토큰에 대해 만료를 시킬 수단이 없고, 관리할 수 있는 방법이 없다는 단점이 있다. 이를 보완하기 위해 JWT(Javascript Web Token)을 사용한다!! 참고) 여기서 클라이언트단은 리액트, 서버는 장고를 이용하였다. - 로그인 절차 (JWT) 이용 JWT 절차를 간단하게 설명하자면, - JWT에는 accessToken과 refreshToken이 존재하며, 유저 인증에 사용된다. 실질적인 인증 정보는 accessToken에 있지만, 일정 시간이 지나면 만료하는 구조를 갖는다. - refreshToken, accessToken을 클라이언트에 저장해둔다. 이때, refreshToken을 이용하면 로그인은 지속적으로 유지할 수 ..
[문제] 1074번: Z 한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. N > 1인 경우, 배열을 www.acmicpc.net [코드] let [N, r, c] = ( process.platform === "linux" ? require("fs").readFileSync("/dev/stdin").toString().trim() : `4 7 7` ) .trim() .split(" ") .map((v) => +v); let res = 0; const divide = (row, col, size) => { if (row === r && col === c) { // 좌표 찾음..
장고 rest framework와 리액트를 이용하여 로그인 기능을 구현 중이다. 클라이언트에서 axios로 email과 password를 api 주소로 post하면 서버에서 회원 정보가 유효한지 아닌지 확인한다. services/AuthService.js에 로그인 로직을 생성하고, pages/Login.jsx에서 로그인 폼 제출 시 AuthService에 로직이 실행된다. - 문제점 (틀린 코드) [Login.jsx 실행 화면] [pages/Login.jsx] 이메일 형식이 맞다면(else문), requestLogin을 실행하고 반환값을 출력한다. [services/AuthService.js] email과 password가 post에 성공하였다면, 사용자 정보를 출력하고 리턴한다. [출력 결과] 하지만..