NodeJs简明教程(3)

2019-07-19
阅读 4 分钟
2.1k
The HTTP interfaces in Node.js are designed to support many features of the protocol which have been traditionally difficult to use. In particular, large, possibly chunk-encoded, messages. The interface is careful to never buffer entire requests or responses — the user is able to stream data.

NodeJs简明教程(2)

2019-07-19
阅读 1 分钟
1.8k
NodeJs简明教程将从零开始学习NodeJs相关知识,助力JS开发者构建全栈开发技术栈! 本文是NodeJs简明教程的第二篇,将介绍NodeJs在不同操作系统下的安装操作。 官网 [链接] 由于国内的网络原因,官网可能访问速度有点慢,推荐直接使用淘宝镜像源下载 淘宝镜像源 [链接],这里是所有版本/所有操作系统的NodeJs安装包。 本...

NodeJs简明教程(1)

2019-07-18
阅读 3 分钟
2.5k
As an asynchronous event driven JavaScript runtime, Node is designed to build scalable network applications. In the following "hello world" example, many connections can be handled concurrently. Upon each connection the callback is fired, but if there is no work to be done, Node will sleep.

手撸一个JS深拷贝函数

2019-07-16
阅读 2 分钟
6.4k
JS深拷贝概念并不新鲜,但是真正要真正理解原理还是有点难度的。这也是JS语言精粹之一吧。 例子 {代码...} 因为JS对于对象的赋值使用的是浅拷贝,其中一个实例变量的赋值会影响到所有指向该对象的变量 解决方案 粗暴好使的 JSON.parse(JSON.stringify),缺点: 丢失成员函数 Object.assign,缺点:只有第一级深拷贝,子级...

微信小程序数据字段大小写导致的坑

2019-07-16
阅读 1 分钟
5k
这两天在开发微信小程序登录以及加解密的时候,因为数据大小写的问题被坑了一把。 场景 小程序调用wx.login时会获得code,传输给服务端可以得到openid,unionid(绑定了开放平台),session_key 小程序调用getUserInfo会获得encrypted_data,iv,解密后得到unionId,openId unionid和openid这两个场景键名大小写是不同的 例子 ...

百度分享不支持HTTPS的解决办法

2019-07-12
阅读 4 分钟
4.4k
这两天接入文章页百度分享时发现本地可以显示分享按钮,但是发布到线上之后发现分享按钮不会展示。打开浏览器调试工具发现,HTTPS下的百度分享资源未加载,起初以为是HTTPS站点下面使用的是HTTP协议的链接,但是查看源代码发现是自适应协议的, 所以问题应该是处在百度这里。

js使用AES加密PHP使用Openssl解密

2019-07-11
阅读 2 分钟
7.6k
后端语言加解密已经有很成熟的方案了,前端的话Google之前出过一个crypto-js,为浏览器的js提供了加解密方案。今天一起来了解一下基于AES的前后端加解密流程。

Vue Webpack 重写cookie路径

2019-07-10
阅读 1 分钟
5.1k
项目开发阶段使用的API路径是 /admin,部署到线上是/,所以在开发过程中需要在proxyTable进行反向代理配置,将路径重写掉,路径重写代码如下(config/index.js):

新版druid监控页面SQL不显示问题

2019-07-10
阅读 2 分钟
15.1k
启动应用之后访问druid监控页面,除了SQL相关的页面都正常工作,但是访问SQL监控页面时没有看到SQL记录。查看监控页面 数据源 菜单发现 filter类名 显示的是空,估计是filter配置有问题导致。

解决数据库N+1查询问题

2019-06-18
阅读 2 分钟
5.6k
需求 数据表如下: department表 |id|name| user表 |id|name|department_id| 需求是得到以下结构的数据: {代码...} 方法一:循环查询 查询用户列表 循环用户列表查询对应的部门信息 {代码...} 该方法查询次数为:1+N(1次查询列表,N次查询部门),性能最低,不可取。 方法二:连表 通过连表查询用户和部门数据 处理返回数...

swoole通用协程池的实现

2019-05-20
阅读 3 分钟
4.3k
今天看了下swoole相关文档,用PHP也实现了一个,由于swoole没有golang的select,所以实现的有点简单,但是实用性还可以,通过工厂函数实现了通用性。

