总结下经常碰到的软件知识和不同分类的常用软件。
9de7bb31d0644e7393039222babfed10欢迎关注收藏
安全的密码存储方案
MD5(不推荐,不安全了)
AES(不推荐,密钥不好保存,可被解密)
3DES(不推荐,密钥不好保存,可被解密)
SHA1(不推荐,不安全了)
SHA256
SHA512
PBKDF2
bcrypt
scryptx
虚拟化技术
Xen
OpenVZ
Hyper-V
Vmware
SQL标准
SQL标准 | 说明 |
---|---|
SQL-86 | 1986年, ANSI X3.135-1986, ISO/IEC9075:1986 |
SQL-89 | 1989年, ANSI X3.135-1989, ISO/IEC9075:1989 |
SQL-92 (SQL2) | 1992年, ANSI X3.135-1992, ISO/IEC9075:1992 |
SQL:1999 (SQL3) | 1999年, ISO/IEC 9075:1999 |
SQL:2003 | 2003年, ISO/IEC 9075:2003 |
SQL:2008 | 2008年, ISO/IEC 9075:2008 |
SQL:2011 | 2011年, ISO/IEC 9075:2011 |
SQL:2016 | 2016年, ISO/IEC 9075:2016 |
GUI库
平台 | 语言 | GUI解决方案 |
---|---|---|
windows | C++ | Qt, MFC, WTL, wxWidgets, DirectUI, htmlayou |
C# | WinForm, WPF | |
Java | AWT, Swing | |
Pascal | Delphi | |
Go | Walk, electron | |
aardio | ||
Visual Basic | ||
Web | Webkit, Chromium | |
Linux | C++ | Qt, GTK+, wxWidgets |
Java | AWT, Swing |
比较:
简单易学:Qt 封装的很好,几行代码就可以开发出一个简单的客户端,不需要了解 Windows API。
资料丰富:资料丰富能够成倍降低学习成本,否则你只能去看源码,关于 DirectUI、Htmlayout、aardio 的资料就很少。
漂亮的界面:Qt 很容易做出漂亮的界面和炫酷的动画,而 MFC、WTL、wxWidgets 比较麻烦。
独立安装:Qt 程序最终会编译为本地代码,不需要其他库的支撑,而 Java 要安装虚拟机,C# 要安装 .NET Framework。
跨平台:如果你的程序需要运行在多个平台下,同时又希望降低开发成本,Qt 几乎是必备的。
MFC 只能应用在 Windows 平台,而 Qt 是跨平台的,一次编写,到处运行。
Qt 已经封装了底层细节,学习 Qt 将会非常简单;而 MFC 只是给 Windows API 加了一层包装,不了解 Windows API 也学不好 MFC
GTK+ | Qt | wxWidgets | AWT/Swing | |
---|---|---|---|---|
开发语言 | C++ | C++ | C++ | Java |
其他语言编程接口 | Y | Y | Y | - |
Windows/Linux/Mac OS X | Y | Y | Y | Y |
许可协议 | LGPL | LGPL | WXL* | ? |
运行速度 | * * * * * | * * * * * | * * * * * | * * |
学习成本 | * * | * * | * * | * * * |
代码布局 | Y | Y | Y | Y |
图形化工具 | Y | Y | Y | Y |
工具库 | 一般 | 非常丰富 | 较丰富 | 非常丰富 |
开源协议
文件系统对比
文件系统 | 实测格式速度 | 适用操作系统 / 场景 | 最大单一卷容量 | 最大文件数量 | 最长文件名 | 最大文件大小 | 最大分区 |
---|---|---|---|---|---|---|---|
ext3 | Linux / 稳定性要求高 | 2TiB – 32TiB | 可变 | 255 | 16GB – 64TB | 32 TB | |
ext4 | 1.76Gx4卷组:7m17s | Linux / 小文件较少 | 255 | 1 EB | |||
ZFS | Solaris/FreeBSD/Linux | 16EB | 2^48 | 255 | 16 EB | 16 EB | |
XFS | 1.76Gx4卷组:7m22s | Linux | 255 | 8 EB | 8 EB | ||
Btrfs | Linux / 没有频繁写操作 | 16EB | 2^64 | 255 | 16 EB | 16 EB | |
FAT32 | windows95之后 | 65536 | 255 | 4 GB | 32 GB | ||
NTFS | windows2000之后 | 4294967295 | 255 | 256 TB | 256 TB | ||
ReFS | windows 2012 | 256ZB(理论),16EB(实际) | 2^64 | 32000 | 16 EB -1 bytes | ||
exFAT | 闪存 | 2796202 | 255 | 16 EB | 128 PB |
O’Reilly图书套系和色彩的关系
枣红色+人=Linux;
橘黄色+虫子=Oracle;
黄色=网络安全;
草绿色多为Android等移动设备;
青色多是网络类;
天蓝+羊驼=perl;
海蓝色多是Windows相关;
淡紫色多IOS;
浅紫色多是Python;
深紫色多是Java;
梅红色多是数据库;
彩色动物为设计系列。