일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 공룡게임
- AWS
- Bull
- flask
- typeORM
- 정렬
- 게임
- 자료구조
- Dinosaur
- game
- Python
- Express
- Sequelize
- MongoDB
- jest
- TypeScript
- GIT
- JavaScript
- mongoose
- nodejs
- MySQL
- class
- OCR
- dfs
- cookie
- Queue
- react
- Nest.js
- nestjs
- Today
- Total
목록TIL (128)
포시코딩
파라미터 예측 대응하기 function test(email) { const [ local, domain ] = email.split('@'); } 들어오는 email 파라미터에 대해 @ 앞부분은 local, 뒷부분은 domain이란 변수를 지정해고 있다. 예전 같았으면 @가 여러개인 email 파라미터가 들어온다면 그 값에 대응하기 위해 if문을 사용했을텐데 spread operator를 통해 유연하게 대처할 수 있다. function test(email) { const [ local, domain, ...etc ] = email.split('@'); if (!local || !domain || etc.length !== 0) { return false; } }
Python 문자열 다루기 심화 'abcd'[1:3] 기존에 이런식의 쓰임새만 봐오다가 'abcd'[::-1] 이런 형태를 처음 접했는데 알고보니 문자열 자르는 방법은 [시작:끝]이 아니라 [시작:끝:증가]였다. 이를 통해 문자열을 뒤집는 방법으로 [::-1]이 사용될 수 있다는걸 알게 되었다. '123456789'[1:5:2] # 24 응용한다면 이런식으로도 사용이 가능한데, Python 최대 강점이 문자열 쉽게 자르는 이 방법을 쓰는 것이니 앞으로도 유용하게 사용할 수 있을 것 같다. divmod() result = divmod(14, 3) print(result) # (4, 2) divmod(x, y)에 대해 x를 y로 나눴을 때의 몫과 나머지를 (몫, 나머지)의 형태로 리턴하는 함수다. 이 함수를..
prettier 적용 vscode extension으로만 써본 prettier를 npm으로 설정하여 써봤다. git reset 하면서 테스트하다 알게된 사실인데, npm install prettier로 설치하지 않아도 작동된다는 점이다. package.json 파일 옆에 설정파일 세팅 후 package.js에서 명령어를 세팅해줬더니 잘 동작한다. .prettierrc.js module.exports = { trailingComma: 'es5', tabWidth: 2, semi: true, singleQuote: true, arrowParens: 'always', printWidth: 200, }; package.json "scripts": { "prettify": "prettier --write '**/..
알고리즘 문제에 대한 다양한 풀이법에서 얻는 지식들 numpy 내가 지금까지 알고 있던 단순한 배열이 아닌 다차원 배열에 대해 계산할 때 사용하는 Python의 라이브러리이다. 비록 모든 코딩테스트에서 지원할지 미지수이지만 실제로 행렬 곱셈이나 여러 다차원 배열에 고려해야 되는 상황이 있을 수 있으므로 짚고 넘어갈 필요성이 있었다. 행렬의 덧셈에 대해 나는 단순히 for문과 zip을 써서 구했는데 for arr12 in zip(arr1, arr2): temp = [] for x in zip(*arr12): temp.append(sum(x)) answer.append(temp) zip() 함수를 몰랐으면 매우 힘들게 구했을 것이다. 하지만 numpy를 쓴다면 이렇게 단순해진다. import numpy as..
오늘은 코딩테스트 연습문제를 계속 풀었다. Node.js에 대한 프로젝트는 지금까지 해본것들이면 그래도 일정 수준으로 해봤다고 할 수 있을거 같고 남은 피드백 적용이나 아쉬웠던 부분들에 대해 업그레이드 하는 방식으로 진행하면 될 것 같다. 그래서 남은 시간은 모두 알고리즘 공부에 투자하기로 했다. Python 다루기 요즘 코딩테스트 연습문제를 풀며 Python을 사용중인데 Javascript로 풀 때와는 또 다른 문법들을 사용하며 새로운 걸 배우고 있다. 빈 리스트 []의 True, False 빈 리스트 []는 False를 반환한다. if []: print(True) else: print(False) # False return에서 or 활용하기 return [] or [-1] 위 빈 리스트 []의 연장 ..
Refresh Token 도입기 이번 개인 프로젝트 과제의 로그인 시스템에 jwt을 통해 쿠키 - 토큰 시스템으로 인증 관리를 하는게 있었는데 나는 같이 배웠던 방법중 accessToken, refreshToken을 사용하는 방법을 채택했다. 이유는 세가지다. 제일 최신 기법으로 보임 제일 안전해보임 제일 어려워보임 아래는 적용한 코드 중 일부이다. models/User.js if (await this.#checkPassword(userInfo.password, user.password)) { // 로그인 토큰 처리 const accessToken = await TokenManager.createAccessToken(user.userId); const refreshToken = await TokenMan..
알고리즘 (문제) 문자열 내 마음대로 정렬하기 blog_api 프로젝트 게시판 삭제 기능 구현 댓글 작성, 조회, 수정, 삭제 기능 구현 좋아요 기능 구현 좋아요 게시글 조회 기능 TIL 쓰는법에 대해 공부함 문제점 시도해본 것들* 해결 알게 된 점* 핵심은 알게 된 점 총정리, 매일 목표 재설정 + 추가로 WIL은 TIL의 회고: 이번 주 알게 된 점 총 정리 다음 주 목표 세우기 이번 주 목표 달성 여부 KPT는 회고에서만 중요했던게 아닐까 위 네가지 항목이 포함되게 작성하며 예쁘게 꾸미기 통째로 붙여넣은 코드 사적인 글, 감성적인 글 강의노트 복붙 혹은 요약 위 네가지 내용을 포함하지 않도록 주의 내 TIL에는 너무 사적인 느낀점이 많았던 것 같다. 배운 TIL 형식에 맞춰 오늘부터 제대로 적용해서..
알고리즘 (문제) 핸드폰 번호 가리기 (문제) 두 정수 사이의 합 (문제) 겹치는 선분의 길이 blog_api 프로젝트 sequelize - dotenv 에러 - [링크] bcrypt - dotenv 에러 - [링크] sequelize - FK 설정 - [링크] 회원가입, 로그인 기능 구현 토큰 시스템 구현 미들웨어를 통한 인증 시스템 구현 게시판 작성, 조회, 상세 조회, 수정 기능 구현
Node.js 숙련 주차 미들웨어를 통한 로그인, 회원가입 인증 구현 Sequelize를 통해 Express에서 MySQL 사용하기 숙련 주차 과제 진행 알고리즘 [1차] 비밀지도 Python 함수 공부 rjust, ljust, zfill - [링크] zip() - [링크] 비트연산자