轻量级

gunicorn

◇◆丶佛笑我妖孽 提交于 2019-12-27 01:04:42
Gunicorn“绿色独角兽”是一个被广泛使用的高性能的Python WSGI UNIX HTTP服务器,移植自Ruby的独角兽(Unicorn )项目,使用pre-fork worker模式,具有使用非常简单,轻量级的资源消耗,以及高性能等特点 运行 gunicorn --workers=2 -b 0.0.0.0:8000 manager:app 来源: CSDN 作者: 扣剑书生 链接: https://blog.csdn.net/weixin_44038167/article/details/103722060

蟒周刊-400-无依赖项的轻量级Excel读/写器

心已入冬 提交于 2019-12-25 16:38:17
原文: PyCoder's Weekly - Issue #400 191225 Zoom.Quiet (大妈) 用时 42 分钟 完成快译 191225 Zoom.Quiet (大妈) 用时 17 分钟 完成格式转抄. ------ Python Dictionary 迭代: 高级技巧和窍门 REAL PYTHON video In this intermediate-level course, you’ll take a deep dive into how to iterate through a dictionary in Python. Dictionaries are a fundamental data structure, and you’ll be able to solve a wide variety of programming problems by iterating through them. ( 是也乎: 视频教程, 果断是重点了... ) ASGI 简介: 异步 Python Web生态系统的出现 FLORIMOND MANCA “If you were thinking Python had been getting locked into data science, think again! Python web development is

蟒周刊-400-无依赖项的轻量级Excel读/写器

牧云@^-^@ 提交于 2019-12-25 13:16:58
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 原文: PyCoder's Weekly - Issue #400 191225 Zoom.Quiet (大妈) 用时 42 分钟 完成快译 191225 Zoom.Quiet (大妈) 用时 17 分钟 完成格式转抄. Python Dictionary 迭代: 高级技巧和窍门 REAL PYTHON video In this intermediate-level course, you’ll take a deep dive into how to iterate through a dictionary in Python. Dictionaries are a fundamental data structure, and you’ll be able to solve a wide variety of programming problems by iterating through them. ( 是也乎: 视频教程, 果断是重点了... ) ASGI 简介: 异步 Python Web生态系统的出现 FLORIMOND MANCA “If you were thinking Python had been getting locked into data science, think

轻量级java snmp设备网管软件开发技术

谁说我不能喝 提交于 2019-12-23 17:05:08
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Java技术,在网络管理系统中的应用已经比较普遍。网管软件的分类有很多种,有侧重于业务应用的,有侧重于管理设备的,有侧重于网络的,有侧重于桌面管理的,每种网管软件虽然外在的具体表现形式都不同,但其实内部的技术都大同小异。这其中的设备网管软件就是一个最典型的技术代表,一个全面的设备网管软件基本上要包含网络拓扑图、设备配置、故障管理、性能管理、安全管理、业务管理,也就是FCAPS 这几大块功能。 一、 技术架构的变迁 在网管软件最早的年代,基本上都是从电信管理网的那一套发展起来的,按TMN规范定义的模型来处理,像什么Q接口、F接口、X接口、CORBA、NMS/EMS、FCAPS功能划分,都是这种模型的代表。这种模型对于大型的电信网络来说是必须的,可是对于企业级别的设备网管软件来说,就显得过于笨重,花费的成本是无法接受的。 于是对于设备网管软件的架构,逐步向实用化、工程化发展,也就是轻量级技术的发展。轻量级的技术,沿用了FCAPS的功能模型,也是用户关心的问题。而在内部技术上,突破了TMN的种种限制,好的就借用,不好的就抛弃。在这种轻量级技术的影响下,根据用户的需求,灵活选择JAVA技术、数据库技术、SNMP协议,就是这一技术的代表。 二、 轻量级技术架构 选择C/S,还是B/S?这是首选问题。C

轻量级网络库libevent初探

