전체 글845 Node.js Middleware 구현 및 등록하는 방법 Node.js에는 미들웨어(Middleware)라는 것이 존재한다.단어의 뜻 그대로 요청 중간마다 거쳐가는 지점이라고 생각하면 이해가 쉬울 것 같다.예를 들어 /test 로 요청을 했을 때 Main -> test로 들어가는 일반적인 구조가 있다고 가정해보자.여기에 middle이라는 미들웨어를 추가하면 Main -> middle -> test 의 순서로 요청이 들어간다.미들웨어는 상당히 유용하게 사용할 곳이 많다.예를 들어 사용자의 요청이 들어올 때마다 로깅하는 시스템이 필요하다고 가정해보자.먼저 middle.js라는 파일을 하나 생성한다. const test = (req, res, next) => { console.log("Middle"); next();} export default test; 그리고 위.. 2018. 7. 9. GraphQL MySQL로 API서버 구축 방법 어제부터 쭉 GraphQL을 보고 있다.나름 매력적이라고 느껴지긴 하는데, 음..아직 잘 모르겠다.실 서비스에 적용해봐야 뭔가 확실히 감이 올 것 같은데 아직은 테스트 케이스로 작성하다보니확실하게 와닿지가 않는다.튼, 오늘 공부한 내용을 기록한다.오늘은 GraphQL을 통해 API구축을 해봤다. 전체 목록 조회/단일 조회/수정/삭제/삽입 총 5가지의 기능을 구현했다.또한 데이터베이스는 MySQL을 사용했다. 또한 Node.js에서 MySQL과 통신하기 위한 라이브러리는 Sequelize를 사용했다.이 부분에서 예제가 그리 많지 않아서 살짝 고생했다.먼저 폴더를 생성하고 yarn init후, 아래의 라이브러리를 설치해준다. "dependencies": { "graphql-yoga": "^1.14.10", .. 2018. 7. 2. Github Updates were rejected because the remote contains work that you do 오류 해결방법 깃허브로 들어가서 repository를 생성하고 리모트 등록 후 푸시를 요청했다.그런데 아래와 같은 에러가 발생하면서 제대로 동작하지 않았다. ➜ graphql git:(master) git push -u origin masterTo https://github.com/teamhide/graphql_mysql.git ! [rejected] master -> master (fetch first)error: failed to push some refs to 'https://github.com/teamhide/graphql_mysql.git'hint: Updates were rejected because the remote contains work that you dohint: not have locally. .. 2018. 7. 2. GraphQL로 API서버 만들어보기 최근에 많은 API서버들을 만들어보면서 어느정도 감을 익히고 있었다.대표적으로 Django의 Restframework로 주로 작업을 했었고, Nodejs를 통해서도 Restful한 API서버를 제작했었다.그러다가 페이스북에서 만든 GraphQL이라는 것을 알게 되었고 공부할 겸 사용해보기로 했다. 먼저 GraphQL의 장점부터 살펴보자.보통 API서버를 구축한다고 하면 Restful API서버를 구축한다. 상당히 편리하게 접근할 수 있지만정보를 요청할 때 Over-fetching, Under-fetching이 발생한다. Over-fetching이란, 예를 들어 1번 사용자의 username이 필요하다고 가정해보자./users/1로 요청하게 될텐데, 여기에 따른 Response는 username뿐만이 아니.. 2018. 7. 1. 맥북(OS X) 동영상 플레이어 IINA 다운로드 방법 오늘은 맥북(OS X) 동영상 플레이어 중 하나인 IINA에 대해 포스팅하겠습니다. 윈도우를 사용하시던 분들은 동영상 플레이어로 아마 곰플레이어를 가장 많이 사용하실 겁니다.그래서 처음 맥을 접할때도 곰플레이어를 찾아보고 계실텐데요.맥에서는 곰플레이어를 자주 사용하지 않습니다.윈도우만큼 호환성이 높지도 않고 그보다 좋은 플레이어들이 많기 때문인데요.저는 이전에 2015년형 맥북을 사용할 당시에는 무비스트(Movist)를 사용했었습니다.그러다가 이번에 신형 맥북을 구입하면서 다시 한번 동영상 플레이어를 찾아보게 되었고,IINA라는 상당히 괜찮으면서 무료로 사용이 가능한 프로그램을 찾았습니다.검색해보니 많은 분들이 사용하고 계시더라구요.먼저 아래의 사이트로 들어갑니다. https://lhc70000.gith.. 2018. 7. 1. 'User' object has no attribute 'has_module_perms' 오류 해결 방법 Django에서 유저 모델을 커스텀하는 도중 에러가 발생했다.나는 조금 더 유연하게 내 입맛대로 만들고 싶어서 AbstractBaseUser를 상속받아서 작업하고 있었는데,createsuperuser로 관리자 계정을 생성하고 어드민 패널로 로그인을 진행했더니 'User' object has no attribute 'has_module_perms' 와 같은 에러가 발생했다.말 그대로 has_module_perms가 없다는 뜻이므로 해당 함수와 관련된 정보들을 유저모델에 추가해주면 된다. def get_full_name(self): pass def get_short_name(self): pass @property def is_superuser(self): return self.is_admin @propert.. 2018. 6. 29. 이전 1 ··· 26 27 28 29 30 31 32 ··· 141 다음