您正在查看: HanSon 发布的文章

windows for github

由于git的版本问题打算更新一下git,便尝试使用了一下windows for github,发现异常的好用

贴几张图

gui版本

shell版本

附上下载地址吧 下载windows for github

PS:用这个根本不需要看教程了

由于git的版本问题打算更新一下git,便尝试使用了一下windows for github,发现异常的好用

贴几张图

gui版本

shell版本

附上下载地址吧 下载windows for github

PS:用这个根本不需要看教程了

[云储存] 基于七牛的云盘网站

前言
本来是想找个云储存给自己的blog的音乐添加外链,做着做着做歪了,干脆做了一个个人下载中心,一些不错的东西就往上面扔。

设计
一开始打算在网站上上传文件,但发现有些坑,例如文件过大服务器就出问题,和上传的文件都自动加上了时间作为前缀,那么就干脆在管理页面加个七牛链接就算了。由于文件分类是有限的,也就那么几个,干脆就直接写成静态。文件获取就根据七牛的API获取,根据文件类型分类放好。

关于算法
描述是自己加上去的,因为七牛不提供额外字段,只能通过自己的管理后台进行添加。只需要id, 文件名, 文件描述这三个字段即可。在从数据库获取所有描述,再把下标更改为文件名,这样就可以直接找出文件描述而不需要遍历。之后在找到的描述的数组中增加一个status作为标记,如果没有找到对应文件的描述,将会自动从数据库中删除。

收获
这个项目做了一个星期了吧,断断续续,主要是需要思考如何通过数据结构减少数据库连接,能够更节省时间与空间完成一系列操作,也意外得知thinkPHP是有相关七牛API的驱动的。

前言
本来是想找个云储存给自己的blog的音乐添加外链,做着做着做歪了,干脆做了一个个人下载中心,一些不错的东西就往上面扔。

设计
一开始打算在网站上上传文件,但发现有些坑,例如文件过大服务器就出问题,和上传的文件都自动加上了时间作为前缀,那么就干脆在管理页面加个七牛链接就算了。由于文件分类是有限的,也就那么几个,干脆就直接写成静态。文件获取就根据七牛的API获取,根据文件类型分类放好。

关于算法
描述是自己加上去的,因为七牛不提供额外字段,只能通过自己的管理后台进行添加。只需要id, 文件名, 文件描述这三个字段即可。在从数据库获取所有描述,再把下标更改为文件名,这样就可以直接找出文件描述而不需要遍历。之后在找到的描述的数组中增加一个status作为标记,如果没有找到对应文件的描述,将会自动从数据库中删除。

收获
这个项目做了一个星期了吧,断断续续,主要是需要思考如何通过数据结构减少数据库连接,能够更节省时间与空间完成一系列操作,也意外得知thinkPHP是有相关七牛API的驱动的。

[推荐] I'm a mess

放假回家,准备实习,what a mess!

放假回家,准备实习,what a mess!

特别的日子却没有特别的事情

今天已经是100天了,也是大学生涯中最后一科考试的时间,也标志着成为大四狗和实习狗。本以为心情会有很大起伏,然并卵。最后一门考试是软件测试,熟练的填上选择题的答案(考纲大部分都有),轻松的完成大题,交卷的一刻夹杂着一丝兴奋。没有想象中那种欢呼雀跃,只有稳重的默默高兴。考完试便去看了《捉妖记》,其实并没有那么的好看,国产的科幻特效片无非就是真人+卡通片。写完也不知道自己在写什么,睡觉吧~

今天已经是100天了,也是大学生涯中最后一科考试的时间,也标志着成为大四狗和实习狗。本以为心情会有很大起伏,然并卵。最后一门考试是软件测试,熟练的填上选择题的答案(考纲大部分都有),轻松的完成大题,交卷的一刻夹杂着一丝兴奋。没有想象中那种欢呼雀跃,只有稳重的默默高兴。考完试便去看了《捉妖记》,其实并没有那么的好看,国产的科幻特效片无非就是真人+卡通片。写完也不知道自己在写什么,睡觉吧~

[主题] Material风格的博客主题

经过多天的修改终于完善了Material的主题

之前出现各种bug和各种体验不合理

Fix Bug:

  • footer始终显示在底部
  • head中输出网站信息
  • 不能评论bug

feature:

  • 分类显示在导航栏
  • 侧边栏可选择显示内容
  • 自定义图片标语

下载地址:github

经过多天的修改终于完善了Material的主题

之前出现各种bug和各种体验不合理

Fix Bug:

  • footer始终显示在底部
  • head中输出网站信息
  • 不能评论bug

