使用python将word文档和pdf电子书进行格式互转(兼容Windows/Linux)

    一些重要文档格式之间的互转在目前显得尤为重要,pdf作为通用格式在现在各个平台上兼容性是最好的,所以写python脚本将这些word文档批量转换pdf是最好的解决方案。     由于windows系统对于word文档有天然的兼容性优势,所以转换起来很简单,普遍上是通过comtypes模块。      pip3 install comtypes ......

搞清楚系统到底怎样支撑高并发以及架构图的绘制(面试向)

    大多数人面试的时候经常会被问到:你简历上有高负载高并发的经验,那到底你的系统是怎样设计的?     如果没有过相关的项目经验,大多数同学被问到这个问题压根儿没什么思路去回答,不知道从什么地方说起,其实,就算没有相关的经验,只要事先编好话术,搞清楚架构图,回答此类问题也还是可以滴水不漏的。     首先,在脑子里虚拟一个大用户量背景下......

彻底弄清楚session,cookie,sessionStorage,localStorage的区别及应用场景(面试向)

    客户端状态保持是一个老生常谈的问题了,归根结底追踪浏览器的用户身份及其相关数据无非就是以下四种方式:session,cookie,sessionStorage,localStorage     首先cookie和session:     Cookie机制:如果不在浏览器中设置过期时间,cookie被保存在内存中,生命周期随浏览器的关闭而结束,这种coo......

使用Hexo建立一个轻量、简易、高逼格的博客

    在之前的一篇文章中,介绍了如何使用Hugo在三分钟之内建立一个简单的个人博客系统,它是基于go lang的,其实,市面上还有一款类似的静态页生成器,就是Hexo 读音/hækso/ ,它是基于node.js的,和Hugo一样,Hexo 正常来说,不需要部署到我们的服务器上,我们的服务器上保存的,其实是基于在hexo通过markdown编写的文章,然后hexo帮我们生成静态的html页面,然后,将生成的html上传到我们的服务器。简而言之:hexo是个静态页面生成......

python3的单元测试模块mock与性能测试模块cProfile

    我们知道写完了代码需要自己跑一跑进行测试,一个写好的程序如果连测试都没有就上到生产环境是不敢想象的,这么做的人不是太自信就是太无知。     传统测试无非就是自己运行一下程序查看结果,或者前后端服务进行联调,这里要说的是走正规流程的单元测试,那到底什么是单元测试呢?顾名思义,只测试当前单元的程序或者代码,也可以理解当前模块的代码块,单元测试假设所有的内部或外部的依赖应该是稳定的, 已经在别处进行测试过的.使用mock 就可以对外部......

在Mac下使用MindMaster画思维导图(脑图)

    众所周知,老牌的脑图软件是xmind,这里我们使用MindMaster,二者有什么异同呢?     相同点:都是国产软件,都分为国内版和国外版本,都有免费版和付费版。在功能方面相同点较多,比如插入节点、关系线、标注。拖拽操作、内置图标、备注、幻灯片演示、甘特图、自动排版、云存储等功能。并且同样支持Windows、mac和Linux系统。    ......

在Centos下对Tornado的性能进行测试

    在之前的一篇文章中,我们在1g1核的惨淡硬件环境下,对 uwsgi + django 和 gunicorn+ django 的后端服务进行性能测试,得出结论单台django在简单读库操作下只能抗住大约200左右的并发:在Centos下使用Siege对Django服务进行压力测试     这一次,我们在相同的背景下,对三大框架中,以性能著称于世的Tornado进行并发测试,看看它的性能到底有多高。 &nb......

具体谈谈如何优化前端性能的总结

    前端是庞杂的,包括 HTML、 CSS、 Javascript、Image 、Video等等各种各样的资源。前端优化是复杂的,针对方方面面的资源都有不同的方式。那么,前端优化的目的是什么 ?     从用户角度而言,优化能够让页面加载得更快、对用户的操作响应得更及时,能够给用户提供更为友好的体验。       从服务商角......

在阿里云Centos7.6上面配置Mysql主从数据库(master/slave),实现读写分离

    在之前的一篇文章中,阐述了如何在高并发高负载的场景下使用nginx做后台服务的负载均衡:在阿里云Centos上配置nginx+uwsgi+负载均衡配置,但是不要以为这样做了就是一劳永逸的,到了数据业务层、数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器负载,如此多的数据库连接操作,数据库必然会崩溃,数据库如果宕机的话,后果更是不堪设想。这时候,我们会考虑如何减少数据库的连接,一方面采用优秀的代码框架,进行代码的优化,采用优秀的数据缓存技术如:redi......

