学习笔记 | MySQL 数据类型

最好的资料是 官方文档 !!! Data Type Storage Requirements Numeric Types | 数值型 官方说明文档: https://dev.mysql.com/doc/refman/5.6/en/integer-types.html > TINYINT, 1Bytes > SMALLINT, 2Bytes > MEDIUMINT, 3Bytes > INT, 4Bytes > BIGINT, 8Bytes > FLOAT | DOUBLE | DECIMAL ,指定精度 FLOAT(5,3)可以显示 12.345,超过这个范围进行四舍五入。不指定精度时,FLOAT和DOUBLE按照实际的精度显示,而DECIMAL默认整数位为10小数位为0。FLOAT为4Bytes, DOUBLE为8Bytes, DECIMAL最大支持位数65. 可以参照这篇介绍 和 这一篇 String Types | 字符串 官方说明文档:https://dev.mysql.com/doc/refman/5.6/en/string-types.html > CHAR(L) 与 VARCHAR(L),L表示L个字符个,而非L个字节,UTF8编码中,一个汉字字符占3Bytes > CHAR 定长,长度0~255,例如CHAR(4),可以存储4个字符,不足4个字符时在后面补空格后存储,超过则截断,取出该字段时将自动过滤掉后边的空格,除非 PAD_CHAR_TO_FULL_LENGTH 模式已启用 > VARCHAR 可变长,长度0~65535,例如VARCHAR(4),英文下存储2个字符时占用3bytes,存储4个字符时占用5bytes,超过则截断 > BLOB 类的用于存储二进制,TEXT 类的用于存储字符串。均不能有默认值 > ENUM , gender ENUM('0', '1'), 表示gender字段只能存放 ‘0’, ‘1’其中的一个值, 官方文档 > SET , major SET('computer', 'network'), 表示major字段可存放 ‘’, ‘computer’, ‘network’, ‘computer,network’其中四个中的一个值, 官方文档 Date and Time Types | 日期和时间 官方说明文档:https://dev.……

阅读全文

读书笔记 | 黑客与画家

从学校图书馆借来了这本经典的很多人推荐的书,我看的是中文版的(ISBN 978-7-115-32656-0),觉的书中很多句子很经典、发人深思、或者是有独特的见解,在这里摘录下来,也写下自己的一些”感悟”。 1. 为什么书呆子不受欢迎 当提到书呆子总是受到欺负时,作者分析说是 没有什么比一个共同的敌人更能使得人们团结起来了。 一群孩子成群结伙地欺负你,那并不是因为你做错了什么,而是因为这一伙人需要找一件事情一起干。 最受欢迎的孩子并不欺负书呆子,他们不需要靠踩在书呆子身上来垫高自己。大部分的欺负来自处于下一等级的学生,那些焦虑的中间层。 真实世界的关键并非在于它是由成年人组成的,而在于它的庞大规模使得你做的每件事都能产生真正意义上的效果。 3. 不能说的话 如果自己就是潮水的一部分,怎么能看见潮流方向呢?你只能永远保持质疑。问自己,什么话是我不能说的?为什么? 6. 如何创造财富 创业潜规则 很多事情由不得你。 创业的付出与回报虽然整体上是成比例的,但是在个体上是不成比例的。 9.设计者的品味 当你被迫把东西做得简单时,你就被迫直接面对真正的问题。当你不能用表面的装饰交差时,你就不得不做好真正的本质部分。 语言只是工具! ……

阅读全文

一个校园类微信公众平台

