欢迎光临
我们一直在努力

Windows 10新补丁惹祸:蓝屏死机、无声音、驱动崩溃

sumaxi阅读(243)

c8edbc877e2d60b63764fdda6ad18e85-1.jpeg-wh_651x-s_1485528986-1

Windows 10 v1903、v1909近日收到了一个新的补丁推送,编号KB4532695,终于解决了资源管理器搜索栏里存在已久的诸多Bug,并对开始菜单磁贴、Windows Hello做了改进优化,官方称此补丁暂无已知问题。

但是微软的话真不能信,很多打了补丁的用户纷纷中招,微软官方社区内一篇哀嚎。

一位用户称,打了这个补丁后TPM驱动丢失了,BitLocker加密也无法使用,而且经常会蓝屏死机,看起来是内存管理问题。他直言已经对微软不抱什么希望了。

另一位用户的驱动被搞坏了,游戏中心软件内的快捷操作功能统统失效,甚至键盘灯效都受到了影响无法正常使用。

还有多人进入了无声的世界,其中一人称打补丁之后系统没有了任何声音,HDMI输出和声卡两个声源都是如此,设备管理器、声音设置都正常,就是没声音,而他除了打补丁别的什么都没做,气得直接曝粗口F**K MICROSOFT……

另一人也会类似,创新SB声卡和NVIDIA显卡的声音输出都没了,卸载补丁还原也无法恢复,甚至连ReadyBoost加速功能都失效了。

这位用户哀叹,他从1995年起就是Windows的铁杆粉丝,甚至在1997-1998年还给微软做过技术支持,结果微软干的这都是什么事儿(BullShit)。

还有一位用户最后忍无可忍,彻底全新重装了Windows 10,终于一切正常了,但浪费了N多时间,而且自己的各种软件都要重新安装、设置,并称随时打补丁真是个巨大的错误。

微软方面尚未就此作出回应。

全新操作系统 谷歌Pigweed曝光

sumaxi阅读(180)

38fb17f007498916d4d7c0921ede995a-1.jpg-wh_651x-s_748418938-1

谷歌开发了多款操作系统,像 Chrome OS、Android、Fuchsia。其中 Android 是当前最大的手机操作系统,在全球市场占据统治地位。

最新消息表明,谷歌可能正在开发新的操作系统。

0a7eebc9d72df3aadc26a7eb239b0cc7-1

2 月 6 日消息,据 9to5Google 报道,谷歌向 USPTO 提交了新的商标申请,名为“Pigweed”,这意味着谷歌可能正在开发一款新 OS“Pigweed”。

关于 Pigweed 的细节,谷歌并未说明。不过外媒发现,Pigweed 早就出现了。

ec97b6d64ec8d6a53bf3bc043127f956-1

报道指出,谷歌 Pigweed 第一次出现是在谷歌开发的操作系统 Fuchsia 代码中,在谷歌 Chromium 代码库中也发现了“Pigweed”的踪迹。

不过这并不能证明谷歌 Pigweed 操作系统与 Fuchsia 和 Chromium 项目相关,目前无法确认该操作系统的具体细节。

五招帮你优化混合云管理

sumaxi阅读(182)

企业会被混合云所吸引,原因是它使企业能够混合搭配本地基础架构、私有云资源和公共云服务,以构建最适合需求的云架构。

859dadc2d2dd47e3bebcb279f3013637-1.png-wh_651x-s_1939573989-1

但由于这些架构涉及不同类型的多个部分,因此,无论在本地还是在公共云,混合云管理通常都比在单个环境中运行来得困难。

探究管理混合云架构的这五个优秀实践,以便你的IT团队可以针对可靠性、性能、成本和安全进行优化。无论你打算从头开始构建混合云还是要管理现有的混合云,会发现以下贴士很有用。

认真管理数据进出

数据进出是指数据移入或移出云。在混合云架构中,每当数据从一个组件移到另一个组件,数据就会进出,比如当管理员将数据从公共云服务移至本地服务器或私有云时。

数据进出对于混合云管理很重要,主要有两个原因:

  • 性能:就云性能而言,网络上的数据移动通常是最薄弱的环节。数据在连接两个不同云的互联网连接上移动的速度比在同一个云中移动的速度慢得多。这意味着不必要的数据进出会降低性能。
  • 成本:在大多数情况下,公共云提供商不对入站数据传输收费,但每当数据离开云就会收费。因此,出站数据越多,你为基础架构中公共云部分支付的成本就越高。

为了在混合云环境下针对性能和成本进行优化,避免不必要的数据传输至关重要。如果数据经常在混合基础架构的各部分之间移动,应重新安排结构以减少各部分之间的移动。比如说,如果你有一个应用程序托管在连接到本地数据库的公共云上,可以将数据库移到公共云以减少数据进出,因为该应用程序和数据库将在同一环境中运行。

避免原生云工具

公共云供应商提供了一系列工具来监控和管理托管在其云上的工作负载。如果你的工作负载只在特定的云上运行,这些服务很棒,但是专门用于AWS、谷歌云平台或微软Azure的原生工具通常只帮助你管理基础架构中属于该云的那部分。它们无法用于私有云或本地资源。

围绕与一大批主机环境兼容的第三方产品构建混合云管理和监控工具集,克服这些限制。面向应用程序性能管理、成本监控和配置的大多数现代工具在本地环境、私有云和各大公共云中都能同样顺畅地运行。

拥抱持续不断的变化

企业组织采用混合云策略来尽量提高灵活性,因此,不应将混合基础架构视为一成不变。

相反,应将混合云视为可以并应该不断变化的基础架构。别害怕随着需求的变化、新机遇的出现而重新调整或重新配置工作负载的布局。

比如说,你最初构建混合云架构时,可能决定将数据存储在本地,但很快发现,由于公共云存储成本降低,现在将数据移至公共云更明智。或者,目前可能有应用程序托管在本地,如果充分利用位于公共云的无服务器函数,可以提升其性能。另外,出于隐私和管理方面的考虑,你可能决定托管在公共云上的数据移至私有数据中心。

实施云治策略

你的云架构中的层数越多——混合云常常需要这样,就越难确保以一种可预测、一致的方式来配置它们。缺乏可预测性和一致性的配置很难针对成本、性能和安全进行优化。

你可以使用一项可靠的治理策略来创建或管理基础架构中任何部分中的资源,以此应对这个混合云管理难题。治理策略有助于确保一致性和标准化。

比如说,你的策略可能包含定义如何配置新资源访问权限的规则。那样一来,管理员可以参照治理策略以确定采用哪种方法。这有助于避免这种情况:你对本地工作负载采用一种方法,对私有云工作负载采用另一种方法,对公共云服务采用另一种方法。

考虑抽象层

如果你发觉管理混合基础架构特别困难,不妨采用将基础架构的各个基础部分组合到一个界面中的工具。这样一来,比较容易管理混合云的不同部分,因为管理员只需面对抽象层,而不是每个底层的部分。

从这个意义上讲,使用云抽象层类似使用虚拟机管理程序来构建一致且统一的虚拟化基础架构,即使托管该基础架构的各个服务器不一致、不统一。

面向混合云的抽象平台仍然比较原始,构建设置起来很费劲。然而,Libcloud之类的工具可以简化这项任务:跨含有多个云API的架构来部署应用程序。也可以采用第三方基础架构即代码工具(比如Terraform),跨混合云的不同层使工作负载的部署过程实现标准化。在一些情况下,你可以使用Kubernetes之类的平台,通过创建跨整个混合云的部署,将完全不同的混合云组件统一到单一环境中。

