空达博客

一些并不十分厉害的技术文章和生活感悟的随性分享。

0%

灵活使用各种公共的静态资源库,可以加速你的网站运行速度。

常用库

当然,用别人的 CDN 都是不保险的,所以建议在 CDN 读取失败的时候从自己服务器提供;

如下:

1
2
3
4
5
6
7
8
<script src="//cdn.staticfile.org/jquery/1.8.3/jquery.min.js"></script>
<script>
if (!window.jQuery) {
var script = document.createElement('script');
script.src = "/js/jquery.min.js";
document.body.appendChild(script);
}
</script>

以上。

引用说明

部分引用于 此文

[镜像站 RSS]

正式版本通道:

1
https://gms.magecorn.com/Zeus-Runtime.rss

Beta 版本通道(镜像更新缓慢,如需体验请使用官方通道):

1
https://gms.magecorn.com/Zeus-Runtime-Beta.rss

NuBeta 版本通道(新增,用于 2.3.0-Beta):

1
https://gms.magecorn.com/Zeus-Runtime-NuBeta.rss

[手动下载]

如果你是第一次使用 GameMaker Studio 2,或者更新出现问题,可以在这里手动下载对应版本的 Runtime,建议使用迅雷,IDM 下载以下文件。

阅读全文 »

两数之和是一道非常经典,也非常高频的面试题。

问题

给定一个整数数组nums 和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。

例子:

1
2
3
4
5
6
## 给定
nums = [2, 1, 7, 11, 15], target = 9
## 因为
nums[0] + nums[2] = 2 + 7 = 9
## 所以返回
[0, 2]

之前我们探讨了这个问题的暴力运算法和哈希表法,今天我们使用双指针法来解决它。

思路

首先排序数组;

使用leftright 两个指针;

比较 targetleft 值加 right 值的和,移动对应的指针;

双指针解法的时间复杂度取决于对应的排序算法,空间复杂度为O(n)

什么是双指针?

双指针和快速排序、冒泡排序等具体算法不同。它更接近于一种思(tào)路,一种使用两个指针互相配合来存储节点以便于运算的技巧。

双指针法适用于数组、链表等线性数据结构,常用的思路有:碰撞指针、滑动窗口、快慢指针等。

在两数之和这个case中我们使用 碰撞指针 的方式来实现,其它两种套路会在后续文章中介绍。

阅读全文 »

Android 原生计步功能的实现,记录当日步数(仿微信运动),不需要后台 service。

1.概述

通过调用 Android4.4 以上系统自带的计步传感器 Sensor.TYPE_STEP_COUNTER ,实现记录当日步数的逻辑,不需要后台 service ,因自带计步传感器记录的是开机以来所有的步数,所以需要自己处理跨天分割以及开关机的问题。

2.封装

封装 StepUtil 供外界调用,以下:

1
2
3
4
5
6
7
8
9
/**
* 今日步数
*
* @param context 上下文
* @return 今日步数
*/
public static int getTodayStep(Context context) {
return (int) StepSPHelper.getCurrentStep(context);
}

3.初始化调用

在项目开启的入口处进行计步功能的初始化,以下:

阅读全文 »

此文为将在 nginx 服务器上申请 ssl 证书以开启 https 服务的经验。。

0.转载说明

作者:知微见珠
链接:https://www.jianshu.com/p/df3c07aa9330
来源:简书

有删减。

1.安装CertBot

为了实现网站的 HTTPS 化,需要在服务器上配置 CA 证书,Let'sEncrypt 是一个免费的 CA 证书,而且提供了 Certbot 客户端方便进行安装。

1
2
wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto

这里遇到过一个问题:之前设置了pip的镜像地址为阿里云,导致部分 python lib下载不下来。
解决方法:

1
2
vi .pip/pip.conf
注释掉index-url=http://mirrors.aliyun.com/pypi/simple/这一行

2.安装Nginx插件

以下

1
2
3
sudo ./path/to/certbot-auto --nginx
# 也支持apache
# sudo ./path/to/certbot-auto --apache

这里也遇到一个问题:Nginx路径未加入到到环境变量,导致 certbot 找不到 nginx
解决方法:

1
2
ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
ln -s /usr/local/nginx/conf/ /etc/nginx

3.检测HTTPS是否可用

此时应该已经就可以通过 https 访问你的域名了,可以到 https://www.ssllabs.com/ssltest/analyze.html?d=你的域名 检测一下;

阅读全文 »

此文为将 Hexo 部署于自己的 VPS 服务器上的经验。

0.转载说明

作者:JackYao
链接:https://www.jianshu.com/p/a8796a963fe9
来源:简书

有删减。

1.将 Hexo 安装在本机

以下:

1
2
3
4
5
npm install hexo-cli -g #全局安装hexo脚手架工具
hexo init blog #初始化项目,命名为blog
cd blog
npm install #安装依赖库
hexo server #启动nodejs服务, 访问localhost:4000可预览

2.服务器配置

2.1登录服务器

购买服务器以后,可通过ssh登录服务器操作

1
ssh root@ipaddress -p port #ipaddress和port可从供应商处获取,默认为22号端口

2.2安装相关软件

git

1
yum install git

配置git

1
2
git config --global user.email "emial地址"
git config --global user.name "用户名"

配置git仓库(通过git hook完成自动部署)

阅读全文 »