自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

心酸程序员的博客

程序员的心酸,你不懂。

  • 博客(7)
  • 收藏
  • 关注

原创 平稳切换nginx版本

在说明如何稳定安全地升级、降级已经在运行中的nginx之前,需要先了解nginx支持的几种信号。以下几种是主进程可以接收的信号,注意worker进程也可以接收一些信号,但和主进程的信号处理机制有些不一样,且主进程支持的信号worker进程不一定支持。具体可见man nginx。SIGINT, SIGTERM 立即杀掉nginx主(即所有进程)SIGQUIT gracefu

2017-10-13 16:47:34 1224

原创 谈谈用户体验中的表单设计-理论篇

大多数情况,开发人员都比较烦UI和交互,如果公司有专门配备UI和交互工程师,那么开发人员就可以省事很多,专注于业务代码的实现,但据我了解很多小公司则没这么幸运了,所以,我认为开发人员多了解设计方面的知识对自己也是一种能力的提升,不用总被产品经理手撕了。 下图为PC端触摸屏产品的2个登录表单,仅从用户交互层面考虑,哪个表单登录效率高?                 

2017-10-13 16:47:01 578

原创 1、alert(111) 直接打印出 111 2、debugger 写在代码要调试的地方 3、直接在控制台 source 里找到要调试的代码打断点 4、consol

1、alert(111)       直接打印出 1112、debugger        写在代码要调试的地方3、直接在控制台 source 里找到要调试的代码打断点4、console 常用的打印方式 console.log(23333) console.warn(23333) console.info(23333) console.debug(23

2017-10-13 16:40:40 678

原创 通俗理解RxJS(一)

自学 Rx 快有一个周了, 它非常适合处理复杂的异步场景。结合自己所学,决定写系列教程。我认为, Rx 中强大的地方在于两处管道思想,通过管道,我们订阅了数据的来源,并在数据源更新时响应 。强大的操作符,通过操作符对流和流中的数据转换,拼接,以形成我们想要的数据模型 。数据管道在 Rx 中,我们先预装好管道,通过管道流通数据 。这些管道的来源多种, create ,from

2017-10-13 16:40:01 3471

原创 JavaScript设计模式--简单工厂模式

一,介绍工厂模式创建对象(视为工厂里的产品)时无需指定创建对象的具体类。工厂模式定义一个用于创建对象的接口,这个接口由子类决定实例化哪一个类。该模式使一个类的实例化延迟到了子类。而子类可以重写接口方法以便创建的时候指定自己的对象类型。在这里将工厂简单分为三种:(1)简单工厂:通过第三方的类完成松耦合的任务。(2)复杂工厂:通过把实例化的任务交给子类来完成的,用以到达松耦合的目的。

2017-10-13 16:39:44 263

原创 通过上节的块设备驱动分析,本节便通过内存来模拟块设备驱动

参考内核自带的块设备驱动程序:drivers/block /xd.c  drivers/block /z2ram.c   1.本节需要的结构体如下:1.1 gendisk磁盘结构体: struct gendisk { int major; //设备主设备号,等于register_blkdev()函数里的majo

2017-10-13 16:39:21 229

原创 Promise 对象

Promise 对象用于处理异步请求,保存一个异步操作最终完成(或失败)的结果 语法new Promise( /* executor */ function(resolve, reject) {...});/* 来自谷歌翻译 promise:承诺,约定 resolve:解决,决定,下决心 reject:拒绝

2017-10-13 16:39:05 369

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除