목록개발공부 (12)
개발자의 logs
![](http://i1.daumcdn.net/thumb/C200x200/?fname=https://blog.kakaocdn.net/dn/VseB0/btrHfQVOw9M/PAompdjxCzjiiyF8C0sdd1/img.png)
노드메일러를 이용해서 이메일로 환영메세지 발송하는 기능을 개발중이였다 근데 갑자기!! Error: Invalid login: 535 5.7.1 Username and Password not accepted 에러?? 엥? 이메일 계정, 비밀번호 다 제대로 입력했는데 왜그렇지 하고 보니.. https://velog.io/@oeckikek/Nodejs-Error-Invalid-login-535-5.7.1-Username-and-Password-not-accepted-%EC%98%A4%EB%A5%98 [Nodejs] Error: Invalid login: 535 5.7.1 Username and Password not accepted 오류 Nodejs로 웹 개발을 진행하면서 nodemailer를 이용해 메일을 ..
![](http://i1.daumcdn.net/thumb/C200x200/?fname=https://blog.kakaocdn.net/dn/bjJQPC/btrG8JiaGOl/yvxtFCEnazNI7LFzAUKeK0/img.png)
얼마전부터 면접 스터디그룹을 만들어서 cs 공부를 하고있다 참가인원은 5명!! (나포함) 발표순서를 정하고 면접처럼 발표를 하는데, 매번 사다리타기를 했고 어느날부턴 하기 귀찮았다. 그래서 프로그램을 만들었다. (이유단순) 알고리즘을 설명하자면 0,5사이에서 랜덤으로 5명을 뽑고, 혹시라도 중복되면 리스트에 넣지않는다. 그리고 마지막으로 cs 발표를 하는사람에게 면접 질문을 할 사람을 지정해줘야 하는데, 그사람은 내 다음 발표자다. 그래서 인덱스로 다음 발표자를 면접관으로 지정하는 알고리즘을 추가해줬다. 생각보다 간단하다 알다싶이 난 그렇게 알고리즘 고수는 아니다!!!하하.. 이 블로그 글을 봐주는 사람들의 유익함을 위해 소스코드를 공개한다! member = ['김하연', '하율찬', '정오현', '이형..
![](http://i1.daumcdn.net/thumb/C200x200/?fname=https://blog.kakaocdn.net/dn/AmQ8q/btrGRkRh4l2/SkpHVGV6D57uqgSzJbKZl1/img.png)
소셜로그인을 구현하고, 계속해서 협업을 진행하던 도중, kakao와 naver 계정사용자들에게도 auth-middleware가 필요하다는 생각이 들었다. 스키마는 일반 user 스키마 한개, 소셜 user 스키마 한 개 따로 쓰고있었다. 고민하던 중 auth-middleware 를 두 개 만들면 되지 않을까? 생각했다. 하지만 auth-middleware를 두개 만들면 api에 middleware 두개가 주렁주렁 달리고, 에러가 많이 발생할 것 같았다. 그래서 하나의 middleware로 두 다른 성격의 유저를 받아 낼 수 있다면 좋지 않을까? 라는 생각으로 auth-middleware 폴더로 향했다. 도착. 와보니 미들웨어에서 findOne where 문으로 verify시킨 값에서 userId를 뽑아내..
![](http://i1.daumcdn.net/thumb/C200x200/?fname=https://blog.kakaocdn.net/dn/bPvZ7X/btrGtQDlZyl/XJl9cAh3VD0wsGm3h36km1/img.png)
위의 그림은 TDD의 개발주기를 표현한 것이다. 단계에서는 실패하는 테스트 코드를 먼저 작성한다. 단계에서는 테스트 코드를 성공시키기 위한 실제 코드를 작성한다. 단계에서는 중복 코드 제거, 일반화 등의 리팩토링을 수행한다. ❓ TDD가 무엇입니까? TDD란 Test Driven Development의 약자로 '테스트 주도 개발'이라고 합니다. 반복 테스트를 이용한 소프트웨어 방법론으로, 작은 단위의 테스트 케이스를 작성하고 이를 통과하는 코드를 추가하는 단계를 반복하여 구현합니다. 짧은 개발 주기의 반복에 의존하는 개발 프로세스라고 할 수 있습니다. 🍀 TDD 개발 방식의 장점에 대해 말하겠습니다. 먼저 첫번째로 보다 튼튼한 객체 지향적인 코드 생산이 가능합니다. TDD는 코드의 재사용 보장을 명시하므..
https://inpa.tistory.com/entry/EXPRESS-%F0%9F%93%9A-morgan-%EB%AF%B8%EB%93%A4%EC%9B%A8%EC%96%B4 [EXPRESS] 📚 morgan 미들웨어 💯 사용법 정리 morgan 모듈 morgan에 연결 후 포트에 접속하면 기존 로그 외에 추가적인 로그를 볼 수 있다. 위 코드를 실행하여 3000번 포트에 들어간 후 콘솔을 보면 아래와 같은 로그가 찍혀있는 것을 볼 수 있다. inpa.tistory.com 위 코드에서는 인수로 dev를 넣었는데 이 외에 combined, common, short, tiny 등을 넣을 수 있다. - 개발 환경에서는 dev를, 배포 환경에서는 combined를 이용하면 좋다. 출처: https://inpa.ti..
![](http://i1.daumcdn.net/thumb/C200x200/?fname=https://blog.kakaocdn.net/dn/cIADGS/btrzDPwqMvJ/O03VbUYKMYBfDiLMp8kuU1/img.png)
항해 99를 듣기위한 항해 99 웹개발 종합반 1~3주차를 지나 4주차에 접어들었다. 웹개발 강의를 수강한지 일주일이 안되었지만, 이제 어느덧 익숙해진 것 같다 며칠전까지만 해도 강사님 강의를 듣고 코드를 칠때 강의를 띄워놓고 따라쳤는데, 이제는 어느정도 외워서 코드창만 띄어놓고 친다 . ㅎㅎ 이번주는 본격 실습이다. 지난주까지는 하는 방법에 대해서 배웠다면(flask, 초기설정, get, post) 이번 주차에서는 실제로 실습하는 시간을 가졌다. (너무좋아) 역시 실습을 해야 본인의 지식이 되는 것을 다시한번 느꼈다. 실습 짱짱. 이번 주차 최종과제는 서울 날씨 api를 가져와서 지난 주차까지 만들었던 펜명록 페이지에 날씨를 실시간으로 가져다 놓는 것이었다. 아래는 완성 예시페이지. 이건 숙제를 완성한..