服务器 服务器方面,老师提供了一台位于研究所某个实验室的机器:公网IP肯定是有的,2M独享带宽,配置也相当不错,8核 Core™ i7-2600 3.40GHz处理器、20G内存、500G硬盘。但蛋疼的是到现在80端口都无法使用,应该是电信给禁用了,但老师说这个不是家用的线,应该不会禁用,正在联系当初办理的老师……. 首要任务当时保证服务器的安全,说实话,机器放在那屋,真揪心,,谁不小心给关机了或者拔电源什么的,就……估计以后项目进行时也会换用VPS…先简单配置一下,毕竟暴露的互联网上,也没有硬件防火墙… 网络配置 首先得先连上网啊,不对,首先是装系统,呃,CentOS 6.5 basic server。好,接下来是网络配置 - 配置DNS /etc/resolv.conf > nameserver 219.149.6.99 > nameserver 219.148.204.66 > nameserver 223.5.5.5 配置网关(下面的地址都是虚构的) /etc/sysconfig/network > NETWORKING=yes > HOSTNAME=localhost.localdomain > GATEWAY=59.59.59.59 配置IP地址 /etc/sysconfig/network-scripts/ifcfg-eth0 > DEVICE=eth0 > HWADDR=2C:41:38:00:00:00 > TYPE=Ethernet > ONBOOT=yes > NM_CONTROLLED=yes > BOOTPROTO=static > IPADDR=59.59.59.59 最后重启网络服务 > service network restart 安全配置 https://www.linux.com/learn/tutorials/305769-advanced-ssh-security-tips-and-tricks http://www.cnblogs.com/jembai/archive/2009/03/19/1416364.html 更改SSH端口 /etc/sysconfig/iptables 添加要更改后的端口规则,比如2222,对比这22端口那条规则写就好-A INPUT -p tcp -m state --state NEW -m tcp --dport 2222 -j ACCEPT,使生效service iptables restart /etc/ssh/sshd_config 在#Port 22下行添加Port 2222,使生效service sshd restart 测试新端口能否ssh登录,可以的话就可以删除防火墙里的22端口规则了 禁用ROOT ssh登录 /etc/ssh/sshd_config ,找到#PermitRootLogin yes更改为PermitRootLogin no ……

阅读全文

一些常用的linux命令

http://linuxtools-rst.readthedocs.org/zh_CN/latest/base/index.html 命令帮助 如果只记得某个命令的一部分,可以使用 man -k 来搜索符合要求的命令及简要说明. 例如, bash ubuntu@ubuntu:~$ man -k ipta ip6tables-apply (8) - a safer way to update iptables remotely ip6tables-save (8) - dump iptables rules to stdout iptables (8) - administration tool for IPv4/IPv6 packet filtering and NAT iptables-apply (8) - a safer way to update iptables remotely iptables-extensions (8) - list of extensions in the standard iptables distribution iptables-restore (8) - Restore IP Tables iptables-save (8) - dump iptables rules to stdout iptables-xml (1) - Convert iptables-save format to XML psfstriptable (1) - remove the embedded Unicode character table from a console font whiptail (1) - display dialog boxes from shell scripts xtables-multi (8) - xtables multi-link binary for netfilter's iptables and ip6tables 查看命令的位置 which iptables 简要说明该命令 whatis iptables 详细说明该命令 info iptables 最强大的 man iptables 文件 find, 实时查找。删除当前目录下 php 文件,find .……

阅读全文

整合IMDb Top 250和BT种子下载

IMDbTop250 概述 抓取 IMDb Top 250 的 Rank&Title 和 IMDb Rating 信息 (数据库表top250) 根据抓取到的imdb编号去 BT天堂 查询,并抓取种子下载信息 (数据库表btdown) 整合,对外提供定时更新的IMDb Top 250列表和种子下载服务 安装 创建一个数据库,并执行 install.sql 修改updateDB.php和top250api.php的数据库连接信息 更新 更新数据库表top250 http://example.org/updateDB.php?action=updateTop250 更新数据库表btdown http://example.org/updateDB.php?action=updateBtDown 其它 Github https://github.com/xu42/IMDbTop250 demo http://top250.ml/ ……

阅读全文

获取多说评论数并集成到Typecho

为什么使用多说评论系统  因为想尽量减轻服务器压力,但也有人说多说加载慢。。个人感觉多说挺好用的,省去了好多麻烦。 多说的缺点  也不知道Typecho有木有类似的插件,反正我没找,自己就做了,但还不是插件,只是写了一个function来调用多说的“获取文章评论数”公开API, 并集成到Typecho,多说官方也有,但文档写的不清晰,糊里糊涂的(其实是我不怎么懂JS罢了,O(∩_∩)O~) PHP获取评论数 在当前主题文件夹下新建一个PHP文件, getDuoshuoComments.php, 代码如下 <?php /** * 获取文章多说评论数 */ function getDuoshuoComments($threads){ $url = 'http://api.duoshuo.com/threads/counts.json?short_name=xuyangjie&threads=' . $threads; $jsonComm = file_get_contents($url); $arrayComm = json_decode($jsonComm, TRUE); $counts = $arrayComm['response'][$threads]['comments']; if(!is_int($counts)){ return 0; } return $counts; } 这里需要改的是short_name=xuyangjie,其中xuyangjie替换为你在多说创建二级域名。 然后在需要显示评论数的地方添加<?php echo getDuoshuoComments($this->cid); ?>,就行了。当然你需要在显示评论数的文件添加include('getDuoshuoComments.php');,嫌麻烦的话,可以把getDuoshuoComments函数,写在header.php内。 目前已知,可以在index.php,post.php,page.php三个页面添加并能正常显示,演示可见本小站 博客已更换为Hexo……

