自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

终身开发者

一个有思想的程序猿

  • 博客(33)
  • 资源 (1)
  • 收藏
  • 关注

原创 Python Web Flask源码解读(四)——全局变量

Flask中全局变量有current_app、request、g和session。不过需要注意的是虽然标题是写着全局变量,但实际上这些变量都跟当前请求的上下文环境有关,下面一起来看看。

2019-08-24 15:14:36 705 2

原创 基于Flask开发企业级REST API应用(四)

几乎现在所有应用都会用到缓存技术,而在服务器端redis是很多实现缓存的首选技术

2019-08-20 14:51:00 267

原创 基于Flask开发企业级REST API应用(三)

前两章把程序的结构以及API的协议基本上搭建起来了。本文开始不打算对每个模块接口都进行实现,因为基本上都是业务逻辑代码,而且整篇文章都把代码贴出来,那将是一个灾难。

2019-08-10 00:47:21 217

原创 基于Flask开发企业级REST API应用(二)

本节开始项目的编码实现。首先我们来实现登录注册模块的相关API。本项目我们是使用前后端分离的模式,在实现登录注册功能之前,假设我们的接口是开放的,那么需要确定接口校验方案。

2019-08-10 00:47:11 232

原创 基于Flask开发企业级REST API应用(一)

前面对Python WEB框架Flask的源码进行走读,对服务的启动流程、路由原理和模板渲染有了一个宏观的认识。

2019-08-10 00:46:57 210

原创 Python Web Flask源码解读(三)——模板渲染过程

前面对Flask启动流程和路由原理都进行了源码走读。今天我们看看模板渲染的过程。

2019-08-10 00:46:44 228

原创 Python Web Flask源码解读(二)——路由原理

继续阅读Flask的源码

2019-08-10 00:46:34 114

原创 Python Web Flask源码解读(一)——启动流程

开始学习Flask源码

2019-08-10 00:46:24 230

原创 Python源码学习Schedule

我翻阅了一下它的源码,惊奇的发现核心库才一个文件,代码量短短700行不到。这是绝佳的学习材料。

2019-08-10 00:45:56 626

原创 一个简单的Python调度器

Python中有什么简单好用的调度器

2019-08-10 00:45:45 681

原创 Python中面向对象你应该知道的事

Python中面向对象你应该知道的事

2019-08-10 00:45:31 102

原创 Python中的字典数据结构

字典又称为哈希表(hashmap)、映射(map),它是以key-value的方式进行存储,通过key进行存储、查找操作的效率非常高。

2019-08-10 00:45:19 4255

原创 Python中栈、队列和优先级队列的实现

栈、队列和优先级队列都是非常基础的数据结构。Python作为一种“编码高效”的语言,对这些基础的数据结构都有比较好的实现。

2019-08-10 00:45:06 370

原创 如何在Python中表示一个对象

在Python中一切都是对象。如果要在Python中表示一个对象,除了定义class外还有哪些方式呢?我们今天就来盘点一下。

2019-08-10 00:44:48 111

原创 一文搞懂Python中的所有数组数据类型

数组类型是各种编程语言中基本的数组结构了,本文来盘点下Python中各种“数组”类型的实现。

2019-08-09 16:34:34 1506

原创 一文了解Python常见的序列化操作

marshal使用的是与Python语言相关但与机器无关的二进制来读写Python对象的。这种二进制的格式也跟Python语言的版本相关,marshal序列化的格式对不同的版本的Python是不兼容的。

2019-08-09 16:29:17 118

原创 你会写单元测试吗

也许你已经听说过`Test Driven Development`,但不知道你是否遵循这个规则呢?其实我自己在写代码的时候也很少会先写单元测试再写业务功能逻辑。

2019-08-09 16:23:52 107

原创 Python程序包的构建和发布过程

当我们开发了一个开源项目时,就希望把这个项目打包然后发布到pypi.org上,别人就可以通过pip install的命令进行安装。

2019-08-09 16:22:32 267

原创 关于Python虚拟环境与包管理你应该知道的事

Python拥有大量的第三方库,引用这些库也非常方便,通过pip install就可以将这些第三方库安装到本地Python库文件目录中,然后就可以import到项目中,极大地提升了开发者的编码效率。

2019-08-09 16:17:03 378

原创 你是否真的了解全局解析锁(GIL)

GIL是计算机语言解析器用于同步线程执行的一种同步锁机制。很多编程语言都有GIL,例如Python、Ruby。

2019-08-09 16:16:06 151

原创 谈谈装饰器的实现原理

熟悉Java编程的程序猿对装饰器模式一定不陌生,它是能够动态的给一个类添加新的行为的一种设计模式。

2019-08-09 16:13:59 231

原创 快速了解Python并发编程的工程实现(下)

