- 다양한 주제에 대해 자유롭게 글을 작성하는 게시판입니다.
Date 16/01/20 15:51:50
Name   칸나바롱
Subject   3주간의 개인 프로젝트 삽질기..(1/2)
아직 완성되진 않았지만 지난 3주간 프로젝트 삽질을 기록해보고자 적어봅니다.

기말고사가 끝나고 크리스마스 연휴를 앞두고 집에서 잉여롭게 시간을 보내던중 문득 언제나 불만이었던 학사 홈페이지에
수강신청을 좀 더 쉽게 해보고 심심하고(?) 뭔가 저만의 서비스를 만들고 싶어서 진행하게 되었습니다.
정말 충동적으로 재미있는거 해보고 혼자(?) 해보고 싶어서 진행한 프로젝트입니다.

학교 홈페이지 얼마나 별로냐면...





이런 수준입니다. 모바일용 페이지는 따로 있지만 그건 더 불편해서 언급할 가치를 못느끼겠고..
소스까서 주석읽어보니까 익스 7..8 시절에 만든거 같더라구요..ㅠ_ㅠ 뭐 목마른 사람이 우물판다고
제가 만들어야죠..암.

개발을 할려고 마음먹으니 생각보다 문제되는게 많았습니다. 생각나는대로 나열해보면

1. 데이터는 어떻게 가져오지?
2. 디자이너도 없는데 레이아웃은? 색은???
3. 자바스크립트는 포문밖에 못쓰고 이벤트만 걸줄 아는데..?

1번은 어찌어찌 크롤링으로 해결했습니다. 완전 처음에는 ajax이벤트로 처리되는 학사 홈페이지의 시간표를
어떻게 제어해야할지 감도 안잡히더라구요. 그래서 처음에는 ruby에 있는 nokogiri라는 젬을 사용해서
처리하려고 했지만 자동으로 시간표를 제어하는 방법을 몰라서 실패. 결국 phantomjs와 casperjs를
이용해서 크롤링 했는데 이건 너무 다루기가 까다로워서(함수형 논블러킹 아직도 몰라요..)
결국 아는 분께 SOS를 쳐서 requests와 BeautifulSoup4를 조합해서 크롤링하는데 성공합니다.
일주일만에 프로젝트를 진행하려 했는데..여기만 3~4일 넘게 걸림

2번은 생각보다 간단했습니다. 공대생인 내가 고민해봤자 좋은 레이아웃이 안나올테니 가지고 다른 사이트를 참고하자는 생각이었죠.



그리고 후보는 바로 이 사이트! 그냥 너무 화려하지도 않고 반응형으로 만들어져서 모바일로도 보기 편하고
ux가 직관적이라 마음에 들었습니다. 그리고 사실 혼자 하기에 디자인적 부담도 없고. 부트스트랩을 사용해서
저도 참고하기도 편했구요.


아참. 여기서 제가 사용한 기술스택(?)을 간단하게 설명드릴게요.

1. Ruby on Rails(ROR)
2. mysql
3. Boostrap(frontend framework) 및 기타등등 라이브러리
4. AWS(EC2), Route53
5. python(크롤링)

사실 쓸줄 아는 유일한 것들이라.. 저것들을 택했습니다 -_-;; 프론트엔드 같은 경우 React나 Angular를
사용해보고 싶은 마음도 들었지만,, 배보다 배꼽이 커질꺼 같아서 일단 제외. 디플로이같은 경우에도 셋팅할줄 아마존밖에 없어서요.ㅠ_ㅠ

코딩을 하는데.. 확실히 간단한 프로젝트인지라 백엔드코딩은 그냥 간단하게 끝났지만 프론트엔드가 문제더라구요..
자바스크립트 정말 1도 모르는 상태에서 메쏘드 다 찾아가면서 작성하는지라.. 객체지향적 개념은 존재하지
않습니다. 덕분에 완전 스파게티 코드에 으.. 다음에 꼭 리펙토링 해야겠습니다.

