7/11 사용 기능 정리

JK·2023년 7월 11일
0

오늘 오후까지 계속 아이디어 회의와 PPT 제작으로 시간을 보냈습니다.
그래도 발표전까지 완성해서 발표를 진행했고, 생각보다 괜찮은 반응이신 거 같아서 이제는 아이디어 변경 없이 이대로 프로젝트를 진행할 거 같습니다.
저희는 발표를 연습할 수 있는 플랫폼을 만들 예정입니다.
그래서 오늘 프로젝트에 사용될 API, 라이브러리 등 어떤 식으로 구현할지 정보를 찾아보고 정리하기로 했습니다.

1. 코멘트 통신

발표 연습을 진행할 때 주위에 아는 사람들을 청자로써 참관시킬 수 있고 청자는 발표를 듣고 코멘트를 남길 수 있는 기능을 만들 생각입니다.
그때 데이터를 어떻게 통신할지 찾아봤습니다.

통신의 종류

단방향 통신(Simplex)

  • 한쪽 방향으로만 데이터 전송 가능
  • 예 : TV방송, 라디오 방송

양방향 통신 - 반이중 통신(Half-duplex)

  • 양쪽 방향으로 데이터 전송 가능
  • 어느 한 순간에는 반드시 한쪽 방향으로 데이터 전송 가능
  • 예 : 무전기, 미간방송용 라디오

양방향 통신 - 전이중 통신(Full-duplex)

  • 동시에 양쪽 방향으로 데이터 전송 가능
  • 두 개의 채널을 한 순간에 동시에 사용 가능
  • 많은 양의 데이터를 전송하는 경우 효율적
  • 예 : 전화, 컴퓨터 통신

단방향 통신

HTTP 통신

  • client가 요청을 보내는 경우에만 server가 응답하는 단방향 통신
  • server로 부터 응답을 받은 후에는 연결이 바로 종료 됩니다
  • 요청을 보내 server의 응답을 기다리는 어플리케이션의 개발에 주로 사용

통신 과정

  1. client를 기다린다
  2. client와 연결한다
  3. client가 연결을 끊기 전까지 문자열을 수신한다
  4. client가 연결을 끊는다
  5. 1번을 실행한다

get, post 방식으로 가능

양방향 통신

Socket 통신

  • server와 client가 계속 연결을 유지하는 양방향 통신
  • server와 client가 실시간 데이터를 주고받는 상황이 필요한 경우 사용
  • 실시간 동영상 streaming이나 온라인 게임 등과 같은 경우에 자주 사용
  • TCP, UDP방식

통신의 흐름

server

  1. 소켓 생성
  2. 바인딩 (ip, port번호 설정)
  3. listen()으로 클라이언트 요청에 대기열을 만들어 몇개의 클라이언트를 대기시킬지 결정
  4. accept()로 클라이언트와 연결
  5. 데이터 송수신
  6. 소켓 닫기

client

  1. 소켓 생성
  2. 서버에 설정된 ip, port로 연결 시도
  3. accept()로 클라이언트의 socket descriptor 반환
  4. 데이터 송수신
  5. 소켓 닫기

socket.io로 구현 가능

2. pdf 파일

웹 브라우저는 기본적으로 pdf파일을 볼 수 있기 때문에 간단하게 구현 가능합니다.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>pdf test</title>
</head>
<body>
    <iframe src="/pdf/test.pdf#toolbar=0&navpanes=0&scrollbar=0" style="width: 500px;height:280px;"></iframe>
    <embed src="/pdf/test.pdf" style="width: 500px;height:280px;" type="application/pdf" />
</body>
</html>

위의 코드는 iframe과 embed를 사용해 실습해본 예시입니다.

iframe과 embed의 차이는

iframe은 외부 웹 페이지 또는 문서를 포함하기 위해 사용되고(다른 웹 페이지를 현재 페이지 내에 프레임으로 표시)

embed는 주로 미디어(오디오, 비디오, 플러그인) 콘텐츠를 삽입하기 위해 사용 됩니다.

ppt 파일

많은 정보가 없지만, ms에서 제공하는 프레임워크를 사용하면 가능할 수도 있을 것 같습니다.

2021년 문서 기준 구현했다는 정보는 있으나, 해당 페이지를 현재 접속해볼 수는 없는 걸로 나옵니다.

해당 코드를 참조해 직접 구현을 해보려고 했으나, ppt파일을 서버에 올리고 경로를 지정해야만 해서 일단은 넣어뒀습니다.(서버에 ppt를 저장하는 것을 공부하기에는 시간이 촉박할 것 같다고 판단)

pdf 업로드를 mvp로 잡고 mvp완성 후 시도해보는 게 좋을 것 같습니다.

profile
^^

0개의 댓글

관련 채용 정보