在默认配置下,本地用户登入FTP后可以使用cd命令切换到其他目录,这样会对系统带来安全隐患。可以通过以下三条配置文件来控制用户切换目录。chroot_list_enable=YES/NO(NO)设置是否启用chroot_list_file配置项指定的用户列表文件。默认值为NO。chroot_list_file=/etc/vsftpd.chroot_list用于指定用户列表文件,该文件用于控制哪些用户可以切换到用户家目录的上级目录。chroot_local_
系统 2019-08-12 01:33:33 2886
软件应该是可以扩展的,但是不可以修改的。对扩展都是开放的,模块式可以扩展来满足新的行为,我们可以改变模块的功能。OCP的好处是,尽可能的减少修改模块的次数和范围,从而提高代码的可维护性,复用性。比如操作系统的升级补丁,在修复bug的情况下,肯定是越小越小。如果说OCP做的不好,每次修改需要修改大量的文件,那就会导致补丁很大。对于修改是封闭的,在扩展模块的时候,不必改动源代码的二进制文件,不管是.o文件还是.dll文件都不用改动。问题的核心是怎么样改变了模块
系统 2019-08-12 01:32:46 2886
转自:http://blog.csdn.net/ithomer/article/details/9332071什么是pom?pom作为项目对象模型。通过xml表示maven项目,使用pom.xml来实现。主要描述了项目:包括配置文件;开发者需要遵循的规则,缺陷管理系统,组织和licenses,项目的url,项目的依赖性,以及其他所有的项目相关因素。pom.xml详解
系统 2019-08-12 01:32:14 2886
vim查找替换功能总结1,简单替换表达式搜索并替换。输入:[range]s/from/to/[flags]命令可以搜索匹配的字符串并且替换为指定的字符串。这是一个稍微复杂的命令。其中[range]是一个可选项,用来指定搜索替换的范围。[flags]也是一个可选项,用来指定搜索替换的处理方式。所以这个命令的简单形式是:s/from/to/。搜索替换的范围。如果没有指定范围,则只在当前行进行搜索替换。在所有行进行搜索替换。范围符号%表示在所有行进行搜索替换。:
系统 2019-08-12 01:32:01 2886
K-Means是一种聚类算法,无参照物,没有训练数据。该算法的原理:有一群杂乱无章的点,分布混乱,现在规定把这些点分成K类,首先找到这K类的中心店,然后选择一个距离(欧氏距离、曼哈顿距离、切比雪夫距离等),计算各点到各中心点之间的距离,离哪个中心店近就划分到该中心店所属的类中。重复上述操作,直到类不发生变化,或者你也可以设置最大迭代次数,这样即使类中心点发生变化,但是只要达到最大迭代次数就会结束。下面通过一个实例:利用python给亚洲球队做聚类分析(以下
系统 2019-09-27 17:56:40 2885
对于手机、相机等设备拍摄的照片,由于手持方向的不同,拍出来的照片可能是旋转0°、90°、180°和270°。即使在电脑上利用软件将其转正,他们的exif信息中还是会保留方位信息。在用PIL读取这些图像时,读取的是原始数据,也就是说,即使电脑屏幕上显示是正常的照片,用PIL读进来后,也可能是旋转的图像,并且图片的size也可能与屏幕上的不一样。对于这种情况,可以利用PIL读取exif中的orientation信息,然后根据这个信息将图片转正后,再进行后续操作
系统 2019-09-27 17:47:47 2885
——.NET设计模式系列之六Terrylee,2006年1月概述在软件系统中,有时候面临的产品类是动态变化的,而且这个产品类具有一定的等级结构。这时如果用工厂模式,则与产品类等级结构平行的工厂方法类也要随着这种变化而变化,显然不大合适。那么如何封装这种动态的变化?从而使依赖于这些易变对象的客户程序不随着产品类变化?意图用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。结构图Prototype模式结构图生活中的例子Prototype模式使用原型
系统 2019-08-29 23:53:11 2885
今天在做一个功能时,发现用IE时Iframe里面的app写不了Cookie.使用firefox,或者不用iframe的方式的话Cookie是可以写入的.这个问题搞了很久后发现原来是IEblockIframe里面的app生成Cookie.在一位高手的帮助下,可以通过增加一个responseheader解决这个问题.response.addHeader("P3P","CP=\"CAOPSAOUR\"");Reference:http://james.james
系统 2019-08-29 23:37:39 2885
摘要本文将对“MVC公告发布系统”的发布公告功能添加日志功能和异常处理功能,借此来讨论ASP.NETMVC中拦截器的使用方法。一个小难题我们继续完善“MVC公告发布系统”,这次,我们的需求是对公告发布功能添加日志记录能力,即在发布公告前,记录一次,在公告发布成功后,再记录一次。然后还要使得其具备异常处理,即当业务组件出现问题时,跳转到相应的错误页面并显示相应提示。有人可能笑了,这有什么难的,在DoRelease这个Action的开始和结束处各加入相应日志功
系统 2019-08-29 23:25:05 2885
YoumusthaveseenthedragtosharefunctionalityonMashablethatletsvisitorssharethecontentonpopularsocialnetworksintuitively.Justdragoneoftheimagesinanarticleandyou’llbeabletosharethearticleonyourfavoritesocialnetworkbydroppingthedragged
系统 2019-08-29 23:12:52 2885