Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
2017 SW교육 학생동아리 Lecture 4.
Search
Jinny You
December 11, 2017
Education
200
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
2017 SW교육 학생동아리 Lecture 4.
2017 SW교육 학생동아리에서 진행한 "리눅스 서버를 연동한 드론 소프트웨어 프로그래밍"강의 자료입니다.
Jinny You
December 11, 2017
More Decks by Jinny You
See All by Jinny You
나의 오픈소스 이야기 : 한 줄의 코드에서 글로벌 애니메이션 엔진까지
tinyjin
0
36
Next Gen Lottie: Powering Motion Graphics Across the Apple Ecosystem
tinyjin
0
30
디자이너와 개발자가 자주 겪는 Lottie 핸드오프 FAQ - Figma Config Watch Party Seoul
tinyjin
0
150
인디 앱 개발자와 Flutter
tinyjin
0
560
모던 웹 기술로 C++ 렌더링 엔진 테스트 자동화하기
tinyjin
0
100
그래픽 엔진 포팅 사례로 배우는 웹어셈블리 웹 컴포넌트 개발부터 디버깅, 최적화까지
tinyjin
0
540
韩国的打卡地:你喜欢海边吗?
tinyjin
0
96
LottieFiles로 시작하는 빠르고 효율적인 애니메이션 핸드오프
tinyjin
0
140
エンジニアが見つめるLottieアニメーション
tinyjin
0
160
Other Decks in Education
See All in Education
「答えを出す」より「わかる」をつくる
kzkmaeda
1
290
sepm-training-sample
levii
0
200
Throw Yourself In! - How I've learned English and What I'm Facing
georgeorge
1
260
マークシート試験のTeX言語を用いた自動採点について
doratex
0
3.1k
!コスパよくインターンに受かる方法!
ruribou
1
350
25-26 CBT Library top items
cbtlibrary
0
210
2026年度春学期 統計学 第15回 分布についての仮説を検証する ― 仮説検定(2) (2026. 7. 9)
akiraasano
PRO
0
130
[2026前期火5] 論理学(京都大学文学部 前期 第9回)「正規化の停止性——ヒドラゲームによる証明」
yatabe
0
270
0526
cbtlibrary
0
270
[2026前期火5] 論理学(京都大学文学部 前期 第11回)「ハーモニー:三層モデルと保存拡大」
yatabe
0
280
FA26 CLU MS Clinical Psychology New Student Orientation
jdbedics
0
170
Geografía y Fútbol: Chattanooga Geografía del Búnker de La Roja.
juanmartin2026
1
12k
Featured
See All Featured
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
270
A better future with KSS
kneath
240
18k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
690
Navigating Weather and Climate Data
rabernat
0
510
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.2k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
Producing Creativity
orderedlist
PRO
348
41k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Optimising Largest Contentful Paint
csswizardry
37
3.9k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
370
Transcript
Lecture 04 2017 SW교육 학생동아리 학습 목표 1. 데이터베이스 이해하기
2. Node JS와 MySQL 연동하기
프로 생각해보기 SNS나 게임과 같은 온라인 서비스에 존재하는 방대한 데이터
해당 서비스들의 서버에서는 이렇게 많은 데이터를 어떻게 처리하고 있을까?
프로 데이터베이스 이해하기 정답은 바로! 데이터베이스(DB, DataBase) 오늘날은 많은 서버들이
DB를 활용하여 데이터를 관리하고 있어 DB없는 서버를 찾아보기는 힘들다.
프로 데이터베이스 이해하기 이러한 DATABASE에 데이터를 저장하거나 읽을 수 있게
해주는 프로그램을 데이터베이스 관리시스템 (DBMS, Database Management System) 이라 부른다. 오늘 배울 MySQL이, DBMS의 일종으로 MySQL을 통해 DB를 관리할 수 있게 된다.
프로 데이터베이스의 구조 데이터베이스는 테이블이라고 불리는 데이터 표를 포함하고 있다.
우리가 흔히 데이터베이스를 생각했을 때 떠올리는 표의 형태가 바로 테이블이다. 데이터베이스 = 테이블의 집합 테이블 = 데이터의 집합
프로 데이터베이스의 원리 DB에 데이터를 삽입하거나 수정하는 등의 기능을 수행하려면
SQL이라는 명령문을 활용해야한다. 회원가입 SQL 사용하여 데이터 넘김 저장 응답 응답 [클라이언트와 서버, 서버와 데이터간의 관계]
프로 MySQL? MySQL은 다양한 앱과 서비스에서 쓰이고 있는 DBMS 무료라는
장점때문에, 많은 서비스에서 사랑받고 있는 MySQL 설치방법이나 사용법이 쉽기때문에, 학생이나 초보개발자들도 쉽게 사용가능.
프로 MySQL 설치하기 -> Y! 설치가 완료되었다면, mysql 접속하기 접속
완료!
프로 root 계정 패스워드 변경하기 1. 계정정보가 담겨있는 mysql 데이터베이스에
접속 2. 계정정보가 어떻게 구성되어 있는지 확인해보기 > select user, host, password from user;
프로 root 계정 패스워드 변경하기 3. root 계정 패스워드 변경하기
> UPDATE user SET password=PASSWORD('변경할 패스워드') where user='root'; 4. 최종 저장하기 5. 변경 확인하기 패스워드가 암호화되어있어 내용을 확인할 수 없지만, 문자열이 바뀐것으로 보아 변경됬음을 확인할 수 있다.
프로 외부접속 허용하기 > quit 커맨드로 연결된 DB 빠져나오기 >
cd /etc/mysql/mariadb.conf.d/ 커맨드로 경로이동 > ls 설정 정보와 관련된 다양한 파일들이 있다. -> 50-server.cnf 파일 열기
프로 외부접속 허용하기 bind-address = 127.0.0.1 라인이 외부접속을 막고 있는
문구
프로 외부접속 허용하기 bind-address = 127.0.0.1 앞에 커서를 둔뒤 [i]
-> [#] -> [esc] -> [:w] -> [enter] -> [:q] -> [enter] MySQL 서비스를 재시작하여 외부접속 허용 설정 변경 완료!
프로 데이터베이스 살펴보기 $ sudo mysql –uroot 커맨드를 활용하여 계정
접속 > show databases; 커맨드를 활용하여 기본 데이터베이스 확인
프로 데이터베이스 생성하기 > create database test; 커맨드로 test라는 이름의
DB생성 > show databases; 커맨드로 생성된 DB 확인
프로 테이블 생성하기 테이블은 어떠한 기준에 따라 데이터를 묶어놓은 표를
말한다. 위 표에서는 No, USER, 전화번호 가 그 기준들이 되겠다. 데이터베이스에서는 이 기준을 ‘필드’ 라고 부른다. 데이터가 관리되는 실질적인 공간을 테이블이라 했다. DB를 생성했다면 테이블을 생성해보자! 기준
프로 테이블 생성하기 [생성할 테이블의 구조] [테이블 생성 명령어]
pi@raspberrypi:~ $ cd Desktop/ Node JS와 연동하기 $ npm install
mysql 커맨드로 mysql 모듈 설치하기 지난 번에 만들었던 POST 통신 기반의 라우터 를 DB와 연동하여 업그레이드 하는 것이 이번 시간의 목표 ★ MySQL 모듈 설치하기
pi@raspberrypi:~ $ cd Desktop/ Node JS와 연동하기
pi@raspberrypi:~ $ cd Desktop/ 소스코드 살펴보기 host 에는 자기 팀의
[서버 로컬 IP] 주소 입력 팀 A 192.168.35.133 팀 B 192.168.35.123 password 에는 아까 설정한 비밀번호 입력
pi@raspberrypi:~ $ cd Desktop/ 소스코드 살펴보기 SQL 명령문을 활용하여 입력받은
ID 및 PW를 데이터베이스에 저장
프로 테스트하기 업그레이드된 user 라우터는 POST 통신기반이므로 [포스트 맨] 프로그램을
활용하여 테스트 화면과 같이 id, pw 값을 넣은뒤, 우측 상단 [Send] 클릭
프로 테스트하기 putty로 돌아가 mysql 커맨드 창에서 > select *
from user; 커맨드 입력 -> 화면과 같이 전송한 ID, PW가 조회된다면 성공ㅋ!
프로 마치면서… 라즈베리파이에 MySQL DB를 설치하여 Node JS서버와 연동해 보았다.
Node js의 mysql 모듈과 SQL 명령어를 활용하면 연동이 쉬웠다. 회원가입 SQL 사용하여 데이터 넘김 저장 응답 응답 [클라이언트와 서버, 서버와 데이터간의 관계]
프로 참고 강의 & 심화 강의 http://blog.naver.com/wlsdml1103/ 221159758141 http://blog.naver.com/wlsdml1103/221159964626 http://blog.naver.com/wlsdml1103/221160038986
http://blog.naver.com/wlsdml1103/221160122735 MySQL 관련 강좌 - 3건 http://blog.naver.com/wlsdml1103/221160152394
감사합니다. 2017 SW교육 학생동아리