如果本文中的术语让你感到疑惑,请先参阅密码学术语及概念一文. 密码学不是魔术.加密一个应用程序并不能保证它在袭击下的安全(特别是在你没有设置验证密文的情况下).但如果出于商业需求你要确保程序的安全,传统做法会建议你最好不要尝试设计你自己的密码.你应该使用已有的密码库. 好了,以上我都了解了.那么我应该用哪个PHP密码库呢? 这取决于你的实际需求.让我们来看一下一些好的选择.(我们不会提及任何糟糕的密码库的.) 安全的PHP密码库建议 下面是一个安全信任度较高的可部署在生产环境中的PHP密码库清单…
我认为在Go语言中创建GUI只有两种相对较好的方式,一是Qt,二则是Electron. 如何选择? 这要看你的需求.如果你会HTML+CSS+JavaScript,只想使用Go开发对性能没有多高的程序,那么使用Electron会更好.如果你不会Web开发,那么使用Qt Quick会比较好. 之所以要这么选,主要是由于三个方面: 性能,Electron要比Qt弱上不少 效率,使用Qt Quick开发的效率并不比Electron差,但使用Qt还是得对C++有一定的了解 功能,现在Qt的功能要比Ele…
NoSQL系列:选择合适的数据库 为什么使用NoSQL数据库? 阻抗失衡 关系模型和内存中的数据结构不匹配 采用更为方便的数据交互方式提升开发效率 待处理的数据量很大 数据量超过关系型数据库的承载能力 大集群的出现 在成本方面,集群中应用关系数据库,许可费用是一笔很大的支出: 横向扩展和纵向扩展:关系数据库一般只能是纵向扩展,通过对单机服务器的性能换代增强而实现:而对于扩展到多个服务器, DBMS先天不足:(DBMS不是设计给集群使用的) 对数据的访问效率要求高 NoSQL数据库的分类 键值数据…
内容目录: 为什么使用NoSQL数据库? 键值数据库 文档数据库 列族数据库 图数据库 附思维导图 参考 NoSQL系列:选择合适的数据库 为什么使用NoSQL数据库? 阻抗失衡 关系模型和内存中的数据结构不匹配 采用更为方便的数据交互方式提升开发效率 待处理的数据量很大 数据量超过关系型数据库的承载能力 大集群的出现 在成本方面,集群中应用关系数据库,许可费用是一笔很大的支出: 横向扩展和纵向扩展:关系数据库一般只能是纵向扩展,通过对单机服务器的性能换代增强而实现:而对于扩展到多个服务器, D…
转自:http://blog.csdn.net/newjueqi/article/details/44003503 app后端的开发中,经常要面临的一个问题是:数据放在哪里? mysql ?redis?mongodb? 现在有这么多优秀的开源数据库产品,怎么根据业务场景来选择合适的数据? 常用的数据库产品的优缺点又是什么呢? 通过阅读这篇文章,能帮你解决以上的疑惑,使你在碰到数据存储选择问题时思路更清晰. 1. redis,mongodb,mysql存储数据的区别 数据,就涉及读和写这两个问题.…
MyISAM:这个是默认类型,它是基于传统的ISAM类型, ISAM是Indexed Sequential Access Method (有索引的顺序访问方法) 的缩写,它是存储记录和文件的标准方法. 与其他存储引擎比较,MyISAM具有检查和修复表格的大多数工具. MyISAM表格可以被压缩,而且它们支持全文搜索.它们不是事务安全的,而且也不支持外键.如果事物回滚将造成不完全回滚,不具有原子性.如果执行大量的SELECT,MyISAM是更好的选择. MyIASM是IASM表的新版本,有如下扩展…
PHP作为一门成熟的WEB应用开发语言,已经深受广大开发者的青睐.与此同时,各式各样的PHP开发框架也从出不穷,面对如此多而且良莠不齐的开发框架,开发者们想必都会眼花缭乱,不知道该选择用哪个.其实并没有一个标准来衡量哪个开发框架就是最好的,开发者们需要根据自己的需求和项目要求来选择.今天蝉知小编和大家交流分享下开发者们在选择PHP开发框架时应该考虑哪些因素. 1.项目需求:定制开发 VS 所见即所得的功能 选择合适的开发框架首先是基于项目需求考虑的.如果你的项目需求都是一些基本通用的功能,通过一…
app后端的开发中,经常要面临的一个问题是:数据放在哪里? mysql ?redis?mongodb? 现在有这么多优秀的开源数据库产品,怎么根据业务场景来选择合适的数据? 常用的数据库产品的优缺点又是什么呢? 通过阅读这篇文章,能帮你解决以上的疑惑,使你在碰到数据存储选择问题时思路更清晰. 1. redis,mongodb,mysql存储数据的区别 数据,就涉及读和写这两个问题.出于性能的考虑,当然希望读和写的速度越快越好. 计算机中,数据一般都放在内存或硬盘,众所周知,内存的读写速度比硬盘快…
[Java并发编程(二)] 线程池 FixedThreadPool.CachedThreadPool.ForkJoinPool?为后台任务选择合适的 Java executors ... 摘要 Java 和其他平台相比最大的优势在于它可以很好的利用资源来进行并行计算.确实,在 JVM 上可以轻而易举地在后台执行一段代码,并在需要使用它的时候消费计算的结果.同时,它也让开发者可以更好的利用现代计算机硬件所带来计算能力. 但是,想让计算正确并不容易,或许对于开发者最大的挑战是编写一个总是能运行正确的…
随着Apache Hadoop的起步,云客户的增多面临的首要问题就是如何为他们新的的Hadoop集群选择合适的硬件. 尽管Hadoop被设计为运行在行业标准的硬件上,提出一个理想的集群配置不想提供硬件规格列表那么简单. 选择硬件,为给定的负载在性能和经济性提供最佳平衡是需要测试和验证其有效性.(比如,IO密集型工作负载的用户将会为每个核心主轴投资更多). 在这个博客帖子中,你将会学到一些工作负载评估的原则和它在硬件选择中起着至关重要的作用.在这个过程中,你也将学到Hadoop管理员应该考虑到各种…
随着Apache Hadoop的起步,云客户的增多面临的首要问题就是如何为他们新的的Hadoop集群选择合适的硬件. 尽管Hadoop被设计为运行在行业标准的硬件上,提出一个理想的集群配置不想提供硬件规格列表那么简单. 选择硬件,为给定的负载在性能和经济性提供最佳平衡是需要测试和验证其有效性.(比如,IO密集型工作负载的用户将会为每个核心主轴投资更多). 在这个博客帖子中,你将会学到一些工作负载评估的原则和它在硬件选择中起着至关重要的作用.在这个过程中,你也将学到Hadoop管理员应该考虑到各种…
 摘要 游戏开发者知道 Android 中蕴藏着巨大的机遇. 在 Google Play 商店的前 100 款应用中,约一半是游戏应用(在利润最高的前 100 款应用中.它们所占的比例超过 90%). 如要跻身该市场,开发速度很关键. 一些刚起步的独立开发者更愿意从零開始来开发自己的全部代码:可是为了达到更高的质量而不用花费数年的时间进行开发.其它人可能会选择已有的游戏引擎.上章研究了英特尔 Android* 开发者指南上的对等应用具体解释,在选择引擎时,你能够考虑下面几个因素: 成本 -…
