반응형

1. 시험환경

    ˙ 윈도우 10

    ˙ MySQL 8

 

2. 목적

    ˙ DB 저장 공간을 변경한다.

    ˙ 기존에 사용중인 DB 데이터를 이전한다.

 

3. 적용

    ① 현재 서비스 중인 MySQL을 중지 시키기 위해 "서비스" 앱을 실행한다.

찾기: 서비스

 

    ② 서비스 목록 중 "MySQL80"을 더블클릭하면 나타나는 팝업창에서 "중지" 버튼을 클릭한다.

        - "80"은 사용중인 버전에 따라 다르게 나타날 수 있다.

서비스 중지

 

    ③ 탐색기에서 "숨긴 항목"을 체크하고, ProgramData 경로로 들어가서 DB 데이터 저장 경로를 찾는다.

DB 데이터 저장 경로 찾기

 

    ④ MySQL 설정 파일을 확인한다.

        - 설정 파일 : C:\ProgramData\MySQL\MySQL Server 8.0\my.ini

DB 데이터 저장 경로 및 설정 파일

 

    ⑤ 설정 파일을 관리자 권한으로 열고, "datadir" 검색어로 찾으면 데이터 저장 경로를 확인할 수 있다.

        - 데이터 저장 기본 경로 : C:\ProgramData\MySQL\MySQL Server 8.0\Data