阅读全文

无线路由器实现校园网锐捷登陆并建立WIFI热点

拉的学校网线,需要电脑锐捷登陆验证,目前也有破解版的锐捷(百度一下你就知道)可以认证登陆之后用电脑建立WIFI热点。闲着无聊,本着爱折腾的心,看着网上大牛的教程,自己也玩了一把无线路由器直接登陆锐捷验证并建立WIFI热点(废话,无线路由器不能建热点还叫无线路由器么,主要难点是锐捷登陆验证),好了,开始我们的折腾之旅。 所需工具  一台特殊的无线路由器:由于大家都懂得的原因,国内的无线路由器基本都被阉割了,所以你需要DIY一台打了鸡血的无线路由器 或者 在万能的某宝网购置一台已经经过改造的无线路由器。虽然喜欢折腾,但不喜欢折腾硬件,所以我直接买了一台改造后的,为了避免被人说是打广告,就不贴出链接了,有兴趣购买的直接在某宝网搜索openwrt 路由器, 8m 64m 路由 等等即可,也可在下面评论我会给出链接,一般算上邮费¥50的差不多就能用了,土豪请随意。我的是刷好的openwrt 一台电脑:因为需要对路由器进行配置啊。另外还需要两款软件WinSCP(用于上传锐捷认证执行脚本程序,点此进入百度下载页面)和putty(用于登陆路由器进行一些配置,最好懂一些linux基本命令,不懂也没关系,点此进入百度下载页面) mentohust:锐捷登陆认证脚本,详情请移步https://code.google.com/p/mentohust/ 和 https://code.google.com/p/mentohust-wrt/ ,由于google可能将于2016年1月25日关闭google code,如果你是在这个时间之后看到的这份教程,可能需要费点力气去找相关文件,不妨在这里https://github.com 找找看。。另外,上面的链接正常情况下是无法访问的,下面部分链接也是,你需要一把梯子,我想你是懂得的。 开始折腾  请注意,由于本人所使用的路由器刷的固件是openwrt,型号是:MW150R,改造为TP740N V5 8M/64M,演示截屏等可能不一样,但都大同小异。如果不想折腾,可选用与我一致的路由。一定要找到对应的脚本,不然是会出错的。最下面会给出下载链接。 登陆无线路由器web后台,一般是http://192.168.1.1,我这里学校的锐捷登陆是静态地址,因此需要修改网络-接口-WAN协议为静态地址,并填写IPV4地址 子网掩码 网关 DNS服务器等信息,在高级设置里把MAC地址修改为在学校网络中心申请时的MAC地址。也可以直接SSH登陆直接修改网络配置文件。 使用WinSCP上传锐捷登陆脚本 mentohust,找到适用自己路由器型号的脚本,上传至/usr/bin;使用puttySSH登陆路由器并修改权限。 > cd /usr/bin/ > chmod a+x mentohust 登陆脚本,我是在/root/目录下建立633.sh,填写登陆信息 > mentohust -u用户名 -p密码 -neth1 -i分配到的IP地址 -m子网掩码 -g网关 -sDNS -b3 建议不会使用VIM的同学直接在本地编辑好该脚本,注意文件名是633.sh必须是.sh为后缀,上传至\root\下,并修改权限 > cd /root/ > chmod a+x 633.sh 开机自启登陆脚本,系统-启动项,添加 sh /root/633.sh,同样可以直接修改/etc/rc.local文件如果会使用VIM的话。 好了,教程到此结束。下面是一些下载链接。 我的路由器型号 TP-Link TL-WR740N/ND v5对应的可用的mentohust 链接:http://pan.baidu.com/s/1nturYVf 密码:lemw 具体的需要看你的型号,在 https://code.……

阅读全文