原文标题:5 tips to optimize your hybrid cloud management,作者:Chris Tozzi

在Linux或MacOS上运行Windows程序的6个方法

sumaxi阅读(212)

【51CTO.com快译】我们一直希望在Ubuntu、Linux Mint和Fedora等Linux操作系统上运行Windows程序,这是由于大量Windows应用程序没有面向Linux发行版的版本。这也是人们不愿意从Windows切换到Linux OS的另一个原因。

虽然许多Windows应用程序的替代程序拥有面向Linux的相同功能,比如作为Photoshop替代品的GIMP,但仍然有许多新老的Windows应用程序没有开源替代版。

然而如果你不是Windows操作系统的忠实拥护者,想在不损害或放弃重要Windows应用程序的情况下学用Linux,那么在Linux上运行Windows应用程序没多少最佳方法,Linux操作系统用户显然应该知道这一点。

有一点要注意,最近微软宣布将把功能完备的Linux内核集成到Windows 10中,这意味着将来你无需从Windows 10切换到Linux即可学用Linux应用程序或命令。不过对于Windows 7而言,仍然不行。

如何在Ubuntu等Linux上运行Windows EXE文件?

Wine for Linux

WineHQ是在Linux操作系统上运行Windows程序的最佳方法。这款跨平台应用程序支持Linux(Ubuntu/Debian/Fedora/OpenSUSE/Slackware)、MacOS、FreeBSD和Android OS。 Wine的全称是“Wine Is Not Emulator”,它代替仿真器,而是一个免费的开源兼容层,使用API​​转换技术层在诸多与POSIX兼容的操作系统(比如Linux、Mac OSX和BSD)上运行Windows应用程序。

2a2ae9f792ae332dc6f7bc3e472112aa-1.jpg-wh_651x-s_671811421-1

如前所述,它使用API​​转换技术,因此它使与Windows对应的Linux兼容函数可以调用DLL来运行Windows程序。Wine完全开源,免费发行。我们认为Wine的真正含义应该是Windows Environment- WinE。

我们已知道Wine不是Windows仿真器,因此它不运行任何类型的虚拟机或仿真器来运行Windows应用程序,这使其效率更高,并与Linux OS很好地集成起来。

Wine完全支持Windows可执行文件(.exe和DLL)的二进制加载。Wine有非常强大的内置调试器,除了支持标准调试功能外,还可以定制,以调试在Linux上运行的Windows二进制代码。实际上,它是运行Windows软件的最佳工具之一,在Wine中安装和运行Windows应用程序时存在很多不确定因素。因此,不能保证所有Windows应用程序都可以使用Wine在Linux上运行,一些高端应用程序始终存在个别问题。

你可以运行Microsoft Office、Final Fantasy X、Adobe Photoshop CS6、Battlefiled、Media Monkey播放器及另外几款游戏和程序。该链接可显示Wine for Linux的Windows应用程序兼容数据库:https://appdb.winehq.org/。

Play on Linux

Play on Linux是WineHQ for Linux的不错替代品,可以在Linux上运行Windows应用程序。它也是免费的开源程序,因此,我们无需购买任何许可证即可使用Play on Linux。它支持Windows版的众多应用程序和游戏。

8984d84169236047471c85aed46b0083-1

为了运行Windows程序,它使用Wine兼容层,并在前面提供图形用户界面,以方便用户。Play on Linux用Python语言编写,它提供了包装器外壳脚本,为任何特定软件指定Wine的配置。

除了Linux外,它还可以在MacOS和FreeBSD上使用,运行Adobe Acrobat Reader DC、Microsoft Office 2016、Age Of Empires III和Assassin’s Creed Revelations之类的程序。然而,不能保证它也可以运行你想在Linux上运行的程序。此处可以查看PlayOn Linux支持的Windows应用程序完整列表:https://www.playonlinux.com/en/supported_apps-1-0.html。

Crossover for Linux, MacOS & ChromeOS

Crossover是WineHQ和PlayOnLinux的最佳替代品,可以在Linux、MacOS和ChromeOS上运行Windows应用程序。不过遗憾的是,它不是一款开源程序,用户得掏钱才能使用它。 Crossover是CodeWeavers开发的采用专有许可证的程序,使Linux和Mac OS X操作系统与Windows程序兼容。

3cdb8dac22e7e45794f7bdc54914ccf7-1

Crossover是与x86兼容的PC系统软件,需要至少200 MB的可用磁盘空间用于自身的安装以及安装Windows应用程序。它正式支持Ubuntu、Mint、Fedora、Debian和Red Hat Enterprise Linux(RHEL)等Linux操作系统。

除了Linux外,还可以在运行Notebook的Chrome操作系统上从Google Play商店下载它。

借助CrossOver Mac,我们可以直接从停靠栏启动Windows应用程序,与Mac和Linux系统功能无缝集成,以实现跨平台的复制粘贴以及文件互通。

Crossover的一年许可费为15.95美元。

它可以轻松安装和运行一些Windows软件,其中包括:微软Office 2016、Enterprise Architect、World Warcraft、A​​dobe Dreamweaver和Adobe Photoshop 7.0/CS4等。请参阅Crossover Windows应用程序兼容数据库:https://www.codeweavers.com/compatibility

毫无疑问,CrossOver确实是有力的竞争者,不过如果你在寻找CrossOver的免费和最佳替代品,那么Wine和PlayOnLinux始终是首选。

Q4Wine- Qt GUI for Wine

Q4Wine是Qt GUI for the Wine 兼容层。这意味着该工具用来提供易于使用的图形用户界面,以管理Wine前缀及其已安装的应用程序。Q4Wine支持Linux、FreeBSD和OS X等平台。

e21aee7cf9a043043e0e65a1d4eff418-1

它拥有可用于wine颜色设置的Qt颜色主题,可同时处理不同的wine版本,控制wine进程,自动启动图标支持,从PE文件(.exe .dll)中提取图标等等。

Wineskin for Mac

Wineskin是一种运行Windows程序的工具,但仅适用于Mac OSX。它是一种移植工具,可将Windows应用程序移植到普通的Mac应用程序,并充当Windows软件的包装器。它可免费使用,目前可在OS X 10.6 Snow Leopard、OS X 10.7 Lion、OS X 10.8 Mountain Lion、OS X 10.9 Mavericks和OS X 10.10 Yosemite上运行。

Winebottler

Winebottler是另一个专用于仅在MacOS上运行基于Windows的程序的工具。它使用开源工具Wine构建,充当一种打包器:通过打包来移植Windows应用程序,从而与MacOS兼容。比如说,一些音频播放器仅适用于Windows,然后你可以使用WineBottler将其打包用于MacOS。

31d17b6bf416630c2621765d2bf52308-1

这是一个很方便的工具,只需单击一下即可使用脚本来配置、下载和安装面向MacOS的Windows EXE应用程序。

原文标题:6 Best ways to run Windows programs on Linux or MacOS,作者:Sayan Dey

深度学习火了那么多年,到底怎么搞?使用Numpy快速入门

sumaxi阅读(190)

人工智能越来越火,甚至成了日常生活无处不在的要素。人工智能是什么?深度学习、机器学习又与人工智能有什么关系?作为开发者如何进入人工智能领域?

近期我们将连载一个深度学习专题,由百度深度学习技术平台部主任架构师毕然分享,让你快速入门深度学习,参与到人工智能浪潮中。

从本专题中,你将学习到:

  1.  深度学习基础知识
  2.  Numpy实现神经网络构建和梯度下降算法
  3.  计算机视觉领域主要方向的原理、实践
  4.  自然语言处理领域主要方向的原理、实践
  5.  个性化推荐算法的原理、实践