datadir 검색어 찾기

 

    ⑥ 기존 경로를 주석(#) 처리하고, 신규로 사용할 DB 데이터 저장 경로를 입력한다.

        - 신규 데이터 저장 경로 : D:\DBstorage\MySQL\Data

신규 DB 데이터 저장 경로 설정

 

    기존 경로(ProgramData\MySQL)에 있는 모든 파일을 사용자가 변경하려는 경로로 복사한다.

파일 복사


   ※ ⑧, ⑨ 절차는 선택사항: my.ini 설정 파일 옮길 경우

 

    ⑧ 윈도우에서 "regedit"를 입력하여 레스트리 편집기를 실행한다.

레지시트리 편집기 실행

 

    ⑨ 레지스트리 imagePath의 값  데이터에서 이동한 "my.ini" 파일 경로를 변경한다.

        - 레지스트리 경로 : 컴퓨터\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL80

MySQL 설정 파일 이전 경로 변경


    ⑩ 중지했던 MySQL 서비스를 시작한다.

        - 만약 서비스 시작이 실패한다면 경로 설정 부분에서 오타 등의 문제가 있을 것이다.

MySQL 시작

 

4. 결과

    ˙ DB에 접속하여 변경된 데이터 저장 경로를 확인한다.

 

 

※ 내용이 도움 되셨다면 광고 클릭 한번 부탁드립니다 ※

반응형
반응형

1. 시험환경

    ˙ npm, yarn

    ˙ create-react-app

 

2. 목적

    ˙ yarn을 설치한다.

    ˙ yarn을 이용하여 프로젝트를 생성한다.

    ˙ 개발환경에서 프로젝트를 실행한다.

    ˙ 배포환경으로 프로젝트를 빌드하고 실행한다.

 

3. 적용

    ① npm을 이용하여 yarn을 설치한다.

        - 명령어 : npm install --global yarn

 

 

    ② yarn을 이용하여 현재 디렉토리(.)에 create-react-app을 생성한다.

        - 명령어 : yarn create react-app .

프로젝트 생성 결과

 

    ③ 프로젝트를 실행한다.

        - 명령어 : yarn start

실행결과


    ④ 배포환경으로 프로젝트를 빌드한다.

        - 명령어 : yarn build

빌드 실행결과

 

    ⑤ serve를 설치하고 빌드 디렉토리를 서비스한다.

        - 명령어 : yarn global add serve

        - 명령어 : npx serve [build 결과 디렉토리]

 

4. 결과

    ˙ 개발 소스와 빌드 패키지가 정상 동작되는 것을 확인한다.

 

※ 내용이 도움 되셨다면 광고 클릭 한번 부탁드립니다 ※

반응형
반응형

1. 시험환경

    ˙ python

    ˙ configparser

 

2. 목적

    ˙ configparser 라이브러리를 import하고 사용법을 학습한다.

    ˙ DB connection 데이터를 별도 파일로 만들고 configparser 라이브러리를 이용하여 설정 정보를 획득한다.

 

3. 적용

    ① DB 접속 정보를 config 파일에 저장한다.

        - 파일명 : config.ini

1
2
3
4
5
6
[DB]
dbUser  = account
dbPw    = password
dbIp    = 127.0.0.1
dbPort  = 3306
dbName  = sample
cs

 

    ② configparser 라이브러리를 import하고 config.ini 데이터를 획득하여 dict 자료형에 저장한다.

        - 파일명 : getConfig.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import configparser
 
 
properties = configparser.ConfigParser()
properties.read('./config.ini', encoding="utf-8")
 
def getDbConfig():
    configDb = properties["DB"]
 
    ### MariaDB Connection Info.
    respCnf = dict()
    respCnf["dbUser"]   = configDb["dbUser"]
    respCnf["dbPw"]     = configDb["dbPw"]
    respCnf["dbIp"]     = configDb["dbIp"]
    respCnf["dbPort"]   = int(configDb["dbPort"])
    respCnf["dbName"]   = configDb["dbName"]
    return respCnf
cs

 

    ③ 획득한 데이터를 출력한다.

        - 파일명 : main.py

1
2
3
4
5
6
7
8
9
10
11
import getConfig
 
 
def main():
    cfg = getConfig.getDbConfig()
    print(cfg["dbUser"], cfg["dbPw"], cfg["dbIp"], cfg["dbPort"], cfg["dbName"])
    
 
if __name__ == "__main__":
    main()
 
cs

 

4. 결과

    ˙ config.ini 데이터가 출력되는 것을 확인한다.

 

 

※ 내용이 도움 되셨다면 광고 클릭 한번 부탁드립니다 ※

반응형
반응형

1. 시험환경

    ˙ 파이썬

    ˙ 카카오 Map API

 

2. 목적

    ˙ 카카오 Map API를 이용하는 방법을 알아보자.

    ˙ 파이썬 코드에서 위경도(입력값)를 주소(출력값)로 변환하는 코드를 작성한다.

 

3. 적용

    ① 카카오 API를 사용하기 위해 kakao developers 사이트에 계정 등록한다.

        - https://developers.kakao.com/

 

Kakao Developers

카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.

developers.kakao.com

 

    ② 애플리케이션을 추가하고 발급된 "키"을 확인한다.

        - Python 코드에서 사용하기 위해 REST API 키를 사용하면 된다.

"+"버튼 클릭
추가한 애플리케이션에 할당된 키

 

    ③ 카카오 API를 이용하여 "위경도"(wgs84)를 "주소"  데이터로 변환한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import json
import requests
 
api_key = "발급키입력"
 
def coord_to_addr(lon, lat):
    url = 'https://dapi.kakao.com/v2/local/geo/coord2regioncode.json?x={longitude}&y={latitude}'.format(longitude=lon,latitude=lat)
    headers = {"Authorization""KakaoAK " + api_key}
    result = json.loads(str(requests.get(url, headers=headers).text))
    match_first = result['documents'][0]['address_name']
    return str(match_first)
 
 
if __name__ == "__main__":
    addr = coord_to_addr(127.0910237.46997)
    print(addr)
cs

 

4. 결과

    ˙ 변환 결과를 확인한다.

변환 결과값

 

 

※ 내용이 도움 되셨다면 광고 클릭 한번 부탁드립니다 ※

반응형
반응형

1. 시험환경

    ˙ 파이썬

    ˙ 카카오 Map API

 

2. 목적

    ˙ 카카오 Map API를 이용하는 방법을 알아보자.

    ˙ 파이썬 코드에서 주소(입력값)를 위경도(출력값)로 변환하는 코드를 작성한다.

 

3. 적용

    ① 카카오 API를 사용하기 위해 kakao developers 사이트에 계정 등록한다.

        - https://developers.kakao.com/

 

Kakao Developers

카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.

developers.kakao.com

 

    ② 애플리케이션을 추가하고 발급된 "키"을 확인한다.

        - Python 코드에서 사용하기 위해 REST API 키를 사용하면 된다.

"+" 버튼 클릭
추가한 애플리케이션에 할당된 키

 

    ③ 카카오 API를 이용하여 "주소"를 "위경도"(wgs84) 데이터로 변환한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
import requests
from urllib.parse import urlparse
 
 
address = "서울시 강남구 자곡로 3길 22"
url = f"https://dapi.kakao.com/v2/local/search/address.json?query={address}"
 
result = requests.get(urlparse(url).geturl(), headers={"Authorization""KakaoAK 발급키입력"}).json()

print
(json.dumps(result, indent=4, ensure_ascii=False))

lat = result['documents'][0]['x']
lng = result['documents'][0]['y']
 
print("lat=",lat, ", lng=", lng)
cs

 

4. 결과

    ˙ 변환 결과를 확인한다.

결과값 출력

 

 

 

※ 내용이 도움 되셨다면 광고 클릭 한번 부탁드립니다 ※

반응형
반응형

1. 시험환경

    ˙ SpringBoot

 

2. 목적

    ˙ SpringBoot 프로젝트에 MariaDB 연동 설정한다.

 

3. 적용

    pom.xml 설정

1
2
3
4
5
6
7
8
9
10
11
12
13
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
    <groupId>org.mariadb.jdbc</groupId>
    <artifactId>mariadb-java-client</artifactId>
    <scope>runtime</scope>
</dependency>
cs

 

 

     application.properties 설정

1
2
3
4
5
6
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
spring.datasource.url=jdbc:mariadb://localhost:포트/DB명
spring.datasource.username=계정
spring.datasource.password=비밀번호
 
spring.jpa.show-sql=true
cs

 

 

※ 내용이 도움 되셨다면 광고 클릭 한번 부탁드립니다 ※

반응형
반응형

1. 시험환경

    ˙ HTML

    ˙ JavaScript

    ˙ proj4.js

 

2. 목적

    ˙ CDN 방식으로 proj4.js 라이브러리를 연동설정한다.

    ˙ proj4()를 이용하여 UTM 좌표계와 wgs84 좌표계 간 상호 변환한다.

 

3. 적용

    ① 예제 코드를 실행한다.

        - proj4.js 라이브러리 추가

        - proj4()를 이용하여 utm과 wgs84 간 좌표변환

proj4.html
0.00MB

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<html>
  <head>
    <title>좌표변환</title>
  </head>
<body>
  <h2>wgs84와 utm 간 변환</p>
 
  <script src="https://cdnjs.cloudflare.com/ajax/libs/proj4js/2.7.2/proj4.js"></script>
  <script type="text/javascript">
    utmX = 327791.876
    utmY = 4153604.073
    console.log(`utmX : ${utmX}, utmY: ${utmY}`);
 
    wgsVal = proj4("+proj=utm +zone=52""+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs", [utmX, utmY])
    console.log(`lng : ${wgsVal[0]}, lat: ${wgsVal[1]}`);
 
    utmVal = proj4("+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs""+proj=utm +zone=52", [wgsVal[0], wgsVal[1]])
    console.log(`utmX : ${utmVal[0]}, utmY: ${utmVal[1]}`);
  </script>
</body>
</html>
cs

 

4. 결과

    ˙ 웹브라우저에서 콘솔로그(<F12>)를 확인하여 UTM과 WGS84 좌표계간 변환 결과를 비교한다.

콘솔로그에서 좌표변환 결과 확인

 

 

※ 내용이 도움 되셨다면 광고 클릭 한번 부탁드립니다 ※

반응형
반응형

1. 시험환경

    ˙ HTML

    ˙ cecium.js v1.96

 

2. 목적

    ˙ cecium 사이트 계정 등록 및 접속 토큰을 발급 받는다.

    ˙ cecium 사이트에서 제공하는 QuickStart 튜토리얼을 실습한다.

        - HTML 파일에 Cecium.js 라이브러리를 설정한다.

        - HTML 파일을 실행하여 3D 초기화면이 표현되는지 확인한다.

 

3. 적용

    ① cecium.js 사이트에 회원가입 후 토큰을 발급받는다.

        - URL : https://cesium.com/

 

Cesium: The Platform for 3D Geospatial

The Cesium platform provides the foundations any software application needs to utilize 3D geospatial data: visualization, data pipelines, curated data, and analytics. Based on open standards for data formats, open APIs for customization and integration, an

cesium.com

       

토큰 생성

 

    HTML 파일을 생성한다.

        - cecium.html

 

     CDN방식으로 cecium.js 라이브러리를 연동한다.
        - 참고 : https://cesium.com/learn/cesiumjs-learn/cesiumjs-quickstart/

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <!-- Include the CesiumJS JavaScript and CSS files -->
    <script src="https://cesium.com/downloads/cesiumjs/releases/1.96/Build/Cesium/Cesium.js"></script>
    <link href="https://cesium.com/downloads/cesiumjs/releases/1.96/Build/Cesium/Widgets/widgets.css" rel="stylesheet">
</head>
<body>
    <div id="cesiumContainer"></div>
        <script>
        // Your access token can be found at: https://cesium.com/ion/tokens.
        // Replace `your_access_token` with your Cesium ion access token.
        Cesium.Ion.defaultAccessToken = '발급받은 토큰 입력';
 
        // Initialize the Cesium Viewer in the HTML element with the `cesiumContainer` ID.
        const viewer = new Cesium.Viewer('cesiumContainer', {
            terrainProvider: Cesium.createWorldTerrain()
        });
 
        // Add Cesium OSM Buildings, a global 3D buildings layer.
        const buildingTileset = viewer.scene.primitives.add(Cesium.createOsmBuildings());
 
        // Fly the camera to San Francisco at the given longitude, latitude, and height.
        viewer.camera.flyTo({
            destination : Cesium.Cartesian3.fromDegrees(127.417537.855500),
            orientation : {
                heading : Cesium.Math.toRadians(0.0),
                pitch : Cesium.Math.toRadians(-15.0)
            }
        });
        </script>
    </div>
</body>
</html>
cs

 

4. 결과

    ˙ 정상 동작을 확인한다.

    ˙ 튜토리얼 등 여러 문서들을 참고하여 사용법을 본격적으로 익혀보자.

실행화면

 

 

※ 내용이 도움 되셨다면 광고 클릭 한번 부탁드립니다 ※

반응형

+ Recent posts