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程序性能提升的一种方法”

有趣的Shell字符串


 

#!/usr/bin/env bash
str=$1
if [[ "$str" = "" ]]; then
     echo "1 empty"
fi

if [[ "$str" = " " ]]; then
    echo "2 empty"
fi

if [[ "$str" = "0" ]]; then
    echo "3 empty"
fi

if [[ "$str" = "00" ]]; then
    echo "4 empty"
fi

if [[ "$str" -eq 0 ]]; then
    echo "5 empty"
fi

if [[ "$str" -eq 000 ]]; then
    echo "6 empty"
fi

if [[ "$str" -eq '0' ]]; then
    echo "7 empty"
fi

if [[ "$str" -eq '00' ]]; then
    echo "8 empty"
fi
## show results
1 empty
5 empty
6 empty
7 empty
8 empty