(완전 노패턴)

정말 기억에 남는건 저러한 컬럼에서 인제 시간과 장소를 뽑아내야데 정말 패턴이 없이 들어가있어서
힘들었던 힘들게 힘들게 땜빵했던 기억이 납니다.(아직도 기억나는 패턴은 하루에 시간을 나눠서 강의하는
수업들..?)

일일히 적기에는 너무 사사롭지만 나름 고난과 역경이 많았습니다.

그리고 대충 완성될때쯤. 저는 everytime.kr 이라는 사이트의 존재를 알게되고 약간 의욕이 꺽여버립니다.



이런게 있는데?! 내껄 쓸리가 없는데!!!라고 소리치면서 .. 그냥 날려버릴까(?)란 생각도 해봤는데..
찬찬히 다시 뜯어보니 생각보다 사용하기에 불편한점이(?) 몇몇 보이더라구요.

1. 강의계획서를 볼 수가 없다?(전공과목이야 그렇다 치더라도 교양과목은 강의계획서 없으면 ㅠ_ㅠ)
2. 검색이 불편하다.(편하게 줄임말로 검색하면 하나도 안나옴 ex)공수, 일수, 글토)
3. 시간표를 만들어 보려면 로그인을 해야해서 접근성이 떨어진다.
4. 정말 수강신청전에 사용하려는 용도보다는 일단 시간표를 만들고 남과 공유하는데 많이 쓰인다?

이러한 불만사항을 해결하고 최대한 간단하게 모바일에서도 시간표를 만들수 있도록 진행방향을 틀어서 진행하게
되었습니다. 인터페이스도 최대한 간결하게 만들었고 쓸모없는 몇몇 기능(채팅이라던가..)도 빼버렸구요.
실제로 수강신청 전에 예비 시간표를 만들어보는 역활에 충실하도록 만들었습니다.


지금은 약 50%정도 완성된 상태이구요. 일주일동안 1400개의 시간표가 저장되었고, google analytics 기준
약 2500명의 유저가 사용했다고 나오내요. 어.. 많은건지 적은건지는 잘 모르겠지만 가끔씩 친구들이나 후배들이
잘 쓰고 있다는 말을 들으면 뿌듯합니다 ㅠ_ㅠ.. 아직 생각만 해놓고 구현하지 못한 부분도 있고 구현은 해놨는데
뭔가 미비한거 같아서 공개 안한부분도 있는데.. 진짜 수강신청(다음달)이나 다음학기전에는 완성시킬 생각입니다!

처음으로 남이 사용할만한 서비스를 기획해서 제작해봐서 느낀점도 많았고 즐거웠던 경험이었습니다.
생각했던 기능을 모두 만들어서 2부로 찾아오겠습니다!
허접한글 읽어주셔서 감사합니다!



5
  • 아낌없이 주는 코딩
  • 감히 제가 알아보지 못하는 재능이지만 대단하시단 건 알 것 같아요.
이 게시판에 등록된 칸나바롱님의 최근 게시물


