프로젝트 회고/PKSelect
-
Nginx + uwsgi + Flask를 통한 배포프로젝트 회고/PKSelect 2022. 9. 12. 21:28
NGINX란? Nginx는 경량 웹 서버이. 클라이언트로부터 요청을 받았을 때 요청에 맞는 정적 파일을 응답해주는 HTTP Web Server로 활용되기도 한다. Nginx는 Event-Driven 구조로 동작하기 때문에 고정된 프로세스만 생성하여 사용하고, 비동기 방식으로 요청들을 Concurrency 하게 처리할 수 있다. uwsgi란? uWSGI가 nginx와 Flask 앱 중간에서 미들웨어 역할을 하게 된다. WSGI는 Web Server Gateway Interface의 약어로 웹서버와 웹 애플리케이션이 어떤 방식으로 통신하는가에 관한 인터페이스로써, 웹 서버와 웹어플리케이션 간의 소통을 정의해 애플리케이션과 서버가 독립적으로 운영될 수 있게 돕는다. 서버는 AWS EC2를 사용했다. Nginx..
-
프로젝트에 크롤링 TestCode를 적용해본 후기프로젝트 회고/PKSelect 2022. 9. 12. 20:34
1. Flask에서 TestCode를 적용해보자. pkselect프로젝트를 진행할 때, TestCode를 적용해야겠다고 생각했다. WHY? 이전에 크롤링 외주를 진행할 때 홈페이지 태그 등이 변경되어 클라이언트가 코드를 수정해달라는 요청을 받은 적이 있다. 그래서 로그인부터 대학교 LMS 시스템에 크롤링을 통해 접속하는 해당 서비스의 단점을 보완하고자 배포 전 TestCode로 올바르게 작동하는지 확인하도록 하였다. /make_fake_data.py 테스트에 필요한 가짜 데이터를 생성하는 모듈이다. from faker import Faker from faker.providers import internet import string # api에 테스트 해보기 위한 데이터 생성 부분입니다. # 어떤 필요한 ..
-
PKSelect에 적용한 시스템 흐름과 구조프로젝트 회고/PKSelect 2022. 9. 12. 19:02
1. 시스템 흐름도 학교 재학생이 우리 웹 서비스를 통해 로그인하면 서버가 LMS 시스템에 접근하여 로그인하고, 미완료한 강의 과제 시험 등을 가져오도록 아래와 같이 설계하였다. Client Server에 LMS로그인 데이터를 보내는 역할이다. Server Client에서 받은 데이터를 토대로 LMS 시스템에 로그인 접속을 시도한다. True값을 반환받으면 LMS 시스템에서 세션을 얻은 후 데이터를 크롤링하고, Second_page에 해당 값들을 Json 형태로 반환한다. LMS 실제 LMS서버이며, 부경대 포털과 이어져 있다. 실제 부경대 포털 로그인을 작업을 담당한다. 2. 시스템 구조도 DB가 없는 프로젝트 였기에 Django나 Springboot로 무작정 프로젝트를 만들지 않고, 또한 프로젝트 규..