一.什么是Redis持久化? 持久化就是把内存的数据写到磁盘中去,防止服务宕机了内存数据丢失. 二.Redis 的持久化机制是什么?各自的优缺点? Redis 提供两种持久化机制 RDB(默认) 和 AOF 机制: RDB:是Redis DataBase缩写快照 RDB是Redis默认的持久化方式.按照一定的时间将内存的数据以快照的形式保存到硬盘中,对应产生的数据文件为dump.rdb.通过配置文件中的save参数来定义快照的周期. 优点: 1.只有一个文件 dump.rdb,方便持久化.2.容…
数据库的备份是极其重要的事情.如果没有备份,遇到下列情况就会抓狂: UPDATE or DELETE whitout where… table was DROPPed accidentally… INNODB was corrupt… entire datacenter loses power… 从数据安全的角度来说,服务器磁盘都会做raid,MySQL本身也有主从.drbd等容灾机制,但它们都无法完全取代备份.容灾和高可用能帮我们有效的应对物理的.硬件的.机械的故障,而对我们犯下的逻辑错误却无…
通过dbgrideh 从数据集中选择合适的记录 //---------------------------------------------------------// 通过dbgrideh 从数据集中选择合适的记录 //--------------------------------------------------------- 比较常用,前几天好像论坛上有人提过类似问题,哪位朋友有更好的办法,请不吝赐教. 通过dbgrideh 从数据集中选择合适的记录,可以通过鼠标拖动选择,shift…
我们怎么选择合适的引擎?这里简单归纳一句话:"除非需要用到某些InnoDB不具备的特性,并且没有其他办法可以替代,否则都应该优先选择InnoDB引擎." 除非万不得已,否则不建议混合使用多种存储引擎,否则可能带来一系列复杂的问题以及一些潜在的BUG. 使用不同引擎考虑的几大因素:    1.事务            如果需要事务支持,那么InnoDB或者XtraDB目前最稳定.如果不需要事务且主要是SELECT和INSERT操作,MyISAM是不错的选择. 2.备份         …
原文链接:http://nettedfish.sinaapp.com/blog/2013/05/31/choose-suitable-backup-strategy-for-mysql/ 数据库的备份是极其重要的事情.如果没有备份,遇到下列情况就会抓狂: UPDATE or DELETE whitout where… table was DROPPed accidentally… INNODB was corrupt… entire datacenter loses power… 从数据安全的角…
XBee 802.15.4模块和XBee Digimesh模块在硬件上完全相同,只是出厂带有不同固件,如果测试需要,这两个固件可以都可以互换烧入模块中. 如何为2.4G模块选择合适的信道 IEEE 802.15.4一共有16个信道,Digi的模块不同型号支持的信道略有差异. 802.15.4 频率和信道号 Wifi频率和信道 一般Wifi中国区最常用的是1,6,11,和802.15.4/ZigBee信道相比,可以发现11,15,20,26这几个信道较少重叠.平时在如果随机选择,以11信道为宜,如…
(1.1)mysql 选择合适的数据类型 1.char与varchar [1.1]char 在内容未满定义长度时,做空格填充,且字符串末尾空格会被截断:超出定义长度也会被截断.  如:char(4)    'abcde' => 'abcd' [1.2]varchar 在内容未满定义长度时,内容是多少就占多少,以\0 为系统自动加上的默认结束符.额外多占一个字节. 2.浮点与定点(float/decimal) [2.1]浮点:当插入数值超过浮点定义时设置的精度时,会四舍五入截断. [2.2]定点:…
mybatis – MyBatis 3 | 日志 http://www.mybatis.org/mybatis-3/zh/logging.html MyBatis 内置日志工厂基于运行时自省机制选择合适的日志工具.它会使用第一个查找得到的工具(按上文列举的顺序查找).如果一个都未找到,日志功能就会被禁用. 不少应用服务器(如 Tomcat 和 WebShpere)的类路径中已经包含 Commons Logging,所以在这种配置环境下的 MyBatis 会把它作为日志工具,记住这点非常重要.这将…
很多测试开发工程师尤其是刚入行的同学对编程语言和技术栈选择问题特别关注,毕竟掌握一门编程语言要花不少时间成本,也直接关系到未来的面试和就业(不同企业/项目对技术栈要求也不一样),根据自身情况做一个相对正确的选择确实要比盲目投入更明智也更高效. 目前最常见的情况是纠结选择 Java 还是 Python?关于这个问题,我搜索了之前的相关博客,也特意请教了几位资深的测试技术专家,在这里做一个汇总整理,集“各家”之言供大家参考.也欢迎各位朋友根据自己的经验回帖补充意见. P.S. 有一点需要强调,关于编…
Arduino可穿戴教程之第一个程序——选择端口(三) 2.4.4  选择端口 在选择了板子之后,我们就需要选择板子连接到电脑的端口了.它也在“工具”菜单中设置,如图2.42所示. 注意:COM1端口通常是主板自带的串行端口,所以它通常不是LilyPad所在的端口.端口的编号并不是固定的,在Windows操作系统下,编号可以在设备管理器中看到,如图2.43所示. 在Linux操作系统下,端口的命名方式与Windows是不同的,如图2.44所示. 在Linux操作系统下,可以通过dmesg命令来查…
如果对 Innodb 数据表有大量的写入操作,那么选择合适的 innodb_log_file_size 值对提升MySQL性能很重要.然而设置太大了,就会增加恢复的时间,因此在MySQL崩溃或者突然断电等情况会令MySQL服务器花很长时间来恢复. 那么,怎么才能找到最佳的配置组合呢? 首先,让我先来解释一下恢复时都发生了什么事情以及为什么设置 innodb_log_file_size 的值太大了会让恢复过程变慢.Innodb 数据表崩溃再次启动时,MySQL 会扫描日志文件来找到那个只应用到内存…
原文:WPF中如何选择合适的元数据标记?(英文) FrameworkPropertyMetadataOptions Enumeration:Specifies the types of framework-level property behavior that pertain to a particular dependency property in the Windows Presentation Foundation (WPF) property system.   Member nam…
当我开始使用Flutter实施该应用程序时,我开始担心“如何最好地编写?”以及“如何使其更好地放置?”. 在这种情况下,您将需要参考GitHub上发布的代码和应用程​​序. 因此,我收集了似乎对Flutter 应用程序开发有用的代码/库/专有技术. Flutter公式:编写您的第一个Flutter应用程序,第1部分 https://flutter.dev/docs/get-started/codelab 无论您查看哪个站点,都首先介绍Flutter.它将仔细地教您如何创建Flutter项目和创建…
在我们的iOS程序中,经常会用到多个第三方的开源库,通常做法是去下载最新版本的开源库,然后拖拽到工程中. 但是,第三方开源库的数量一旦比较多,版本的管理就非常的麻烦.有没有什么办法可以简化对第三方库的管理呢?有!在使用SDWebImage这个第三方库的时候,我在学习如何将进度展现时,看到有人提到用CocoaPods(http://cocoapods.org/,需FQ) 来管理第三方开源库. CocoaPods是管理Objective-c 程序中各种第三方开源库关联非常棒的方式,只要安裝好 Coc…
在我们的iOS程序中,经常会用到多个第三方的开源库,通常做法是去下载最新版本的开源库,然后拖拽到工程中. 但是,第三方开源库的数量一旦比较多,版本的管理就非常的麻烦.有没有什么办法可以简化对第三方库的管理呢?有!在使用SDWebImage这个第三方库的时候,我在学习如何将进度展现时,看到有人提到用CocoaPods(http://cocoapods.org/,需FQ) 来管理第三方开源库. CocoaPods是管理Objective-c 程序中各种第三方开源库关联非常棒的方式,只要安裝好 Coc…
1.修改TextView字体 mTextView = (TextView) findViewById(R.id.textview1); mTextView.setText("I am here"); Resources resources = getBaseContext().getResources(); Drawable myDrawable = resources.getDrawable(R.drawable.Drawable1); mTextView.setBackground…
小程序中使用阿里图标库iconfont 项目中常常需要使用到字体图标,微信小程序中使用字体图标与在平常的web前端中类似但是又有区别.下面以使用阿里图标为例子讲解如何在微信小程序中使用字体图标. 第一步:下载需要的字体图标 进入阿里图标官网http://iconfont.cn/搜索自己想要的图标,如这里需要一个购物车的图标,流程为: 搜索“购物车”图标--->点击“添加入库”-->点击购物车进入购物车-->点击下载代码按钮. 点击下载代码,将得到名为download.zip的压缩包,解压…
C/C++程序如何打成DLL动态库: **1.在VS中新建main.h,添加如下内容:** extern "C" _declspec(dllexport) int onLoad(); **2.新建main.cpp,并包含如下.h头部,然后实现该定义函数onLoad():** #include "mainFunc.h" int onLoad() { //func.... } 3.执行程序,生成对应DLL 4.使用该DLL: i.在要使用的文件中声明: 形式:[DllI…