本文是专题第一篇,会涉及三个知识点:

  1.  人工智能、机器学习、深度学习三者的关系,并简要介绍了深度学习的发展历史以及未来趋势。
  2.  介绍构建深度模型的五个步骤,并使用Numpy实现神经网络。
  3.  原理介绍和代码实践并行,详细介绍了使用Numpy实现梯度下降算法。

深度学习介绍

对于深度学习初学者来说,容易遇到三个入门级问题:

  1.  人工智能、机器学习、深度学习三者之间关系是什么?
  2.  一般的机器学习方法是什么?
  3.  为什么那么多人看好深度学习,其未来的发展趋势是什么?

首先对第一个问题,以人工智能、机器学习、深度学习三者的关系开始。三者覆盖的技术范畴是逐层递减的,人工智能是最宽泛的概念,机器学习则是实现人工智能的一种方式,也是目前较有效的方式。

深度学习是机器学习算法中最热的一个分支,在近些年取得了显著的进展,并代替了多数传统机器学习算法。所以,三者的关系可用下图表示,人工智能 > 机器学习 > 深度学习。

277aa9bfde9efee4fcde053314d484d8-1.jpg-wh_651x-s_3986682692-1

图1:人工智能、机器学习和深度学习三者之间的概念范围

其次,对于第二个问题,一般的机器学习方法是什么?

举例类比,机器如一个机械的学生一样,只能通过尝试答对(最小化损失)大量的习题(已知样本)来学习知识(模型参数w),期望用学习到的知识w组成完整的模型12b52d906ce0fed7825562d0630b0b93-1,能回答不知道答案的考试题(未知样本)。

最小化损失是模型的优化目标,实现损失最小化的方法称为优化算法,也称为寻解算法(找到使得损失函数最小的参数解)。参数和输入X组成公式的基本结构称为假设。

在中学期间,倾斜滑动法计算重力加速度时,基于对物体重量和作用力数据的观测,我们提出的是线性假设,即作用力和加速度是线性关系。牛顿第二定律的验证过程也是机器学习的参数确定过程。由此可见,模型假设,评价函数(损失/优化目标)和优化算法是构成一个模型的三个部分。

a16e6135948b4dad05da7b673adc7e91-1

图2:学习确定参数的方法

关于第三个问题。在深度学习框架出现之前,机器学习工程师处于手工业作坊生产的时代。为了完成建模,工程师需要储备大量数学知识,并为特征工程工作积累大量行业知识。每个模型是极其个性化的,建模者如同手工业者一样,将自己的积累形成模型的“个性化签名”。

98932b41341a93ab75d0233ffc7dc730-1

图3:深度学习有悠久的发展历史,但在2010年后才逐渐成熟。

而今,“深度学习工程师”进入了工业化大生产时代。只要掌握深度学习必要但少量的理论知识,掌握Python编程即可以在深度学习框架实现极其有效的模型,甚至与该领域最领先的实现模型不相上下。建模这个被“老科学家”们长期把持的建模领域面临着颠覆,也是新入行者的机遇。

用Python搭建神经网络

实践出真知,理论知识说得天花乱坠也不如多写几行代码,接下来将介绍使用Numpy构建神经网络、实现梯度下降的具体方法。本次实验实现波士顿房价预测的回归模型。

应用于不同场景的深度学习模型具备一定的通用性,均分为五个步骤来完成模型的构建和训练,使用Numpy实现神经网络也不外乎如此,步骤如下:

  •  数据处理:从本地文件或网络地址读取数据,并做预处理操作,如校验数据的正确性等。
  •  模型设计:完成网络结构的设计(模型要素1),相当于模型的假设空间,即模型能够表达的关系集合。
  •  训练配置:设定模型采用的寻解算法(模型要素2),即优化器,并指定计算资源。
  •  训练过程:循环调用训练过程,每轮均包括前向计算 、损失函数(优化目标,模型要素3)和后向传播这三个步骤。
  •  保存模型:将训练好的模型保存,以备预测时调用。

下面使用Python编写预测波士顿房价的模型,一样遵循这样的五个步骤。正是由于这个建模和训练的过程存在通用性,即不同的模型仅仅在模型三要素上不同,而五个步骤中的其它部分保持一致,深度学习框架才有用武之地。

数据处理与读取

