- 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 넓스
카테고리 없음2018. 5. 24. 10:46

Root 를 삭제할 때, 왼쪽 자식 트리 중 가장 오른쪽의 것은 왼쪽 자식 트리 중 가장 큰 값이다

 

오른쪽 자식 트리 중 가장 왼쪽의 것은 오른쪽 자식 트리 중 가장 작은 값이다.

 

이 두가지 중에 하나를 선택하여 올려주면 된다.

 

 

Posted by 넓스
카테고리 없음2018. 5. 23. 19:03

- BOM : Browser Object Model

: 자바스크립트와 브라우저가 소통하기 위한 수단

 

- window : 최상위 브라우저 객체 = 브라우저에 대한 정보를 담고 있는 객체

  window prefix 는 생략가능!

 

브라우저란? 인터넷상에서 웹에 연결시켜 주는 윈도 기반의 소프트웨어

 

- open / close()

open('URL','target',spec)

var 변수 = window.open('www.naver.com','_blank','width=200,height=200');

변수.close();

 

위에서 window prefix 생략가능하다는 의미가 위의 예에서 보면

var 변수 = open(~샬라샬라~) 처럼 가능하다는 의미.

 

위와 같은 사용방식으로

- window.alert('text') : 텍스트 알림창

- window.confirm('text') :

var 변수 = window.confirm('text') 를 하면, 변수 값에 OK(True값) Cancel(False값)이 담긴다.

- window.prompt('text') :

True 값 혹은 False 값만이 아니라, 사용자가 입력한 문자 전체가 변수에 입력되고, 아무것도 입력치 않으면 NULL값이 입력된다.

- window.setTimeout(function,milliseconds) :

milliseconds 이후에 function 실행

<종료>window.clearTimeout(변수)  예약된 실행문 종료

 

- window.setInterval(function,milliseconds) :

milliseconds 마다 function 실행

<종료>window.clearInterval(변수)  예약된 실행문 종료

 

 

- DOM : Document Object Model

HTML 문서의 내용을 분석하기 위한 구조. 이 구조의 형태는 트리구조이다.

각 트리의 노드는 HTML태그요소이다. 이 노드는 속성속성값을 가진다.

 

※  속성 :

    속성값 :

(포스팅 예정)

 

 

 

 

Posted by 넓스