블로그
전체 28#태그
- docker
- mysql
- mariadb
- nodejs
- 미들웨어
- API
- 에러
- javascript
- 공부
- java
- 스프링
- 네트워크
- 인텔리제이
2023. 12. 01.
1
docker 사용해서 mysql 이랑 mariadb 같의 띄우기
이걸 왜 하냐?mariadb 깔려있던곳에 mysql을 설치하려다 뒤지게 애먹은적이 있음 결국 이사님이 그냥 db 만 다른서버에 설치하라 하셔서 그렇게 했는데 도커로 띄우면 개꿀임 ㅋㅋ 앙~ docker pull mariadb // 마리아디비 이미지 설처 // mariadb container 띄우기 docker container run -d --name mariadb -p 3306:3306 -e MYSQL_ROOT_PASSWORD=mariadb mariadb // mariadb container 접속 docker exec -it mariadb /bin/bash // mysql 이미지 설치 docker pull mysql // mysql container 띄우기 docker container run --name mysql -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=mysql mysql // mysql container 접속 docker exec -it mysql /bin/bash
docker
・
mysql
・
mariadb
2023. 05. 01.
0
인증과 인가
인증 Authentication사용자가 누구인지 확인ex) 로그인, 회원가입인가Authorization권한을 확인ex) 내가 쓴 글만 수정 가능
2023. 04. 29.
0
nodejs express를 사용해서 웹개발 할때 설정 순서
설치해야 하는 파일들(무조건은 아님) /** * 설치해야하는 파일들 */ //yarn 으로 시작하기 yarn init; // babel 설치 yarn add -D @babel/core @babel/cli @babel/node @babel/preset-env // express 설치 yarn add express; // nodemon 설치 저장하면 바로 다시실행 해줌 yarn add -D nodemon // cors = 박화벽 , helmet = 방화벽, dayjs = 날짜 형식 지원해주는 것들 yarn add cors helmet dayjs // bcrypt 비밀번호 암호화 할때 사용 jsonwebtoken jwt사용하는 라이브러리 yarn add bcrypt jsonwebtoken설치후 설정// package.json { "scripts": { "dev": "nodemon --exec babel-node src/index" }, "devDependencies": { "@babel/cli": "^7.21.5", "@babel/core": "^7.21.5", "@babel/node": "^7.20.7", "@babel/preset-env": "^7.21.5", "nodemon": "^2.0.22" }, "babel": { "presets": [ "@babel/preset-env" ] }, "dependencies": { "bcrypt": "^5.1.0", "cors": "^2.8.5", "dayjs": "^1.11.7", "express": "^4.18.2", "helmet": "^6.1.5", "jsonwebtoken": "^9.0.0" } }git 명령어git add . git commit -m "입력할 메시지" git push
nodejs
2023. 04. 29.
0
미들웨어란?
서버에 공통적인 요청을 처리해주는 어플리케이션은 보통 웹 애플리케이션에서 많이 사용되는데, 예를 들면 로깅, 인증, 인가, 오류 처리 등과 같은 기능을 수행합니다. 이러한 기능을 수행하는 미들웨어는 어플리케이션 레벨 미들웨어라고 합니다. 어플리케이션 레벨 미들웨어는 모든 요청에 대해 동일하게 적용되므로 서버의 모든 요청에 대해 공통적으로 처리할 수 있는 로직을 구현할 수 있습니다.라우터 레벨 미들웨어는 어플리케이션 레벨 미들웨어와 달리 서버에 들어오는 요청을 분리해서 받아 처리합니다. 예를 들어, 특정 URL 패턴에 대해 다른 미들웨어를 적용하거나, 특정 HTTP 메소드에 대해서만 미들웨어를 적용하는 등의 경우에 사용됩니다. 라우터 레벨 미들웨어는 라우터를 생성하는 과정에서 라우터 객체에 등록되며, 해당 라우터에 해당하는 URL 패턴으로 요청이 들어오면 적용됩니다.이러한 어플리케이션 레벨 미들웨어와 라우터 레벨 미들웨어를 조합하여 하나의 웹 애플리케이션을 구성할 수 있습니다.
미들웨어
2023. 04. 25.
0
멀쩡하게 잘 돌아가던 API의 서버의 에러가!
회사 API가 값자기 오류를 던졌다.모든 요청에 대해서 다 에러를 뱉는다.개망했다......ㅋㅋclient -> 회사API -> 다른회사 API 이런 순서로 요청이 가는데어제 메일로 다른회사 API가 업데이트가 있다고 했고 그 시간부터 모든 요청에 에러가 났다.ㅋㅋ 내 잘못 아니라 다행이긴 하지만 일단 뭐가문제인지 찾아봤다.그결과 다른회사 API에서 내려주는 데이터 형식을 우리 회사 API는 제대로 받아주지 못했던거다.application/octet-stream이라는 데이터 타입으로 들어오는것을 확인했고그 데이터 형식을 json으로 바꿔주는 코드를 한 줄 추가해줬더니 멀쩡해졌다재미있었다끝!
API
・
에러
2023. 04. 21.
0
fetchModule을 만들어 보았다
const fetchModule = { async get(url) { const response = await fetch(url) .catch(error => { alert('관리자에게 문의주세요') }) if (!response.ok){ alert(await response.text()) return } return await response.json() }, async getAndParam(url, request) { const queryParam = this.query(request); const response = await fetch(url + '?' + queryParam) .catch(error => { alert('관리자에게 문의주세요') }) if (!response.ok){ alert(await response.text()) return } return await response.json() }, async post(url, request) { const response = await fetch(url, { method: "POST", headers: { 'Content-Type': 'application/json', 'X-CSRF-TOKEN': document.querySelector('input[name="_csrf"]').value }, body: JSON.stringify(request) }).catch(error => { alert('고객센터에 문의해주세요.') }) if (!response.ok){ alert(await response.text()) return } return await response.json() }, async put(url, request) { const response = await fetch(url, { method: "PUT", headers: { 'Content-Type': 'application/json', 'X-CSRF-TOKEN': document.querySelector('input[name="_csrf"]').value }, body: JSON.stringify(request) }).catch(error => { alert('고객센터에 문의해주세요.') }) if (!response.ok){ alert(await response.text()) return } return await response.json() }, async delete(url, request) { const response = await fetch(url, { method: "DELETE", headers: { 'Content-Type': 'application/json', 'X-CSRF-TOKEN': document.querySelector('input[name="_csrf"]').value }, body: JSON.stringify(request) }).catch(error => { alert('고객센터에 문의해주세요.') }) if (!response.ok){ alert(await response.text()) return } return await response.json() }, query(params) { return Object.keys(params) .map(k => encodeURIComponent(k) + '=' + encodeURIComponent(params[k])) .join('&'); } }매번 해더값이나 method 값 넣어주기 귀찮아서 만들어 봤다 ㅎㅎ 팀원들이 잘 사용해주면 기분이 좋을것 같당
javascript
2023. 04. 17.
0
회사에서 원치 않는 업무를 시키는 중
웹 개발자로 들어와서 현재 1년 좀 안되게 일하고 있는 개발자다.갑자기 회사에서 여러 사업을 하면서 RPA또는 가상오피스 같은 프로그램에 사용법같은것을 공부시키고 있다웹개발 공부 하고싶은데 시간 뺐기는거같아서 너무 속상하지만 하라니까 한다....힘들다......집에서 혼자라도 웹개발 공부 열심히 해야겠다!
공부
2023. 04. 04.
0
javascript fetch
매번 회사에서 만들어져있는 ajax모듈만 사용하다가 fetch를 사용해서 프로젝트를 진행하려니 다소 불편한 감이 없지않아 없다. 별로 안불편하다. 이제 그냥 매번 fetch사용해야겠다
javascript
2023. 04. 04.
0
쿼리 파라미터 만드는법
쿼리 파라미터 만드는 방법 query(params){ return Object.keys(params) .map(k => encodeURIComponent(k) + '=' + encodeURIComponent(params[k])) .join('&'); }
javascript
2023. 03. 28.
1
지금은 호돌맨의 요절복통 개발쇼를 보는중이다.
영상이 이상해서 5번 찍으셨다고 한다 ㅋㅋ좋은 강의 감사합니다 다 듣고 후기 남길께요
java
・
스프링