nodejs
-
Nodejs 18버전에서 Fetch 기능이 포함됩니다소소한 IT 이야기 2022. 2. 7. 17:36
지금까지 'Request' 패키지가 가장 유명한 패키지였으나, 결국 Deprecated 패키지로 변경되면서, 사람들은 대안을 찾아야 했습니다. 저의 경우에는 예제 코드에서 자주 보이던 Axios를 처음에 선택할까 하다가 Reddit에서 본 한 댓글 때문에 'Got' 패키지를 사용하고 있습니다. 그때 그 댓글이 '쿨한 사람들은 'Got' 패키지를 쓴다더라~' 하는 댓글이였는데 추천수도 꽤 되었고, 결론적으로는 Github의 README.md 문서도 꽤나 마음에 들어서 결국 'Got' 패키지를 선택했습니다. 이후로 'Reqeust' 패키지로 작성한 코드들을 마이그레이션 하는 작업들을 진행하였고, 지금 제가 작성하는 대부분의 코드들도 'Got' 패키지를 사용하고 있습니다. 그런데 9일전 Node.js 18 버..
-
Nodejs AWS S3 버킷의 폴더 리스트 가져오는 방법프로그래밍/JavaScript 2020. 10. 13. 15:15
AWS와 Nodejs로 작업하던 도중에 AWS S3 스토리지에 포함된 폴더명들의 리스트들이 필요하다는 것을 깨달았습니다. 바로 AWS의 공식문서를 확인해보았으나 객체로 만들어주는 listObjects 메소트만 있고 저는 배열로 만들고 싶어서 코드를 조금 수정해보았습니다. 이런 식으로 프로그래밍 언어의 목록이 쭉 나열되어있고, 이 많은 폴더명들을 (AWS 기준에선 폴더라고 말하지 않는다고 합니다) 배열로 만들고 싶었습니다. let params = { Bucket: '버킷이름', Delimiter: '/', Prefix: 'devicon/' } s3.listObjects(params, function (err, data) { if(err)throw err; let languageArray =[]; for(l..
-
Nodemon delay로 인한 Express.js & React.js 서버 문제 해결소소한 IT 이야기 2019. 11. 11. 13:03
NPM 패키지인 reactjs-express-generator에서 passport.js로 인증을 넘기려고 하는데 지속적으로 서버가 재 구동되는 문제 때문에 OAuth Token을 전송받지 못하여 인증 시스템이 작동하지 않는 문제가 발생하였습니다. 처음에는 reactjs-express-generator 자체의 문제인줄 알고 Github의 Issue 항목에도 글을 남겨보고 Stackoverflow도 검색해보았으나 해당 항목의 문제점이 어디서 발생하는 것인지 찾기 힘들었습니다. 그래서 reactjs-express-generator를 사용하지 않고 다른 방법을 찾아볼까도 생각했지만 혹시 Node.js 앱을 구동하는 Nodemon에서 문제가 발생할 수 있지 않을까 하는 생각이 들었습니다. 왜냐하면 웹사이트에서 어..
-
[개발일지] NodeJS 포트폴리오 웹앱 구조 개선 계획소소한 IT 이야기 2018. 10. 31. 11:43
어제 작성하던 글이 임시저장이 안되어서 다 날아가버리는 바람에 다시 쓰게됬네요ㅠㅠ. 현재 개발하고 있는 NodeJS 포트폴리오 웹앱을 개선하는 동시에 기능추가를 하기 전에 간단히 정리를 해보기위해서 글을 작성하게 되었습니다. 우선 현재 웹앱의 모양은 아래와 같이 생겼습니다. 며칠동안 삽질해서 결국 라즈베리파이 서버에다 이식을 성공했고 Let's Encrypt 보안인증서도 발급받아서 주소창에 당당히 HTTPS가 표시됩니다. 추가로 가지고 있는 도메인에서 서브 도메인을 만들어 아파치의 내부 프록시 기능을 활용해서 내부 포트로 연결하는것도 성공했습니다. 이제 기능 추가 부분에 대해서 작성해보겠습니다. 우선 현재는 메인페이지에 오직 저의 포트폴리오 정보들만 노출되고 있습니다. 동시에 버튼들도 죄다 저와 관련된 ..
-
[Express] NodeJS CRUD 애플리케이션 개발프로그래밍/NodeJS 2018. 7. 13. 13:57
어찌되었건 소프트웨어의 대부분의 구조는 CRUD 구조라는것은 무시할수가 없는 부분이고 이걸 제대로 만들기는 쉽지 않다는 것을 알고 있다. 예로들어 단순한 한 페이지의 CRUD 기능을 가진 웹 앱은 개발하기가 어렵지 않다. 예제도 많고 자료들도 널려있기 때문이다. 다만 여기에 여러가지 기능이 삽입되고 복잡도가 높아질수록 처음부터 설계를 잘해야한다는 생각이 들게된다. 저번에도 Zzapcord를 만들때 이리저리해서 모양은 어~ 비슷하게 만들어졌네? 라고 생각했는데 추가 개발이 들어가려고 하니 설계를 잘못해서 다 엎어야하는 상황이 발생했었다. 게다가 내가 PUG 탬플릿 엔진을 잘 다루지 못하고 CSS에 약해서 ㅠㅠ 디자인에 너무나 많은 시간을 투자해버렸었다. Flex로 모양 만드는 방법이 추천되는것같던데 나중에..
-
Express Generator를 활용하여 Express 기본 앱 틀 생성하기프로그래밍/NodeJS 2018. 7. 10. 21:15
NodeJS 강좌를 들으면서 빼놓을수 없는것이 Express가 아닐까 생각한다. 이유로는 오픈되어있는 무료 강의중 하나인 생활코딩 강좌에서 NodeJS 수업을 하면서 빼놓지 않는것이 Express이기 때문이다. NodeJS의 플랫폼은 여러가지인것같지만 아직까지 그 차이점은 잘 모르겠다. Express 강좌를 듣기전에는 Inflearn에서 제공하는 React 강좌를 보았었고 생활코딩의 Node 구버전 강좌를 들어보면서도 Express를 통하여 CRUD 앱 및 보안, 로그인 기능을 구현해보았었다. 뭔가 나와 잘맞아서 개인 프로젝트를 진행해보기도 했었지만 생각보다 앱의 규모가 커짐에 따라 유지보수가 너무나 힘들어서 내버려두었다.. 한창 Discord가 유명할때 디스코드와 똑같이 구현해보겠다고 진행한 프로젝트인..
-
[Node.js 5강] Express 템플릿 엔진 Pug (Jade) Express-Template Engine Pug프로그래밍/NodeJS 2017. 11. 28. 16:17
본 강의는 생활코딩 강좌를 바탕으로 복습하며 진행되는 코드들을 재구성한것입니다. 일부 코드들의 경우 호환성의 이유로 원본의 강좌와 다를수 있음을 알려드립니다.NodeJS 6.11.0 LTS, Express 4.X 버전에서 완벽하게 작동하는것을 확인하였습니다. 이번 강좌에서는 Pug (구 Jade)을 사용하여 Express 앱내에서 웹페이지를 구현하지 않고 따로 탬플릿 엔진을 사용하여 구현하는 방법에 대해서 알아보도록 하겠습니다. 이 강좌를 진행하기 전에 NPM으로 pug 모듈을 설치해주셔야합니다. 생활코딩 강좌의 경우 Jade 기준으로 작성되어있지만 저작권 문제로 Jade가 Pug로 변경됨에 따라 NPM에서도 pug 모듈을 사용해주셔야 정상적인 값이 반영됩니다. 우선 전체적인 코드를 살펴봅시다.새로 추가..
-
[Node.js 4강] Express로 웹페이지를 표현하는 방법 How to Express Web Pages with Express프로그래밍/NodeJS 2017. 11. 28. 15:10
본 강의는 생활코딩 강좌를 바탕으로 복습하며 진행되는 코드들을 재구성한것입니다. 일부 코드들의 경우 호환성의 이유로 원본의 강좌와 다를수 있음을 알려드립니다.NodeJS 6.11.0 LTS, Express 4.X 버전에서 완벽하게 작동하는것을 확인하였습니다. 이번 강의에서는 Express 프레임워크에서 웹페이지를 구현하는 방법론에 대해서 알아보도록 하겠습니다. 프로그래밍이라는것이 그렇듯이 이렇게 구현하는 것이 답이라는 것은 아닙니다. 다만 코드의 가독성을 위해서 최대한 간결하고 읽기 쉬운 코드를 작성하는것이 좋은데 이를 위해서는 프레임워크 단위에서 제공되는 각종 기능들을 잘 활용하는것이 중요하다고 생각합니다. Express로 웹페이지를 제공하는 방법은 여러가지가 있지만 지난 2~3강에서 구현했던 방식의 ..