碰到一个JavaScript的Array.sort函数排序失败的奇怪问题,具体解决方案请参考新版Chrome对JavaScript的Array.sort()不支持。
参考链接
- 新版Chrome对JavaScript的Array.sort()不支持,by chrome.
- Array.prototype.sort(),by mozilla.
碰到一个JavaScript的Array.sort函数排序失败的奇怪问题,具体解决方案请参考新版Chrome对JavaScript的Array.sort()不支持。
计算机安全、网络安全(网络安全)或信息技术安全(IT 安全)是保护计算机系统和网络免受恶意行为者的攻击,这些攻击可能导致未经授权的信息泄露、盗窃或损坏硬件、软件或数据,以及他们提供的服务的中断或误导。
保密性又称机密性,其与Integrity(完整性)和 Availability(可用性)并称为信息安全的CIA三要素。
信息安全三要素之间存在互相牵制的关系,例如:过度强化机密性时,将造成完整性与可用性的降低,需要高可用性的系统则会造成机密性与完整性的降低,因此在有限资源的前提下,在信息安全三要素中获取适当的平衡是信息安全管理层次结构的重要课题。
机密性(Confidentiality)确保资料传递与存储的隐密性,避免未经授权的用户有意或无意的揭露资料内容。
完整性是指在传输、存储信息或数据的过程中,确保信息或数据不被未授权的篡改或在篡改后能够被迅速发现。在信息安全领域使用过程中,常常和保密性混淆。通常使用数字签名、散列函数等手段保證數據完整性。
在信息安全领域,可用性(Availability)是成功的信息安全项目应具备的需求,意及当用户需透过信息系统进行操作时,资料与服务须保持可用状况(能用),并能满足使用需求(够用)。
识别信息用户的身份,可记录信息被谁所访问使用,例如:透过密码或证书方式验证用户身份。身份认证主要有三种方式:
依照实际需求给予实体适当的权限,一般建议采最小权限(Least privilege),意即仅给予实际作业所需要的权限,避免过度授权可能造成的信息暴露或泄漏。
信息系统层面的实用访问控制方法分类如下:
内容项目包含量测(Measuring)、监控(Monitoring)、报告(Reporting)与日志案(Logging),以便提供未来作为审核(Auditing)、计费(Billing)、分析(Analysis)与管理之用,主要精神在于收集用户与系统之间交互的资料,并留下轨迹纪录。
威胁建模是一个过程,通过该过程可以识别和列举潜在威胁,例如结构漏洞或缺乏适当的保护措施,并确定对策的优先级。威胁建模的目的是根据系统的性质、可能的攻击者概况、最可能的攻击向量以及攻击者最需要的资产,为防御者提供系统分析,说明需要包括哪些控制或防御措施攻击者。威胁建模回答诸如“我在哪里最容易受到攻击?”之类的问题,“最相关的威胁是什么?” ,以及“我需要做什么来防范这些威胁?”
中国教材的最大问题,并不是知识点的讲解,而是缺乏得出结论的过程。
– 《为什么医学教材不好用?》
我不善于当众演讲,在人多的场合发言,我会紧张。但是后来,我发现听众真的不在乎,如果你讲得很糟糕,他们可能会发笑片刻,但很快就会忘记。
事实是我们放大了别人的想法。有人说的很对:我们在想象中比在现实中,遭受更多的痛苦。
– Hacker News 读者
中国软件三十年:烟尘隐入,夹缝重生这篇文章对中国软件行业的历史、发展规律和现状认识比较深刻,因此摘抄一下:
中国软件的三大顽疾:一是企业数字化认识低,认为软件没用;二是定制化需求多且杂,「项目」导向而非「产品」导向;三是用户付费意愿和能力不足,软件公司难以积累利润投入研发。
大约是在2002年左右,雷军为了求证用户到底在意什么, 专门请了一家调查公司,在4个城市作了样本调查, 在4个城市作了用户专访, 最后结果让金山的工程师们很伤心:用户最在意的就是使用习惯,并不在意那些「创新」。
软件行业最终还是要靠「产品」说话。无论2C还是2B,软件好不好用,是用户选择最简单直接的一个标准。
这两个函数是随IPv6出现的函数,对于IPv4地址和IPv6地址都适用,函数中p和n分别代表表达(presentation)和数值(numeric)。地址的表达格式通常是ASCII字符串,数值格式则是存放到套接字地址结构的二进制值。
1 | //将点分十进制的ip地址转化为用于网络传输的数值格式 |
想在前端打印word文档,调研一下解决方案。
请参考记录超简单实现打印,window.print() 分页打印,vue element-ui window.print()打印。
请参考How do you debug printable CSS?。
请参考css 打印print。
Vcpkg 可帮助您在 Windows、 Linux 和 MacOS 上管理 C 和 C++ 库。
首先,请下载vcpkg并执行 bootstrap.bat 脚本。
1 | > git clone https://github.com/microsoft/vcpkg |
使用以下命令安装您的项目所需要的库:
1 | > .\vcpkg\vcpkg install [packages to install] |
您也可以使用 search
子命令来查找vcpkg中集成的库:
1 | > .\vcpkg\vcpkg search [search term] |
若您希望在 Visual Studio 中使用vcpkg,请运行以下命令 (首次启动需要管理员权限)
1 | > .\vcpkg\vcpkg integrate install |
若您希望在 Visual Studio 中卸载vcpkg,请运行以下命令 (首次启动需要管理员权限)
1 | > .\vcpkg\vcpkg integrate remove |
卸载vcpkg只需删除vcpkg的文件夹即可。
导出开源库(通常在项目中使用第三方开源库时会把其拷贝到项目文件夹中使用):
1 | vcpkg export spdlog:x64-windows --zip |
然后将导出的开源库,放入另一台机器的vcpkg安装目录,即可使用。
现有游戏AI基本通过下面两个方式进行实现:行为树(Behavior Tree)与有限状态机(Finite State Machines)。
“状态机”是一种表示状态并控制状态切换的设计模式,常常用于设计某种东西的多个状态。而有限状态机是指游戏内的条件逻辑封装到各个状态类里。例如一个人有站立状态,跑动状态,走路状态,蹲下状态,开火状态等,当一个事件发生,将会触发一个动作,或者执行一次状态的迁移。
行为树是一棵用于控制 AI 决策行为的、包含了层级节点的树结构。树的最末端——叶子,就是这些 AI 实际上去做事情的命令;连接树叶的树枝,就是各种类型的节点,这些节点决定了 AI 如何从树的顶端根据不同的情况,来沿着不同的路径来到最终的叶子这一过程。