<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Backend | 유상욱</title><link>https://tkddnr1022.github.io/ko/tag/backend/</link><atom:link href="https://tkddnr1022.github.io/ko/tag/backend/index.xml" rel="self" type="application/rss+xml"/><description>Backend</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>ko-kr</language><lastBuildDate>Sun, 01 Sep 2024 00:00:00 +0000</lastBuildDate><image><url>https://tkddnr1022.github.io/media/icon_hu0b42e902343eb3001ffe774d761cbe9b_5153_512x512_fill_lanczos_center_3.png</url><title>Backend</title><link>https://tkddnr1022.github.io/ko/tag/backend/</link></image><item><title>Class-Manager</title><link>https://tkddnr1022.github.io/ko/project/class-manager/</link><pubDate>Sun, 01 Sep 2024 00:00:00 +0000</pubDate><guid>https://tkddnr1022.github.io/ko/project/class-manager/</guid><description>&lt;h1 id="class-manager">Class Manager&lt;/h1>
&lt;p>위치 기반 QR 출석 체크 애플리케이션&lt;/p>
&lt;h3 id="사용-스택">사용 스택&lt;/h3>
&lt;ul>
&lt;li>React Native(expo)&lt;/li>
&lt;li>Nest.js&lt;/li>
&lt;li>MongoDB&lt;/li>
&lt;/ul>
&lt;h3 id="대략적인-설계">대략적인 설계&lt;/h3>
&lt;ol>
&lt;li>수업 생성 후 수업명, 강의실, 출석시간, 위치 등 설정&lt;/li>
&lt;li>모바일 앱으로 강의실 내 QR코드 촬영&lt;/li>
&lt;li>촬영자의 위치, 디바이스 ID, 학적 등 정보를 서버에 전달&lt;/li>
&lt;li>대리 출석, 부정 출석을 방지하기 위해 올바른 위치와 디바이스 ID 중복여부 확인&lt;/li>
&lt;li>출석 정보 저장&lt;/li>
&lt;/ol>
&lt;h3 id="대리-출석">대리 출석&lt;/h3>
&lt;p>디바이스 고유 ID 혹은 애플리케이션 ID 검증을 통해 하나의 기기에서 1회 출석만 가능하도록 구현&lt;/p>
&lt;h3 id="부정-출석">부정 출석&lt;/h3>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>정적 QR 코드(보류)&lt;/strong>&lt;/p>
&lt;p>강의실 내에 정적인 QR코드를 배치하는 방법은 비용과 효율 면에서 이점이 있음&lt;/p>
&lt;p>그러나 URL이 노출되어있기 때문에 GPS 오차 범위 내에서 어디서든 출석이 가능하다는 취약점 또한 존재함&lt;/p>
&lt;p>해결책으로, 모바일 앱에서 URL 노출 없이 QR코드 촬영 후 시크릿 키와 같은 검증 방법을 통해 강의실에서 모바일 앱으로 직접 촬영한 경우만 출석이 가능하도록 설계&lt;/p>
&lt;p>→ &lt;strong>웹 브라우저 등 비정상적 경로를 통한 QR코드 접속 방지&lt;/strong>&lt;/p>
&lt;p>앱 설치의 번거로움 없이 웹 브라우저로 접근할 수 있도록 경량화하고자 하였으나, 정적 QR의 이점을 위해서는 모바일 앱 사용이 불가피함&lt;/p>
&lt;aside>
&lt;p>사실 이러한 방법은 QR코드가 아니어도 강의실 번호와 같은 정적 값으로 구현할 수 있고, QR코드 활용에 큰 이점이 없다.&lt;/p>
&lt;p>따라서 출석 환경을 조금 제한하여 동적 QR코드로 구현하는 것이 바람직해 보였고, 수업에 대한 QR코드를 직접 생성하는 방법으로 설계를 수정하였다.&lt;/p>
&lt;/aside>
&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>동적 QR 코드 생성&lt;/strong>&lt;/p>
&lt;p>현장에서 수업에 대한 고유 식별자를 포함한 QR코드를 생성하면 수업 참여자가 이를 촬영하여 출석을 진행할 수 있도록 설계&lt;/p>
&lt;p>브라우저에서 디바이스 ID에 접근하기는 어렵기 때문에 여전히 모바일 앱 개발이 필요함&lt;/p></description></item><item><title>OurTree</title><link>https://tkddnr1022.github.io/ko/project/ourtree/</link><pubDate>Mon, 01 Apr 2024 00:00:00 +0000</pubDate><guid>https://tkddnr1022.github.io/ko/project/ourtree/</guid><description>&lt;h1 id="ourtree">OurTree&lt;/h1>
&lt;p>전북대학교 2024년도 창업 동아리 Our Tree(아트) 에서 진행하고 있는 &lt;strong>학교별 익명 커뮤니티 서비스&lt;/strong> 프로젝트 입니다.&lt;/p>
&lt;p>&lt;a href="https://github.com/tkddnr1022/OurTree" target="_blank" rel="noopener">깃허브 리포지토리&lt;/a>를 참고해주세요.&lt;/p></description></item></channel></rss>