제가 아는 분도 숭실대 재학시절에 Adobe AIR로 수강신청 프로그램을 만들고 유세윤이라는 이름을 붙여 배포했는데, 굉장히 많은 분들이 사용하셨다고 들었네요.
졸업후에도 계속 관리하시던데 아직도 AIR로 되어있는지는 모르겠네요.
칸나바롱
오 역시 수강신청은 모든학교에서 문제였군요...
피와 살이 될 경험이네요. ㅎㅎ
칸나바롱
피만 됬으면 좋겠습니다.. 이놈에 살..
약간의 우려인데
개인 프로젝트지만 잘 쓰다 보면 꼭
호이가 계속되면 둘리인줄 아는 사람들이 나올 것 같네요.
그런 것도 생각하셔서 잘 꾸려가시길 바랍니다 흐흐
오 정말 멋집니다. 혹시 이 사이트(https://www.timetabl.com)와 비슷한 걸 만드시는 건가요?
칸나바롱
넵 그사이트와 비슷한걸 만들었는데.. 저렇게 활성화가 된걸 보니 부럽내요..
학교 후배님이시군요.
......힘내십시오! 많이들 편해 하겠네요. 그래봤자 전쟁터는 변함없겠지만요(...) 수강신청의 옛날 기억이 소록소록.
칸나바롱
ㅎ_ㅎ..선배님이시군요 감사합니다. 지금은 그나마 좀 나아졌답니다?
이런거 할 줄 아는 분 정말 부럽습니다 ..
단디쎄리라
우오 멋있네요.
수강신청하거나 학교 홈페이지, 관공서 홈페이지 돌아다닐 때마다 느끼는거지만
꼭 이런 홈페이지들은 티를 내더라구요. 똑같이 어딘가 불편해요..
목록
번호 제목 이름 날짜 조회 추천
공지 티타임 게시판 이용 규정 2 Toby 15/06/19 32921 7
15407 일상/생각토요일의 홀로서기 큐리스 25/04/26 211 1
15406 일상/생각사진 그리고 와이프 1 큐리스 25/04/25 393 4
15405 게임마비노기 모바일 유감 8 dolmusa 25/04/25 535 5
15404 일상/생각인생 시뮬레이션??ㅋㅋㅋ 1 큐리스 25/04/25 418 0
15403 의료/건강긴장완화를 위한 소마틱스 운동 테크닉 소개 4 바쿠 25/04/24 482 10
15402 도서/문학사학처럼 문학하기: 『눈물을 마시는 새』 시점 보론 meson 25/04/23 301 6
15401 일상/생각아이는 부모를 어른으로 만듭니다. 3 큐리스 25/04/23 473 10
15400 꿀팁/강좌4. 좀 더 그림의 기초를 쌓아볼까? 6 흑마법사 25/04/22 368 18
15399 일상/생각처음으로 챗GPT를 인정했습니다 2 Merrlen 25/04/22 775 2
15398 일상/생각초6 딸과의 3년 약속, 닌텐도 OLED로 보답했습니다. 13 큐리스 25/04/21 868 28
15397 일상/생각시간이 지나 생각이 달라지는것 2 3 닭장군 25/04/20 759 6
15396 IT/컴퓨터AI 코딩 어시스트를 통한 IDE의 새로운 단계 14 kaestro 25/04/20 635 1
15395 게임이게 이 시대의 캐쥬얼게임 상술인가.... 4 당근매니아 25/04/19 632 0
15394 꿀팁/강좌소개해주신 AI 툴로 본 "불안세대" 비디오 정리 2 풀잎 25/04/19 611 3
15393 IT/컴퓨터요즘 일상적으로 사용하는 AI툴들 12 kaestro 25/04/19 781 18
15392 도서/문학명청시대의 수호전 매니아는 현대의 일베충이 아닐까? 구밀복검 25/04/18 484 8
15391 정치세대에 대한 냉소 21 닭장군 25/04/18 1221 15
15389 게임두 문법의 경계에서 싸우다 - 퍼스트 버서커 카잔의 전투 kaestro 25/04/17 391 2
15388 일상/생각AI한테 위로를 받을 줄이야.ㅠㅠㅠ 4 큐리스 25/04/16 696 2
15387 기타스피커를 만들어보자 - 번외. 챗가를 활용한 스피커 설계 Beemo 25/04/16 290 1
15386 일상/생각일 헤는 밤 2 SCV 25/04/16 393 9
15385 게임퍼스트 버서커 카잔에는 기연이 없다 - 던파의 시선에서 본 소울라이크(1) 5 kaestro 25/04/16 307 2
15384 일상/생각코로나세대의 심리특성>>을 개인연구햇읍니다 16 흑마법사 25/04/15 710 10
15383 일상/생각평범하지 않은 평범한 사람들 1 큐리스 25/04/15 624 8
목록

+ : 최근 2시간내에 달린 댓글
+ : 최근 4시간내에 달린 댓글

댓글