feature:

  • 分类显示在导航栏
  • 侧边栏可选择显示内容
  • 自定义图片标语

下载地址:github

Centos下安装php的pdo以及gd库

因为自己的Linux服务器一直坚持使用yum安装,也比较厌烦编译安装

pdo的扩展:

yum install php-pdo

pdo的mysql扩展:

yum install php-pdo_mysql

gd库扩展:

yum install php-gd

安装完就,service php-fpm restart 就ok了

因为自己的Linux服务器一直坚持使用yum安装,也比较厌烦编译安装

pdo的扩展:

yum install php-pdo

pdo的mysql扩展:

yum install php-pdo_mysql

gd库扩展:

yum install php-gd

安装完就,service php-fpm restart 就ok了

LINUX下的用户访问授权

本文转载于:转载文章

LINUX下的用户访问授权--作者:skyzip

   LINUX下的用户访问授权
  ----------------------------------------------------------skyzip
1、建立帐号

a.推荐使用 useradd 命令

使用方法:useradd username

举例如下:

需建立帐号为:skyzip

useradd skyzip

b.建立密码

使用命令:passwd

使用方法:passwd password

举例如下:

假设密码为:123456

passwd skyzip 回车

New UNIX password: 123456 回车

BAD PASSWORD: it does not contain enough DIFFERENT characters '系统提示

Retype new UNIX password: 123456 回车

passwd: all authentication tokens updated successfully '系统提示

2、赋予用户指定位置

使用方法:vi etc/passwd

举例如下:

打开passwd

更改和新建用户相关的语句,修改后的语句中的abc为指向的文件夹

原:google: x:507:507::/home/html google:/bin/bash

修改后:google: x:507:507::/var/web/www/html/abc:/bin/bash

3、建立目标文件夹

使用命令:mkdir

使用方法:mkdir directoryname

举例如下:

在合适的位置建立文件夹为:mkdir abc

在var/web/www/html/位置,mkdir abc

4、更改目标文件的拥有者

a.更改文件和文件夹拥有者

使用命令:chown

使用方法:chown -R username:groupname directoryname

意思为把这个目录下的所有文件和文件夹更改拥有者

举例如下:

chown skyzip:skyzip abc

注:必须在ABC目录的上一层使用此命令格式

完成后可用ls -l查看是否已更改了拥有者

b.进入abc目录,输入如下命令更改权限

chown -Rf username.groupname directoryname

5、更改文件夹读写权限

使用命令:chmod

使用方法:chmod 具体权限值 directoryname(此为只更改directoryname的权限不影响里面的文件夹和文件权限)

chmod -Rf 具体权限值 directoryname(此为更改directoryname的权限以及所包含所有文件夹和文件)

举例如下:

chmod 777 abc

注:此时所在位置为var/web/www/html是abc的上一层,此处设为777,可读可写是因为我将向此文件夹上传,更改文件

chmod -Rf 777 abc

注:此时所在位置为var/web/www/html是abc的上一层,此处设为777,可读可写是因为我将向此文件夹上传,更改文件,并且把abc里所有的文件和文件夹都设为了可读写,不建议采用,很危险!!!

6、可用新建用户登陆测试

操作完毕!

本文转载于:转载文章

LINUX下的用户访问授权--作者:skyzip

   LINUX下的用户访问授权
  ----------------------------------------------------------skyzip
1、建立帐号

a.推荐使用 useradd 命令

使用方法:useradd username

举例如下:

需建立帐号为:skyzip

useradd skyzip

b.建立密码

使用命令:passwd

使用方法:passwd password

举例如下:

假设密码为:123456

passwd skyzip 回车

New UNIX password: 123456 回车

BAD PASSWORD: it does not contain enough DIFFERENT characters '系统提示

Retype new UNIX password: 123456 回车

passwd: all authentication tokens updated successfully '系统提示

2、赋予用户指定位置

使用方法:vi etc/passwd

举例如下:

打开passwd

更改和新建用户相关的语句,修改后的语句中的abc为指向的文件夹

原:google: x:507:507::/home/html google:/bin/bash

修改后:google: x:507:507::/var/web/www/html/abc:/bin/bash

3、建立目标文件夹

使用命令:mkdir

使用方法:mkdir directoryname

举例如下:

在合适的位置建立文件夹为:mkdir abc

在var/web/www/html/位置,mkdir abc

4、更改目标文件的拥有者

a.更改文件和文件夹拥有者

使用命令:chown

使用方法:chown -R username:groupname directoryname

意思为把这个目录下的所有文件和文件夹更改拥有者

举例如下:

chown skyzip:skyzip abc

注:必须在ABC目录的上一层使用此命令格式

完成后可用ls -l查看是否已更改了拥有者

b.进入abc目录,输入如下命令更改权限

chown -Rf username.groupname directoryname

5、更改文件夹读写权限

使用命令:chmod

使用方法:chmod 具体权限值 directoryname(此为只更改directoryname的权限不影响里面的文件夹和文件权限)

chmod -Rf 具体权限值 directoryname(此为更改directoryname的权限以及所包含所有文件夹和文件)

举例如下:

chmod 777 abc

注:此时所在位置为var/web/www/html是abc的上一层,此处设为777,可读可写是因为我将向此文件夹上传,更改文件

chmod -Rf 777 abc

注:此时所在位置为var/web/www/html是abc的上一层,此处设为777,可读可写是因为我将向此文件夹上传,更改文件,并且把abc里所有的文件和文件夹都设为了可读写,不建议采用,很危险!!!

6、可用新建用户登陆测试

操作完毕!

golang基于beego框架下实现新建mysql表

本来说好闭关的,但刚做的有起色觉得应该记录一下

首先导入beego/orm 的包,还有就是驱动,这里我是使用go-sql-driver/mysql 作为栗子

导入mysql驱动

go get github.com/go-sql-driver/mysql

然后就是需要导入了

import _"github.com/go-sql-driver/mysql"

可能有人对import 后面的"_" 有疑问,下划线是表明不直接使用包内的函数,而是调用里面的init函数。

因为我们是利用beego/orm对数据库进行操作,所以只需要注册mysql驱动就OK了

接下来就是重点了

func RegisterDB() {
_DB_NAME = "root:password@/default?charset=utf8"
_DRIVER  = "mysql"
orm.RegisterModel(new(Admin), new(Article),.....)
orm.RegisterDriver(_DRIVER, orm.DR_MySQL)
orm.RegisterDataBase("default", _DRIVER, _DB_NAME, 30)}

因为beego的原因(个人认为这算bug吧),数据库需要命名为default

这样就可以对数据库进行操作了

本来说好闭关的,但刚做的有起色觉得应该记录一下

首先导入beego/orm 的包,还有就是驱动,这里我是使用go-sql-driver/mysql 作为栗子

导入mysql驱动

go get github.com/go-sql-driver/mysql

然后就是需要导入了

import _"github.com/go-sql-driver/mysql"

可能有人对import 后面的"_" 有疑问,下划线是表明不直接使用包内的函数,而是调用里面的init函数。

因为我们是利用beego/orm对数据库进行操作,所以只需要注册mysql驱动就OK了

接下来就是重点了

func RegisterDB() {
_DB_NAME = "root:password@/default?charset=utf8"
_DRIVER  = "mysql"
orm.RegisterModel(new(Admin), new(Article),.....)
orm.RegisterDriver(_DRIVER, orm.DR_MySQL)
orm.RegisterDataBase("default", _DRIVER, _DB_NAME, 30)}

因为beego的原因(个人认为这算bug吧),数据库需要命名为default

这样就可以对数据库进行操作了

准备闭关了

之前备案新域名花了大概一个月,导致本人也一个月没写blog了,最近也因为在学习golang并且尝试写出一套基于beego框架的博客系统(暂时打算采用mysql),所以也暂时不更新了

之前备案新域名花了大概一个月,导致本人也一个月没写blog了,最近也因为在学习golang并且尝试写出一套基于beego框架的博客系统(暂时打算采用mysql),所以也暂时不更新了

apicloud短信验证android模块教程

首先,eclipse导入官方的apicloudSDK,别问我哪里下载这种问题。。。

本人使用的验证方式为mob 连接在此 http://mob.com/,这个自己百度,免费发送短信的,在官网下载太慢的SDK,并且导入

然后新建一个类,这里短信模块的类我起名为sendSms.java

并且继承uzmodule这个类

public class sendSms extends UZModule{

    UZModuleContext moduleContext;
    
    public sendSms(UZWebView webView) {
            super(webView);
    }
}

首先,eclipse导入官方的apicloudSDK,别问我哪里下载这种问题。。。

本人使用的验证方式为mob 连接在此 http://mob.com/,这个自己百度,免费发送短信的,在官网下载太慢的SDK,并且导入

然后新建一个类,这里短信模块的类我起名为sendSms.java

并且继承uzmodule这个类

public class sendSms extends UZModule{

    UZModuleContext moduleContext;
    
    public sendSms(UZWebView webView) {
            super(webView);
    }
}

- 阅读剩余部分 -