一曲冷凌霜 提交于 2019-12-23 03:48:09
  本文是关于libevent库第一篇博文,主要由例子来说明如何利用该库。后续博文再深入研究该库原理。 libevent库简介   就如 libevent官网 上所写的“libevent - an event notification library”,libevent就是一个基于事件通知机制的库,支持/dev/poll、kqueue、event ports、select、poll和epoll事件机制,也因此它是一个跨操作系统的库(支持Linux、*BSD、Mac OS X、Solaris、Windows等)。目前应用该库的有Chromium、Memcached、NTP、tmux等应用。   libevent 库实际上没有更换select()、poll()或其他机制的基础,而是使用对于每个平台最高效的高性能解决方案,在其实现外加上一个包装器。   为了实际处理每个请求,libevent 库提供一种事件机制,它作为底层网络后端的包装器。事件系统让为连接添加处理函数变得非常简便,同时降低了底层 I/O 复杂性。这是 libevent 系统的核心。   libevent 库的其他组件提供其他功能,包括缓冲的事件系统(用于缓冲发送到客户端/从客户端接收的数据)以及 HTTP、DNS 和 RPC 系统的核心实现。   另外,libevent库非常轻量级,这让我们学习它的源码难度低了不少

值得推荐的C/C++框架和库

前提是你 提交于 2019-12-19 23:27:36
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> C/C++程序员必须熟练应用的开源项目 作为一个经验丰富的C/C++程序员, 肯定亲手写过各种功能的代码, 比如封装过数据库访问的类, 封装过网络通信的类,封装过日志操作的类, 封装过文件访问的类, 封装过UI界面库等, 也在实际的项目中应用过, 但是回过头仔细想想,其实以前自己写过的这些代码,只能是在特定的项目或者特定的环境中使用, 对于自己来说, 在不同的项目中应用, 只需要复制代码, 改改也就可以了, 因为自己写的代码自己很熟悉。问题是, 你封装的这些库, 在给别人使用的时候, 别人用起来是否很方便, 跨平台方面是不是也很通用, 性能是不是足够的好, 是不是支持多线程, 功能是不是也足够强大,可以适用于各种不同的需求。如果你上面这些都做到了, 证明你在这个库上确实花费了一番功夫, 经过了持续的改进和优化。 在日常的开发中, 作为一个程序员, 很多东西已经没有必要再重新开发了, 可以直接拿过来使用, 毕竟21世纪都已经过了N年了。我们没有必要重新发明轮子(不可否认发明轮子的过程可以学到很多东西,我就是这么走过来的)。 下面结合自己多年的开发经验, 想到哪里写到哪里, 希望对新人有一定的帮助。 一、网络 网络库必须掌握 ACE 和 libevent, 一个是重量级的网络库, 一个是轻量级的网络库。仔细想想

进程、线程、轻量级进程、协程和go中的Goroutine 那些事儿

橙三吉。 提交于 2019-12-19 05:07:48
电话面试被问到go的协程,曾经的军伟也问到过我协程。虽然用python时候在Eurasia和eventlet里了解过协程,但自己对协程的概念也就是轻量级线程,还有一个很通俗的红绿灯说法:线程要守规则,协程看到红灯但是没有车仍可以通行。现在总结各个资料,从个人理解上说明下 进程 线程 轻量级进程 协程 go中的goroutine 那些事儿。 一、进程 操作系统中最核心的概念是进程,分布式系统中最重要的问题是进程间通信。 进程 是“程序执行的一个实例” ,担当分配系统资源的实体。进程创建必须分配一个完整的独立地址空间。 进程切换 只发生在内核态,两步:1 切换页全局目录以安装一个新的地址空间 2 切换内核态堆栈和硬件上下文。 另一种说法类似:1 保存CPU环境(寄存器值、程序计数器、堆栈指针)2修改内存管理单元MMU的寄存器 3 转换后备缓冲器TLB中的地址转换缓存内容标记为无效。 二、线程 书中的定义:线程是进程的一个执行流,独立执行它自己的程序代码。 维基百科: 线程 ( 英语 : thread )是 操作系统 能够进行运算 调度 的最小单位。 线程上下文一般只包含CPU上下文及其他的线程管理信息。线程创建的开销主要取决于为线程堆栈的建立而分配内存的开销,这些开销并不大。线程上下文切换发生在两个线程需要同步的时候,比如进入共享数据段。切换只CPU寄存器值需要存储

