일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- OpenAPI
- SQL
- Sequelize
- db
- 부트스트랩
- 위키백과
- 터미널 브랜치 표시
- 웹 스크래핑(크롤링)
- 비동기
- 2주차
- 1주차
- HTTPS
- NoSQL
- 리눅스 브랜치 표시
- JWT
- 5주차
- 항해99
- 개발일지
- 3주차
- Get
- MongoDB
- nginx
- 트랜잭션
- cors
- 4주차
- 스파르타코딩클럽
- 숙제
- Node.js
- post
- Transaction
- Today
- Total
목록
728x90
전체 글 (109)
얼음꽃의 일지
1. sudo vi(vim) ~/.bashrc 2. 안에 다음 내용을 추가 parse_git_branch() { git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/' } export PS1="\u@\h \[\033[32m\]\w\[\033[33m\]\$(parse_git_branch)\[\033[00m\] $ " 3. 다 닫고 다시 시작 ( source ~/.bashrc) 4. 그럼 다시 켰을때 현재 브랜츠가 어디있는지 확인 가능합니다. 참고 내용 https://siyoon210.tistory.com/7 리눅스 터미널에서 git 브랜치이름 항상 표시하게 하기 초보개발자가 할 수있는 가장 끔찍한 실수 중에 하나는 협업 중인 브랜치(branc..
기본적으로 api를 만들 때 파라미터를 많이 붙일 수가 있는데, 실제로 이 길이는 제한이 없습니다. 그러나 실제로 api를 연결을 하여 프론트에서 호출하게 되면 포스트맨(혹은 썬더클라이언트)에서 호출했을때와는 다르게 호출이 안되고 html 형식으로 403 Forbidden 에러가 발생합니다. 그 이유는 크롬, IE, Edge 등 각 웹 브라우저 안에 적용되는 URL 주소의 길이가 정해져있습니다. 보통은 그렇게 길게 사용은 안하지만, 여러 파라미터를 진짜 길게 사용하게 되는 경우 저 범위를 넘어가게되면 해당하는 웹브라우저 장비에서 막혀버릴 가능성이 있습니다. api 만들때 어느 정도까지 잡아서 진행할지 체크를 하고 만약 GET 형식에서 파라미터를 더 이상 붙이기 힘들다고 생각이 들때는 POST 형식으로 바..
html에 전체에서 img 태그 안에 있는 src 값들만 가져와야 하는 상황일때 사용된 코드입니다. const imgSrcReg = /(]*src\s*=\s*[\"']?([^>\"']+)[\"']?[^>]*>)/g; const regImg = []; let match = imgSrcReg.exec(내용); while (match !== null) { regImg.push(match[2]); match = imgSrcReg.exec(내용); } 정규식은 이미지 태그만 찾는 정규식인데 img 와 src 사이에 다른 여러 옵션이 존재 할 수 있기 때문에 그 값들을 다 포함해서 찾아오는 정규 식입니다. 그리고 exec 돌렸을때는 match안에 배열이 나오는데 chatgpt 같은 경우에는 match[1]에 있다고..
* 엑셀파일은 xlsx 형식 이어야 합니다. * multer를 이용하는건 스토리지에 저장이 아닌 임시로 넣어두고 불러오기 입니다. 1. 설치 -> npm install express multer xlsx 2. 코드 작성 const express = require('express'); const multer = require('multer'); const xlsx = require('xlsx'); const app = express(); const port = 3000; // 파일을 메모리에 저장하는 storage 설정 const storage = multer.memoryStorage(); const upload = multer({ storage: storage }); // 라우트 컨트롤러 설정 const..
1. 터미널에서 ssh -keygen -t ed25519 -c 이메일 주소로 ssh 키를 만든다. 2. 1번을 하게되면 id_ed25519, id_ed25519.pub가 생성이 된다. 3. pub 키를 열어서 내용을 복사한다 4. bitbucket.org 에서 로그인후 오른쪽 위 톱니바퀴를 누른다. 5. 톱니바퀴를 누르면 Personal settings이 존재하므로 누른다. 6. 누르고 들어가서 왼쪽 목록에 SSH Keys 를 누른다. 7. Add Key를 눌러서 아까 복사한 Key를 넣는다. 8. 저장하면 이제 연결이 되므로 이전에 bitbucket을 쓴 적이 있으면 git clone해서 내용을 복사해서 사용하면된다.
보통 서버에 올려서 GitBash, Putty 등 서버 로그를 확인하게 되면 그냥 단순히 api가 실행되는것만 확인 할 수 있는데요. 이걸 좀 더 자세하게 보고싶다라고 하면 사용하고 있는 메인 js (보통은 app.js) 에다가 api가 호출하기 전에 전체 호출을 하나 만들어주는 것입니다. app.use((req, res, next) => { const time = new Date().toLocaleString(); const message = `request IP: ${Ip} / ${time}`; console.log( '----------------------------------------------------------------------', ); console.log(message); next..
* access, refresh 가 둘다 있다고 가정 * 로그인 이후 access 가 만료가 되었을때 가정 * access, refresh 둘 다 올바른 값이라고 가정 0. access, refresh가 둘 다 있는지 체크 1. access의 만료 여부 체크 2. access가 만료 됐을때 refresh 만료 여부 체크 2-1. refresh가 만료가 안됐다면 access 새로 생성 2-2. refresh가 만료됐다면 처음부터 다시 로그인 3. access가 만료가 안됐을때 다시 타는 경우은 exception 혹은 아무 코드 안타게 처리 위의 내용이 기본 베이스로 유지하며 여기서 session 값 체크, redis쓰면 redis값 체크 등 추가적인 값 체크를 넣으면 됩니다.
로그인을 해놓고 이리저리 사이트를 많이 돌아다니가다 로그인했던 사이트로 돌아오니 로그인이 풀려있는 경우가 있었습니다. 처음에는 무엇인가 했는데 알고보니 쿠키에 문제가 있었던 점을 파악했습니다. 기본적으로 브라우저 별 쿠키 수가 정해져 있는데요. 그 내용은 다음과 같습니다. 즉, 일정 개수의 쿠키가 넘어가게되면 이전 쿠키의 모습이 사라지는지 가지고 있던 쿠키가 없어지면서 로그인이 풀리는 경우가 있게 되었습니다. 혹시라도 로그인이 자주 풀리면 쿠키부터 확인해보세여!