Blog

  • 升级的坏处

    这里的升级指,电脑软件的升级,手机软件的升级,linux系统升级,kindle,ipad升级

    活生生的例子

    • 会计的电脑升级报税,升级后出现问题,重新安装软件,之前的打印机设置丢失。
    • 下班之前点关机,一大堆更新,耽误回家的时间。
    • 在周五升级,要是升级不成功,周末就完蛋了。
    • 用了火狐18.0,感觉电脑运行很慢,换回4.0.1,在使用习惯上没有差别,但更流畅
    • 同上,将ie9降为了ie8。电脑硬件不升级,而软件自动更新,不能满足软件的开销,关闭自动升级才是王道。如果说升级是因为安全原因,那怎么能保证升级后就安全。

    总结:在功能上能满足自己的,就坚决不升级。升级对自己来说没有好处,那就是有坏处,只图一时之爽没有多大意义。

  • ppt技巧

    设置ppt自动切换

    设置切换时间

    设置放映方式 (幻灯片放映->设置幻灯片放映)
    自动放映图片的4个步骤
    1.先定好图片,将图片放到一个文件夹中
    2.新建一个ppt,在插入->相册->新建相册,将之前文件夹中的图片导入到相册中,可以顺便调整其顺序
    3.将幻灯片全选,在切换->设置自动换片时间,规定好换片的时间
    4.最后想实现循环放映,则在幻灯片放映->设置幻灯片放映->在展台浏览
  • 子网知识

    在这么多网络IP中,国际规定有一部分IP地址是用于我们的局域网使用,也就是属于私网IP,不在公网中使用的,它们的范围是:

    Network address range Default mask
    10.0.0.0 – 10.255.255.255 255.0.0.0
    172.16.0.0 – 172.31.255.255 255.240.0.0
    192.168.0.0 – 192.168.255.255 255.255.0.0

    划分子网(subneting)

    计算机网络第4版p193

    划分子网的方法是从网络的主机号借用若干个比特作为子网号subnet-id,而主机号host-id也就相应减少了若干个比特

    CIDR(Classless Inter-Domain Routing),无类别域间路由。是在ip地址快分配完时产生出来的ip地址分配方法。已经成为互联网的正式标准。

    无类别域间路由是基于可变长子网掩码(VLSM)来进行任意长度的前缀来分配的。

    更具体的对应表格在这里:http://zh.wikipedia.org/wiki/CIDR

     

  • 2013读书清单

    去年没有读完的书今年要继续读,不过有所改变。既然是干技术的,就将书分为技术类和非技术类,而且同一时间不能想着读多本书,不专一的后果是没有效果。

    开始时间 技术书 非技术书 教学视频
    2012-12-26 python for unix and linux system administration 顾准文集
    2012-12-29 国富论(上)
    2013-02-13 檀香刑
    2013-02-22 写给大家看的设计书(第3版)
    2013-03-01 生死疲劳
    2013-03-23 西方哲学史(上)
    2013-04-08 红高粱
    2013-04-18 浪潮之巅
    2013-05-15 黄金时代
    2013-06-02 精通puppet(Pro Puppet) 白银时代
    2013-06-28 精通puppet(Pro Puppet) 有些事现在不做,一辈子也不会做了
    2013-07-28 丢掉50样东西,找回100分人生
    2013-07-30 NoSQL数据库入门 青铜时代红拂夜奔
    2013-09-01 CodeIgniter.1.7.Professional.Development 80/20法则 E-75
    2013-10-20 乔布斯传
    2013-10-30 时间管理 – 给系统管理员
    2013-11-03 娱乐至死
    2013-11-13 大数据时代 围城
    2013-11-28 lvs手册 长尾理论
    2013-12-08 深入浅出MySQL数据库开发、优化与管理维护 长尾理论
  • python面向对象实例

    最最简单基础的结构了

    #!/usr/bin/env python
    
    class Server():
        def __init__(self, ip, hostname):
            self.ip = ip
            self.hostname = hostname
        def set_ip(self, ip):
            self.ip = ip
        def set_hostname(self, hostname):
            self.hostname = hostname
        def ping(self, ip_addr):
            print "Pinging %s from %s (%s)" % (ip_addr, self.ip, self.hostname)
    if __name__ == '__main__':
        server = Server('192.168.1.244', 'ibm')
        server.ping('192.168.1.105')

    解释

    定义一个Server类

    在类中有初始化函数,set_ip,set_hostname,ping函数

    引用实例server,执行server.ping函数

  • python的入门的几个例子(上)

    在Python for Unix and Linux System Administration列出了几个选择python的理由:

    易入门

    上手后可进行系统管理
    能解决复杂问题
    代码简洁,易读
    关键字使陌生代码易读
    面向对象
    社区优秀
    很好的标准库

    python的基础例子在这里,很有意思,下一个例子的行数是递增的

    http://wiki.python.org/moin/SimplePrograms

    例1.输出显示–Output

    print 'Hello world'

    例2.变量以提示输入的方式赋值,并打印出来–Input, assignment

    name = raw_input('What is your name?\n')
    print 'Hi, %s.' % name

    例3.for循环,内置的列举函数,format格式–For loop, built-in enumerate function, new style formatting

    friends = ['jhon', 'pat', 'gary', 'micheal']
    for i, name in enumerate(friends):
        print "iteration {iteration} is {name}".format(iteration=i, name=name)

    例4.斐波纳契,元组的赋值–Fibonacci, tuple assignment

    parents, babies = (1, 1)
    while babies < 100:
        print 'This generation has {0} babies'.format(babies)
        parents, babies = (babies, parents + babies)

    例5.函数–Functions

    def greet(name):
        print 'hello', name
    greet('Jack')
    greet('Jill')
    greet('Bob')

    例6.import,正则表达式–Import, regular expressions。这里是匹配3位数字-4位数字的字符串。

    import re
    for test_string in [ '555-1212', 'ILL-EGAL' ]:
        if re.match(r'^\d{3}-\d{4}', test_string):
            print test_string, 'is a valid US local phone number'
        else:
            print test_string, 'rejected'

    例7.字典,生成表达式–Dictionaries, generator expressions

    prices = { 'apple': 0.40, 'banana': 0.50 }
    my_purchase = {
        'apple': 1,
        'banana':6}
    grocery_bill = sum(prices[fruit] * my_purchase[fruit]
                       for fruit in my_purchase)
    print 'I owe the grocer $%.2f' % grocery_bill

    例8.调用命令参数,异常处理–Command line arguments, exception handling

    #!/usr/bin/env python
    # This program adds up integers in the command line
    import sys
    try:
        total = sum(int(arg) for arg in sys.argv[1:])
        print 'sum =', total
    except ValueError:
        print 'Please supply integer arguments'

    上面是将跟的参数相加,如果不是整数,则提示需输入整数

    $ python se8.py 1 2 3 4 5 6
    sum = 21
    $ python se8.py 1 2 3 4 5 a
    Please supply integer arguments

    例9.打开文件–Opening files

    # indent your Python code to put into an email
    import glob
    # glob supports Unix style pathname extensions
    python_files = glob.glob('*.py')
    for file_name in sorted(python_files):
    print ' ------' + file_name
    
    with open(file_name) as f:
    for line in f:
    print ' ' + line.rstrip()
    
    print

    例10.时间,条件,from..import,for ..else循环 — Time, conditionals, from..import, for..else

    from time import localtime
    
    activities = {8: 'Sleeping',
                  9: 'Commuting',
                  17: 'Working',
                  18: 'Commuting',
                  20: 'Eating',
                  22: 'Resting' }
    
    time_now = localtime()
    hour = time_now.tm_hour
    
    for activity_time in sorted(activities.keys()):
        if hour < activity_time:
            print activities[activity_time]
            break
    else:
        print 'Unknown, AFK or sleeping!'

    整理一些小知识

    段落注释的方法

    """ """