在阿里云Centos7.6上利用docker搭建Jenkins来自动化部署Django项目

    一般情况下,将一个项目部署到生产环境的流程如下:     需求分析—原型设计—开发代码—内网部署-提交测试—确认上线—备份数据—外网更新-最终测试,如果发现外网部署的代码有异常,需要及时回滚。     整个过程相当复杂而漫长,其中还需要输入不少的命令,比如上传代码,git的拉取或者合并分支等等。   &nb......

在阿里云Centos7.6上面部署基于redis的分布式爬虫scrapy-redis

    Scrapy是一个比较好用的Python爬虫框架,你只需要编写几个组件就可以实现网页数据的爬取。但是当我们要爬取的页面非常多的时候,单个服务器的处理能力就不能满足我们的需求了(无论是处理速度还是网络请求的并发数),这时候分布式爬虫的优势就显现出来。     而Scrapy-Redis则是一个基于Redis的Scrapy分布式组件。它利用Redis对用于爬取的请求(Requests)进行存储和调度(......

使用基于Vue.js和Hbuilder的混合模式移动开发打造属于自己的移动app

    近几年,混合模式移动应用的概念甚嚣尘上,受到了一些中小型企业的青睐,究其原因,混合模式开发可以比传统移动开发节约大量的开发成本和人力成本。     Hybrid App(混合模式移动应用)是指介于web-app、native-app这两者之间的app,兼具“Native App良好用户交互体验的优势”和“Web App跨平台开发的优势”。     说白了,如果走传统移动开发路线,......

利用基于Go Lang的Hugo配合nginx来打造属于自己的纯静态博客系统

    Go lang无疑是目前的当红炸子鸡,极大地提高了后端编程的效率,同时有着极高的性能。借助Go语言我们 可以用同步的方式写出高并发的服务端软件,同时,Go语言也是云原生第一语言,Docker,Kubernetes等等著名的项目都是使用Go语言实现的。     Hugo 是基于 Go 语言的静态网站生成器。     什么是静态网站生成器?顾名思义,就是以最快的......

在阿里云服务器上使用Nginx部署https协议的网站

    之前写过一篇文章是在阿里云服务器上用Apache切换https协议:将博客迁移阿里云并且切换成https解析的过程     这一次,换成使用Nginx来部署,相比之下,比Apache的配置要简单一些     如何申请SSL证书就按下不表了,非常简单,目前阿里云和腾讯云都免费提供一年的证书服务,区别就是腾讯云不需要域名在腾讯,而阿里云只有域名在阿里旗下才提供。    ......

python3.7.3操作FastDfs来进行文件操作

    在之前的一篇文章中:利用Docker来搭建分布式文件系统FastDfs,我们已经搭建好了FastDfs分布式文件系统,并且已经可以通过命令进行上传操作,那么如何使用python来上传文件呢?     很简单,还是利用docker的特性,我们知道docker 的 -v 参数,可以自动挂载宿主机的文件件到容器中去,这样宿主和容器就可以进行无障碍的文件共享,我们通过-v参数,把宿主机的root目录自动挂载到docker容器......

利用Docker来搭建分布式文件系统FastDfs

    对于文件存储来说,一般情况下简单的处理就是在Django配置文件中配置存储目录,按照规则对文件进行上传或者下载。     实际上,当文件较少的时候,Django是可以应付的过来的。但当文件以海量形式出现的时候,Django就并不是那么好用了,于是Fast DFS应运而出。         FastDFS是一个开源的分布式文件系统,它对文件进行管理,功能包括......

在阿里云Centos上配置nginx+uwsgi+负载均衡配置

    负载均衡在服务端开发中算是一个比较重要的特性。因为Nginx除了作为常规的Web服务器外,还会被大规模的用于反向代理后端,Nginx的异步框架可以处理很大的并发请求,把这些并发请求hold住之后就可以分发给后台服务端(backend servers, 后面简称backend)来做复杂的计算、处理和响应,并且在业务量增加的时候可以方便地扩容后台服务器。     说白了就是,随着业务和用户规模的增长,仅仅一台服务器......