'KOCW/코틀린 안드로이드 스튜디오 개발'에 해당되는 글 2건

  1. 2020.12.06 Custom List
  2. 2020.11.09 서버 구축

서버를 nodeJS로 작성한 것이다.

 

 

'KOCW > 코틀린 안드로이드 스튜디오 개발' 카테고리의 다른 글

서버 구축  (0) 2020.11.09
Posted by 넓스

- Database, PHP, JSON 등.

- SERVER
· Apache Web Server
· PHP
· MySQL

-Request  
· App에서 Volley 를 통해서 Server에 요청한다.
· Server에서는 Apache가 PHP 실행하고, PHP는 MySQL에 접근을 한다.

-Response
· PHP가 MySQL에서 받은 데이터를 JSON으로 인코딩 하여 Apache를 통해서 반환한다.
· App에서는 JSON을 읽어서 처리한다.

-APM(Apache : xampp 사용)
· 서버 컴퓨터의 방화벽이 꺼져 있어야한다.

· 가상머신을 사용하는 프로그램인 VMware을 사용하는 경우 포트 중복 문제로, 무한정 기다리는 오류가 생길 수 있다.

[오류 해결법 1 : 포트 바꿔보기]

문제가 발생한 장면입니다.


code4human.tistory.com/33

 

XAMPP 포트 중복 문제 해결하기

PHP로 웹 사이트를 개발할 땐 Apache, MySQL, PHP를 패키지 형태로 사용한다. XAMPP라는 패키지는 Apache, MySQL, PHP, PHPMyAdmin 4가지를 모두 제공하는 패키지다. 여기서 PHPMyAdmin은 웹과 DB를 연동해주는..

code4human.tistory.com

현재 사용중인 PC의 포트 보기

시작의 cmd 실행하고, netstat -ano 입력.

15276 PID 번호를 확인해보면,

 

[오류 해결법 2 MySQL 삭제 후 다시 설치]위의 모든 것으로도 해결 안될 시, 포트문제가 아닐 수 있다.
xampp 실행파일을 우클릭하여, 관리자 권한으로 실행하면 아래와 같이 Service필드의 콤보박스가 활성화 된다. 해당 콤보박스를 통해 uninstall 할 수 있다.

콤보박스를 클릭하면 해당 라인의 모듈을 uninstall / install 할 수 있다. 

- MySQL 의 terminal 접근법
· cmd 실행 → cd c:\xampp\mysql\bin → mysql.exe -u root --password → 설정한 비밀번호 입력.

- DB 관리
· drop database if exists songdb; //songdb 데이터베이스가 있으면 해당 데이터베이스 삭제하라. (초기화 같은 느낌)
· create database SongDB  // SongDB라고 하는 데이터베이스 생성.
    -> default character set utf8  // 한글 설정
    -> collate utf8_general_ci;
MariaDB [(none)]> use SongDB;  // 생성한 SongDB 데이터 베이스 사용. songdb 대소문자 상관X.(songDb == SongDB == songdB)
Database changed
MariaDB [SongDB]> create table song(  // song 테이블 생성.
    -> id int(11) not null auto_increment,  // 아래는 세부 정보.
    -> name varchar(50),
    -> model varchar(50),
    -> image varchar(255),
    -> primary key (id),
    -> index(model)
    -> ) ENGINE=InnoDB
    -> default character set utf8
    -> collate utf8_general_ci;
 set names euckr; // 한글 사용.

MySQL 터미널 내에서 명령어 입력.
drop database if exists songdb;
create database SongDB 
default character set utf8 
    collate utf8_general_ci;

use SongDB;

create table song(
id int(11) not null auto_increment,
name varchar(50), 
model varchar(50), 
image varchar(255), 
primary key (id), 
index(model) 
) ENGINE=InnoDB 
default character set utf8 
collate utf8_general_ci;
set names euckr;
이것을 통째로 복사 붙여넣어도 된다.
· songdb라는 데이터베이스 생성
· song이라는 테이블 생성까지 한번에 마치게 되는 셈이다.

· song 테이블에 데이터 삽입
  insert into song values (null,"a","b","c.jpg");
· song 테이블 보기
  select * from song;

-JSON: JavaScript Object Notation
· 데이터 교환 목적
  · 구조적 데이터 표현에 적합함
    {} : 객체 [] : 배열

- PHP를 통해서 데이터 베이스에 접근 → 특정 데이터베이스의 특정 테이블의 데이터베이스 정보들을 json 파일로 웹서버에서 열람해보기.

list.php
<?php
header('Content-Type: application/json'); 

// $ 붙은 것은 변수
// 데이터베이스에 접근 해주는 함수 mysqli_connect(웹서버주소,ID,PW,접근할데이터베이스)
$dbc = mysqli_connect('127.0.0.1',
'root','111111','songdb')
or die('Error: Connect');

mysqli_query($dbc,"set names utf8");

$query = "select * from song";
$result = mysqli_query($dbc, $query)
or die('Error : Query');

$json = array();
if(mysqli_num_rows($result)){
while($row = mysqli_fetch_assoc($result)){
$json['list'][] = $row;
}
mysqli_free_result($result);
}

echo json_encode($json);

mysqli_close($dbc);

?>

웹서버에서 데이터베이스의 정보를 json 형태로 확인해볼 수 있는 사이트를 만들어 보았다.
database 터미널에 있는 것과 같음을 확인할 수 있다.

'KOCW > 코틀린 안드로이드 스튜디오 개발' 카테고리의 다른 글

Custom List  (0) 2020.12.06
Posted by 넓스