记录

最后编辑于 2018 年 08 月 23 日

Jun 07 2019
五大设计原则可以用五个字母表示,分别为 *S* 单一职责, *O* 开放封闭, *L* 李氏置换, *I* 借口独立, *D* 依赖倒置
Jun 07 2019
UNIX/LINUX设计哲学基本准则
Dec 05 2018
为了实现服务端消息的主动推送,以及实时通信,这里引入Channels。这篇文章将详细介绍Channels以及我自己实现的一整套异步消息推送解决方案。
Nov 05 2018
该项目前端是一个微信小程序的项目,使用mpvue构建;后端是一个django的项目,使用django-rest-framwork构建,在用户登录这一个方面我设计了2套登录逻辑,一个是传统的登录逻辑,使用账号和密码,获取JWT的方式,而另一个就是这篇文章所讲的使用微信小程序的接口的方式,实现用户的注册与登录
Nov 02 2018
滑动切换页面是现在的一个非常普遍的需求,在微信小程序中实现这一点也比较简单,下面给出我的一套基于mpvue的滑动切换页面的解决方案
Nov 02 2018
mpvue中使用flyio发生ajax
Oct 28 2018
Django本身是一个同步阻塞的Web框架,不建议直接在它的内部编写异步代码,如果要执行异步任务,建议使用celery,可以直接使用celery,也可以使用django-celery
Oct 27 2018
Python中的协程,asyncio是Python中实现高并发的一个模块
Oct 27 2018
Django REST framework 是一个基于Django的用于构建 Web API 的强大而又灵活的框架
Oct 27 2018
Vue-cli一款脚手架工具,可以帮我们快速构建一个vue项目,这里介绍的版本是3.0,它和2.x版本有较大变化
Oct 25 2018
Celery是一个简单、灵活且可靠的,处理大量消息的分布式系统,专注于实时处理的异步任务队列,同时也支持任务调度
Oct 25 2018
图灵机器人,是一个聊天机器人的API,需要注册,注册后会有一个apikey,然后就可以调用他的接口实现一个聊天机器人了
Oct 23 2018
对于个人用户而言在远程服务器上配置一个jupyter notebook应用是很简单的,但我的目的是搭建一个多用户的线上jupyter notebook开放平台,并且对于服务器上的应用我都是推荐全面Docker化,尽量都使用Docker来部署,这篇文章的镜像我已经上传DockerHub感兴趣的可以直接下载使用
Oct 22 2018
这篇文章主要介绍了通过Docker来部署一个综合的Web项目,这个项目也就是这个博客网站本身 主要包含Vue,Django,Mysql,Redis,Nginx的Docke容器的创建与部署
Oct 22 2018
本次项目是一个前后端分离的项目,前端使用Vue框架,后端将采用Django REST Framework框架 该框架基于Django,项目中涉及到Django部分不会详细介绍
Oct 22 2018
Django REST Framwork 的序列化总结
Oct 22 2018
在这个项目中,分别对伯乐在线,知乎和拉勾网的数据进行了爬取,并且最终导入到Elastic Search中进行分析
Oct 21 2018
一个仿去哪儿网的Vue前端项目
Oct 20 2018
线性回归数学原理
Oct 20 2018
Matplotlib是Python中一个数据可以化的库
Oct 20 2018
pandas是一个快速,灵活和表达性数据结构 它使得“关系”或“标记”数据变得简单直观
Oct 20 2018
Numpy是Python中数据分析的一个最基本的库
Oct 18 2018
Elasticsearch是一个基于 Apache Lucene 的开源搜索引擎,但Lucene依赖于Java而且相当复杂 所以Elasticsearch的目的是通过简单的 RESTful API 来隐藏Lucene的复杂性,从而让全文搜索变得简单
Oct 18 2018
Flask是一个基于Python开发的一个web服务的微框架,现在的Web开发的流行趋势也是在向微服务发展,将来这种微框架的使用必定会比传统的All In One的框架更加流行 不过我个人还是比较喜欢使用Django,当然也不排斥Flask以及Tornado
Oct 18 2018
Scrapy,Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试
Oct 18 2018
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低
Oct 12 2018
迭代器是访问集合内元素的一种方式,一般用来遍历 迭代器是不能返回的,迭代器提供了一种惰性的数据访问方式 Iterator(迭代器)是继承自Iterable(可迭代对象)的 Iterable实现了 __iter__ 这个魔法方式,只要实现的该方法就是一个可迭代对象 Iterator有两个魔法方法 __iter__ 和 __next__ ,我们都需要实现它 可以直接通过python内置函数iter将一个可迭代对象转换成迭代器
Oct 12 2018
当我们已经编写好了一些业务逻辑之后,要去变更一些需求,这时候就存在大量的函数需要修改 在编程中,有一个基本原则是:对修改是封闭的,对扩展是开放的 所以,我们尽量不去修改原来的代码,而是通过扩展来更改业务需求 要扩展原有的需求,我们可以新增加一个函数,将原有函数作为参数传递进去,在内部调用它 但是,这种方法并没有体现原函数本身的特性,只是在外部进行了扩展,而不是对函数本身扩展
Oct 12 2018
主线程中可以获取某一个线程的状态或者某一个任务的状态,以及返回值 当一个线程完成的时候,我们主线程立即知道 futures 可以让多线程编码接口一致
Oct 12 2018
主线程中可以获取某一个线程的状态或者某一个任务的状态,以及返回值 当一个线程完成的时候,我们主线程立即知道 futures 可以让多线程编码接口一致
Oct 12 2018
这里面主要介绍了Python中的鸭子类型与多态,还有抽象基类和多继承
Oct 12 2018
多线程与多进程的应用场景的区别:1.对于耗费cpu的操作,多进程优于多线程,2.对于io操作来说,多线程更好,3.操作系统对于进程间的切换的代价比线程间切换要大
Oct 12 2018
Oct 12 2018
序列协议是Python对象的一种协议,通过实现该协议可以使得一个对象具有类似于列表等集合类型对象的功能
Oct 12 2018
字典与集合是Python中非常重要的两个数据结构
Oct 12 2018
在python中函数也是一个对象 可以将一个函数赋值给一个变量 可以将一个函数作为参数传递到另一个函数里面 可以将一个函数作为另一个函数的返回值
Oct 12 2018
Collections模块,该模块扩展了python内置的一些数据结构,同时也提供了一些其他的更加方便的数据结构
Oct 12 2018
Python中的类也是对象。元类就是用来创建这些类(对象)的,元类就是类的类。 函数type实际上是一个元类。type就是Python在背后用来创建所有类的元类。
Oct 12 2018
python对象的特点:1.可以赋值给一个变量,2.可以添加到集合对象中,3.可以作为参数传递给函数,4.可以作为函数的返回值,5.对象的三个特征:身份(地址)、类型和值
Oct 12 2018
IO叫做输入输出,我们可以将IO理解为两步:1.等待IO事件就绪,2.数据就绪后进行真正意义上的IO(真正的数据搬迁) 一般来说数据搬迁的性能都是差不多的,或者说很难再进一步优化,所以在IO过程中“等”的比重越小的性能越好,越大的性能越低。
Oct 12 2018
I/O多路复用是通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。 好处就是单个进程可以处理多个IO操作
Aug 30 2018
在python中,魔法方法是一种可以给类增加魔力的特殊方法,他们被双下横线所包围,他们是面向对象的python的一切。 它们往往还和Python中的协议相关联,可以说协议和魔法方法是相互依赖的
Aug 23 2018
在Django加入对Markdown的支持,可以让Markdown作为Django的一个字段在Model的声明中,还可以在Admin后台自动生成一个Markdown的编辑器,以及在模板引擎中进行自动渲染
召唤伊斯特瓦尔