我的毕业设计:基于新媒体技术的校园信息平台

很low的名字,但跟众多的某某系统相比个人觉得还是很有新意的,这里的新媒体技术指微信公众平台的服务号和小程序。这个信息平台包括了教务新闻、成绩、课表、考试安排和一卡通、网络自助以及快递追踪等信息。 先来看看视频演示吧 再来看看最后的输出吧(开源) 1. 完整的项目 微信服务号 小程序 2. 开发的组件 2.1 英语四六级 xu42/mydlpu 2.2 教务新闻 dlpu-news 2.3 物流追踪 xu42/express-tracking 2.4 网络自助 xu42/dlpu-network 2.5 一卡通 xu42/dlpu-ecard 最后来说说开发过程吧 没什么好说的,很简单,核心技术就是模拟登陆和正则解析。快递追踪挺好用的,实时推送最新动态到微信,欢迎使用。小程序的测试账号密码是1305040000/00000000 ……

阅读全文

解决hexo yilia主题在https下不友好的问题

今天把博客托管到了又拍云,然后启用了全站https,结果发现有两个js文件是通过http加载的,故而页面无法加载完美。若“加载不安全的脚本”则会使得小绿锁变成红色。。。不能忍 原因在于作者写死了http协议前缀,简单的修改下就可以了。已经发起了pull request,如果你也遇到了这个问题,不妨参考一下这里来解决……

阅读全文

自己动手写一个PHP组件

花了两天时间把《Modern PHP》看了一遍,深有感触~~~ 现在看看以前写的代码简直就是一坨屎(没看这本书之前最多是半坨屎23333)。代码风格、组件思想、包管理等等等等,无颜以对写的代码。本来也打算再次重构一些项目的,现在这种愿望更强了。。好了,废话不多说,开始着手写一个IMDb组件,这个组件用于指定一个title值,便可返回该部电影的详细信息。 事实上我就是跟着《Modern PHP》的Create-PHP-Components章节一步一步做的。 目录结构 这里请参考 https://github.com/thephpleague/skeleton 非常详细 值得说明的是,准备写的IMDb组件没有tests composer.json 这是IMDb的composer.json, 并不是很完善。也是参考上述示例项目的 { "name": "xu42/imdb", "description": "Crawl IMDb movie rating, content rating, release date, poster, presentation, director, actor, duration and other information", "keywords": [ "xu42", "imdb" ], "homepage": "https://github.com/xu42/IMDb", "license": "MIT", "authors": [ { "name": "xu42", "homepage": "http://xu42.cn", "role": "Developer" } ], "require": { "php" : "~5.5|~7.0" }, "autoload": { "psr-4": { "Xu42\\Imdb\\": "src" } } } 功能实现 这个组件的功能很早就实现了,但之前写的就是一坨屎, 改之后是这样的, 虽然还不是很优雅,但相比之下,还是看着舒服多了。 1.……

阅读全文

phpmyadmin 在ubuntu 16.04 php7下不能使用的问题

今天重装了下系统,换了正式版的ubuntu 16.04, apt安装的nginx和php7, 在安装phpmyadmin时遇到了500的错误,很是蛋疼, 先是google了一番, 看到有可能时mbstring的问题。果然没有安装mbstring, 然后 sudo apt install php7.0-mbstring 安装, 但还是有问题。提示是mysqli的问题,再安装一下sudo apt install php7.0-mysql 也就是两条命令的事情, 希望给同样碰到这个问题的朋友一个帮助。……

阅读全文

配置nginx + php7 + mongodb的centos服务器环境

重构、重构、重构 大三下学期了,面试某公司,结果连技术面都没过,╮(╯▽╰)╭,还是有一点打击的。不过也有打算重构一下两个小项目的,希望以此叩开实习的大门。记录一下全过程! 重构前 这部分主要是服务器的搭建。 之前Github学生认证,送了DigitalOcean 100刀,买了一台位于新加坡节点的512 MB Memory / 20 GB Disk / SGP1 - CentOS 6.7 x64 编译nginx mongodb … 前的准备 yum update yum install wget gcc gcc-c++ perl vim 编译 nginx 先把所需要的库下载安装好 zlib pcre openssl zlib http://zlib.net/zlib-1.2.8.tar.gz pcre http://ftp.cs.stanford.edu/pub/exim/pcre/pcre-8.38.tar.gz openssl http://www.openssl.org/source/openssl-1.0.1s.tar.gz cd /usr/local/src/ wget http://nginx.org/download/nginx-1.9.12.tar.gz tar xzf nginx-1.9.12.tar.gz cd nginx-1.9.12 ./configure --with-http_v2_module --with-http_ssl_module --with-pcre --with-openssl=/usr/local/src/openssl-1.0.1s make make install 编译参数很多,但这里我用的很少,主要原因还是自己不太熟悉,至于怎么优化,留给以后深入学习nginx再继续。 当启动nginx出现了这个错误error while loading shared libraries: libpcre.……

