안녕하세요! 저는 출석체크 자동화 프로그램 배포하고 학생들이 잘 사용하고 있다고 개발한 당시에 블로그 포스팅을 한 줄 알았어요ㅜㅜ 봄학기가 지나서 이 프로그램이 더이상 사용되지 않아서 서버 종료시키려고 하는데 포스팅이 없더라구요!! 그래서 출석체크 자동화 프로그램 후기 올릴 겸 어떻게 배포됐는지 보여드릴게요ㅎㅎ 프로그램 실행 http://13.209.15.22:3000/ ⬆️위 링크를 타고 들어가시면 다음과 같은 화면이 나옵니다. 여기에 본인 이름과 전화번호, 현재 듣고 있는 반을 선택하면 인증 문자가 날아옵니다! 잠시 구글 스프레드시트(본 프로젝트에서 DB로 사용하고 있음)를 바꿔서 제 폰으로 오도록 해볼게요ㅎㅎ 좌측 화면과 같이 문자가 오면 STEP-UP 출석 확인 페이지 인증번호 칸에 인증번호를 입..
오늘은 twilio 미들웨어를 업그레이드 한 후, 계정을 승인받았던 과정에 대한 이야기입니다. 출석체크 자동화 프로그램을 사용하기 위해서 본격적으로 twilio를 쓰기 위해서는 계정을 업그레이드 해야했다. 무료 계정에서는 내 핸드폰 번호로 얼마든지 메세지를 보낼 수 있었다. 하지만 불특정 다수에게 문자 메세지를 보내기 위해서는 계정을 업그레이드 해야한다. 그래서 twilio 홈페이지에 들어가서 $20 을 지불하고 계정을 업그레이드했다. 업그레이드 하고 몇 분 지나고나서 twilio로 문자 보내는 기능이 먹통됐다. 에러 메세지는 Permission denied 였다. 당황스러워서 구글링 하던 도중 돈을 더 내니까 잘됐다는 stackoverflow의 글을 확인했다. twilio의 계정을 upgrade할 때는..
안녕하세요! 오랜만에 개발일지를 작성하네요ㅎㅎ 제가 만든 프로그램이 이사님께서 회사에 유용한 프로그램이니 배포하면 좋을 것 같다고 말씀해주셔서 이제 배포해보려 합니다~~! NodeJS 교과서라는 책에서 배웠던 내용을 바탕으로 배포해보겠습니다! (두근) 1. [개발] morgan 수정 morgan 미들웨어가 개발용으로 되어있기 때문에 배포용으로 바꿔줍니다ㅎㅎ 이때 process.env.NODE_ENV를 활용하면 배포 환경인지 개발환경인지 판단할 수 있습니다. 2. [개발] Express-session 수정 배포환경일때 https 적용을 위해서 proxy와 cookie.secure를 true로 바꿔줬습니다! 3. [개발] pm2 배포할때 서버가 중간에 끊어지면 안되기 때문에 pm2를 사용하도록 하겠습니다. ..
오늘 할 일 1. 인증 번호 생성하기 2. twillio 패키지 이용해서 문자 보내기 1. 라우터 정리 출석부를 불러오는 기능에만 집중해서 하다보니 초기 설정과 달리 인증과정을 생략한채 라우터를 설정했습니다. 인증과정이 있다고 가정하고 다시 라우터를 설정하겠습니다. -> 완료! ( 앞에 포스팅했던거랑 살짝 달라졌어요. 자세한건 github 참고,, ) 2. 인증했을 경우, 다시 메인페이지로 alert와 함께 보내기 문제 : send를 사용하면.. alert는 되는데 메인페이지로 가진 못하고, redirect를 사용하면 메인페이지로 가는데 alert가 안됩니다ㅠㅠ 해결 : 안되는줄 알았는데 되더라구요! 저는 노드 개발을 하면서 쿼리처리도 못하는 바보였습니다!^^ res.redirect 할때 뒤에 쿼리를 붙..
안녕하세요! 오늘은 구글스프레드 시트 관련 백엔드 작업을 끝내보겠습니다.....! 1 : 학생의 전체 출석률 출력하기 2 : 학생의 1주차~11주차의 출석률 출력하기 1. 전체 출석률 출력하기 express-session과 nunjucks의 res.locals를 이용해서 개발할 예정입니다! 중간에 2번 에러가 났었지만 금방 해결했습니다. 생각보다 빠르게 성공했습니다! /auth/pnum에서 req.session 활용해서 사용자 정보가 들어가있는 행의 값을 전달 /show에서 req.session으로 받은 정보를 바탕으로 출석부 데이터를 받아온뒤 가공하고 res.locals로 전달 show.html에서 넌적스로 전달받은 값을 나타냄 2. throw new Error('This cell ..
안녕하세요! 오늘은 백엔드 구현와 프론트엔드 수정을 해보겠습니다. 1 : 학생의 데이터가 어느 행에 위치해있는지 알아내기 2 : 학생의 전체 출석률 출력하기 3 : 학생의 1주차~11주차의 출석률을 세션에 담기 1. 개발할 기능들을 라우터, 미들웨어, 컨트롤러로 나누기 오늘 할 일들을 처리하려면 그 전에 라우터, 미들웨어, 컨트롤러에 어떤 기능들을 구현할 것인지를 정해야한다. 그냥 개발하는게 아니라 나름대로의 요청을 어떻게 받을지 계획해야한다. 라우터: 엔드포인트와 해당 엔드포인트에서 실행돼야 할 로직을 연결해주는 역할 컨트롤러: 미들웨어의 일종이지만 메인 로직을 담당하므로 분리해서 관리 미들웨어: 메인 로직의 컨트롤러 앞뒤로 추가적인 일을 담당 웹 서비스 개발이 처음이라 구조를 이상..
오늘은 백엔드 개발을 시작합니다. 오늘 할 일 : googleapis 모듈 활용해서 구글 스프레드랑 백엔드 연동하기 1. NodeJS가 css 파일 못 찾음 예전에 개발 환경은 설정했었기때문에 구글 스프레드만 연동하면 될거라 생각했습니다... app.js를 실행하고보니 css 파일을 못찾아서 메인 화면이 깨져있었습니다. express와 css를 연동하는 방법을 열심히 구글링 했습니다. 찾아보니 일반 html에 link를 사용하면 css가 안불러와진다는 사실을 알았습니다. 근데 왜 부트스트랩은 잘 됐을까요????? 이유는 이따가 찾기로 하고 일단 이 현상을 해결하겠습니다. public이라는 폴더를 만든다. public 폴더 안에 css 폴더를 만들고 css 파일을 만든다. server.js 파일에서 app..
오늘 할 일 : frontend main.html, show.html 만들기 원래는 로그인 페이지를 따로 구현하려했는데 로그인을 따로 구현하기보다는 한 페이지 내에서 모든걸 해결하는게 낫다고 판단했습니다. 그 이유는 로그인을 통해서 할 수 있는 서비스가 현재는 출석률 확인밖에 없는데 그 작업은 로그인을 하지 않아도 충분히 해결할 수 있기 때문입니다. 이름, 전화번호, 인증번호 입력 부분은 부트스트랩을 이용해서 클릭할 경우 디자인이 변경되도록 설정했습니다. 프론트엔드는 디자인 측면에서 고민했던 부분은 많았지만 구현이 어려웠던 부분은 없었습니다. 심플하게 제작해야 깔끔하고 예쁘게 나와서 최대한 깔끔하게 디자인했습니다. main.html에서 인증을 완료할 경우 show.html로 넘어가면서 자신의 출석률을 알..
- Total
- Today
- Yesterday
- 스페인
- 자바스크립트
- Process
- 운영체제
- 개발일지
- AWS
- 개발
- JavaScript
- MySQL
- Signal
- 혼공학습단
- 혼공단 SQL
- C++
- 혼공단
- googleapis
- 백엔드 개발
- 개발 프로젝트
- JS
- 혼공단 9기
- SQL
- 리눅스
- 혼공
- 프로젝트
- Linux
- 백준
- nodejs
- 스페인 교환학생
- 교환학생
- 공룡책
- 깃 예제
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |