2023.11.06(월) - Day 6

  • 강의 내용
    • 클라이언트 <-> 백엔드 서버 <-> DB 서버
      서버 구성 후 전체적인 동작 방식 확인


실습

Knowledges

  • 프로그램은 HDD에 저장되어 있고 프로그램은 메모리에서 실행되고 있는 것.
    -> 메모리에서 동작하고 있는데 내 맘대로 바뀌어도 정상적으로 작동할까?

  • 내 컴퓨터에 다운받은 것들은 얼마든지 내 맘대로 바꿀 수 있다.
    하지만 게임을 만들던, 웹 페이지를 만들던 중요한 코드는 서버 프로그램에 들어가야 한다.

  • 그래서 백엔드 개발자가 중요한 역할을 한다고 할 수 있다.
    중요한 코드들이 서버에 들어있기 때문에 서버가 매우 중요하다.
    (id, password, account 정보 등의 중요한 정보들은 모두 서버에 있다.)

  • 예컨대 게임 을 개발해서 고소,고발 등을 당한 사람들은 핵을 개발해서 다른 사람들에게 유포하거나 판매를 한 사람들이다.
    자신의 client 환경에서 핵을 사용한 사람들은 내 컴퓨터에 있는 것을 바꿔서 실행한 것이기 때문에 물론 잘못한 일이고 정지 등의 응당한 조치를 받아 마땅하지만 이론적으로는 아주 심각하고 중대한, 어마어마한 범죄는 아니다.

환경 세팅

  • window11 pc1 (client)
    • 모 게임 client
    • local
  • window10 pc2 (server)
    • 모 게임 free server
    • vmware
  • centOS8 pc3 (DB server)
    • DB 서버
    • vmware

ex.)
  • 하나의 아이템을 다른 사람들도 갖고 있나?
    같은 종륭지만 다른 노트북.
    기종은 같지만 내 노트북은 단 하나.
    즉, 같이 갖고 있을 수는 없다.

    아이템과 캐릭터는 1:1이다.

    공동 소유가 아니라면 다 : 다 는 잘 사용하지 않는다.


  • vm <- window10.ova 받아서 설치 완료
    (window_server 1, 2)
  • window_client1 - 110.110.110.xx8 (vm)
  • window_server1 - 110.110.110.xx9 (vm)

// vmware_server2_centOS에 설치 완료
mysql -u root -p < /working/06xxsql.sql

SHOW databases;

GRANT ALL PRIVILEGES ON extalia.* TO 'ltw'@'%';

Putty

  • vm_client1_window10 - 110.110.110.xx8
  • vm_server3_window10 - 110.110.110.xx9
  • vm_server1_centOS8 - 110.110.110.xx1
  • vm_server2_centOS8 - 110.110.110.xx2

window_server1

반디집 설치하고

http://192.168.x.xxx:xxxx/x.x.xxxxx 강사님 자료 다운로드

압축 풀고 c드라이브 최상위 위치로 이동.
설치 파일을 실행하기 위해선 jdk 설치해야 함.

window에서는 그냥 클릭만 쭉 하면 jdk 설치할 수 있음.

그리고 설치한 jdk14.0.2 -> PATH 환경 변수 등록
고급 시스템 설정 -> 환경 변수 -> 시스템 변수에 등록

cmd에서 java--version하면 jdk가 제대로 설치되었는지 확인 가능

database.properties에서 아래 항목 수정.

query.user=ltw
query.password=xxxxxx

Intellij community 버전 다운로드


이제 다운로드받은 파일을 Intellij로 open 그리고 DB 관련 코드만 일부 수정한다.

File Structure -> jdk14로 설정 후 apply
language level도 14로 설정.

서버 주소를 변경하면
client가 ip를 통해 pc에 잇는 서버의 특정 port를 통해 접속할 수 있다.



window_client1

xx.xx.egg 다운

압축을 풀다가 vm 용량이 부족하다는 에러가 발생했다.
그래서 vm의 용량을 20GB 더 expand 해주었다.

vm의 용량을 expand하는 방법은 추후 다른 게시글에 따로 업로드할 예정이다.


  • HxD portable 다운로드
    • 무료 hex 에디터 프로그램
    • 평균적으로 16진수로 표현된 이진 파일을 읽을 수 있게 보여주는 프로그램
  • 이 프로그램을 사용해서 설정값들을 변경한다.



정리

오늘 실습은 강사님께서 서버, 포트, 포트포워딩, db 서버, 클라이언트 등의 개념에 대해 학생들이 쉽게 이해할 수 있도록 구성한 프로그램으로 진행되었다.

확실히 GUI가 있는 환경에서 통신을 하고 DB 서버에 데이터가 저장되고 다시 불러오는 일련의 과정을 보니 이해가 쉽게 되었다.

설정 등의 자세한 정보를 이곳에서 공개하기 어려워서 과정의 일부분이 생략되었다.

재미있었고 분위기도 굉장히 좋았다.

학급 친구들과 서로의 서버에 접속해보고 내 서버에도 접속하는 등의 과정을 거치며 백엔드 개발자로서 자신의 서버에 처음으로 클라이언트가 온 경험을 한 친구들도 많아서 보는 화기애애한 분위기에서 수업이 마무리되었다.

profile
Web Developer

0개의 댓글