Programming (31) 썸네일형 리스트형 [severless] 학교 공지사항 크롤러 (Puppeteer + AWS Lambda + DynamoDB => slack) 지난 글에서 작성한 [웨일 확장앱 개발기]도 그렇고 이번에도 학교랑 관련된 개발을 진행해보았다. 일정한 시간 간격으로 크롤링해서 학교 공지사항을 알려주는 봇이다. 크롤링으로 많이 사용하는 언어는 python이라고하는데 puppeteer를 마침 써볼 일이 생겨서 javascript로 개발을 했다.먼저, 이 크롤링 봇의 결과물은 다음과 같다. 학교 친구들이랑 같이 사용하고있는 텀 프로젝트용 Slack에 webhook을 만들어서 정해진 시간에 새로운 글을 메세지로 보내줄 수 있도록 했다.시작하기전에!1. node.js 버전 12.x2. AWS 계정 생성 후, AWS Configure 등록하기- free-tier 범위내에서 충분히 커버가능하다.3. puppeteer, cheerio에 대한 기본 지식프로젝트 세팅.. [퀵숙] 웨일 확장앱 만들어본 후기(+ 크롬 익스텐션) 난 원래 크롬 브라우저를 매우 애용했었다. 근데 웨일을 쓰는 친구가 강력 추천을 하길래 써보게 되었다. 생각보다 좋잖아?! 라는 생각에 웨일에 점점 익숙해지게 되었다. 그러던중, 웨일 확장앱 개발이라는 사이트를 우연히 발견하게 되었다. 뭘 만들어볼까.. 하다가 울학교 사이트 모아주는 확장앱이 있으면 좋겠다싶어서 만들었다. (난 이미 졸업했는데...ㅋ) 사실 학교 공지사항을 놓치거나 꿀정보가 담긴 사이트를 모르는 학생들이 워~~~~~낙 많아서... 필요한 것 같긴했다. 웨일 개발자센터 웨일 개발자센터 Move the web, forward. developers.whale.naver.com 소개에 보면, 크롬 브라우저의 익스텐션을 거의 그대로 가져와 웨일 확장앱으로 등록할 수 있다고 되어있다. 나는 웨일을 .. [DefinitelyTyped] 내가 쓰고있는 패키지의 타입 고치기! 최근에 오픈소스 컨트리뷰션에 참가하게되면서 TypeScript 번역을 집중적으로 하고있다. (관련해서는 활동이 끝나면 글을 써볼까 한다.) TypeScript로 개발하다보니, type definition은 이제 나에겐 없어서는 안될 존재가 되었고, 마침! 사용하던 패키지에서 타입을 고쳐야함을 발견했다. node-schedule이라는 패키지를 사용하고있는데 워낙 패키지가 업데이트도 느리고 (글 쓴 시점 기준, 가장 최근 버전 업데이트가 2019년 2월...) PR과 issue는 쌓여가는데 메인테이너들이 잘 안봐주는 것 같다. 아무튼, 이걸 쓰다가 타입을 고쳐야함을 알게되었는데, 타입을 고쳐 PR을 받아내기까지에는 시간이 걸릴 것 같아서 해당 코드에서는 일단 내가 타입을 직접 따로 정의해서 사용했었다. 그렇.. [Appium] 모바일 테스트 자동화, 가능할까? 오늘은 Appium을 사용해보기위해 삽질한 경험에 대해서 글을 작성해보았다. Appium을 공부할 일이 생겨서 오늘부터 자료 조사를 조금 하고있는데, 한글로 된 자료가 거의 없어서 작성해보았다. 혹시나 Appium으로 테스트 자동화를 도입해보고 싶은데 어디서부터 시작해야할지 모르겠다 ㅠㅠ 하는 사람들에게 도움이 되길 바란다. Appium 공식 문서에도 나와있는 getting-started 부분을 따라해보았다. Appium이란? Appium은 iOS 시뮬레이터, Android 에뮬레이터, 실제 디바이스들(iOS, Android, Windows)의 테스트를 지원한다. 이번 글에서 시도해볼 환경은 Android 에뮬레이터이다. Appium은 Node.js로 구현된 Web Server인데 이런 역할들을 해준다... [오픈소스 입문] 누구나 따라할 수 있는 오픈소스 컨트리뷰터 되기! 오픈소스에 기여하는 방법은 정말 다양하다. 계속 해봐야 실력이 늘어난다고하는데 기여하는게 사실 쉽지가 않다. 그래서, 이번 포스팅에서는 어디서부터 시작해야할지 모르겠는 사람, 오픈소스 기여 방법을 잘 모르는 사람들을 위해 아주 아주 쉬운 가이드를 하나 작성해보았다. first-contributions firstcontributions/first-contributions 🚀✨ Help beginners to contribute to open source projects - firstcontributions/first-contributions github.com 우리는 해당 레포에 참여해볼 것이다. 1. 위 레포를 Fork 하기! fork 버튼을 누르면, 내 github 계정에 현재 레포의 복사본을 생성해준.. Angular 시작하기! Angular는 다른 프레임워크 (React, Vue)와는 다르게 정보가 많이 없는 것 같다. 그래서 시간날 때마다 하나씩 써보려고한다. 그 첫번째 글은 Angular 시작하기!이다. Angular 설치하기 Angular 공식문서 Angular angular.io 공식문서를 그대로 따라해도 좋고, 이 글을 참고해도 좋다. 현재 이 글 작성일 기준, Angular의 버전은 v10.0.7 (stable)이다. 터미널을 열어서 Angular CLI 설치하자. npm install -g @angular/cli 프로젝트를 시작할 폴더를 만들고 Application을 설치해보자. ng new 라는 명령어와, 프로젝트 폴더명 angular-playground 라고 입력해보자. 이때 폴더명은 본인 마음대로 바꿔도 된다.. [Node.js][Log] morgan으로 http request 로그를 남겨보자 이전 글에서 winston으로 log를 기록하는 방법에 대해 글을 써봤다. 이번엔 winston과 morgan을 사용해서 어떻게 http request를 기록할 수 있는지에 대해 작성해보았다. winstonwinston! winstonjs/winstonA logger for just about everything. Contribute to winstonjs/winston development by creating an account on GitHub.github.comwinston은 이전 글에서 사용법에 대해 자세하게 적었으니 기본 세팅만 해두고 넘어가려고한다. 혹시 이전 글을 못봤다면, 여기서 볼 수 있다. npm install --save winstonlogger 생성하기// src/logger.ts.. [Node.js][Log] console.log말고 winston으로 log를 기록해보자! 항상 console.log에 익숙해져 있었다. 사실 혼자서 무언가를 만들다 보면 (대부분 작은 규모이다 보니) 콘솔에서만 찍어보고 직접 남겨본 적이 없었다. 하지만 대형 프로젝트에 참여하게 되면서 logging에 대해 배우게 되었다. 큰 프로젝트이다 보니 왜 로그를 남기는지 조금은 알 것 같았다. JS에서 가장 많이 쓰이는 logging 모듈인 winston에 대해서 글을 작성해보았다. Winston 설치하기현재(20년 06월) 기준으로 winston의 가장 최신 버전은 3.2.1이다. 버전 3이 나오면서 버전 2와 다른 점이 많으니, 처음 시작하는 사람들이라면 3 이상 버전을 설치하는 걸 추천한다. (2.@ 버전도 사용해봤는데 공식 문서가 있음에도 불구하고 잘 안 되는 것들이 몇 가지 있었다.)[win.. 이전 1 2 3 4 다음 목록 더보기