阅读全文

DES算法中子密钥的产生

DES (数据加密标准 Data Encryption Standard),因密钥长度过短及可能含有的后门引起争议,现也已经不在作为标准,由AES取代。在学了《网络安全技术》关于加密算法中的DES后,写了这一篇笔记,主要写的是DES算法中子密钥的生成算法。 初始密钥也称种子密钥,64位,经过子密钥换位表PC-1的变换后,由64位变成56位,这56位分为两组C0和D0; > 子密钥换位表PC-1 57 49 41 33 25 17 09 01 58 50 42 34 26 18, 10 02 59 51 43 35 27 19 11 03 60 52 44 36 63 55 47 39 31 23 15 07 62 54 46 38 30 22, 14 06 61 53 45 37 29 21 13 05 28 20 12 04 C0和D0作一次循环左移得到C1和D2; > 循环左移的规则为:16次循环,每次左移 1 1 2 2, 2 2 2 2, 1 2 2 2, 2 2 2 1……

阅读全文

博客换域名啦

刚才进邮箱发现域名xu42.cn已经备案审核通过了,博客域名替换了原来的blog.xuyangjie.cn xuyangjie.cn 是2012年开放个人注册的当天以我的名字的拼音注册的,当时是促销,一年费用只有12元,后来在促销结束前续费了9年,可以不用管它了。 现在这个xu42.cn, 是通过腾讯云的学生优惠活动注册的,但要注册的想法跟腾讯云没有关系,只是刚好有这个活动就去注册了(能省一点钱咯),本是想注册xu42.com, 无奈在2015年10月10日这个域名过期之时,查出来又续费了一年,跟注册人联系也没有回复,等待明年过期时再看看。 xu42, xu取自我的姓氏的拼音, 42是the answer to life, the universe, and everything , 在道格拉斯·亚当斯的小说《银河系漫游指南》,42是”生命、宇宙以及任何事情的终极答案”. 很巧的是, 我的生日0420, 把零去掉也是42. 真巧。 blog也没多少人来访, 不想多折腾, blog.xu42.cn大陆解析到了SAE, 其它地方解析到了Github Pages. 还存在一个问题, 就是SAE不支持HTTPS. 暂时为了速度考虑,仍先这样做了。 欢迎来访, 希望可以帮到你。……

阅读全文

怎么使用slim-jwt-auth对API进行身份验证

这两天一直想找个机会做一下API的身份验证,就像微博那样提供接口给别人用,但又有所限制,也不会导致接口滥用。 大概一年半之前,写了个大学英语四六级成绩查询的接口(由于历史原因,此Github帐号不再使用了,新的在这里),托管在新浪云,放到了网上,也没有加任何限制,结果被一个人短时间内多次调用,真的是非常频繁,浪费了不少云豆。现在正好可以用之前写的成绩查询接口来做这个身份验证的实验。

……

阅读全文

CentOS7 编译安装 nginx php7

腾讯云出了个学生优惠,可以每月1元使用云主机,买了一台。之前的VPS搭建LNMP环境一直用的是一键安装包oneinstack,想来自己也该编译玩玩,就没用一键安装包了。 安装 nginx 当前nginx的Stable version是1.8.0, Mainline version是1.9.9, 这里安装了1.9.9 下载的所有包都放在了/usr/local/src/ 1. 先把所需要的库下载安装好 zlib pcre openssl, zlib http://zlib.net/zlib-1.2.8.tar.gz pcre http://ftp.cs.stanford.edu/pub/exim/pcre/pcre-8.38.tar.gz openssl http://www.openssl.org/source/openssl-1.0.1j.tar.gz nginx http://nginx.org/download/nginx-1.9.9.tar.gz 编译安装 先把编译器安装一下 yum install gcc gcc-c++ zlib pcre openssl很简单,不用配置参数了, nginx我的编译参数是 ./configure –with-http_v2_module –with-http_ssl_module –with-pcre=/usr/local/src/pcre-8.38 –with-zlib=/usr/local/src/zlib-1.2.8 –with-openssl=/usr/local/src/openssl-1.0.1j 安装 php7 PHP 7.0.0 Released也于2015年12月3日发布了, 反正也是自己的服务器用,不像企业级的要求那么高,就直接安装7了。 1. 先把源码包下载 > http://cn2.php.net/distributions/php-7.0.0.tar.gz 编译安装 php的编译,依赖的库比较多,编译时总是报错缺少一些库 软件,查到了一份资料,借来参考一下 yum install -y make zlib zlib-devel pcre pcre-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers php-mysqlnd libmcrypt-devel libtidy libtidy-devel recode recode-devel libxpm-devel……

阅读全文