Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
2017 SW교육 학생동아리 Lecture 4.
Search
Jinny You
December 11, 2017
Education
190
0
Share
2017 SW교육 학생동아리 Lecture 4.
2017 SW교육 학생동아리에서 진행한 "리눅스 서버를 연동한 드론 소프트웨어 프로그래밍"강의 자료입니다.
Jinny You
December 11, 2017
More Decks by Jinny You
See All by Jinny You
나의 오픈소스 이야기 : 한 줄의 코드에서 글로벌 애니메이션 엔진까지
tinyjin
0
26
Next Gen Lottie: Powering Motion Graphics Across the Apple Ecosystem
tinyjin
0
21
디자이너와 개발자가 자주 겪는 Lottie 핸드오프 FAQ - Figma Config Watch Party Seoul
tinyjin
0
120
인디 앱 개발자와 Flutter
tinyjin
0
540
모던 웹 기술로 C++ 렌더링 엔진 테스트 자동화하기
tinyjin
0
90
그래픽 엔진 포팅 사례로 배우는 웹어셈블리 웹 컴포넌트 개발부터 디버깅, 최적화까지
tinyjin
0
510
韩国的打卡地:你喜欢海边吗?
tinyjin
0
72
LottieFiles로 시작하는 빠르고 효율적인 애니메이션 핸드오프
tinyjin
0
130
エンジニアが見つめるLottieアニメーション
tinyjin
0
150
Other Decks in Education
See All in Education
2026年度春学期 統計学 第1回 イントロダクション ー 統計的なものの見方・考え方について (2026. 4. 9)
akiraasano
PRO
0
130
Liberalism's Last Man and Asia
vyadav
0
130
[2026前期火5] 論理学(京都大学文学部 前期 第4回)「 ならば(→)の導入と証明ネット」
yatabe
0
350
[2026前期火5] 論理学(京都大学文学部 前期 第3回)「形式言語と四つのキーワード:メタ・構成・意味論・ハーモニー」
yatabe
0
450
勝手にCULTIBASE で広げよう、探究の輪! - CULTIVAL 2026
hiroc_sk
1
190
Integrating prosody into reading comprehension: A high school classroom practice
otamayuzak
0
130
SL AMIGOS 教育格差と私たちの取り組み - スリランカの支援学校への支援プロジェクト:リシンドゥ リオ 氏 (別府溝部学園短期大学 ビジネス観光コース 留学生):2720 Japan O.K. ロータリーEクラブ2026年4月6日卓話
2720japanoke
0
580
応募課題(’25広島)
forget1900
0
1.3k
「機械学習と因果推論」入門 ② 回帰分析から因果分析へ
masakat0
0
660
From Participation to Outcomes
territorium
PRO
0
460
アジャイルなマインドセットを「取り戻す」新人研修づくり
chinmo
2
550
偶然のチャンスを掴みに行けるのは君だ!
kotomin_m
2
110
Featured
See All Featured
Discover your Explorer Soul
emna__ayadi
2
1.1k
4 Signs Your Business is Dying
shpigford
187
22k
Code Review Best Practice
trishagee
74
20k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
190
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
340
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
510
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Unsuck your backbone
ammeep
672
58k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.2k
Visualization
eitanlees
151
17k
Google's AI Overviews - The New Search
badams
0
1k
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교육 학생동아리