개발 동기
3학년 2학기 중간고사를 대비하여 시험 공부를 하러 집을 나서는 순간에 열린학습실에 몇 없는 콘센트를 꼽을 수 있는 좌석이 비어있는 지 확인하고 집을 나서고 싶었다.
"그때부터 집에서 나가기 전에 좌석 정보를 확인하고 예약할 수 있을까"하는 생각이 들었다.
알아본 결과로는,
지금 우리 학교 열람실 시스템은 좌석 정보를 조회할 수 있는 홈페이지가 존재하지만, 대다수의 학생들이 있는 지도 모르고 심지어 도서관 직원조차도 있는 지 모르는 상황이었다.
(http://172.16.6.164.openlink.shinhan.ac.kr:8000/domian5.asp)
때문에 열람실 좌석은 방문해야만 지금 비어있는 좌석을 확인할 수 있었고, 예약이 가능하였다.
(교내 도서관 홈페이지)
제한 사항
예약하는 것까지 만들어보고 싶어 문의했는데 학교에서 열람실 시스템을 직접 관리하는 것이 아니라 외주 업체에서 관리하고
제공 받는 것이라서 학생이라는 입장에서 그쪽 서버에 접근하여 예약하고 관리하는 권한을 얻을 수는 없었다.
충분히 그럴 수 있다고 생각하였고, 내가 얻을 수 있는 정보로 만들 수 있는 것은 조회 기능을 가진 어플리케이션이었다.
구현
html 소스 보기를 통해 잔여 좌석 수, 전체 좌석 수, 사용 중이라면 어떤 좌석이 사용 중인지 알아냄.
로직은 Jsoup (Java HTML Parser)을 이용하였고 좌석을 보여주는 데 있어서는 GitHub와 구글에서 극장 좌석 만드는 소스 등을 참고하여 제작하였다.
문제점
1. 홈페이지의 좌석 정보
다 만들고 나서 확인한 건데 홈페이지와 실제 열람실의 좌석 배치가 맞지 않아서 수정해야 했다.
홈페이지 자체 관리가 좀 필요할 것 같다. 아마 시스템 만들어지고 업체에서 제공한 후 손댄 적이 없을 것 같다.
2. 유지보수와 보안
도서관쪽에 문의하고 나서 보안 쪽으로 문제 제기가 들어왔는데 내 App 으로 인해
열람실 서버에 문제가 생기는 게 아닌지 물어봤었다.
내가 만든 App은 홈페이지에 굉장히 의존적이고 단순해서 정보를 그저 받아오고 뿌리는 역할만 하는 건데 구현 방식을 설명하기에는 어려울 것 같아 정보화팀으로 방문해보라 하여 정보화팀을 또 방문하게 되었다.
정보화팀에서 문제 제기된 것은 학생 개인 개발로 만든 학교 공식 어플은 아니지만 학교 이름이 들어갔기 때문에 내 App에서 생기는 불편한 점이나 문제점들이 학교 측으로 돌려져 전화 올 것을 우려하여 배포를 하지 말라 하였다.
3. IOS
원래는 다 만들어 놓고 학교 쪽이랑 얘기하고 디자인도 다시 짜서 만들 계획이었다.
1. 애초에 개발한 나 스스로가 필요해서 만든 것도 있고 같은 학생들이 이용하여 편의를 얻으면 좋을 것 같아서 만들었는데 학교에서 돌아오는 대답이 무정하여 안타까웠다. (배포하지 말라)
2. 내가 만든 앱이 조회밖에 할 수 없는 권한에 충족되지 않을 요구 사항들을 생각해보면 불완전한 앱이라고 생각은 든다.
3. 개발자와 여러 다른 입장의 사람들의 각각의 책임과 발생할 수 있는 문제들을 생각해볼 수 있는 좋은 기회였다.
결국 배포는 안될 거 같지만 필요한 사람이 있으면 보내주거나 개인 블로그에라도 올려보고 싶다. 아무튼 좋은 경험은 된 것 같다..
'# Back-End' 카테고리의 다른 글
[유튜브 필기] 풀스택 주니어 웹 개발자가 되려면 (0) | 2020.06.09 |
---|---|
[유튜브 필기] 네이티브 앱 vs 크로스 플랫폼 앱 vs 하이브리드 앱 (0) | 2020.06.09 |
Flutter에 대해 (0) | 2019.05.08 |
모바일 프로그래밍 플랫폼에 대한 정리 (0) | 2019.05.07 |
[좋은 글] Use-Case Diagram 작성하기 (1) | 2019.04.05 |
[알고리즘] 정렬 시간복잡도 정리 (0) | 2019.01.18 |
[프로그래밍] ASCII 코드표 (0) | 2019.01.09 |