手把手教你近乎免费搭建VPS和网站——注册edu邮箱

注册edu邮箱


先说下为什么要注册edu邮箱,因为github提供的学生包顾名思义是给学生使用的,如果你不是学生的话,那么就无法使用。那么github怎么知道你是不是学生的了,简单的说就是检测你注册github的邮箱是不是edu邮箱
如果你是大学生或者你有亲戚朋友的孩子是大学生的话,那么你可以直接注册你大学的edu邮箱或者借你亲戚朋友孩子的edu邮箱使用下。如果你和我一样,恰好刚毕业几年,那么就错过了这么好的服务了,请直接参考:http://www.sgld.org/2015/02/11/1054

注册github并激活


注册github我就不说了,每个码农都懂的,邮箱使用你上一步获取的edu邮箱,然后github会对你刚才用来注册的edu邮箱发送验证邮件,大概可能要等个10来分钟左右邮箱才能收到,验证成功之后进到github学生包申请页面,点击GET YOUR PACK按钮申请,进入到申请页面,信息正常填写即可,只要是edu邮箱很容易通过的,通过之后我们就可以获取我们所需要的优惠码了

阅读更多

手把手教你近乎免费搭建VPS和网站——背景介绍

背景介绍


由于国内的网络政策,购买服务器必须备案,而备案就差不多要等半个月左右才能弄好。而我是个急性子的人,等不了那么久,没办法只好另辟蹊径
首先是在godaddy购买了一个虚拟主机,大概百来块的样子(PS:我是不会告诉你有优惠码的,自寻),而且还送了一个免费顶级域名,算起来还是蛮划算的,服务器在新加坡,速度也还是可以的,但是唯一不足的是和VPS相比差距蛮大的
后来又在性价比超高的搬瓦工(号称翻墙神器)上买了一台洛杉矶直连中国线路的,价值$19.99(PS:我也不会告诉你优惠码可以省1美元左右的,自寻,不会找的右键查看源代码,顶部就有),上面可以一键搭建SS、一键搭建OpenVPN,唯一不足的是速度太慢了,洛杉矶直连中国的ping还在三、四百左右,但是又没有办法,毕竟是个穷B,只能慢慢忍受蜗牛般的速度,每次在终端敲命令得好一会才能返回结果,着实令人抓狂

阅读更多

JS、jQuery各种宽高属性

JS下各种宽高


Window和Document:
JS下宽高分为挂载在Window对象Document对象下的宽高属性,先说下WindowDocument的区别:

  • Window对象表示浏览器中打开的窗口,window对象可以省略,比如window.alert()可以简写为alert()
  • Document对象Window对象的一部分,那么window.document.body我们可以写成document.body,浏览器的HTML文档成为Document对象

Window下的宽高属性:

1
2
3
4
5
6
7
8
9
10
window.innerWidth:浏览器窗口内部宽度
window.innerHeight:浏览器窗口内部高度
window.outerWidth:浏览器窗口外部宽度
window.outerHeight:浏览器窗口外部高度
window.screen.width:屏幕宽度
window.screen.height:屏幕高度
window.screen.availWidth:屏幕的可使用宽度
window.screen.availHeight:屏幕的可使用高度
window.screenTop:浏览器窗口距屏幕顶部的距离
window.screenLeft:浏览器窗口距屏幕左侧的距离

注:innerWidth、innerHeightouterWidth、outerHeight是不支持IE9以下版本的,而screen系列宽高则不存在兼容问题
参考图如下:

阅读更多

利用腾讯云免费证书打造全https站

什么是https?


超文本传输安全协议(Hypertext Transfer Protocol Secure,缩写为HTTPS)是一种网络安全传输协议
httpHTTP协议运行在TCP之上,所有传输的内容都是明文,客户端和服务器端都无法验证对方的身份
httpsHTTP运行在SSL/TLS之上,SSL/TLS运行在TCP之上,所有传输的内容都经过加密,加密采用对称加密,但对称加密的密钥用服务器方的证书进行了非对称加密。HTTPS通过TLS层和证书机制提供了内容加密、身份认证和数据完整性三大功能,可以有效防止数据被查看或篡改,以及防止中间人冒充,相比http而言更安全,越来越多的网站选择了全站 HTTPS

如何搭建https?


通过腾讯云申请免费的SSL证书,为期一年,申请地址:https://console.qcloud.com/ssl
我就不废话了,直接上图如下:

注意:域名这里我们填的是二级域名,因为腾讯云仅支持单个非顶级域名的证书申请,如果我们有多个子域需要申请多次

阅读更多

免费日本樱花搭建谷歌镜像

前言


日本樱花由于之前我已经在arukas.io免费docker搭建ss服务一文中介绍过,所以不再赘述了,不了解的可以先去看看,我们可以利用它来搭建SS、VPS、VPN等等,本文介绍的是怎么利用它来搭建谷歌镜像,利用的是cuber大大写的ngx_http_google_filter_module——Nginx Google 扩展
因为不知道什么时候日本樱花会突然停止测试,所以有效性待查,失效的话我会及时更新告诉各位亲

安装ubuntu


由于我本机用的linux系统是ubuntu,对它相比较其它linux系统而言熟悉些,所以本测试在日本樱花服务安装的是ubuntu系统,如果你有其它的系统可以用其它的,安装过程见下图:

docker镜像地址:tutum/ubuntu:latest,看不清的点图放大看,最后点击创建,然后启动服务等待完成也就是running状态,然后点击watch查看输出的信息也就是ssh的随机密码
注意:如果点击watch之后没反应,那么反复点击吧,不过别太快,大概十秒一次就可以,如果将近五六分钟还没反应建议重启以下,我也是这么熬过来的╮(╯▽╰)╭

