1. 소개
2019년도 경북대 신입 멋쟁이 사자처럼 학생들을 모집하기 위해서 소개 페이지를 만들었다.
소개 페이지에는 동아리 소개, 질문, 공지사항, 활동 사진을 게시할 수 있는 기능을 구현했다.
2. 팀원 및 역할
백엔드 : 이산O, 윤신O
프론트엔드 : 김민O
프론트엔드 역할을 맡았다.
모달 등을 제외하면 대부분을 프레임워크나 라이브러리를 사용하지않고 개발했다
3. 사용 기술
백엔드 : Django, Python
프론트엔드: html, css, javascript
데이터베이스: SQLite, postgreSQL
배포 : heroku
장고를 사용한 이유?
장고는 파이썬 기반의 오픈소스 웹 프로그래밍 프레임워크로 로그인, 관리 등 많은 기능들과 ORM을 내장하고 있어 빠른 개발이 가능하다. 또한 파이썬을 사용하기 때문에 파이썬의 강력한 라이브러리를 그대로 사용할 수 있다는 이점을 가지고 있다
프론트엔드를 다른 프레임워크나 라이브러리를 사용하지 않은 이유?
동아리에 관심있는 학생들이 홈 페이지를 본다면 첫 번째 매력을 느낄 수 있는 부분은 시각적인 부분이라고 생각했다. 따라서 직접 개발한다면 조금 더 어필할 수 있지 않을까라는 기대로 그렇게 했다
데이터베이스를 두 개 사용한 이유는?
SQLite는 장고에 내장되어있는 파일 시스템 기반의 임베디드 데이터베이스 관리 시스템이다. 따라서 따로 설정할 필요없이 가볍고 간편하게 사용할 수 있다.
하지만 배포를 함에 있어, heroku의 dynos는 배포 전반에 지속되는 파일 시스템이 없으므로 파일 기반의 DBMS인 SQLite를 사용할 수 없다.
다른 DBMS를 찾던 중 postgreSQL이 장고랑 사용했을 때 NoSQL 성격의 jsonField나 ArrayFiled 등을 사용할 수 있기 때문에 postgreSQL을 사용했다
postgreSQL은 확장 가능성과 표준준수를 강조하는 객체 관계형 데이터베이스 관리 시스템이다. 기존 RDBMS에 객체지향 패러다임을 적용해 데이터베이스 객체를 사용자 임의로 정의해 마치 프로그래밍 언어처럼 사용할 수 있는 기능을 제공한다.
heroku를 사용해 배포한 이유?
heroku는 무료 호스팅 서비스를 지원하는 클라우드 PaaS이다. heroku는 서비스로 플랫폼을 제공하기 때문에 개발자가 따로 환경 설정 없이 push만으로 배포할 수 있다는 장점이 있다.
하지만, 프리티어를 사용할 경우 서버는 30분 마다 sleep 모드에 빠지게 된다. 그래서 지금 배포한 홍보 사이트도 처음 들어가면 한 세월 걸린다. sleep mode를 방지하는 방법은 10분 주기로 서버가 자기 자신한테 계속해서 request를 보내도록 구현해놓는 방법도 있다.
heroku와 AWS?
서버 배포는 이 두 개의 호스팅 서비스를 사용해봤는데 차이점은 헤로쿠는 클라우드 PaaS, AWS는 클라우드 IaaS라는 것이다.
따라서 heroku를 사용하면 앞서 말했듯이 따른 설정없이 push만으로 배포할 수 있다. 하지만 AWS는 언어도 설치해야되고 여러가지 설정을 많이 해줘야한다. 왜냐하면 서비스로 인프라스트럭처를 제공, 즉 서버 그 자체를 제공하는 것이기 때문이다. 그래도 설정만 잘해준다면 AWS는 개발자가 서버에 대한 제어권을 가지고 올 수 있다. heroku는 설정을 직접하지 않기 때문에 플랫폼에 설정된 환경을 그대로 이용해야 한다.
가격 면에서는 프리티어만 사용해봐서 잘 모르겠지만, heroku가 AWS 보다 절대 저렴할 수 없다고 한다. 왜냐하면 heroku는 AWS위에서 돌아가고 있기 때문에..
여담으로 AWS 프리티어가 만료된지 모르고 한 반년 동안은 나도 모르게 돈을 내고 있었다
4. 후기
이 전까지 프로젝트랑 다른 점이라면 자바스크립트를 조금씩 사용해보았다는 점이다.
또 한가지, 이 전에 모달을 이용해 글의 상세내용을 보는 기능을 구현하기 위해서 ajax통신으로 백단에서
버튼을 클릭할 때마다 데이터를 가져왔었는데, 자바스크립트로만 쉽게 가능하다는 것을 알게 되었다.
5. 프로젝트
http://knulikelion.herokuapp.com/
KNU X LIKELION
Python 이라는 언어를 배우고 Django를 통해 웹서비스를 만들겁니다! 그 외에도 웹프로그래밍을 위한 HTML, CSS, JS 등을 배울 겁니다! :) 프로그래밍을 통해 우리의 삶을 바꾸는 도전을 합니다! 그 첫단계로 멋사에서 웹 프로그래밍을 배워 한 번쯤 꿈꿔왔던 자신의 아이디어를 실현합니다 :) 지루한 일상에서 벗어나 새로운 무언가를 찾고 있으신가요? 그렇다면 멋쟁이 사자처럼이 함께 도와드리겠습니다!
knulikelion.herokuapp.com
5. GIT
https://github.com/dheldh77/knu
dheldh77/knu
Contribute to dheldh77/knu development by creating an account on GitHub.
github.com
'Project' 카테고리의 다른 글
프로젝트 예시 (0) | 2022.04.07 |
---|---|
[프로젝트] 치매측정플랫폼 (0) | 2020.04.09 |
[프로젝트] SNS (0) | 2020.04.09 |
[프로젝트] 스마트 기저귀 (0) | 2020.04.09 |
[프로젝트] 어린이집 종합 플랫폼 (7) | 2020.04.09 |
댓글