본문 바로가기

mysql

(16)
GraphQL, Sequelize, MySql, React (apollo server, apollo client) - CRUD 구현 우선 내가 생각하는 GraphQL의 장점은 1. rest api로 작성할때 각 url 마다 api 를 만들어줄 필요없이 하나의 end-point로 데이터를 주고받는 것이 가능하는 것이다. 2. 내가 만들어 놓은 query나 mutation을 이용하여 필요한 값들만 정확하게 가져와 데이터 낭비를 줄일 수 있다. 더 많은 장점들이 있지만 우선 생각나는 것들이 이것들 뿐이다. 그리고 단점은 file전송 같은 것을 할 때 복잡하다. 이 포스팅을 하는 이유는 주로 Sequelize와 MySQL을 같이 쓰는데 이렇게 GraphQL, Sequelize, MySQL 세 가지를 같이 활용해서 만든 예제들이 충분하지 않아, 만들기 어려웠기 때문이다. 그리고 서버는 아폴로 서버를 이용하여 만들 것이고 프론트는 리액트에 아폴..
서비스에 mysql 없음 mysql workbench는 설치했지만 아래와 같은 오류 메세지가 뜨고 services.msc에 mysql이 없다면 failed to connect to mysql at 127.0.0.1 with user root error 2003 (hy000): can't connect to mysql server on 'localhost' (10061) mysql server가 깔려있지 않아서 localhost에서 실행이 되고 있지 않기 때문이다. 해결방법은 dev.mysql.com/downloads/mysql/ MySQL :: Download MySQL Community Server Select Operating System: Select Operating System… Microsoft Windows Ubun..
[자바스크립트] 작은 도서관 프로그램 만들기 (MySQL, Express, Fetch API, Node.js) - Mysql, express, fetch api crud example (1) 2020/10/08 - [토이 프로젝트] - [자바스크립트] 작은 도서관 프로그램 만들기 (MySQL, Express, ejs, Node.js) - Mysql, express, ejs crud example [자바스크립트] 작은 도서관 프로그램 만들기 (MySQL, Express, ejs, Node.js) - Mysql, express, ejs crud example 2020/09/03 - [토이 프로젝트] - [자바스크립트] 작은 도서관 프로그램 만들기 (쿠키, 로컬, 세션 스토리지의 개념 포함) [자바스크립트] 작은 도서관 프로그램 만들기 (쿠키, 로컬, 세션 스토리지의 �� ukcasso.tistory.com 지난 시간엔 ejs를 활용해서 ejs 문법을 넣고 crud를 구현해보았다. 이번에는 fet..
[Express] express와 사용방법 Express란? Node.js를 위한 빠르고 개방적인 간결한 웹 프레임워크이다. 웹 서버를 만들 때 손쉽게 만들 수 있어서 사용하려고 한다. Node.js의 핵심 모듈인 http와 Connect 컴포넌트를 기반으로 하는 웹 프레임워크이다. 그러한 컴포넌트를 미들웨어(middleware)라고 한다. 개발자들은 특정 프로젝트에 필요한 라이브러리를 어떤 것이든 자유롭게 선택할 수 있으며, 유연함과 수준 높은 맞춤식 구성을 보장한다. Express의 작동방식 1. 컨트롤러, 유틸리티, 도우미, 모델과 같은 자체적인 모듈을 비롯한 서드파티 의존 모듈을 포함한다. 2. 템플릿 엔진과 해당 템플릿 엔진의 파일 확장자와 같은 Express.js 앱 설정을 구성한다. 3. 오류 핸들러, 정적 파일 폴더, 쿠키 및 기타..
[자바스크립트] 작은 도서관 프로그램 만들기 (MySQL, Express, ejs, Node.js) - Mysql, express, ejs crud example 2020/09/03 - [토이 프로젝트] - [자바스크립트] 작은 도서관 프로그램 만들기 (쿠키, 로컬, 세션 스토리지의 개념 포함) [자바스크립트] 작은 도서관 프로그램 만들기 (쿠키, 로컬, 세션 스토리지의 개념 포함) 회사에서 내준 작은 프로젝트 과제이다. 힘들었던 부분은 외부 라이브러리를 일절 사용하지 않아야 한다는 점이었다. 아래는 개발 제약 사항과 화면 요구 사항이다. // 개발 제약 사항 // 책의 추 ukcasso.tistory.com 지난번에 만들었던 작은 도서관 프로그램이다. 그 당시에는 LocalStorage라는 것을 이용해 데이터를 해당 ip주소에 맞게 저장하는 개념을 사용하였다. 하지만 이번에는 조금더 제대로 된 사이트를 만들어보고자 MySQL과 ejs그리고 Node.js를 활용하..
[Sequelize] Sequelize와 사용법 그리고 sequelize query Sequelize Sequelize란 node.js에서 mysql등 관계형 데이터베이스를 쉽게 다룰수 있게 도와주는 라이브러리이다. Sequelize는 대표적인 node.js의 ORM(Object Relational Mapping)이다. ORM이란? 2020/09/28 - [학습노트/기초지식] - [ORM] Object Relational Mapping이란? [ORM] Object Relational Mapping이란? 프로그래밍을 하다보면 자신이 원하는 서비스를 만들고 싶을 때 많은 개념들을 접하게 됩니다. 저도 마찬가지로 프로젝트 진행중에 ORM이라는 개념을 보게되어 공부하고 정리하려고 합니다. 1. O ukcasso.tistory.com 위에 ORM을 정리해놓은 글을 보아도 좋지만 간단하게 말해서 ..
[MySQL2] MySQL과 MySQL2의 차이점 공부를 하다보면 DB와 node.js서버를 연결시킬 일이 생긴다. 그런데 우리는 지금까지 MySQL만 들어봤지 갑자기 MySQL2도 나오고 두 가지의 차이점이 무엇인지 알아보고 싶었다. 이번 포스팅은 정말 두가지의 차이점만 쓰고 끝낼 것이라서 간단한 글이 될것같다. MySQL과 MySQL2의 차이점은 바로 promise이다. mysql은 callback기반이기 때문에 promise를 사용하지 못하고 npm에 있는 promise-mysql 모듈을 따로 설치해서 사용해야한다. 하지만 mysql2는 promise를 지원하기 때문에 다른 모듈을 설치하지 않고 사용이 가능하다. promise란? promise로 구현된 비동기 처리 함수는 콜백을 예측 가능한 패턴으로 사용하도록 도와준다. 순차적이지 않은 비동기함수..
[ORM] Object Relational Mapping이란? 프로그래밍을 하다보면 자신이 원하는 서비스를 만들고 싶을 때 많은 개념들을 접하게 됩니다. 저도 마찬가지로 프로젝트 진행중에 ORM이라는 개념을 보게되어 공부하고 정리하려고 합니다. 1. ORM이란? Object Relational Mapping의 약자로 관계형 데이터베이스 관리 시스템(RDBMS, Relational Database Management System)와 객체 지향 프로그래밍 언어(OOP, Object Oriented Programming)간에 호환되지 않는 데이터를 맵핑해주는 프로그래밍 패러다임이다. 2. 사용 예 클래스로 스키마(Schema)를 매핑하고, 메소드(Method)로 쿼리(Query)를 작성하여 객체로 이뤄진 테이블을 가져온다. 3. ORM 장점 - SQL문을 사용하지 않고 ..
[MySQL] MySQL Workbench 사용방법 우선 이 명령어에서 -h다음에 오는 것은 해당 데이터베이스의 주소라는 것을 알아야 한다. 우리는 그동안 localhost에 넣었다. -hlocalhost는 생략이 가능해서 없어도 실행되었던 것이다. 1. MySQL Workbench를 실행 후 +버튼을 누른다. 2. 누르면 기본 서버 정보를 입력할 수 있는 창이 뜬다. 3. 서버 이름을 입력하고 Test Connection을 통해서 적용이 되는지 안되는지 실제 적용 전에 확인할 수 있다. 4. 실제 적용시키면 저렇게 server를 만들 수 있다. 5. 서버를 입력하고 들어온다. 7. 우리가 원래 만들어놓았던 database_1이 왼쪽 SCHEMAS에 있는 것을 확인할 수 있다. Tables 클릭 후 Query 1 칸에 SQL문을 적고 번개모양을 누르면 아..
[MySQL] MySQL Workbench 설치방법 (오류 MySQL Workbench 8.0 CE Setup Wizard ended prematurely 해결 방법) 1. google 검색창에 mysql workbench를 입력한 후 MySQL 공식 페이지로 이동한다. (두 번째칸) 2. Download Now를 클릭한다. 3. 자신의 운영체제와 비트수에 맞게 설정한 후 다운로드한다. 4. No thanks, just start my download. 클릭 5. 오류 메시지가 나온다. (오류 미발생시 11번으로 이동해서 진행) 6. 이 페이지에서 Finish를 누르지 말고 Download Prerequisites를 누른다. Error : MySQL Workbench 8.0 CE Setup Wizard ended prematurely The wizard was interrupted before MySQL Workbench 8.0 CE could be completely..
[MySQL] MySQL Client(monitor, Workbench) 1. MySQL monitor GUI가 아닌 명령어를 이용하여 제어하는 명령어 기반 프로그램 장점 : 많은 서버 컴퓨터들이 일 자체에 cpu를 쓰기 위해서 GUI를 지원하지 않는 경우가 많다. 그때 명령어로 실행시킬수 있다. 단점 : 명령어를 모르면 못쓴다. 2. MySQL Workbench GUI 기반으로 마우스를 이용하여 사용할 수 있는 프로그램 장점 : 클릭으로 쉽게 제어할 수 있다. 단점 : GUI를 지원하지 않는 서버 컴퓨터에서는 쓰지 못한다.
[MySQL] 관계형 데이터베이스 왜 관계형 데이터베이스가 필요한가. 중복이 되면 개선할 것이 있다고 본다. 그래서 중복 가능이 있는 데이터를 테이블로 다시 만들어서 관리한다. 그럼 유지 보수할 때에 만들어 놓은 테이블을 바꾸면 다 바뀐다. MySQL은 데이터를 분산해서 저장하고 보여줄 땐 합쳐서 보여준다. 우선, 만들어놨던 테이블은 이름을 바꿔준다. RENAME TABLE 테이블명 TO 바꿀이름; 1. 테이블 분리하기 CREATE TABLE article ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(30) NOT NULL, `description` text, `created` datetime NOT NULL, `author_id` int(11) DEFAULT NULL, PRIMAR..