概念

深度学习和神经网络简介

有一次,我和Vito(我的合伙人)聊起了当下热门的几种技术趋势。当谈及它们在未来可能的发展前景的时候,Vito说了下面的一段话:

人工智能是个信息革命到蒸汽机规模之间的机会,相比之下虚拟现实应该是移动互联网级别的,而用户个性化服务应该是伴生规模的。

如果人工智能技术带来的变革确实能够比拟工业革命的话,那么它势必会成就一代人,同时也淘汰掉一代人。而且,仔细想想,其实人工智能离我们并不遥远,甚至可以说已经开始深入到我们的日常生活中了。从iPhone里的Siri,到各大网站的内容推荐系统,再到图像识别和人脸识别技术的广泛应用,这些场景的背后都有这项技术在发挥作用。…

我是如何为技术博客设计一个推荐系统(上):基于统计与评分

过去的两周里,我一直忙于为 『玩点什么』 设计一个推荐系统(即,recommend system)。在这个过程中,参考了之前的 几本书籍,查找了一系列的资料。想着这些资料上,大部分都是大同小民的,实现了几个简单的推荐功能,改进了标签推荐算法,便想着写篇文章记录一下。

玩点什么』,是一个基于 Django、Python 的 CMS 系统(Mezzanine)。是的,和我的博客使用的是同一个 CMS 系统。由于使用的是 Python 语言,因此对于机器学习具有天生的优势。…

网页部署https后,如何提升SSL评分到A+

  

牛犊网部署https不知不觉也将近四个月了,期间也一直没有再去进行管理和优化,也没有大家担心的那样访问会因为多次握手有所延迟,一直加载挺快。我想主要还是因为我们这一代人终于搭上了“网络运营商降价提速”的国家政策快车,站长们也基本不用再担心担心客户端的网速问题,而去不断优化JS\CSS\HTML代码了。当然,打铁还需自身硬,自己的服务器配置、带宽还是要跟上时代的步伐的。

牛犊网从2014年搬迁至阿里云之后,由于接入的是BGP网络,访问一直飞快。本来近期有把服务器搬迁至百度云的打算,怎奈一直抢不到6个月免费试用的活动资格,又见阿里云在搞全民计算活动,就趁此将牛犊网的服务器进行了一次升级。

我是一个爱折腾的人,花了一天时间将网站打包下载,上传到新服务器,部署完IIS和SQL后就可以直接访问了,因为文件数据分离,搬迁部署也非常容易。到最后环节就是部署域名证书了。结果闲着无事,就去SSL验证网站(https://www.ssllabs.com/ssltest/)去验证了下安全评级,幸运的是,因为我是win2016服务器,自带IIS10,自动开启http/2.0,检测结果是A。但是看到人家的检测结果是A+,心里就痒痒呀,忍不住就去寻找攻略。

从SSL-LABS上的检测结果来看,网站的HSTS和HPKP的头部没有部署,从百度安全指数网(https://bsi.baidu.com/topic/https.html)查询部署漏洞,也可以得到结果。通过两个头部部署要求分析,HSTS的部署方式较为简单,HPKP的较为复杂,而且容易出错,因此,我选择先从HSTS头部部署开始。

这里我只讲IIS10(IIS7 和 IIS8 同样适用)的部署方案:

这里插一句,如果你的评分低于A,而且还是win+IIS服务环境,可以下载IIS Crypto(地址:https://www.nartac.com/Products/IISCrypto/Download)进行最优安全优化,这样就可以到达A级评分了,然后再来部署HSTS。

最后开始部署HSTS,其实非常的简单,在部署了域名证书的前提下,只要在IIS10设置的HTTP响应标头组件中添加HSTS的访问识别时长就可以了。

内容填写如下:

 

  名称:Strict-Transport-Security

值:max-age=31536000; includeSubDomains; preload

 

这个值是秒,换算过来正好一年。它的意思是接下来的一年时间,强制浏览器浏览页面通过https来访问,这样就可以避免运营商通过http跳转和DNS劫持投放广告了,是不是更安全了呢?

最后,再一次去ssllabs安全评分,就可以拿下A+了,此时成就感爆棚(看图1)~

攻略至此结束,只想说微软的服务器系统设置真的是越来越方便的,部署网络基础环境也是,基本也是无脑留的下一步,下次我找时间讲讲IIS 10如何部署网络基础环境。感谢欣赏和倾听我的唠叨!

作者:琚叶青,牛犊网站长

网站开启HSTS严格HTTPS功能并加入HSTS Preload List

从今天开始,土木坛子开启HSTS(HTTP Strict Transport Security)严格强制HTTPS SSL功能。

我一直支持HTTPS,在启用全站HTTPS后,用301的方式将所有HTTP访问请求自动转成HTTPS加密。但这种服务器端301的方式,并不能阻止浏览器到服务器之间HTTP链接被截持,因为此时的通信,并不是HTTPS。

启用HSTS协议后,在初次访问HTTPS后,用户在浏览器中再输入HTTP链接,浏览器本身会将HTTP链接自动转成HTTPS,会更加全面保护访问者的隐私,例如,没有人能在网络上截取你访问过土木坛子上关于艳照门的博文。…

HTTPS工作原理和TCP握手机制

1、HTTPS的工作原理

HTTPS在传输数据之前需要客户端(浏览器)与服务端(网站)之间进行一次握手,在握手过程中将确立双方加密传输数据的密码信息。TLS/SSL协议不仅仅是一套加密传输的协议,更是一件经过艺术家精心设计的艺术品,TLS/SSL中使用了非对称加密,对称加密以及HASH算法。握手过程的具体描述如下:…

理解字节序

1.

计算机硬件有两种储存数据的方式:大端字节序(big endian)和小端字节序(little endian)。

举例来说,数值0x2211使用两个字节储存:高位字节是0x22,低位字节是0x11

  • 大端字节序:高位字节在前,低位字节在后,这是人类读写数值的方法。
  • 小端字节序:低位字节在前,高位字节在后,即以0x1122形式储存。

Linux五种IO模型性能分析

socket阻塞与非阻塞,同步与异步

 

1. 概念理解

     在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式:
同步:
所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一件事。

例如普通B/S模式(同步):提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事…

Linux下5种IO模型的小结

概述

    接触网络编程,我们时常会与各种与IO相关的概念打交道:同步(Synchronous)、异步(ASynchronous)、阻塞(blocking)和非阻塞(non-blocking)。关于概念的区别看到一位朋友(链接)打了一个比较形象的比喻:

你打电话问书店老板有没有《分布式系统》这本书,如果是同步通信机制,书店老板会说,你稍等,”我查一下”,然后开始查啊查,等查好了(可能是5秒,也可能是一天)告诉你结果(返回结果)。
而异步通信机制,书店老板直接告诉你我查一下啊,查好了打电话给你,然后直接挂电话了(不返回结果)。然后查好了,他会主动打电话给你。在这里老板通过“回电”这种方式来回调。

你打电话问书店老板有没有《分布式系统》这本书,你如果是阻塞式调用,你会一直把自己“挂起”,直到得到这本书有没有的结果。如果是非阻塞式调用,你不管老板有没有告诉你,你自己先一边去玩了, 当然你也要偶尔过几分钟check一下老板有没有返回结果。

在这里阻塞与非阻塞与是否同步异步无关。跟老板通过什么方式回答你结果无关。

Page 1 of 41234