cgDeepLearn

More than code


  • 首页

  • 分类

  • 最热

  • 标签

  • 归档

  • 关于

  • 搜索

Ubuntu下搭建个人gitlab服务器

发表于 2018-05-10 | 分类于 Linux | | 热度: ℃
字数统计: 810

本文主要记录在Ubuntu 16.04操作系统中搭建GitLab服务器的操作记录

前言

GitLab 是一个用于仓库管理系统的开源项目。使用Git作为代码管理工具,并在此基础上搭建起来的web服务.可通过Web界面进行访问公开的或者私人项目,它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释.可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库,团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用.

阅读全文 »

使用Cookiecutter来初始化你的Django项目,Awesome!!!

发表于 2018-03-19 | 分类于 Python > Django | | 热度: ℃
字数统计: 705

快来动手试试吧,简直太棒了

前言


Cookiecutter可以让你快速从模板中建立工程,cookiecutter-django则是Django的模板,可以快速生成Django大型项目模板。其特性如下:


  • 跨平台: Windows,Mac 和Linux都支持

  • 在Python2.7, 3.3, 3.4, 3.5, 3.6 和PyPy下运行

  • 工程模板可以是任何语言

  • 简单易用



阅读全文 »

Python协程的演化-从yield/send到async/await

发表于 2018-03-12 | 分类于 Python > 进程线程协程 | | 热度: ℃
字数统计: 1,703

python协程的演化

前言

Python由于众所周知的GIL的原因,同一时刻只能有一个线程在运行,那么对于CPU密集的程序来说,线程之间的切换开销就成了拖累,而以I/O为瓶颈的程序正是协程所擅长的:

多任务并发(非并行),每个任务在合适的时候挂起(发起I/O)和恢复(I/O结束)*

Python中的协程经历了很长的一段发展历程。其大概经历了如下三个阶段:

  1. 最初的生成器进化的yield/send
  2. python3.4引入@asyncio.coroutine和yield from
  3. 在Python3.5版本中引入async/await关键字


阅读全文 »

Python 并发 concurrent.futures

发表于 2018-02-06 | 分类于 Python > 进程线程协程 | | 热度: ℃
字数统计: 2,642

考虑用concurrent.futures来实现平行计算或并发处理

导读


编写Python程序时,我们可以利用CPU的多核心通过平行计算来提升计算任务的速度。很遗憾,Python的全局解释器(GIL)的存在使得我们没有办法用线程实现真正的平行计算。

为了实现平行计算,我们可以考虑用C语言扩展或者使用诸如Cython和Numba等开源工具迁移到C语言。但是这样做大幅增加了测试量和风险。于是我们思考一下:有没有一种更好的方式,只需使用少量的Python代码,即可有效提升执行效率,并迅速解决复杂的计算问题。

我们可以试着通过内置的concurrent.futures模块来利用内置的multiprocessing模块实现这种需求。这样的做法会以子进程的形式,平行运行多个解释器,从而利用多核心CPU来提升执行速度(子进程与主解释器相分离,所以它们的全局解释器锁也是相互独立的)。


阅读全文 »

Python协程-coroutine

发表于 2018-01-30 | 分类于 Python > 进程线程协程 | | 热度: ℃
字数统计: 3,877

考虑用协程来并发的运行多个函数

前言


我们可以用线程来运行多个函数,使这些函数看上去好像是在同一时间得到执行的。然而,线程有三个显著的缺点:


  • 为了确保数据安全,我们必须使用特殊的工具(Lock, Queue等)来协调这些线程,这使得多线程的代码,要比单线程的过程式代码更加难懂。这些复杂的多线程代码,会逐渐令程序变得难以扩展和维护。

  • 线程需要占用大量内存,每个正在执行的线程,大约占据8MB内存。如果只开十几个线程,多数计算机还是可以承受的。

  • 线程启动的开销比较大。如果程序不停地依靠创建新线程来同时执行多个函数,并等待这些线程结束,那么使用线程所引发的开销,就会拖慢整个程序的速度。

阅读全文 »
1234…6
cgDeepLearn

cgDeepLearn

Code Rocks!

29 文章
9 分类
86 标签
RSS
Github 网易云音乐
链链看
  • 😆 writeathink 😆
  • 关于此博客
© 2017 — 2021 cgDeepLearn | Site words total count: 70.8k
别扫我~
0%