본문 바로가기

프로그래밍/database20

[220304] 간단히 보는 AJAX 개념 [목록] 1. AJAX란? 2. 비동기통신 코드 만들기 1. AJAX(Asynchronous Javascript And XML)란? 브라우저에서 url의 이동 없이(새로고침 없이) 서버에 요청하는 행위. 페이지 전체를 다시 작성하지 않고도 필요한 데이터만 받아서 일부만 업데이트 되는 비동기 자바스크립트. 간단히, 브라우저에서 돌아가는 자바스크립트가 사용할 수 있는 객체라고 알면 된다. 사용하는 기본 내장 객체로는 XMLHttpRequest이 있다. XML은 데이터 통신을 하는 옛날 형식을 말한다. 요즘은 JSON으로 대체되고 있다. 엘리먼트 형태인 XML보다 객체형태인 JSON으로 작성했을때 코드 길이가 1.5배가 줄어들기 때문. 통신할때 html보다는 데이터만 주고 받음. 그 데이터를 받는 형태가 옛날.. 2022. 3. 10.
[220304] AJAX를 응용해서 입력값 받아오기 [목록] 1. ajax를 사용하여 로그인 정보 받아오기 2. 비동기통신 코드 만들기 3. 비동기통신으로 받아온 값을 출력하기 1. submit버튼을 누를때 form이 시작되지 않게 만들고 싶음. = submit을 누를때 액션값으로 이동이 안되게 하고싶음 = 이 곳에서 submit이나 form을 조작할 수 있어야 가능함. = 코드를 언제 실행시킬지 시점을 잡을 수 있어야함. //DomContentLoaded : body영역까지 html 렌더링이 끝난 후에 init이 실행됨. document.addListener('DomContentLoaded',init) function init(){ } 1.1 DomcontentLoaded 이벤트 작성 1.2 form 가져오기 or 조작할 수 있는 환경 만들기 1.3 d.. 2022. 3. 4.
[220303] npm과 jwt을 활용해서 로그인 확인 기능 만들기 [목록] 1. npm 명령어로 서버 시작하기 2. 코드를 자동으로 갱신해주는 nodemon 3. 로그인시 jwt 생성하기 4. 로그인 확인을 위해 쿠키에서 jwt 정보 추출하기 5. try/catch문을 통해 응답코드 짜기 1. npm 명령어로 서버 시작하기 서버를 시작하는 node server의 의미 node로 된 명령어를 쓸건데, server.js파일을 실행할거란 명령문. 명령문을 이용하면 다른 명령어를 사용해서 서버를 시작할 수 있다. npm run start npm 스크립트 안에 있는 start 명령어를 run(실행)할게. start 명령어는 node server과 연결되어있기때문에 결과적으로 서버가 시작된다. 2. 서버를 자동적으로 갱신해주는 nodemon 서버를 껐다 켜는 것을 반복하지 않아도.. 2022. 3. 3.
[220302] JWT란? JWT 만드는법. JWT(Jason Web Token)란? 1) 토큰이란? 1-1) 일련의 문자열을 구분할 수 있는 단위이자, 시스템에서 보안 객체의 접근 관리에 사용되는 객체 또는 장치다. 1-2) 토큰은 크게 접근(access) 토큰, 보안(security) 토큰, 세션(session) 토큰 등으로 분류할 수 있다. 1-3) 접근 토큰(access token)이 가장 많이 사용되는 토큰 형식으로 시스템이나 소프트웨어에서 어떤 특정한 기능이나 데이터에 접근하는 대상에게 권한을 부여하는 데 사용된다. 2) JWT이란? 사용하고 싶은 정보를 객체에 담아서 해시로 들고, 그 해시값도 같은 객체에 담은 것. 즉, 필요한 정보를 자체적으로 지니고 있어서 자가수용적인 특성을 가졌다. 자가수용적이므로 두 개체에서 전달되기 쉽다. h.. 2022. 3. 2.
[220302] 암호화 (buffer, hash, salt) Buffer란? 어떤 텍스트를 저장하는 비트를 16진수로 표현한 것을 담는 것 ingoo의 16진수 아스키 코드값은 69 6e 67 6f 6f 버퍼에 텍스트를 담은 값을 확인하면 아스키 코드값과 같이 나온것을 확인할 수 있다. const name = 'ingoo' const buf = Buffer.from(name) console.log(buf) //출력 // 총 6바이트 사용중 모든 프로그램은 데이터를 조작하기위해서 버퍼를 가지고있다. 그렇기때문에 브라우저에서 사용하는 자바스크립트에는 버퍼가 없고, 자바스크립트에서 분리되어 나왔지만 컴퓨터를 조작하기 위해서 만들어진 Node.js에는 버퍼가 있다. 근데 16진수는 길이가 길어서 데이터를 많이 차지해 가성비가 안 좋다. 대신해서 사용하는게 64진수. co.. 2022. 3. 2.
[220221] sql 오류모음, 피드백 [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client 서버가 클라이언트에 둘 이상의 응답을 보내려고 할 때 발생한다. 주어진 클라이언트 요청에 대해 서버가 이전에 응답 (요청 된 리소스가 있는 성공응답 또는 잘못된 요청에 대한 오류 응답)을 클라이언트로 보냈고, 이제 예기치 않게 다른 응답을 보내려고한다는 것입니다. (cannot lock ref 'refs/heads/hyunjin/join': 'refs/heads/hyunjin' exists; cannot create 'refs/heads/hyunjin/join') 깃헙 오류 (뭐 임마 뭔데 뭐.) 구글번역 :(ref 'refs/heads/hyunjin/join'을 잠.. 2022. 2. 22.
[220216] DB와 서버를 연결해주는 Connection Pool DB와 연결되어있는지 체크하는 코드 SHOW STATUS LIKE 'Threads_connected'; 너무 연결이 많이 되면 터짐. 그래서 사용하지 않으면 컴퓨터 자원(로직?)을 반환하기 위해 연결을 끊는 종료코드가 존재함. //연결 샘플 코드 const mysql = require('mysql') // 연결 생성 let connection = mysql.createConnection({ host:'127.0.0.1', user:'hancoco', password:'0000', database:'sample' }) // 연결시작 connection.connect((err)=>{ if (err) throw err; // 여기 함수종료 console.log('socket open') // 실행됨. }) .. 2022. 2. 21.
[220216] Mysql 최초 설치 / 사용할 수 있게 세팅하기 1. mysql 최초 설치 sudo brew install mysql //이게 안되면 brew install mysql //이거 입력 brew services start mysql sudo mysql_secure_installation 마지막 코드까지 치고나면 질문이 총 5개 나오는데 다음 키를 누르면 된다. 1. mysqul 초기 비밀번호 없게 enter 입력 2. root 계정 패스워드 설정 y 입력 : 작성후 적어놓고 기억하기 3. 익명사용자 y 입력 4. 원격접속 권한 y 입력 5. test db 삭제 y 입력 2. mysql 시작하기 user와 root와 계정에 관한 간단한 관계도 방 안에 있는 가구나 소품은 계정이 갖고있는 데이터. 데이터 별로 다른 데이터를 가질 수 있다. 최고관리자인 roo.. 2022. 2. 21.
맥북 인텔칩/M1칩에서 Mysql 완전 삭제 후 재설치 하기 mysql을 설치한 후에 연산을 할때마다 오류를 빵빵 터트리길래 mysql을 초기화 시키고 다시 시작하려고했다. 비밀번호를 수정하는 구간에서 갑자기 코드가 에러를 띄우더니, 내 손에 쥐어진 오류코드. ALTER USER root@‘%’ IDENTIFIED WITH mysql_native_password BY root1; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '%’ IDENTIFIED WITH mysql_native_password BY root1' at line 1 해석.. 2022. 2. 18.
[220216] Mysql 직접 사용해보기 Mysql의 탄생 유료인 오라클이랑 무료인 mysql이 있었는데 오라클이 mysql을 인수함. 그래서 둘다 유료가 되어버림. 근데 mysql을 오라클이 인수하고나서 신경을 안쓰니까 열받은 개발자들이 나와서 mysql이랑 같은걸 만든게 maria.db. Mysql의 목적 데이터를 하드디크스에 저장하고, 그 데이터를 관리하기 위해서 만들어진 프로그램이다. Mysql에 접속하기 brew install mysql brew services start mysql Mysql 문법 배우기 DDL 데이터베이스나 테이블을 만들때 씀 DML 테이블 안에 있는 데이터를 조작할때 씀 / 가장 많이 쓸 문법 DCL 권한설정, 자주 안 씀 Mysql로 요청/응답 확인하기 요청 보내기 curl : 요청을 보내는 명령어 -X POST.. 2022. 2. 16.