在Swoole环境下运行注入Yii2框架的thrift应用

2019-05-19
阅读 1 分钟
3.5k
前两天发布了使用swoole来运行thrift应用,项目虽然可以运行起来,但是周边的生态(如缓存,ORM,日志等等)并没有跟上,实际上开发体验比较差。周末研究了一下,把Yii2框架集成到了thrift应用上。

在Swoole上运行yii2应用

2019-05-19
阅读 1 分钟
5k
Yii2:业界著名的开发框架,完美的OOP设计以及组件化开发思想保证了框架的扩展性。Swoole:面向生产环境的 PHP 异步网络通信引擎。使 PHP 开发人员可以编写高性能的异步并发 TCP、UDP、Unix Socket、HTTP,WebSocket 服务。

使用swoole运行thrift服务

2019-05-16
阅读 1 分钟
4.1k
Swoole:面向生产环境的 PHP 异步网络通信引擎使 PHP 开发人员可以编写高性能的异步并发 TCP、UDP、Unix Socket、HTTP,WebSocket 服务。Swoole 可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。 使用 PHP + Swoole 作为网络通信框架,可以使企业 IT 研发团队的效...

在事务中使用闭包优化代码结构

2019-05-16
阅读 1 分钟
2.8k
匿名函数(Anonymous functions),也叫闭包函数(closures),允许 临时创建一个没有指定名称的函数。最经常用作回调函数(callback)参数的值。当然,也有其它应用的情况。

使用systemd来构建你的服务

2019-02-28
阅读 3 分钟
8k
Systemd 服务是一种以 .service 结尾的单元(unit)配置文件,用于控制由Systemd 控制或监视的进程。简单说,用于后台以守护精灵(daemon)的形式运行程序。

NestJs简明教程

2018-10-22
阅读 4 分钟
8.9k
看遍了koa,express以及其衍生框架之后,发现NodeJs的Web开发框架似乎跳不出一个固定的模式,这个问题也困扰着PHP,那就是能不能通过注解来简化开发?实际上PHP是有“注解”的,不过是通过反射读取注释实现,非常低级。今天要讲的是一个划时代的NodeJs Web框架——nestjs

一起学context(一)——上下文值传递

2018-10-17
阅读 2 分钟
3.1k
示例代码为一个简单的http服务,流程是登录之后会跳转首页,首页通过guard中间件进行鉴权。当然,示例代码未做其他诸如连接数据库之类的处理,这不是本文的重点。守卫函数读取cookie之后将cookie值写入context并向下传递,在整个请求中可以说是“透明”的。当访问到需要保护的接口时检测到没有提供cookie,则直接终端请求...

io.Reader游标引发的血案

2018-10-11
阅读 2 分钟
4.8k
线上运行了一个图片合成程序,默认的小程序二维码中奖是小程序LOGO,不满足需求,所以将微信小程序二维码和用户头像合成在一张图片。由于微信图片有时候返回的Content-Type不对应(比如内容是PNG的,头确是image/jpeg)所以使用jpeg/png/gif的顺序进行图片数据解析,哪个成功就返回解析结果。

使用Hashids来保护你的数据库主键

2018-07-20
阅读 5 分钟
6.6k
数据库主键一般是有序自增主键,极易被爬虫抓取数据,作为应用开发者,这是不应该的,你辛辛苦苦收集的数据转眼之间被其他人给抓取了,是不是很大的损失?

PermissionScope Swift4 兼容问题

2018-06-14
阅读 1 分钟
2.1k
PermissionScope is no longer supported. Please use an alternative if you need updates for newer iOS 10 and 11 APIs!

使用travis进行持续集成golang项目

2018-04-10
阅读 2 分钟
4.7k
虽然golang的工程工具已经非常完善了,比如测试、代码格式化等等。但是如果开发library开源到github的话,这些东西是可以使用自动化工具完成的,那就是 travis

log.io-ts - 基于nodejs+socket.io的实时日志系统

2017-09-29
阅读 1 分钟
8.1k
使用nodejs构建web应用非常方便,但是带来的日志管理问题却不太好搞,因为一般程序日志都是写本地文件中的。当然,如果您不闲折腾使用rsyslog去做日志集中管理也是可以的,不过配置略麻烦。今天要介绍的是一个基于nodejs开发的集中式日志管理系统。