首先进行数据处理,完成数据集划分、数据归一化,以及构建数据读取生成器。代码如下:

  1. def load_data():
  2. # 从文件导入数据
  3.     datafile = ‘./work/housing.data’
  4.     data = np.fromfile(datafile, sep=‘ ‘)
  5. # 每条数据包括14项,其中前面13项是影响因素,第14项是相应的房屋价格中位数
  6.     feature_names = [ ‘CRIM’, ‘ZN’, ‘INDUS’, ‘CHAS’, ‘NOX’, ‘RM’, ‘AGE’, 
  7. ‘DIS’, ‘RAD’, ‘TAX’, ‘PTRATIO’, ‘B’, ‘LSTAT’, ‘MEDV’ ]
  8.     feature_num = len(feature_names)
  9. # 将原始数据进行Reshape,变成[N, 14]这样的形状
  10.     datadata = data.reshape([data.shape[0] // feature_num, feature_num])
  11. # 将原数据集拆分成训练集和测试集
  12. # 这里使用80%的数据做训练,20%的数据做测试
  13. # 测试集和训练集必须是没有交集的
  14.     ratio = 0.8
  15.     offset = int(data.shape[0] * ratio)
  16.     training_data = data[:offset]
  17. # 计算train数据集的最大值,最小值,平均值
  18.     maximums, minimums, avgs = training_data.max(axis=0), training_data.min(axis=0), 
  19.                                  training_data.sum(axis=0) / training_data.shape[0]
  20. # 对数据进行归一化处理
  21. for i in range(feature_num):
  22. #print(maximums[i], minimums[i], avgs[i])
  23.         data[:, i] = (data[:, i] – avgs[i]) / (maximums[i] – minimums[i])
  24. # 训练集和测试集的划分比例
  25.     training_data = data[:offset]
  26.     test_data = data[offset:]
  27. return training_data, test_data

构建神经网络

将波士顿房价预测输出的过程以“类和对象”的方式来描述,实现的方案如下所示。类成员变量有参数 w 和 b,并写了一个forward函数(代表“前向计算”)完成上述从特征和参数到输出预测值的计算过程。

  1. class Network(object):
  2.     def __init__(self, num_of_weights):
  3.         # 随机产生w的初始值
  4.         # 为了保持程序每次运行结果的一致性,
  5.         # 此处设置固定的随机数种子
  6.         np.random.seed(0)
  7.         self.w = np.random.randn(num_of_weights, 1)
  8.         self.b = 0.
  9.     def forward(self, x):
  10.         z = np.dot(x, self.w) + self.b

目前已经实现了房价预测模型的前向过程,但是如何知道预测的结果呢,假设预测值为z而真是房价为y,这时我们需要有某种指标来衡量预测值z跟真实值y之间的差距。

对于回归问题,最常采用的衡量方法是使用均方误差作为评价模型好坏的指标,具体定义如下:

39bc5585a5953f2540d1a6545d3f8002-1

上式中的Loss(简记为: L)通常也被称作损失函数,它是衡量模型好坏的指标,在回归问题中均方误差是一种比较常见的形式。

由于实现的房价预测模型的权重是随机初始化的,这个权重参数处在模型极小值的概率几乎为0,我们需要使用梯度下降算法不断更新权重,直到该权重处于模型的极小值或最小值附近。

Numpy实现梯度下降算法

前文已提到,构建机器学习模型的首要是从一个假设空间,构建算法,去达到这个假设空间的最优值。以下图为例,

701bb57eecbfcf8f2f032aa3b1ab042b-1

图4:梯度下降方向示意图

从随机初始化的点达到坡底(最优值)的过程,特别类似于一位想从山峰走到坡谷的盲人,他看不见坡谷在哪(无法逆向求解出Loss导数为0时的参数值),但可以伸脚探索身边的坡度(当前点的导数值,也称为梯度)。

那么,求解Loss函数最小值可以“从当前的参数取值,一步步的按照下坡的方向下降,直到走到最低点”实现。

现在我们要找出一组的值,使得损失函数最小,实现梯度下降法的方案如下:

e2ccad113b158fb3199e4378525c7eae-1

上面我们讲过了损失函数的计算方法,公式定义损失函数如下:

70738cc4aa1efafbaf4f5861c6894eb3-1

其中是c64a746da2dedb898bab4a147d5e5fa3-1网络对i第个样本的预测值

24a5f561b3521c322965ced8797d7ac9-1

根据公式,可以计算出L对w和b的偏导数

dcea560ed8197f4d45f7078037aa2592-1

从导数的计算过程可以看出,因子被消掉了,这是因为二次函数求导的时候会产生因子,这也是我们将损失函数改写的原因

这里我们感兴趣的是和,

9e2017ab33e1b6a4fdba1d4bd1a22c13-1

则可以在Network类中定义如下的梯度计算函数。

梯度计算公式

3fe8f73eac84c3c9e9af51f6a9342b8c-1

借助于Numpy里面的矩阵操作,我们可以直接对所有 一次性的计算出13个参数所对应的梯度来。

公式看不懂没关系。且看下述代码如何实现梯度计算,网络训练和参数更新。

  1. def gradient(self, x, y):
  2.     z = self.forward(x)
  3.     gradient_w = (z-y)*x
  4.     gradient_w = np.mean(gradient_w, axis=0)
  5.     gradient_wgradient_w = gradient_w[:, np.newaxis]
  6.     gradient_b = (z – y)
  7.     gradient_b = np.mean(gradient_b)
  8.     return gradient_w, gradient_b
  9. def update(self, graident_w5, gradient_w9, eta=0.01):
  10.     net.w[5] = net.w[5] – eta * gradient_w5
  11.     net.w[9] = net.w[9] – eta * gradient_w9
  12. def train(self, x, y, iterations=100eta=0.01):
  13.     points = []
  14.     losses = []
  15.     for i in range(iterations):
  16.         points.append([net.w[5][0], net.w[9][0]])
  17.         z = self.forward(x)
  18.         L = self.loss(z, y)
  19.         gradient_w, gradient_b = self.gradient(x, y)
  20.         gradient_wgradient_w5 = gradient_w[5][0]
  21.         gradient_wgradient_w9 = gradient_w[9][0]
  22.         self.update(gradient_w5, gradient_w9, eta)
  23.         losses.append(L)
  24.         if i % 50 == 0:
  25.             print(‘iter {}, point {}, loss {}’.format(i, [net.w[5][0], net.w[9][0]], L))
  26.     return points, losses

运行代码后,从下面这个图里可以清晰的看到损失函数的下降过程。

0bf9c73663afb41bea36f5e5c2b2978f-1

图5:损失函数下降过程

总结一下,本文以机器学习深度学习概述开篇,讲解了深度学习的基础知识,通过使用Numpy实现房价预测模型,详细讲解了构建深度学习模型的五个步骤,以及梯度下降的基本原理、如何使用Numpy实现梯度下降等内容,希望对你入门深度学习有帮助。

12306监控中心画面首曝:火车票就是这样秒光的

sumaxi阅读(193)

2020 年春运大幕已经拉开,又到了每年火车票最为紧张的时候。大家平时在 12036 抢票争分夺秒,火车票转瞬即逝,12306 后台的监控系统也在实时不停的记录着。

今天,中国铁路官方公众号,首次曝光春运火车票秒光背后,带你走进 12306 监控大厅。

来到中国铁道科学研究院集团有限公司全路客票监控中心,大屏幕上的数字和光标实时变化,这里正在直播 12306 互联网购票系统,即将持续 40 天的年度硬仗。

6bbf044d6c0cb5d36bb5c68801d1d26c-1.jpg-wh_651x-s_3391892613-1

据悉,高峰日网站点击量为 1495 亿次,平均 1 秒就要承受 170 多万次点击,1 月 3 日售出 1443 万张车票,再创新高

对 12306 的“客服”来说,每一秒都十分漫长,工作单位时间要以毫秒计算。火车票会随着出发地和到达地的组合实时变化,可谓瞬息万变,牵一“票”而动全身,数据和计算量呈几何式增长。

f1cec2a0048e790619dd5c66ab65906d-1

据技术人员介绍,春运期间为有效进行海量交易流量处理,12306 系统采用了排队技术,通俗来说就是“先来先到”——可以按照旅客购票的区域对请求进行排队,比如按购买北京出发的车票排队,或者按上海出发的车票排队;同时也可根据各售票地区的系统资源使用和系统忙闲情况进行排队。

为全球最大的票务交易系统,12306 的售票能力逐步升级,平均一年售出 30 亿张车票,日售票能力由 1500 万张提升至 2000 万张。

深度 | Nginx为什么快到停不下来?

sumaxi阅读(166)

e80748f115ee21d9dd97d3fa28af2306-1.jpg-wh_651x-s_1507434472-1

 Nginx 的进程模型

5c243afdafcb00c6ecbb72bc397a5919-1

Nginx 服务器,正常运行过程中:

  1. 多进程:一个 Master 进程、多个 Worker 进程
  2. Master 进程:管理 Worker 进程
  3. 对外接口:接收外部的操作(信号)
  4. 对内转发:根据外部的操作的不同,通过信号管理 Worker
  5. 监控:监控 worker 进程的运行状态,worker 进程异常终止后,自动重启 worker 进程
  6. Worker 进程:所有 Worker 进程都是平等的
  7. 实际处理:网络请求,由 Worker 进程处理;
  8. Worker 进程数量:在 nginx.conf 中配置,一般设置为核心数,充分利用 CPU 资源,同时,避免进程数量过多,避免进程竞争 CPU 资源,增加上下文切换的损耗。

思考:

  1. 请求是连接到 Nginx,Master 进程负责处理和转发?
  2. 如何选定哪个 Worker 进程处理请求?请求的处理结果,是否还要经过 Master 进程?

016d4f2000df2e66ea75af658cfb1a36-1

HTTP 连接建立和请求处理过程

  1. Nginx 启动时,Master 进程,加载配置文件
  2. Master 进程,初始化监听的 socket
  3. Master 进程,fork 出多个 Worker 进程
  4. Worker 进程,竞争新的连接,获胜方通过三次握手,建立 Socket 连接,并处理请求

Nginx 高性能、高并发

  1. Nginx 采用:多进程 + 异步非阻塞方式(IO 多路复用 epoll)
  2. 请求的完整过程:
  3. 建立连接
  4. 读取请求:解析请求
  5. 处理请求
  6. 响应请求
  7. 请求的完整过程,对应到底层,就是:读写 socket 事件

Nginx 的事件处理模型

request:Nginx 中 http 请求。

基本的 HTTP Web Server 工作模式:

  1. 接收请求:逐行读取请求行和请求头,判断段有请求体后,读取请求体
  2. 处理请求
  3. 返回响应:根据处理结果,生成相应的 HTTP 请求(响应行、响应头、响应体)

Nginx 也是这个套路,整体流程一致。

c51eee12581956c6e18ccb48144fce22-1

模块化体系结构

178a2fe6c09cf53ca11297c34d3281d9-1

nginx的模块根据其功能基本上可以分为以下几种类型:

  • event module: 搭建了独立于操作系统的事件处理机制的框架,及提供了各具体事件的处理。包括ngx_events_module, ngx_event_core_module和ngx_epoll_module等。nginx具体使用何种事件处理模块,这依赖于具体的操作系统和编译选项。
  • phase handler: 此类型的模块也被直接称为handler模块。主要负责处理客户端请求并产生待响应内容,比如ngx_http_static_module模块,负责客户端的静态页面请求处理并将对应的磁盘文件准备为响应内容输出。
  • output filter: 也称为filter模块,主要是负责对输出的内容进行处理,可以对输出进行修改。例如,可以实现对输出的所有html页面增加预定义的footbar一类的工作,或者对输出的图片的URL进行替换之类的工作。
  • upstream: upstream模块实现反向代理的功能,将真正的请求转发到后端服务器上,并从后端服务器上读取响应,发回客户端。upstream模块是一种特殊的handler,只不过响应内容不是真正由自己产生的,而是从后端服务器上读取的。
  • load-balancer: 负载均衡模块,实现特定的算法,在众多的后端服务器中,选择一个服务器出来作为某个请求的转发服务器。

常见问题剖析

Nginx vs. Apache

网络 IO 模型:

  1. nginx:IO 多路复用,epoll(freebsd 上是 kqueue )
  2. 高性能
  3. 高并发
  4. 占用系统资源少
  5. apache:阻塞 + 多进程/多线程
  6. 更稳定,bug 少
  7. 模块更丰富

场景:

处理多个请求时,可以采用:IO 多路复用 或者 阻塞 IO +多线程

  • IO 多路服用:一个 线程,跟踪多个 socket 状态,哪个就绪,就读写哪个;
  • 阻塞 IO + 多线程:每一个请求,新建一个服务线程

思考:IO 多路复用 和 多线程 的适用场景?

  • IO 多路复用:单个连接的请求处理速度没有优势,适合 IO 密集型 场景,事件驱动
  • 大并发量:只使用一个线程,处理大量的并发请求,降低上下文环境切换损耗,也不需要考虑并发问题,相对可以处理更多的请求;
  • 消耗更少的系统资源(不需要线程调度开销)
  • 适用于长连接的情况(多线程模式长连接容易造成线程过多,造成频繁调度)
  • 阻塞IO + 多线程:实现简单,可以不依赖系统调用,适合 CPU 密集型 场景
  • 每个线程,都需要时间和空间;
  • 线程数量增长时,线程调度开销指数增长

Nginx 最大连接数

基础背景:

  1. Nginx 是多进程模型,Worker 进程用于处理请求;
  2. 单个进程的连接数(文件描述符 fd),有上限(nofile):ulimit -n
  3. Nginx 上配置单个 worker 进程的最大连接数:worker_connections 上限为 nofile
  4. Nginx 上配置 worker 进程的数量:worker_processes

因此,Nginx 的最大连接数:

  1. Nginx 的最大连接数:Worker 进程数量 x 单个 Worker 进程的最大连接数
  2. 上面是 Nginx 作为通用服务器时,最大的连接数
  3. Nginx 作为反向代理服务器时,能够服务的最大连接数:(Worker 进程数量 x 单个 Worker 进程的最大连接数)/ 2。
  4. Nginx 反向代理时,会建立 Client 的连接和后端 Web Server 的连接,占用 2 个连接

思考:

每打开一个 socket 占用一个 fd

为什么,一个进程能够打开的 fd 数量有限制?

IO 模型

场景:

处理多个请求时,可以采用:IO 多路复用 或者 阻塞 IO +多线程

  • IO 多路复用:一个 线程,跟踪多个 socket 状态,哪个就绪,就读写哪个;
  • 阻塞 IO + 多线程:每一个请求,新建一个服务线程

思考:IO 多路复用 和 多线程 的适用场景?

  • IO 多路复用:单个连接的请求处理速度没有优势
  • 大并发量:只使用一个线程,处理大量的并发请求,降低上下文环境切换损耗,也不需要考虑并发问题,相对可以处理更多的请求;
  • 消耗更少的系统资源(不需要线程调度开销)
  • 适用于长连接的情况(多线程模式长连接容易造成线程过多,造成频繁调度)
  • 阻塞IO + 多线程:实现简单,可以不依赖系统调用。
  • 每个线程,都需要时间和空间;
  • 线程数量增长时,线程调度开销指数增长

select/poll 和 epoll 比较

详细内容,参考:

  • select poll epoll三者之间的比较

select/poll 系统调用:

  1. // select 系统调用
  2. int select(int maxfdp,fd_set *readfds,fd_set *writefds,fd_set *errorfds,struct timeval *timeout);
  3. // poll 系统调用
  4. int poll(struct pollfd fds[], nfds_t nfds, int timeout);

select:

  • 查询 fd_set 中,是否有就绪的 fd,可以设定一个超时时间,当有 fd (File descripter) 就绪或超时返回;
  • fd_set 是一个位集合,大小是在编译内核时的常量,默认大小为 1024
  • 特点:
  • 连接数限制,fd_set 可表示的 fd 数量太小了;
  • 线性扫描:判断 fd 是否就绪,需要遍历一边 fd_set;
  • 数据复制:用户空间和内核空间,复制连接就绪状态信息

poll:

  • 解决了连接数限制:
  • poll 中将 select 中的 fd_set 替换成了一个 pollfd 数组
  • 解决 fd 数量过小的问题
  • 数据复制:用户空间和内核空间,复制连接就绪状态信息
  • epoll:event 事件驱动

epoll:event 事件驱动

  • 事件机制:避免线性扫描
  • 为每个 fd,注册一个监听事件
  • fd 变更为就绪时,将 fd 添加到就绪链表
  • fd 数量:无限制(OS 级别的限制,单个进程能打开多少个 fd)

select,poll,epoll:

  1. I/O多路复用的机制;
  2. I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。
  3. 监视多个文件描述符
  4. 但select,poll,epoll本质上都是同步I/O:
  5. 用户进程负责读写(从内核空间拷贝到用户空间),读写过程中,用户进程是阻塞的;
  6. 异步 IO,无需用户进程负责读写,异步IO,会负责从内核空间拷贝到用户空间;

Nginx 的并发处理能力

关于 Nginx 的并发处理能力:

  • 并发连接数,一般优化后,峰值能保持在 1~3w 左右。(内存和 CPU 核心数不同,会有进一步优化空间)

虚拟机工具VirtualBox、VMWare与Hyper-V大比拼

sumaxi阅读(225)

对于Windows 10用户而言,他们有许多种虚拟化工具可供选择。其中在市场上占据主导地位的有三种:VirtualBox、VMware Workstation Player、以及由Microsoft Windows 10集成的Hyper-V。那么哪一种虚拟化工具更适合某一些任务、以及某种具体的应用场景呢?下面我们一起来探究一番吧。

8f62202b65c2b869e7e15fd25fbdd6d7-1.jpg-wh_651x-s_2071192637-1

什么是虚拟机管控程序(Hypervisor)?

作为虚拟机的管理平台,Hypervisor提供了虚拟机操作系统和宿主机硬件之间的必要协同。也就是说,多台虚拟主机可以共享诸如内存与处理能力等方面的资源。通常有如下两种类型的Hypervisor。

78445dc5c6b0ab06ff9e983fd069811d-1.png-wh_600x-s_2428667588-1

1类Hypervisor

1类Hypervisor直接运行在宿主机的硬件上,有时也称为“裸金属Hypervisor”。

Microsoft Hyper-V是1型Hypervisor的典型示例。它不需要通过外部软件包来进行额外安装,便可直接管理虚拟机的操作系统。另外,VMWare ESX、vSphere、Citrix XenServer和Oracle VM都属于1类Hypervisor。

2类Hypervisor

与其他任何软件一样,2类Hypervisor也需要被安装在操作系统上,因此也被称为“托管Hypervisor”。

虚拟机环境作为一个进程运行在主机上,并且仍能共享主机系统的硬件资源。不过,对于虚拟机的管理必须通过主机的路由方可实现,而无法直接执行底层命令。此种设计带来的结果是在每一步操作之间都会有稍许等待的时间。VirtualBox、VMware Workstation和VMware Workstation Player都是2类Hypervisor的典型示例。

三者之间的区别

使用方便

Hyper-V已经被预先集成到了Windows 10 Pro、Education和Enterprise中,但是在Home版上却并不自带。您可以通过Windows Features或PowerShell命令来添加和启用Hyper-V,不过需要手动进行激活。

完成激活后,Hyper-V将通过其对应的管理器,来提供快速的、或扩展性的虚拟机创建选项。值得注意的是,在使用快速创建虚拟机选项时,系统会自动填写相关设置,因此,当您尝试启动虚拟机时,这些设置可能会导致虚拟机的报错。在此,我建议您使用扩展性的自定义创建选项,以实现更灵活的设置与控制。

58a4f841ae61f1cc836488ac241fc9cf-1.png-wh_600x-s_465762310-1

VirtualBox和VMware Workstation Player都自带有不同虚拟机创建的向导。例如:VirtualBox的向导会让您创建一个基本的虚拟机,之后您可以在此基础上进行编辑和设置。当然,它也给您提供了一些针对特定虚拟机类型的建议值。具体请参见–https://www.makeuseof.com/tag/how-to-use-virtualbox/。

而VMware Workstation Player的向导,同样可以让您自定义地创建虚拟机。虽然差别不大,但是一旦完成向导,您即可运行虚拟机,而无需后续更多的设置更改。

性能

虚拟机的性能与用于运行该虚拟机的硬件有着直接的关系。当然,虚拟机类别的不同也会导致巨大的性能差异。

我用来测试虚拟机的电脑,采用了Intel i5-3570K、16GB RAM和Nvidia GTX1070的配置,其操作系统为Lubuntu。显然,这不是性能最强大的CPU,但它可以处理大多数的虚拟机相关事务。

经过测试,我发现VirtualBox的虚拟机性能最慢。对于某些配置较低的电脑来说, VirtualBox无法给用户提供最佳的虚拟化体验。

而在同等硬件配置的情况下,VMware Workstation Player显然能够给使用者带来更为流畅的体验。

通过深入测试,我发现Hyper-V在Lubuntu上的安装与运行效果都十分流畅。当然,我曾听闻有Windows 10用户反映在启用Hyper-V后出现了性能问题。我个人认为:这是由于Hyper-V属于BIOS级别,而不是在操作系统内运行的软件。因此即便您没有使用任何的虚拟机,虚拟化服务也始终处于“开启”的状态,这就耗费了一定比例的硬件资源。

如何暂时打开和关闭Hyper-V的虚拟化

如果您认为Windows 10 Hyper-V影响到了游戏等其他方面的性能,那么可以通过如下步骤关闭Hyper-V的虚拟化服务。

    • 在“开始”菜单的搜索栏中键入command命令,然后选择“以管理员身份运行”。
    • 输入以下命令:
  1. bcdedit /set hypervisorlaunchtype off
    • 重新启动系统。
    • 完成重启后,Hyper-V虚拟化将不再自​​启动,您也会发现性能有所恢复。
    • 如果您想再次打开Hyper-V虚拟化的话,请使用以下命令:
  1. bcdedit /set hypervisorlaunchtype on
  • 再次重新启动系统便可。

快照和检查点

快照(Snapshots)和检查点(Checkpoint)分别是VirtualBox和Hyper-V的各自特色。尽管在各自的平台上所使用的名称不同,但是快照和检查点都有着非常相似的功能:它们都可以为虚拟机的当前状态保留一个映像,以便将来按需将虚拟机返回到该特定的时刻。

5e9f34fcf85a3b5e23257b341379935e-1

可惜的是,VMware Workstation Player并不支持快照或检查点。您只能临时挂起客户机操作系统以便从特定点进行恢复。显然,这与为虚拟机创建映像的历史记录的机制是截然不同的。

文件共享

此处所讨论的三种Hypervisor,都能够支持宿主机与虚拟机操作系统之间的文件拖放。当然,对于建立共享文件、及共享文件夹的需求,Windows 10 Hyper-V会比VirtualBox或VMware Workstation Player复杂得多。

无缝模式

无缝模式摆脱了附加在虚拟机上的窗口和菜单,使得虚拟机操作系统更能融入宿主机上,成为它的一部分。VirtualBox和VMware Workstation Player都会使用无缝模式将虚拟机环境集成到宿主机的操作系统中。不过可惜的是,Windows 10 Hyper-V并不提供此类无缝模式。

虚拟机加密

此处三种Hypervisor都能够支持一种、或一种以上针对虚拟机的加密。当然,它们也有着一定的平台独立性。具体如下:

  • VMware Workstation Player能够开箱即用地支持虚拟机加密。
  • VirtualBox通过安装VirtualBox Guest Additions,来支持针对每个虚拟机环境的加密。
  • Windows 10上的Hyper-V,能够支持使用Microsoft的BitLocker来进行加密。

费用

虽然此处三种Hypervisor都是免费的,但是其中的一些会为用户提供更大的自由度。

对于VirtualBox和VMware Workstation Player来说,只要您的硬件可以支持多个虚拟机的运行,且不会影响到宿主机的性能,那么就可以免费使用这两款软件。

而Windows 10 Hyper-V免费的前提是:您已经拥有了正版的Windows 10。另外,如前文所述,对于Windows 10 Home版用户而言,他们需要额外安装Hyper-V,并且不能保障其更新到Windows 10下一个版本之后,还能免费试用Hyper-V。

虚拟机操作系统

Windows 10 Hyper-V对于虚拟机操作系统的类型是有所限制的。目前,它主要支持Windows、Linux和FreeBSD类型的虚拟机,并不支持macOS。

相比而言,VirtualBox和VMware Workstation Player能够支持几乎所有类型的虚拟机操作系统,包括macOS。

值得注意的是,macOS虚拟机并非开箱即用的。我们必须遵循如下教程,以实现在Windows 10的VirtualBox或VMware Workstation Player上安装并使用macOS。

How to Run macOS on Windows 10 in a Virtual Machine

到底哪种虚拟机工具最好?

我们很难简单地下结论:VirtualBox、VMware Workstation Player、以及Windows 10 Hyper-V哪一种最好。如果您有一台已经运行着Windows 10 Pro、Education或Enterprise的、具有强大硬件配置的电脑,那么您可以在三者之间自由选择。如果您的电脑配置较低,我建议您使用VMware Workstation Player。毕竟,它能够为各种硬件提供更好的支持性和稳定性。一句话:具体效果如何,试了才知道。

原文标题:VirtualBox vs. VMWare vs. Hyper-V: What’s the Best Virtual Machine? ,作者:Gavin Phillips

whmcs7.8.3开心版破解版官方原版文件下载及授权文件下载

sumaxi阅读(230)

whmcs:

WHMCS是一套国外流行的域名主机管理软件,跟国内众所周知的IDCSystem一样,主要在用户管理、财务管理、域名接口、服务器管理面板接口等方面设计的非常人性化。WHMCS是一套全面支持域名注册管理解析,主机开通管理,VPS开通管理和服务器管理的一站式管理软件,目前已经被越来越多的中国站长们所熟悉和了解。

2020012314455544-1

系统简介:

作为国外知名的财务系统,已经有国内的各种管理系统尝试利用API接口进行二次功能的开发,如国内众多IDC商使用的 VPS管理系统Xensystem,已经成功接入WHMCS,发布并使用中。此举迎合了众多已习惯使用国外系统的中国IDC商的需求,加上Xensystem以及其他VPS系统的不断完善,相信WHMCS在中国的发展会更进一步。目前最新版本是7.9.1

特色功能:

  • 财务——支持多种货币,自动生成发票
  • 自动化——在线支付、退款、自动开通域名主机
  • 容易使用——界面清爽,支持多种语言
  • 产品设置——自由定义按月、按年等,可设置开通邮件
  • 后台支持——完善的有问必答
  • 系统模块——支持开通、暂停、删除、升级、解析域名
  • 自定义——支持自定义模板,CSS,订单,语言等
  • 界面——前台订购页面支持多种内置选择
  • 支付——支持支付宝、财付通、paypal等主流支付方式
  • 推介——有自己的推介系统用户通过推介连接购买推介人可以提成
  • 二次开发——提供开发模板和API文档

安装说明:

  • 系统要求
  • * PHP Version 4.2.x 或更高
  • *MySQL Version 4.1.x 或更高版本
  • * Curl Support (with SSL support)
  • *GD Image Library
  • * ionCube Loaders
  • WHMCS安装
  • 1、解压缩文件(如果服务器支持解压缩,可以上传压缩包以后在线解压缩)
  • 2、将文件configuration.php.new改名为configuration.php
  • 3、 把whmcs文件夹内的所有文件上传到网站 – 如果有问题,改用二进制上传
  • 4、可以任意命名安装目录(例如billing, clients等等)
  • 5、访问安装脚本进行安装 – 如果遇到了Ioncube相关的错误信息, 请参考安装Ioncube的步骤
  • 6、 按照提示安装,需要按照下面的说明修改文件夹的权限,输入license key ,设置管理员帐户。
  • 7、完成以后,删除安装目录,把configuration.php文件的权限修改为644
  • 8、需要修改权限的文件夹及文件(如果是suPHP 或 PHPSuExec不需要修改):/configuration.php 修改为 777 可写/attachments 修改为 777 可写/downloads 修改为 777 可写/templates_c 修改为 777 可写
  • WHMCS安装后推荐步骤
  • 1、登录管理后台,配置General Settings (Configuration > General Settings)
  • 2、设置支付网关(Configuration > Payment Gateways)
  • 3、设置商品和服务 (Configuration > Products/Services)
  • 4、设置域名价格(Configuration > Domain Pricing)
  • 5、设置Ticket的部门 (Configuration > Support Departments)
  • 6、设置邮件推送,从而用WHMCS管理邮件
  • 7、设置Cron Job(Configuration > Automation Settings)
  • 8、测试各项功能是否正常

具体介绍请参照:百度百科-whmcs

whmcs7.8.3更新内容:

多种信用卡和银行帐户付款方式

客户现在可以存储多种付款方式,以加快结帐速度。在结帐和手动支付发票期间,客户可以选择适用于该单笔支付的任何存储的支付方式(或创建新的支付方式)。除了具有保存多个付款方式的功能外,此功能还引入了对多个令牌网关的支持,这些网关可以同时配置和使用,还支持存储和管理银行帐户付款明细。 学到更多…

现在可以免费使用基于时间的令牌

现在,WHMCS 7.8或更高版本的所有用户均可免费使用基于时间的令牌的两要素身份验证。早期版本的用户将需要升级。我们将自动取消基于时间的付费令牌服务。那些每年付款的人将自动获得抵免额。如果您有PayPal订阅,则升级时应将其取消。

对于新安装,默认情况下,客户端和管理员用户可以使用基于时间的令牌的双向身份验证。对于现有安装,如果您以前未启用基于时间的令牌,则可以在设置>人员管理>两因素身份验证中启用。与以前一样,管理用户可以通过“管理”区域中的“我的帐户”页面启用“双重身份验证”。客户端用户可以通过“安全设置”页面和“客户端区域”的“帐户”菜单启用“双重身份验证”。

新增和改进的日期选择器

WHMCS管理区域已实现了一个新的日期选择器,它为单个日期输入字段提供了更完善的日期选择器体验,以及在搜索和报告过滤器中选择日期范围的改进体验。

客户区密码生成器

新功能可用于客户区域内的所有密码输入字段,使客户能够自动生成密码并将其填充到该字段中。自动密码生成旨在帮助鼓励使用默认长度为12个字符并包含字母,数字和符号的安全密码。

隐藏和淘汰产品附件的能力

在WHMCS 7.8中,现在可以隐藏产品附加组件。隐藏的产品插件在管理区域中可见,但在购物车中不可见。现在也可以淘汰产品附加组件。退休产品附加组件对客户区域内的客户端或管理区域内的管理用户均不可见。学到更多…

服务器设置自动填充和自动完成

基于向导的新服务器创建过程加快了添加新Web服务器的过程。输入服务器API连接详细信息,然后在可能的情况下自动填写其余字段。除了先前的服务器创建工作流程之外,还可以使用基于向导的新过程,因此,可以根据需要继续使用先前的UX。要查看新过程,请访问设置>产品/服务>服务器,然后单击添加新服务器按钮。

票证附件修剪

凭单附件修剪允许您在定义的闲置时间后删除与支持凭单关联的附件。这有助于减少磁盘使用量以及存储不再需要的敏感信息的责任。这可以按需执行或自动执行。学到更多…

信用审计追踪和报告

现在,管理员用户从客户端添加或删除信用额时,将记录下来。可以在任何给定客户的信用记录中查看执行该操作的admin用户。还提供了一个新的报告“ Credits Reviewer Report”,它可以检查大量发行的信用以及过滤选项,例如日期范围和执行该报告的管理员用户。

条纹元素和3D安全

WHMCS 7.8迁移Stripe集成以使用Stripe Elements(https://stripe.com/en-es/payments/elements)。首先,Stripe Elements意味着您作为商人减少了PCI合规性要求。通过使用Stripe Elements,不会有任何敏感数据感染您的服务器,并且您符合最简单的PCI合规性要求,从而使您免受昂贵且时间敏感的审核的困扰。此外,WHMCS 7.8全面支持3D Secure(通常称为Visa验证和MasterCard SecureCode验证),包括3D Secure V2,可满足欧洲即将到来的SCA要求。无需采取任何措施即可利用新功能,但与以往一样,请务必确保更新自定义结帐和订单表单模板以确保兼容性,这一点很重要。

GoCardless授权恢复

可以从WHMCS管理员区域的“支付网关”页面恢复已取消的授权。当客户意外取消其定期付款时,此功能很有用。学到更多…

GoDaddy注册器模块

WHMCS 7.8中包含一个新的注册器模块,使您可以使用GoDaddy域转售平台转售和管理域。要了解有关通过GoDaddy转售域名的更多信息,请访问www.whmcs.com/godaddy

日期格式开发人员挂钩

提供了两个新的挂钩点,可用于处理客户区域内的日期格式。它们是FormatDateForClientAreaOutput和FormatDateTimeForClientAreaOutput。

自动添加抄送收件人

在7.8中,默认情况下,通过电子邮件打开的支持票证将导入任何CC收件人电子邮件地址,并将其添加为新票证的CC收件人。可以在设置>常规设置>支持中禁用此功能。从抄送收件人中最多导入20个收件人。

DomainExpirySync重命名为DomainStatusSync

具有DomainExpirySync的Cron命令将继续起作用,但是,该名称的用法已被弃用,并且在以后的发行版中可能会删除。现在,新的Cron命令为DomainStatusSync:Cron任务

FontAwesome更新至5.10

这允许使用双色调字体样式。它提供FontAwesome中每个图标的版本,该版本具有两种不同的颜色阴影。

员工布告栏插件弃用

没有新的功能或维护。此插件在以后的版本中将不再提供。

弃用和移除通知

在v7.8.0更新期间,由于服务提供商停止提供服务,一次性例程将检查并尝试删除以下模块。仅在不积极使用模块的情况下才可以卸下。活动日志将列出所有删除内容。同样,如果不执行删除操作并且该模块仍保留在您的安装中,则会向所有正式管理员生成一封电子邮件,以便可以进行进一步调查。将对以下模块进行检查:

  • 网关-IMSP网关,EMatters,Payza,Paymex,NTPNow,FastHosts,Cyber​​bit,Camtech

下载地址:

https://s3.amazonaws.com/releases.whmcs.com/v2/pkgs/whmcs-7.8.3-release.1.zip

授权文件下载:

链接: https://pan.baidu.com/s/12wKMLqrkWg2QiRya0XQsIQ 提取码: ktfb

授权文件上传至vendorwhmcswhmcs-foundationlib

whmcs7.7.1开心版破解原版及授权文件

sumaxi阅读(222)

WHMCS:

WHMCS是一套国外流行的域名主机管理软件,跟国内众所周知的IDCSystem一样,主要在用户管理、财务管理、域名接口、服务器管理面板接口等方面设计的非常人性化。WHMCS是一套全面支持域名注册管理解析,主机开通管理,VPS开通管理和服务器管理的一站式管理软件,目前已经被越来越多的中国站长们所熟悉和了解。

2020012314480654-1

7.7.1更新说明:

应用和集成

一种浏览可用模块和集成的新方式,包括默认情况下随 WHMCS 附带的所有应用和集成,以及 WHMCS 应用商店的选定应用和集成。可通过”设置”菜单访问应用和集成。

无卡集成

GoCardless 允许您在英国、欧洲、加拿大、澳大利亚和新西兰接受直接借记付款。无卡

代码卫士备份解决方案

CodeGuard 允许您提供独立的每日自动网站备份。CodeGuard 通过 MarketConnect 集成,因此产品设置、销售、调配和配置可在激活后立即提供。通过 WHMCS 市场连接进行代码保护

欺诈实验室集成

FraudLabs Pro 是 MaxMind 的替代方案,可提供欺诈风险指标、分析和见解,以便对新订单进行自动和主动的欺诈筛查。欺诈实验室专业版

比特支付集成

BitPay 允许您开始接受 BitCoin 和 BitCoin 现金,并在超过 35 个国家/地区的支持下直接将资金存入您的银行账户。比特支付

新的税金和增值税 UI

税务配置 UX 已过大修,以提供简化和改进的体验。了解更多

智能搜索的改进

新的外观和感觉和功能,智能搜索现在有搜索,你键入,扩大结果超过10个匹配,并隐藏非活动客户端。了解更多

拖放管理仪表板

除了最小化和隐藏小部件外,您现在还可以拖放小部件来重新排列和优先处理对您最重要的小部件。了解更多

更多重新卡查

通过跨客户端区域使用 capcha 来减少不需要的流量。标准卡查、Google v2 reCaptcha 和 Google 隐形重新登录选项可以有选择地启用,用于结帐、域名检查、注册、联系人、票证提交和客户端/管理员登录表单。了解更多

亚马逊 S3 文件存储支持

使用 Amazon 的 S3 和其他 S3 兼容服务远程集中保护附件和支持下载。了解更多

数据库会话

PHP 的默认会话存储利用 Web 服务器的文件系统,因此很难支持多实例基础结构策略。现在,您可以使用数据库会话存储将会话存储与应用程序的文件系统分离。了解更多

支持 MySQL v8.0

WHMCS 与 MySQL v8.0 兼容,从 v8.0.12 开始。MySQL v8 是主要版本增量。它有许多更改,从 MySQL v5 和/或 MariaDB v10 引入了不兼容和行为更改。在更新到 MySQL v8 之前,请研究并彻底阅读所有 MySQL 文档。当然,我们建议在更新数据库服务器时要谨慎。

字体真棒单一位置

利用字体真棒v5的主题已经更新,以引用字体真棒从核心/资产目录。这些主题包括六个、混合和 V4。分发将不再提供与这些主题相关的字体真棒 v5 的副本。模板呈现逻辑已更新,以动态注入此核心 CSS 资产,如果未表示在 HTML 头(作为正常 <link > 标记或 HTML 注释)。

弃用和删除通知

在 v7.7.0 更新期间,由于服务提供商停止服务,一次性例程将检查并尝试删除以下模块。仅当模块未被主动使用时,才会进行删除。活动日志将包含任何删除的列表。此外,如果未执行删除操作,并且模块仍保留在安装中,将向所有完整管理员生成一封电子邮件,以便进行进一步调查。将对以下模块执行检查:

  • EEE 货币网关
  • OVH 注册商
  • XPanel 服务器
  • LXAdmin 服务器
  • vePortal 服务器
  • 点 DNS
  • 转售

安装要求:

  • – PHP  5.6.x 或更高
  • – MySQL 5.5.x 或更高版本
  • – Curl Support (with SSL support) 一般都有
  • – GD Image Library 一般都有
  • – ionCube Loaders 6.0.4 及更高

安装教程:

  • 1、解压缩文件(如果服务器支持解压缩,可以上传压缩包以后在线解压缩)
  • 2、将文件configuration.php.new改名为configuration.php
  • 3、 把whmcs文件夹内的所有文件上传到网站 – 如果有问题,改用二进制上传
  • 4、可以任意命名安装目录(例如billing, clients等等)
  • 5、访问安装脚本进行安装 – 如果遇到了Ioncube相关的错误信息, 请参考安装Ioncube的步骤
  • 6、 按照提示安装,需要按照下面的说明修改文件夹的权限,输入license key ,设置管理员帐户。
  • 7、完成以后,删除安装目录,把configuration.php文件的权限修改为644
  • 8、需要修改权限的文件夹及文件(如果是suPHP 或 PHPSuExec不需要修改):/configuration.php 修改为 777 可写/attachments 修改为 777 可写/downloads 修改为 777 可写/templates_c 修改为 777 可写

安装后推荐操作:

  • 1、登录管理后台,配置General Settings (Configuration > General Settings)
  • 2、设置支付网关(Configuration > Payment Gateways)
  • 3、设置商品和服务 (Configuration > Products/Services)
  • 4、设置域名价格(Configuration > Domain Pricing)
  • 5、设置Ticket的部门 (Configuration > Support Departments)
  • 6、设置邮件推送,从而用WHMCS管理邮件
  • 7、设置Cron Job(Configuration > Automation Settings)
  • 8、测试各项功能是否正常

原版下载:

亚马逊:

https://s3.amazonaws.com/releases.whmcs.com/v2/pkgs/whmcs-7.7.1-release.1.zip

WHMCS7.7.1破解:

授权文件:

链接:https://pan.baidu.com/s/1APReb7QD-AKchArqzqkDSQ
提取码:94wa

免备案CDN 更专业 更方便

免备案CDN免备案CDN