自建云盘cloudreve

自建云盘cloudreve

起因

因为看到iPad上面有挺多的app支持用webdav备份查找文件,所以一直想自己搭建一个webdav服务。毕竟onedrive真的是太坑了,同步速度巨慢,还经常打开失败,出现奇奇怪怪的错误。

过程

阅读更多
在index主页显示文章缩略图

从wordpress转移到typecho

我真的是受够了臃肿的wordpress!!!

诚然,wp很完善,该有的功能wp都有,而且十分的便捷,后台的管理系统也比typecho要完善的多得多得多,但是问题也出现的比typecho要多。访问速度也不如te。

这一次迁移遇到了很多的事情,不过还行都一一解决了。

阅读更多

WordPress数据库连接失败问题

今天打开博客的时候遇到了一个错误提示:Error establishing a database connection

随后去百度寻找解决办法。

  1. 重启Apache服务器 : service httpd restart 这个方法失败,并且第一次直接重启的时候过程非常的缓慢,具体原因并不知晓。
  2. 修改 wp-config.php 文件,添加define('WP_ALLOW_REPAIR', true);,然后重启服务器。不过这个方法也失败,没有起作用
  3. 打开终端,登录mysql :mysql -u root -p,会发现无法登录,如果报错是Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111) 那么直接重启MySQL服务器就好service mariadb start 。我遇到Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 也是可以这么解决。
阅读更多

WordPress开启https失败后无法打开网站问题的解决办法

本来想着看这个Chrome提示的不安全标志很不舒服,就准备开启https提升网站的安全性。

但是万万没有想到这才是噩梦的开始。
我在阿里的SSL证书管理那里买了免费的ssl证书,然后给TankNee‘s Blog解析上去,然后发现没什么用,查阅了网上的其他人的博客之后把WordPress设置里的域名设置直接给改了,我真的是哭了,然后就出现了怎么样都进入不了网站,连后台都访问不了。

不过仔细看看问题的原因还是很简单的,因为你把http改成了https而你其他部分却还没有配置好。

阅读更多

散列表相关的几个算法

根据算法图解一书写的两个算法:广度优先算法以及狄克斯特拉算法

散列表

散列表在Python中也称作字典,通常的定义方式为: name = dict()

阅读更多

HEXO的一些问题

在差不多踩了WordPress的很多坑之后再来写Hexo发现还是有很多坑,不过还好,这个本地的博客系统倒是很符合我的习惯,而且直接在我的喜欢的编译器里面写代码然后再用命令行上传到GitHub上显示真的是太酷了,真为创造出这个显示模式的人感到骄傲。

不过还是有一些不太优雅的地方。咱们撸代码的总是要讲究一个优美文雅是吧,typora不能识别Markdown文件以外的文件,而vscode的实时渲染好像也不太行,其实是我没有用过hhhh。接下来写一点遇到的坑:

  1. 一直打不开域名:这个问题往往和该域名的解析有关。你需要先用阿里云或者腾讯云之类的去把这个域名解析了,你才能在GitHub Page中重定向这个域名。如果出现域名指向混乱的问题,我觉得最好把之前的解析全部删掉,推到重来。
  2. 上传之后需要重新指定域名:这个问题也困扰了我很久,在不断地设置中我发现每次都是缺少一个名为CNAME的文件,其中仅包含你所要解析的域名,根据网上的一些博客可以知道我们只要在网站的根目录的source文件夹内新建一个名为CNAME的文件,没有后缀!!!!!,不要在这个文件名后面加上后缀!!然后再上传就好了,不会出现以上问题
  3. busuanzi插件的字数统计无法运行:这个也是一个坑,因为在config文件里查阅到的选项并没有提示你要安装对应的插件,而实际上必须要安装wordcount插件,否则无法使用字数统计,其他几个部分的统计字数的功能都需要这个插件,下面是安装过程:
  4. npm hexo-wordcount —save
  5. 在主题的config文件里找到wordcount相关的开关并打开就好了
阅读更多

Android6.0及更高版本动态获取权限

Android 6.0及其更高版本中,即API>=23之后的版本中某些受保护的权限无法直接通过Manifest来直接默认获取,只能通过动态获取,这样做的好处是显而易见的,可以让权限用在该用的地方。

动态获取权限要做的是这几件事情:

  • 判断当前的系统版本,API版本的多少来确定使用哪种获取权限的方法,如果API小于23那么就不需要发起权限获取操作。
  • 如果API大于或等于23那么就发起权限获取,ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.CAMERA},1); this 为当前的操作主体Activity,string数组内为所请求的权限,可见可以同时获取多个权限,最后一位是请求码requestcode。
  • 最后一步是确定回调函数onRequestPermissionsResult(int requestCode,String[] Permissions,int[] grantResult) 其中grantResult数组的第一位若等于PackageManager.PERMISSION_GRANTED那么说明权限被授予否则权限授予失败。
阅读更多
自主搭建SS服务器

自主搭建SS服务器

本文是依托阿里云香港服务器搭建SS服务器,便于我在学校之外访问学术网站。

我选择的服务器是最便宜的轻量级应用服务器

阅读更多