오늘의 목표
✔️ 프로그래머스 코테 문제 풀기
✔️ Node.js 강의 듣기
⏱️ 오늘의 일정
9:00 ~ 10:00 - 프로그래머스 코테 문제 풀기
10:00 ~ 17:00 - Node.js 강의
17:00 ~ 21:00 - 개인과제
📜 프로그래머스 코테 문제 풀기
9:00 ~ 10:00 - 프로그래머스 코테 문제 풀기
오늘도 알고리즘 코드카타를 진행해 문제를 풀었다.
옹알이(2)
AlgorithmCodingTest/프로그래머스/1/133499. 옹알이 (2) at main · YamSaeng/AlgorithmCodingTest
This is an auto push repository for Baekjoon Online Judge created with [BaekjoonHub](https://github.com/BaekjoonHub/BaekjoonHub). - YamSaeng/AlgorithmCodingTest
github.com
처음에는 아기가 말할 수 있는 모든 단어를 우선 조합하고 진행하려 했는데, 옳은 방법 같지가 않아서
좀더 고민을 하다가 아래처럼 풀게 되었다.
아기가 말할 수 있는 단어가 포함되어 있는지 찾는 방법이다.
뒤에 babyStrDuplicationCheck는 같은 발음이 연속되는 것을 방지한다.
function solution(babbling) {
let answer = 0;
for (let i = 0; i < babbling.length; i++) {
let isCheck = true;
let babyStrDuplicationCheck = 0;
for (let j = 0; j < babbling[i].length; j++) {
if (babbling[i].substr(j, 3) == "aya" && babyStrDuplicationCheck != 1) {
babyStrDuplicationCheck = 1;
j += 2;
}
else if (babbling[i].substr(j, 2) == "ye" && babyStrDuplicationCheck != 2) {
babyStrDuplicationCheck = 2;
j += 1;
}
else if (babbling[i].substr(j, 3) == "woo" && babyStrDuplicationCheck != 3) {
babyStrDuplicationCheck = 3;
j += 2;
}
else if (babbling[i].substr(j, 2) == "ma" && babyStrDuplicationCheck != 4) {
babyStrDuplicationCheck = 4;
j += 1;
}
else {
isCheck = false;
break;
}
}
if (isCheck == true) {
answer++;
}
}
return answer;
}
📜 Node.js 강의
10:00 ~ 17:00 - Node.js 강의
2024.09.09 - [IT] - [IT] 인증, 인가
[IT] 인증, 인가
인증 ( Authentication ) 인증 ( Authentication )은 서비스를 이용하려는 사용자가 인증된 신분을 가진 사람이 맞는지 검증하는 작업을 뜻한다.인증 ( Authentication )은 일반적인 사이트의 로그인 기능에 해
program-yam.tistory.com
2024.09.09 - [Javascript/실습] - [Javascript][실습][게시판 프로젝트] 로그인, 회원가입 API
[Javascript][실습][게시판 프로젝트] 로그인, 회원가입 API
Express.js를 이용한 게시판 프로젝트를 만들기 전에, 우선 app.js에 기본적인 토대를 만들고 간단한 API를 구현해보자. 모든 Router에서 Prisma를 사용할 수 있도록 utils/prisma/index.js 파일을 생성한다. ap
program-yam.tistory.com
2024.09.09 - [IT] - [IT] Access Token, Refresh Token
[IT] Access Token, Refresh Token
Access Token Access Token은 사용자의 인증( 예) 로그인 )이 완료된 후 해당 사용자를 인증하는 용도로 발급하는 토큰을 말한다.앞서 쿠키 ( Cookie )에 jwt를 설정하고, 지정된 만료 시간이 지나면 인증이
program-yam.tistory.com
2024.09.09 - [Javascript/실습] - [Javascript][실습] Access Token, Refresh Token 발급
[Javascript][실습] Access Token, Refresh Token 발급
Access Token과 Refresh Token을 발급해보자. # yarn을 이용해 프로젝트를 초기화합니다.yarn init -y# express, jsonwebtoken, cookie-parser 패키지를 설치합니다.yarn add express jsonwebtoken cookie-parserpackage.json에 "type":"mod
program-yam.tistory.com
2024.09.09 - [Javascript] - [Javascript] .env ( 환경 변수 읽어 오기 )
[Javascript] .env ( 환경 변수 읽어 오기 )
.env 파일에 설정한 환경변수 값을 읽어 오고 싶을 경우 dotenv 패키지를 설치해 읽어오면 편하다. yarn add dotenv 위 명령어를 이용해 dotenv 패키지를 설치한다. .envACCESS_TOKEN_SECRET_KEY="YamSaeng52"REFRESH_T
program-yam.tistory.com
인증, 인가에 대한 개념을 배우고 이를 토대로 실습으로 로그인과 회원가입 API를 작성했다.
Access Token과 Refresh Token을 배우고 이를 토대로 실습으로 직접 Access Token, Refresh Token을 발급했다.
📜 개인과제
17:00 ~ 21:00 - 개인과제
개인과제를 진행했다. 오늘은 회원가입 까지만 우선 완료하고 내일 캐릭터 생성 까지 끝낼 예정이다.
회원 가입 router
router.post('/sign-up', async (req, res, next) => {
const { id, password, confirmPassword } = req.body;
const isExistUser = await prisma.users.findFirst({
where: {
id,
},
});
const engNumIdRule = /^(?=[a-za-z])(?=.*[0-9]).{2,10}$/;
if (!engNumIdRule.test(id)) {
return res.status(409).json({ message: '소문자 영어와 숫자를 조합해 입력하세요 ( 최소 2글자, 최대 10글자 )' });
}
if (confirmPassword === undefined) {
return res.status(409).json({ message: '비밀번호 확인을 입력하세요' });
}
if (password.length < 6) {
return res.status(409).json({ message: '비밀번호는 최소 6자 이상이 되어야 합니다.' });
}
if (password != confirmPassword) {
return res.status(409).json({ message: '비밀번호와 비밀번호 확인이 일치하지 않습니다.' });
}
if (isExistUser) {
return res.status(409).json({ message: '이미 존재하는 아이디입니다.' });
}
const hashedPassword = await bcrypt.hash(password, 10);
const user = await prisma.users.create({
data: {
id,
password: hashedPassword,
},
});
return res.status(201).json({ message: `${id}로 회원가입이 완료되었습니다.` });
});
예전에 배운 정규표현식을 이용해 유저한테 입력받은 아이디를 판별햇다.
영어 소문자 + 숫자 조합으로 2자 이상 10자 이하 만 아이디로 등록할 수 있도록 했다.
2024.09.10 - [IT] - [IT] 정규표현식
[IT] 정규표현식
정규표현식은 어떤 특정한 규칙을 가진 문자열의 집합을 표현하기 위해 사용하는 형식 언어다. 아래 표를 통해 기본적인 정규표현식의 문법을 확인할 수 있다.메타문자기능설명.문자1개의 문
program-yam.tistory.com
이번에 찾은 김에 글로 정리했다.
'내일배움캠프' 카테고리의 다른 글
[내일배움캠프][TIL] 27일차 - 개인과제, Node.js 강의 듣기 (4) | 2024.09.12 |
---|---|
[내일배움캠프][TIL] 26일차 - 개인과제 구현 (0) | 2024.09.10 |
[내일배움캠프][TIL] 24일차 - Node.js 강의, 개인과제 (0) | 2024.09.07 |
[내일배움캠프][TIL] 23일차 - Node.js 강의, 챌린지반 OT (1) | 2024.09.05 |
[내일배움캠프][TIL] 22일차 - Node.js 강의 (0) | 2024.09.04 |