安装nginx反向代理谷歌镜像


首先我们先从appport中查找到我们的服务器的ip和端口号,详见下图:

阅读更多

heroku线上部署node小程序

环境安装


首先我们需要个heroku账户,可以点这里申请,然后我们需要在本地下载安装它的工具包(我这里只讲Ubuntu,其他请转https://devcenter.heroku.com/articles/heroku-command-line)

1
wget -O- https://toolbelt.heroku.com/install-ubuntu.sh | sh

如果上面代码安装失败(可能只是我的电脑问题),并报认证之类的错误,那就把https://toolbelt.heroku.com/install-ubuntu.sh的代码复制到本地保存为install.sh,将第13行的http改为https,如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/bin/sh
{
echo "This script requires superuser access to install apt packages."
echo "You will be prompted for your password by sudo."
# clear any previous sudo permission
sudo -k
# run inside sudo
sudo sh <<SCRIPT
# add heroku repository to apt
echo "deb https://toolbelt.heroku.com/ubuntu ./" > /etc/apt/sources.list.d/heroku.list
# install heroku's release key for package verification
wget -O- https://toolbelt.heroku.com/apt/release.key | apt-key add -
# update your sources
apt-get update
# install the toolbelt
apt-get install -y heroku-toolbelt
# install ruby if needed (vervet)
if ! type ruby >/dev/null 2>&1; then
apt-get install -y ruby
fi
SCRIPT
}

然后再执行sh install.sh应该就没问题了

阅读更多

Python3爬取豆瓣电影保存到MySQL数据库

48行代码实现Python3爬取豆瓣电影排行榜


代码基于python3,用到的类库有:

requests:通过伪造请求头或设置代理等方式获取页面内容,参考文档
BeautifulSoup:对页面进行解析,提取数据,参考文档
PyMySQL:python3版本中用于操作MySQL数据库,python2中则使用mysqldbGithub

pip安装用到的几个类库:

1
2
3
pip install requests
pip install bs4
pip install pymysql

分析豆瓣电影页面


页面分析:
爬取数据之前,我们都需要对页面进行分析,看我们可以从中提取到哪些数据,从下图我们看到豆瓣电影top250的页面结构,我们可以从中提取出排行榜(rank)、电影名字(name)、电影详情页链接(link)、电影海报(poster)、电影评分(score)、电影评论(quote)等,我在图中进行了标注

URL分析:
通过点击分页我们可以发现URL的格式为:https://movie.douban.com/top250?start=num&filter=
其中num表示25的倍数的数字,最小是0也就是第一页,最大为225也就是最后一页,这可以作为我们爬取页面的限制条件,filter为过滤条件这里可不用管

阅读更多

Linux crontab 定时任务

今天是个特殊的日子,不用说大家也知道,在这里我只想说八个字:勿忘国耻,振兴中华

什么是crontab?


crontab命令是cron table的简写,它是cron的配置文件,也叫作任务列表,我们可以在下列目录下找到相关配置文件

/var/spool/cron/:存放所有用户定义要定期执行的任务,文件名与用户名一致
/etc/crontab:系统周期性所要执行的任务
/etc/cron.d/:目录用来存放任何要执行的crontab文件或脚本
其他目录:/etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly、/etc/cron.monthly,各代表存放每小时、每天、每星期、每月执行一次的任务

阅读更多

php实现图片上传与下载

本文接下来的内容讲的是如何通过php实现图片的上传与下载

构建上传文件前端页面


这里我借助bootstrap前端框架以及fontawesome图标库,内容很简单就一个图片上传框以及一个提交按钮,代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!--form.php-->
<div class="container">
<form action="upload_del.php" method="post" enctype="multipart/form-data" class="form-horizontal">
<input type="hidden" name="MAX_FILE_SIZE" value="2097152">
<div class="btn btn-success fileBox">
<span>
<i class="fa fa-file-image-o"></i>
上传图片
</span>
<input type="file" accept="image/*" name="file[]" multiple>
</div>
<input type="submit" value="上传" class="btn btn-primary">
</form>
</div>

其中:
<input type="hidden" name="MAX_FILE_SIZE" value="2097152">隐藏域主要是用来现在文件上传大小的,设置为2M=>2*1024*1024=>2097152
<input type="file" accept="image/*" name="file[]" multiple>设置接收文件类型为图片格式,可多张图片上传,注意name属性值为file[]时服务器可接收多图片

阅读更多

arukas.io免费docker搭建ss服务

之前 Chrome插件分享 一文中文章最末分享过通过修改hosts文件科学上网,但其实还是有些网站无法通过此途径访问,那么只能通过付费SS服务、VPN等途径才可以,而本文将要介绍的日本免费Docker,简单搭建免费使用,何乐而不为了

搭建SS


arukas.io是岛国推出的Docker服务,开发者可以购买此服务,将代码部署在其中运行。我们从服务价格可以发现目前该服务处于测试阶段完全免费使用,而且我们可以创建多达10个应用,下面我们就开始搭建之旅吧
注册:
官网地址: https://app.arukas.io/ 进行用户注册,如果你有github账号的话推荐使用github进行登录绕过注册环节,如果没有,那你就还是老老实实注册吧
创建app:
点击左侧控制面板的Create新建一个app,然后在右边的创建面板对应输入:

属性
App Name 随便取
Image oddrationale/docker-shadowsocks
Instances 不用管,默认1即可
Memory 512,免费的当然越大越好
Endpoint 不用管,不填写
Port 端口,8888
ENV 不用管,不勾选
CMD ssserver -p 8888 -k luckywcn -m aes-256-cfb

阅读更多