Python中由于Global Interpreter Lock(全局解释锁GIL)的存在,每个线程在在执行时需要获取到这个GIL,在同一时刻中只有一个线程得到解释锁的执行,Python中的线程并没有真正意义上的并发执行,多线程的执行效率也不一定比单线程的效率更高。

2019-08-09 16:12:17 108

原创 快速了解Python并发编程的工程实现(上)

在前面的文章中对Python协程的概念和实现做了简单地介绍。为了对Python并发编程有更加全面地认识,我也对Python线程和进程的概念和相关技术的使用进行了学习,于是有了这篇文字。

2019-08-09 16:11:23 88

原创 简单了解一下事件循环(Event Loop)

asyncio模块中的核心就是事件循环(Event Loop)。它可用于执行异步任务、事件回调、执行网络IO操作和运行子进程。官方的文档也是建议开发者应该尽量使用asyncio包提供的高级的API,避免直接使用Event Loop对象中的方法。

2019-08-09 16:09:30 1833

原创 为何你还不懂得如何使用Python协程

在Python早期的版本中协程也是通过生成器来实现的,也就是基于生成器的协程(Generator-based Coroutines)。

2019-08-09 16:06:39 232

原创 一文搞懂Python可迭代、迭代器和生成器的概念

在Python中可迭代(Iterable)、迭代器(Iterator)和生成器(Generator)这几个概念是经常用到的,初学时对这几个概念也是经常混淆,现在是时候把这几个概念搞清楚了。

2019-08-09 14:37:34 246

原创 一份程序猿单词列表(updating)

以下单词是个人平时阅读英文文档时遇到的一些“生”单词。这些单词是在平时中积累下来的,也都是通过Google进行翻译的,所以有些翻译可能不是特别准确,毕竟不是字典,只作为平时的一个积累,偶尔翻阅,扩展自己的单词量。该文档将持续更新,可以关注https://github.com/hylinux1024/word-list-for-programmerAa variety of 各种各样的;ag...

2018-11-06 16:15:13 129

原创 源码分析Retrofit请求流程

Retrofit 是 square 公司的另一款广泛流行的网络请求框架。前面的一篇文章《源码分析OKHttp执行过程》已经对 OkHttp 网络请求框架有一个大概的了解。今天同样地对 Retrofit 的源码进行走读,对其底层的实现逻辑做到心中有数。0x00 基本用法Retrofit 的项目地址为:https://github.com/square/retrofit打开项目目录下的 samp...

2018-11-06 16:05:22 117

原创 源码分析OKHttp的执行过程

OKHttp 是目前 Android 平台主流的网络请求的基础框架。因此我们有必要对其源码进行阅读学习,了解其内部的原理、项目结构、以及请求的执行过程。它的项目地址为:https://github.com/square/okhttp0x00 简单使用先从一个简单的官方示例来看,这是一个同步 GET 请求public class GetExample { //1.http客户端 Ok...

2018-11-06 16:00:09 114

原创 源码阅读之Java栈的实现

0x00 栈栈是 Last-In-First-Out (后进先出)的线性表。对栈的操作主要有两个:入栈(push)和出栈(pop)。因此它也是一种操作受限的线性表。尽管如此,它在计算机中应用非常广泛,是一种非常基础的数据结构。0x01 源码从源码中可以看出栈也是一种非常简单的数据结构。栈的源码非常简洁,只有100多行代码。public class Stack<E> extend...

2018-11-06 10:07:32 473

原创 源码阅读之LinkedList实现细节

0x00 描述LinkedList 是一个双向链表,这是一个基础的数据结构。打开 LinkedList 源码,可以看到它继承于 AbstractSequentialList ,这个是 AbstractList 的子类。同时也实现了 List 、Deque 、Clone、Serializable 接口。所以简化的类关系图可以表示为关键属性size 记录当前数组元素的个数first 链表头...

2018-11-06 09:58:01 132

原创 源码阅读之ArrayList实现细节

0x00 描述ArrayList 可以说是 Java 程序猿最为常用的一种数据结构了。ArrayList 是通过数组实现的,容量可以自增的线性表。而数组的优点是计算机可以通过下标计算访问地址,所以访问元素的速度是很快的,时间复杂度为O(1);但数组并不擅长插入和删除操作,这些操作的时间复杂度是O(n)。因此 ArrayList 继承了数组这些特点。继承关系ArrayList 继承于 Abst...

2018-11-06 09:36:11 145

原创 学习区块链知识干货资料合集

A collection of awesome blockchain articles. Good learning resources about blockchain.干货集合,入门区块链技术看这里就够了。https://github.com/wecodexyz/awesome-blockchain-articles

2018-03-22 16:06:02 409

XmlAdapters.rar

android 的sample XmlAdapters

2011-08-17

空空如也

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

TA关注的人

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