花几分钟实现一个下班公交的邮件订阅吧(抓包+node.js)!

前言最近暑期实习,公司上下班比较自由不需要打卡,有时候比较轻松下午五点半就可以回家。有时候等公交时间觉得有点浪费,所以想自己实现一个程序,如果公交到站时间大概十分钟的时候自动发邮件提醒我(上班的时候手机一般开勿扰,自己设置了只有类似电话、短信、邮件才会手机提醒),这样就可以直接搜索东西回家。 实现步骤抓包抓包工具(ios):Steam/HTTPS抓包 试用了高德地图、百度地图、...

Node.js之async 和 await 关键字及微任务和宏任务

async 和 await 关键字async 和 await 是 ES2017 中提出来的,async 和 await 两个关键字的出现,简化的 Promise 的使用。 async 关键字async关键字使用比较简单,所以 async 的使用注意以下三点即可 : async 用于修饰一个 functionasync 修饰的函数,总是返回一个 Promise 对象函数内的所有...

Node.js之ES6模块化及Promise对象

ES6模块化CommonJS 规范node.js 遵循了 CommonJS 的模块化规范。其中: 导入其它模块使用 require()方法模块对外共享成员使用 module.exports 对象 模块化开发好处模块化开发的好处有很多,其中: 实现了在JS文件中引用其他文件避免命名冲突的问题大家都遵守同样的模块化规范写代码,降低了沟通的成本,极大方便了各个模块之间的相互调用只...

基于Prometheus的node服务监控

1 背景介绍对于服务的监控,概括来说需要采集sdk、上报、存储、图形化展示、监控报警。先介绍2个工具, Prometheus是一套成熟且流行的系统和服务监控系统,它几乎满足了监控的所有能力。 Grafana, 它和Prometheus相比更侧重的是图形化展示,有强大、灵活的仪表盘体系,我们会把基于Prometheus收集的数据作为数据源导入到Grafana,关于他们更详细介绍可...

封装一个koa分布式锁中间件来解决幂等或重复请求的问题

在后端并不是写完一个接口的业务逻辑就能投入使用的,接口的优化更是一个难点与麻烦之处(下面的内容我们不考虑前端的处理,因为不能完全靠前端,前后端都需要做自己的处理工作)1.幂等性:所谓幂等性是指一个接口不论发送多少个相同请求,最后都会产生相同的结果 例如: 根据Restful API接口规范:把CRUD分为get(查询),post(新增),delete(删除),put(修改) ...

讲讲存档文件的包装设计

楔子为什么讲这个?很简单,因为做需求碰到了,没找到什么特别有用的最佳实践,这里分享一些自己的思路。 需求背景是最近在撸的一个编辑器,编辑器基于 Electron 实现,桌面端编辑类的软件有个存档就很正常了。 存档文件 存档文件十分常见,最常见的如: ZIP、RAR、TAR 等压缩包PS 、AI、XD、PDF、SKetch 等设计文件DOCX、XLSX、PPTX 等 offic...

Node.js精进(6)——文件

文件系统是一种用于向用户提供底层数据访问的机制,同时也是一套实现了数据的存储、分级组织、访问和获取等操作的抽象数据类型。   Node.js 中的fs模块就是对文件系统的封装,整合了一套标准 POSIX 文件 I/O 操作的集合,包括文件的读写、删除、遍历、重命名等操作。   fs 模块中的所有方法都提供了三种形式:回调、同步和 Promise ,其中 Promise 是在 N...

模拟commander获取node命令行参数?

theme: awesome-green持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第28天,点击查看活动详情 前言 开开心心学技术大法~~ 来了来了,他真的来了~ 正文node原生获取cli参数node原生获取cli参数?什么意思? 假设有以下node命令 node indexjs -s hh -t yes这里的-s hh 与-t yes就是通过no...

在Node的Express框架中使用Mysql数据库

highlight: a11y-light theme: nico持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第13天,点击查看活动详情 相关简介 前言众所周知,在Web服务端开发中,操作数据库时非常重要的一环,甚至前后端互相打趣的时候当后端说前端是切图仔的时候,前端会反击道说后台开发就是一CRUD仔,而CRUD就是对应数据库的增删改查操作,而Mysql...

三篇文章让你彻底搞懂nodejs中的stream(中)

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第28天,点击查看活动详情 在 http get 请求中使用 streamresponse 常用的 API 有 send end 等,如上面代码中的 res.end(data) ,但是 response 也是一个 stream 对象。通过上一章管道换水的图,以及 source.pipe(dest) 模型,res...