Go语言 进程、线程、轻量级进程、协程和go中的Goroutine 那些事儿

独自空忆成欢 提交于 2019-12-18 03:46:03
原文: http://www.cnblogs.com/shenguanpu/archive/2013/05/05/3060616.html 电话面试被问到go的协程,曾经的军伟也问到过我协程。虽然用python时候在Eurasia和eventlet里了解过协程,但自己对协程的概念也就是轻量级线程,还有一个很通俗的红绿灯说法:线程要守规则,协程看到红灯但是没有车仍可以通行。现在总结各个资料,从个人理解上说明下 进程 线程 轻量级进程 协程 go中的goroutine 那些事儿。 一、进程 操作系统中最核心的概念是进程,分布式系统中最重要的问题是进程间通信。 进程 是“程序执行的一个实例” ,担当分配系统资源的实体。进程创建必须分配一个完整的独立地址空间。 进程切换 只发生在内核态,两步:1 切换页全局目录以安装一个新的地址空间 2 切换内核态堆栈和硬件上下文。 另一种说法类似:1 保存CPU环境(寄存器值、程序计数器、堆栈指针)2修改内存管理单元MMU的寄存器 3 转换后备缓冲器TLB中的地址转换缓存内容标记为无效。 二、线程 书中的定义:线程是进程的一个执行流,独立执行它自己的程序代码。 维基百科: 线程 ( 英语 : thread )是 操作系统 能够进行运算 调度 的最小单位。 线程上下文一般只包含CPU上下文及其他的线程管理信息

轻量级IOC框架:Ninject

冷暖自知 提交于 2019-12-17 00:09:42
前言 前段时间看Mvc最佳实践时,认识了一个轻量级的IOC框架: Ninject 。通过google搜索发现它是一个开源项目,最新源代码地址是: http://github.com/enkari/ninject/tree/master 用户向导: http://ninject.codeplex.com/wikipage?title=User%20Guide&referringTitle=Home 建议新手请先看看Ninject的介绍: What Is Ninject Why Use Ninject 我节选其中关于Ninject的好处,并翻译如下: Ninject是一个快如闪电、超轻量级的基于.Net平台的依赖注入框架。它能够帮助你把应用程序分离成一个个松耦合、高内聚的模块,然后用一种灵活的方式组装起来。通过使用Ninject配套你的软件架构,那么代码将会变得更加容易编写、重用性强、易于测试和修改。 搜索博客园尚未找到关于Ninject的使用,因此本文发布一个示例作入门级教程。 Ninject入门级示例 像以前的IOC教程那样,拿日志记录做示例应该是非常直观的。 首先编写一个日志记录的接口: public interface ILogger { void Write(string message); } 以及 FlatFileLogger, DatabaseLogger

轻量级IOC框架:Ninject

偶尔善良 提交于 2019-12-16 21:19:18
前言 前段时间看Mvc最佳实践时,认识了一个轻量级的IOC框架: Ninject 。通过google搜索发现它是一个开源项目,最新源代码地址是: http://github.com/enkari/ninject/tree/master 用户向导: http://ninject.codeplex.com/wikipage?title=User%20Guide&referringTitle=Home 建议新手请先看看Ninject的介绍: What Is Ninject Why Use Ninject 我节选其中关于Ninject的好处,并翻译如下: Ninject是一个快如闪电、超轻量级的基于.Net平台的依赖注入框架。它能够帮助你把应用程序分离成一个个松耦合、高内聚的模块,然后用一种灵活的方式组装起来。通过使用Ninject配套你的软件架构,那么代码将会变得更加容易编写、重用性强、易于测试和修改。 搜索博客园尚未找到关于Ninject的使用,因此本文发布一个示例作入门级教程。 Ninject入门级示例 像以前的IOC教程那样,拿日志记录做示例应该是非常直观的。 首先编写一个日志记录的接口: public interface ILogger { void Write(string message); } 以及 FlatFileLogger, DatabaseLogger