BLOG
Enjoy when you can, and endure when you must.
ubuntu单用户模式
前两天在折腾ubuntu的时候,自信满满的执行visudo来修改sudo权限,结果就真傻傻的将语法写错了,导致sudo无法运行,囧!于是首先想到用su切换到root下去直接操作文件,不过又突然醒悟过来,root密码没有设置过,这时的密码将会是随机的。只有选择重启进单用户模式了。不过我老忘记怎么编辑启动选项,于是乖乖Google一下然后记录在此。在引导界面选择一个引导项,点击“e”键进入编辑界面,视情况找到“ro single”或“ro recovery nomodeset”并将其替换为“rw single init=/bin/bash”,之后按组合键ctrl + x即可直接以root引导...
Cisco Packet Tracer中VLAN的简单配置和DHCP的使用
目的: · VLAN的简单配置 · 让一台DHCP服务器为多个VLAN提供服务 假设有如下网络拓扑: PC0-3均连接在交换机S0上,现要将PC0-1和PC2-3独立出来,设置其VLAN分别为11和22,并分配子网为172.16.0.0/24以及192.168.0.0/24。最后实现利用一个DHCP服务器同时为这两个VLAN提供DHCP服务,这台服务器属于VLAN33,其IP为10.0.0.5/24。 首先设置VLAN,分配如下: Fa0/1 - Fa0/3:VLAN33 Fa0/4 - Fa0/6:VLAN2...
MAY 10, 2014/关注生活
Gwen Stacy's Valedictorian Speech On The Amazing Spider Man 2
I know that we all think we're immortal, we're supposed to feel that way, we're graduating. The future is and should be bright, but, like our brief four years in high school, what makes life valuable is that it doesn't last forever, what makes it precious is tha...
快速将PHP 5.3升级至PHP 5.5
最近一段时间事还真是多,难得抽出时间记录一点东西,这篇博客仅以CentOS 6.4和Ubuntu 12.04为例,介绍通过yum或apt将PHP 5.3快速升级到PHP 5.5的流程,细节就不阐述了。CentOS 6.41. 添加Webtatic EL YUM仓库:rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm2. 安装PHP 5.5:yum install php55w php55w-opcache3. 如果确定要完全升级系统的PHP版本,可运行如下命令:yum i...
MAY 05, 2014/数据库
MySQL用户管理常用命令
用户管理是MySQL的基本操作之一,为了确保数据库的安全,必须时刻注意用户的增删改以及权限的分配。 从创建用户说起,我们首先来创建一个名为“user1”的用户并设置其密码为“123456”: MariaDB [mysql]> CREATE USER user1 IDENTIFIED BY '123456'; Query OK, 0 rows affected (0.00 s...
Ubuntu12.04安装最新版Redis并作为服务启动
在Ubuntu上安装redis-server最简单的方式莫过于使用apt,不过这样安装的版本是2.2,这不一定能满足我们的需求,因此还是采用手动编译更为靠谱一些。编译这是一个模式,下载 > 解压 > 编译:wget http://download.redis.io/redis-stable.tar.gz tar xvzf redis-stable.tar.gz cd redis-stable make然后可以运行make test命令来检查一下编译是否正确。在编译过后,src/目录下会生成多个可执行文件:redis-server:...
APR 27, 2014/数据结构
后缀表达式求值
对一个后缀表达式进行求值需要用到堆栈,它用于存放操作数并在计算时将其弹出。假设我们将一个正确的后缀表达式存放在一个字符串中,计算时,只需从左到右依次扫描该字符串并遵循以下步骤进行: 1. 如果当前元素是一个操作数,则将其值推入堆栈; 2. 如果当前元素是一个运算符: a)将栈顶的头两个元素弹出; b)将这两个元素与当前运算符做数学运算(注意弹出的第一个元素为右操作数,而第二个元素为左操作数); c)将结果推入堆栈。 A B C + * D / 这里我们以这个后缀表达式为例演示求值过程。假设A、B、C、D的值分别如下: A = 8 ...
APR 27, 2014/数据结构
后缀表达式
数学表达式的计算是我们日常工作的一部分,对于我们来说也相对比较容易。不过如果是计算机呢?可能就不那么简单了。为了让计算机知道计算规则,我们需要对我们通常所使用的所谓中缀表达式进行一下转换,而其中一种转换方法就是后缀表达式。 概念 后缀表达式,即逆波兰式。这种表达式不包含括号,运算符放在两个运算对象的后面,所有的计算按运算符出现的顺序,严格从左向右进行(不再考虑运算符的优先规则)。其优点是根据运算对象和算符的出现次序进行计算,不需要使用括号,也便于用机械实现求值。 中缀到后缀的转换 1. 按正确的运算顺序给每组运算两侧加上圆括号; 2. 在每一组圆括号中,将运...
APR 22, 2014/Python
Python字符串的拆分
字符串的拆分是一个很常见的需求。Python中的字符串也为我们提供了一个split()方法用于方便地按指定格式对字符串进行拆分并返回一个列表。假如有如下字符串:23-16-70-KF-BF-8D这是一个网卡MAC地址,现在我们需要以“-”为分界点将字符串拆分成6组,split()可以方便地做到:>>> mac = '23-16-70-KF-BF-8D' >>> mac.split('-') ['23', '16', '...
APR 19, 2014/Python
Datetime中offset-naive与offset-aware时间的计算
在使用Django时,默认是开启对多时区的支持的,在获取时间的时候会是如下形式:datetime.datetime(2014, 4, 18, 15, 37, 7, tzinfo=<UTC>)我们可以利用django.utils.timezone中提供的localtime方法来将该时间转换为本地时间:>>> dt datetime.datetime(2014, 4, 18, 15, 37, 7, tzinfo=<UTC>) >>> localtim...
<< < 5 6 7 8 9 > >>