본문 바로가기

프로그래밍/database20

mysql ... -rf /opt/homebrew/SECURITY.md; 보통 로그인할때 -u아이디 -p비밀번호 이렇게 붙여썼는데, -u아이디 p를 입력한 상태에서 비밀번호만 입력하면 mysql로 접속할 수 있다. 시퀄라이즈 공식 사이트에서 준 데이터베이스 접속코드 const { Sequelize } = require('sequelize'); // Option 1: Passing a connection URI const sequelize = new Sequelize('sqlite::memory:') // Example for sqlite const sequelize = new Sequelize('postgres://user:pass@example.com:5432/dbname') // Example for postgres // Option 2: Passing parameters.. 2022. 11. 17.
시퀄라이즈 쿼리 정리 시퀄라이즈 쿼리 가로 : row (로우 = 레코드 = 튜플) 세로 : column (컬럼 = 속성 = attribute) 시퀄라이즈는 자바스크립트 객체를 쿼리를 생성한다. 로우 생성 쿼리 (create) 사용할 모델을 불러오고 그 안에 데이터를 넣어주면 된다. const {User} = require('./users') User.create({ id:'user_id', pw:'1234', fruit:'kiwi' }) mysql 쿼리로는 다음과 같다. INSERT INTO users(id,pw,fruit) VALUES('user_id','1234','kiwi'); 로우 조회 쿼리 전체를 조회한 후에 상위 데이터 1개만 가져오기(findOne) // 시퀄라이즈 User.findOne({}); // mysql.. 2022. 11. 16.
mysql에서 validate 등급을 낮춰도 비밀번호가 간단하게 바뀌지 않을때. 보통 이 코드로 보안등급을 확인해서 낮춘 후에 비밀번호 변경을 진행하는데, 업데이트가 된건지 모르겠는데 예전 방법이 안먹히더라. $ show variables like 'validate_password%'; 1. 권한등급 수동으로 제어 단순히 등급을 낮추는 것으로 되지않는다면 강제로 하나하나 바꿔주자 $ set global validate_password.length=4; $ set global validate_password.mixed_case_count=0; $ set global validate_password.number_count=0; $ set global validate_password.special_char_count=0; $ set global validate_password.check_.. 2022. 8. 11.
[Error ]Running Homebrew as root is extremely dangerous and no longer supported.As Homebrew does not drop privileges on installation you would be giving allbuild scripts full access to your system. 해결방법 어제부터 mysql 접속이 안된다. ERROR 2002 (HY000) Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.socket' (2) 이게 뜨는데 다른걸 확인하려고 홈브류에 접속하려고하면 접속못한다고 다음과 같이 뜸 Running Homebrew as root is extremely dangerous and no longer supported.As Homebrew does not drop privileges on installation you would be giving allbuild scripts full access to your system. 1. Homebrew 위치 확인 우선 손상이 되어서 사라졌는지 나.. 2022. 8. 11.
fs모듈 : 파일 다루기 사전 준비 fs : 파일 입출력을 할때 사용하는 NodeJs 내장모듈 path : 폴더와 파일의 경로를 임의로 지정해주는 라이브러리 const fs = require('fs') const path = require('path') 현재 위치 알기 현재 실행하는 파일이 있는 위치를 절대경로로 알려준다 console.log(__dirname) // >> /Users/hancoco/workspace/git/final/file_upload/back 디렉토리 생성 // 비동기로 디렉토리 생성하기 fs.mkdir("newDir", (err) => { console.log("mkdir : ", err)}); // 동기로 디렉토리 생성하기 fs.mkdirSync("newDirSync"); 디렉토리 삭제 // 비동기 디렉.. 2022. 7. 17.
시퀄라이즈로 테이블, 모델 생성하기, 관계정의하기 테이블과 모델 생성하기 mysql 테이블은 sequelize(시퀄라이즈) 모델과 같다. 시퀄라이즈는 테이블과 모델 사이를 연결해준다. 보통 테이블은 소문자 복수형(users), 모델은 대문자로 시작하는 단수형(User)로 작성한다. 테이블과 모델 설정하기 모델은 Sequelize.Model을 확장한 클래스로 선언한다. 모델은 두개의 메서드로 나뉜다. 테이블에 대한 설정을 하는 init 메서드 첫번째 인자 : 테이블 컬럼에 대한 설정 두번째 인자 : 테이블 자체에 대한 설정 시퀄라이즈는 자동으로 id를 기본키로 연결한다.(작성할 필요없음) 시퀄라이즈는 mysql에서 사용하는 자료형과 다른 자료형을 사용한다. 시퀄라이즈 자료형에 대한 공식사이트 자료( https://sequelize.org/docs/v6/c.. 2022. 7. 17.
sequelize (시퀄라이즈) 설치, 세팅하기 설치 sequelize-cli : 시퀄라이즈 명령어를 실행하기 위한 패키지 mysql2 : mysql과 시퀄라이즈를 이어주는 드라이버 $ npm init -y $ npm install express morgan sequelize sequelize-cli mysql2 세팅 다음 명령어를 호출하면 config, migration, models, seeders 디렉토리가 생긴다. $ npx sequelize init config 디렉토리 안 config.json에서 development 속성들을 내가 사용할 데이터베이스에 맞춰서 변경해준다. development을 수정하는 이유는 현재 코드를 작성하는 개발환경이 development이기때문. (혹시 operatorAliases 속성이 들어 있다면 삭제해주자.).. 2022. 7. 16.
[220314] API / 인터페이스 / UI API(Application Programing Interface)란 응용프로그램에서 사용할 수 있도록 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스. 사람의 입장에서 사용할 수 있는 인터페이스가 키보드, 마우스라고 한다면 프로그램 입장에서 사용할 수 있는 인터페이스는 함수들인것. (alert(), console.log() 등등...) 인터페이스란? 시스템끼리 정보를 교환하는 공유 수단, 방법. 스마트폰을 조작하기 위해 누르는 터치스크린, 기계를 끄기위한 리모콘을 생각해보자. 리모콘은 기계와 통신할 수 있도록 기계에 정의된 규격에 의해 특정 신호를 보낼 수 있도록 만들어진 장치 이런 신호를 주고받는 방법을 인터페이스라고 한다. UI(User Interface)란? 사용자와 .. 2022. 3. 14.
[220307] 서로 다른 서버끼리 통신하기(CORS, Access-Control-Allow시리즈) 브라우저의 보안을 지켜주는 동일 출처 정책 SOP 기본적으로는 다른 서버끼리는 서로 통신하지 못한다. 4001번 포트로 연결되어있는 서버에서 3001포트로 연결하려고하면 에러가 뜬다. 같은 출처끼리만 리소스 공유나 접근을 허용해주는 동일 출처 정책 때문이다. //localhost:4001에 연결되어있는 서버 const btn = document.querySelector('#btn') btn.addEventListener('click',async ()=>{ alert('버튼클릭') let response = await axios.get('http://localhost:3001') console.log(response.data) }) 출처(Origin)란? http://127.0.0.1:5500/index... 2022. 3. 14.
[220307] 응답코드를 여러가지 방식으로 작성하기 (fetch, axios, async/await) 작성할 코드의 조건 1. 아이디의 중복여부를 중복체크 버튼을 눌러 확인하자 2. 중복일 경우는 2, 중복이 아닐 경우는 1을 반환하는 코드를 작성하기 3. 회원가입 버튼을 눌러서 입력한 아이디, 패스워드 입력한 값을 보여주는 화면을 만들자 코드가 들어갈 자리 document.addEventListener('DOMContentLoaded',init) function init(){ const btn = document.querySelector('#idcheck_btn') const userid = document.querySelector('#userid') const msg = document.querySelector('#msg') btn.addEventListener('click',clickHandler).. 2022. 3. 10.