About OpenSSL(Part 2)


接上篇About OpenSSL(Part 1)
Continue reading “About OpenSSL(Part 2)”

Advertisements

About OpenSSL(Part 1)


关于OpenSSL社区

OpenSSL功能简介,OpenSSL外围包提供了如下三种功能:
1. 命令行工具,用来完成各种各样密码学相关的任务。例如,创建证书、解析证书、加密文件、加密算法测试等。
2. 全面的、可扩展的密码学库(libcrypto)。覆盖了大多数标准定义的加密算法,可用硬件扩展或者加速。
3. 符合SSL/TLS协议的加密通讯库(libssl)。提供客户端和服务端进行加密通讯的的能力。
Continue reading “About OpenSSL(Part 1)”

Python程序性能提升的一种方法


python程序性能分析

虽然运行速度慢是 Python 与生俱来的特点,大多数时候我们用 Python 就意味着放弃对性能的追求。但是,就算是用纯 Python 完成同一个任务,老手写出来的代码可能会比菜鸟写的代码块几倍,甚至是几十倍(这里不考虑算法的因素,只考虑语言方面的因素)。很多时候,我们将自己的代码运行缓慢地原因归结于python本来就很慢,从而心安理得地放弃深入探究。

但是,事实真的是这样吗?面对python代码,你有分析下面这些问题吗:

程序运行的速度如何?
程序运行时间的瓶颈在哪里?
能否稍加改进以提高运行速度呢?
为了更好了解python程序,我们需要一套工具,能够记录代码运行时间,生成一个性能分析报告,方便彻底了解代码,从而进行针对性的优化(本篇侧重于代码性能分析,不关注如何优化)。

Continue reading “Python程序性能提升的一种方法”

Python metaclass


学懂元类,你只需要知道两句话:

  • 道生一,一生二,二生三,三生万物
  • 我是谁?我从哪来里?我要到哪里去?

在Python世界,拥有一个永恒的道,那就是“type”,请记在脑海中,type就是道。如此广袤无垠的python生态圈,都是由type产生出来的。 Continue reading “Python metaclass”

如何划分大中小型项目?


如何划分大中小型项目?

  • 微型:只是一个人,甚至是半日工作在几天内完成的软件;
  • 小型:一个人半年内完成的 2000 行以内的程序;
  • 中型: 5 个人在 1 年多的时间内完成的 5000-50000 行的程序;
  • 大型: 5-10 人在两年内完成的 50000-100000 行的程序;
  • 甚大型: 100-1000人参加用4-5年完成的具有100,0000行的软件项目;
  • 极大行: 2000-5000 人参加, 10 年内完成的 1000 万行以内的程序;

以上摘自:《软件工程概论》   郑人杰、殷人民编