模拟退火算法
一. 爬山算法 ( Hill Climbing )
介绍模拟退火前,先介绍爬山算法。爬山算法是一种简单的贪心搜索算法,该算法每次从当前解的临近解空间中选择一个最优解作为当前解,直到达到一个局部最优解。
爬山算法实现很简单,其主要缺点是会陷入局部最优解,而不一定能搜索到全局最优解。如图1所示:假设C点为当前解,爬山算法搜索到A点这个局部最优解就会停止搜索,因为在A点无论向那个方向小幅度移动都不能得到更优的解。
介绍模拟退火前,先介绍爬山算法。爬山算法是一种简单的贪心搜索算法,该算法每次从当前解的临近解空间中选择一个最优解作为当前解,直到达到一个局部最优解。
爬山算法实现很简单,其主要缺点是会陷入局部最优解,而不一定能搜索到全局最优解。如图1所示:假设C点为当前解,爬山算法搜索到A点这个局部最优解就会停止搜索,因为在A点无论向那个方向小幅度移动都不能得到更优的解。
问题:最近在研读斯多葛学派(stoicism),发现很多理念和佛学禅宗本质上互通。想请教一下各位,两家理论的异同。
最近看了一本讲述斯多葛学派的书,里头说,斯多葛学派的哲学家追求的终极目标是平静(tranquility),为此可以视功名利禄为无物,并偶尔要对身体进行试炼,来明白现下的福。同时要通过冥想及类似的方法,修炼自己的身心。
窃以为,这不是跟佛教很多宗旨很像么?
(2017-09-22更新)GitHub:https://github.com/sheefee/simple-sso
web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后的请求产生关联,这个过程用下图说明,三次请求/响应对之间没有任何联系
【中心思想】
本书讨论了DevOps的定义、范围、实践以及相关案例。作者从目标的角度,给DevOps下了如下定义:DevOps是一套实践方法,在保证高质量的前提下缩短系统变更从提交到部署至生产环境的时间。其核心是缩短部署时间,根据这一目标,就必须减少部署过程的运维和开发的协同时间、必须减少构建、测试和发布的时间。根据这一目标,通过DevOps的实践,通过重新定义运维和开发的职责来减少协同,通过自动化的工具,来提高构建、测试以及发布的效率,同时,通过自动化的工具也把运维和开发的显示协同变成了隐式协同。
事件Incident是IT Helpdesk每天工作的主要内容,通过邮件、电话、Service
desk系统、用户直接到IT
OFFICE方式找IT解决问题,这些问题主要是指引起或有可能引起服务中断或服务质量下降的不符合IT
服务标准操作的活动,不仅包括软硬件故障,还包括服务请求,例如状态查询、重置口令、系统杀毒警报、邮件客户端故障等。按照日常的工作量计算,
100个用户平均每天至少会有10个的事件计算,IT
Helpdesk的人手应为1人响应100个用户,甚至更多可以达到150人,外企讲究高效,对IT
Helpdesk人员的素质要求较高,能够处理日常的事件,还要有一定的英文沟通能力,可以团体协作解决问题。
ITIL:Information Technology Infrastructure Library;ITIL是对运维组的最重要功能进行组织的体系。
![](/img/ITIL1.gif " ")
![](/img/ITIL2.gif " ")
![](/img/ITIL3.gif " ")
无状态服务(stateless
service)对单次请求的处理,不依赖其他请求,也就是说,处理一次请求所需的全部信息,要么都包含在这个请求里,要么可以从外部获取到(比如说数据库),服务器本身不存储任何信息
有状态服务(stateful
service)则相反,它会在自身保存一些数据,先后的请求是有关联的
第一次接触代理是在大二计算机网络课堂中,通由代理服务器可以让网络访问更具伸缩性,可以拒绝访问某些网站和协助访问被和谐的网站。最近无意中接触了反向代理,有对比正好有机会可以搞清楚前向代理和反向代理着两个概念。
一般提到的是前向代理。表面上客户端 C 可以直接访问服务器 S,但实际上 C
在访问 S 的时候经过了中间的另一个中间的服务器
M,M就是代理服务器。为什么说是前向代理?因为前向代理是面向客户端的,而不是服务器。M
接收了 C
的请求后,(有选择的)对请求进行简化或者其他处理,再向目标服务器请求数据。
不叫漂移,那叫vmotion,就是指将运行状态的虚拟机从一台物理机挪到另一台物理机继续运行的技术。好处在于当某台物理机故障或要物理停机或是升级等情况下,可以不停机不间断的迁移业务所在物理环境。vmtion实现的实质是倒内存,即将宿主机将一台虚拟机的运行时所占的物理内存通过网络逐渐还原到另一台宿主机上,然后将原宿主机的内存清掉,网络和读写io都逐渐平滑的切换到另一台物理机器上的操作。它有三个大前提,必须在同一个集群内,物理硬件尤其是cpu指令集基本一致,共享存储。例子不举了,搜vmotion。motion操作需要hypervisor层自己支持即可,不需要额外软件实现。