百度站点收录 - 什么叫他妈的自动推送

百度收录问题

当自己搭建了一个个人网站或者是商业性质的网站时,我们通常希望在百度等搜索引擎上可以直接搜索到,提高网站的曝光率和流量.

但是百度对个人网站的收录十分的缓慢,步骤繁多,不像谷歌,提交完后几天就可以搜索到,无论怎么花式搜索都可以搜索到,而百度就有意思了,怎么都搜不到,快则半个月,慢则后年马月.

虽然百度会根据网址的流量及内容来判断审核,对原创内容的支持还是不错的,但是搜索引擎的算法上还是不如谷歌.

那就我们自己动手来加速一下收录的时长吧.

php List()函数及json_encode时无法转为数组的问题

list 函数实现 PHP中返回多个值(list并不是一个真正的函数,而是一种语言结构)

在众多的编程语言中,有很多都可以在函数中返回多个值,如 java,golang, 但是php却是不支持,虽然在 7.0 版本之后可以设置返回值的类型,但还是无法返回多个值,估计后面 php 的升级中会考虑这个问题. 既然无法原生支持,那我们就自己实现,php内置了大量的函数可以使用,这也是php开发速度快的一个原因.

用两个栈实现队列

题目描述

用连个栈来实现一个队列,完成队列的 pushpop 操作,队列中元素为 int 类型

要用栈来实现对列首先要知道 什么是栈 和 队列, 栈和队列在数据结构上都是数组的表现, 只是有不同的特性,对于栈来说,站内的元素先进后出 (FILO),而队列的元素为先进先出 (FIFO)

使用scp进行与服务器的文件交互(上传和下载)

​ 通常我们上传或下载文件会使用一些软件,如xftp,winscp, finalshell,前面几篇文章已经介绍了如何搭一个命令行环境以及使用命令行去连接服务器,进行交互,这次我们使用命令行来进行文件的上传和下载,通常当我们想要上传文件到服务器时,不是通过软件就是ftp,比较的繁琐,而且底层使用的原理都是一样的,这次介绍使用scp命令进行命令行端的文件操作,无需再打开软件,找到文件,拖进去或者其他比较费时的操作

配置ssh免密登陆,并使用命令行与服务器交互

对于经常要连接服务器进行交互的人来说,有很多种方式,最多的就是使用一些比较成熟的应用,如xshell,finalshell,xftp等.在上一篇文章中我们搭建了一个新的终端,这次来使用终端来进行服务器的交互,包括访问以及文件的上传和下载.

从0打造属于自己的windows开发命令终端

抛出问题

无论是web开发还是做系统运维,都离不开命令行,然而对于大多数人来说还是在使用windows进行开发,但是windows的终端一直被人们诟病,从开始的cmd,许多命令无法执行,或者是必须使用管理员权限,在这里不得不提一下windows的权限做的挺糟糕的,虽然微软有陆续推出了powershell以及现在的terminal还有后面要推出的wls2,可以看到微软也在努力的去解决这个问题,也希望微软可以早日解决这个问题,造福广大开发者.

Markdown简易教程

什么是Markdown,为什么用Markdown

Markdown是一种标记语法,通过标记字符,给文章的内容增加样式,使用Markdown可以更方便的控制格式的同时专注于文章内容的编写,可以支持导出为pdf,html格式,排版内容可预见,避免写完文章后再去查看样式,修改样式,Markdown文件都是以.md为后缀,可以使用typora这款软件来编写,多个平台都有支持.

关于前端哈希加密密码的思考

在前端哈希密码是否是个不错的方案?

为了防止用户或者管理员的密码泄漏或者数据库信息泄漏出去,web应用普遍采用了在后端将密码哈希以后存储在数据库中,前端提供密码,由后端进行哈希后与数据库进行对比,既然最终需要对比的是哈希过得密码,那么为什么不直接在前端将密码哈希直接交给后端存储在数据库呢?

自动部署hexo到自己的服务器并使用webhooks

​ 前面使用了webhooks,以及travisci和自己的服务器,但是现在我的github有两个分支,当提交到除master分支以外的分支时也会发起回调,而且使用了travis,导致,刚刚手动push完成travis又自动push了一次,两次的时间间隔很短,而阿里云的服务器从github clone or pull等操作有时十分缓慢,这就导致一个回调还没完成,另一个回调就开始了,会出现最终的版本与远程仓库不一致的情况.

给hexo申请证书并设置https

​前面可以说是完成了整个项目的迁移及重新部署,重新设置自动化以及初始化一些操作,现在已经可以正常的进行使用了,但是因为在做webhooks时使用的是bash命令,无法判断提交的是那个分支,所以每次仓库只要有提交记录服务器端就会pull下来,可以使用其他语言写一个脚本来监测某一个分支的提交事件,减少资源的浪费.过程就不在实现,具体可以百度看看实现的步骤.

杜绝重复-ssh-key

复用ssh生成的公钥

每次换换进或者跟换系统的时候,如果要使用git就要下载然后每次都要生成公钥并添加进coding或者github这样的代码托管平台.

使用hooks自动监测git仓库更改并拉取

我们在务器上使用宝塔进行操作,使用宝塔比较直接,可视化,各种操作和安装东西很方便(如果只是想安装一些东西,快速搭建),后面也会继续使用宝塔为网站安装https证书,使用Let's Encrypt

申请免费的证书并配置

重新部署hexo

​ 问题所在:

改用了自己服务器搭建hexo后,也实现了gitalk的初始化,但是要git同步以及每次都要重新部署,制作很多定时任务,有时还会执行失败,导致还要手动的去修改和部署,并没有实现自动的部署,还是比较鸡肋,所以使用新的解决方案,来实现真正的自动化.

gitalk 自动初始化

​ 前面有篇文章介绍了使用hexo的评论系统gitalk,但是使用过程中有一些小问题,每一篇文章都需要初始化一下issues,不然是无法评论的,如果文章太多,一个一个初始化就太浪费时间和精力,所以借鉴了网上的一些资料完成一个自动化初始评论的需求

hexo部署到阿里云服务器

前面几篇文章说过将hexo部署到githubcoding,但是使用过程中发现github国内访问速度慢,不允许百度爬虫爬取,codingpage服务也是部署在国外,虽然做了cdn速度还不错,但有时会挂掉,时间有短有长,不稳定这一因素也驱使这我放弃这个方式.最终打算部署到自己的服务器上,阿里云还是很稳定的,自己不乱操作也不回出什么问题