因项目的需要,翻阅了一些网络设置的内容,对路由器的认识又清晰并且深入的一步。由于在生活中很常见,我们一般提到的路由器就是指家庭中供手机、电脑中上网用的那个设备。但是严格来说,家用路由器并不是单纯的路由器,还包含了交换机功能,并且使用了端口复用NAT方式与外部进行数据交换(PAT)。
在VPS上快速搭建hexo博客系统
十大经典排序算法
本文转自 狐狸の小窝 作者:cutefox
原文出处: https://www.aliserver.net/?p=549
算法概述
算法分类
十种常见排序算法可以分为两大类:
非线性时间比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此称为非线性时间比较类排序。
线性时间非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此称为线性时间非比较类排序。
使用python向百度主动提交链接
一般为了让百度能更快更好的收录网站内容,我们都会提交一个网站地图链接,即sitemap.xml,然后就等着百度蜘蛛慢慢爬上来了。但是这个过程是比较慢的,可能好几天才能完成。
为了加快收录过程,我们还可以选择主动提交,可以第一时间让百度建立网页索引,对于新网页或者首发内容非常有帮助。
图上是主动提交的入口,需要自己编写程序提交链接。百度给出来几种语言的例子 curl php Post ruby。 在Windows平台上,我觉得Python才是最方便的,因此参照curl的方式用requests包提交链接文件。
1 | import requests |
urls.txt文件里写入网页的链接,一行一个。
返回 success 就表示提交成功了。
使用electron创建跨平台应用
进来B/S较于传统的C/S越来越受欢迎,Browser-Server模式只需要用户有一个能上网的浏览器即可,所有业务都是在服务器处理,具有跨平台、开发快的特点。但是也存在性能较低、用户体验较差。
electron可以说兼顾了B/S和C/S的优点,使用nodejs开发或者JavaScript开发,具有很高的开发效率与响应速度;同时交互界面向C/S靠拢,使用本地html、css文件创建出优美的界面,使用效果与客户端没有区别。如果觉得MFC、WPF等创建一个好看的桌面应用程序比较麻烦,那么可以试试electron。好多软件都是基于electron开发的,比如Atom、VSCode、GitHub Desktop、GitKraken、SimpleNote、Skype、Typora等等。
electron本身就是一个Chromium浏览器并包含了Node.js,同样使用HTML,CSS和JavaScript来构建界面和处理事件。electron能够做到和桌面应用程序一样的效果,是因为它提供了丰富的桌面系统API,使用非常方便。如果使用过nodejs,那么electron开发就很容易了,官网的doc也非常详细https://electronjs.org。这里记录一下我的第一个app