https://cdn.programmer.work/icon/avatar.jpg

Shawn's blog

分享我的知识、经验、生活与感悟

文章内容可能过时、有瑕疵、有误、甚至和主流价值观相违背

Python 之字符串

0X00 如何定义一个字符串

** Python不需要定义 ** 其实就是这样的。。在Python中的字符串通常这么写

    >>> str1 = 'hello,world'
    >>> str2 = "It's work"
    >>> str3 = """ Jack:"oh shit" """

str1 的声明方式是最普通的声明方式 str2 的声明方式可以在字符串中存在单引号‘ str3 的声明方式可以在字符串中存在双引号 “ 还能在字符串中换行

Shadowsocks 如何科学上网 搭梯子 简明教程

0X00 准备工作

1.一台海外或者香港的服务器/虚拟主机(后面统称VPS),要有独立IP 2.VPS的带宽和流量不能太小 3.一个连接VPS的软件,LInux/Mac可以用终端,Windows用户可以用XShell或者putty 4.VPS要使用Linux系统,Debian/Ubuntu/CentOS都行

Java 使用 MD5 和 BASE64

0X00 简介

最近经常要在代码中使用到BASE64编码和MD5,所以把笔记贴在这里方便自己查找。 在配置postfix邮件服务器的时候发现,收到的邮件正文都是使用BASE64编码过的,所以才了解了一下这种编码。 MD5不算加密算法,但是可以用作摘要计算。

NFS 网络文件系统 安装 配置 挂载 卸载

0X00 NFS简介

NFS的全称是Net-File-System也就是网络文件系统。这和Samba与FTP不同,FTP的主要用途是用来上传和下载文件,Samba的主要功能是共享文件,而NFS的主要功能是用作文件系统。也就是说和NTFS、FAT32、EXT4等是类似的性质。我们可以将这个NFS当做一个磁盘分区挂载到自己的操作系统上,像操作自己的分区一样,甚至可以从NFS启动操作系统。

Linux 交换分区 swap 虚拟内存 理解虚拟内存

SWAP分区是Linux的交换分区。交换分区实际存在于磁盘中,不过Linux系统可以将它当作内存使用,当物理真实内存不足的时候交换分区就可以和真实内存进行数据交换。简单地说就是从磁盘里拿出一块空间当作内存的储备区。虽说磁盘被拿来当作内存使用,但是速度还是磁盘的速度。可以想象下面一种日常生活的场景:

Linux 的 LVM 逻辑卷管理 分区 划分 重划

我的另一篇 LVM 博客,可供参考

我的另一篇 LVM 博客,可供参考

我的另一篇 LVM 博客,可供参考

0X00 LVM是什么,有什么用

LVM的全称是Logical Volume Manager(逻辑卷管理)。是Linux下的一种磁盘分区管理机制,方便给分区(逻辑分区)扩容和压缩。最简单的可以理解成原始的磁盘分区管理是单纯的给每个独立的磁盘进行分区,然后对每个分区进行管理,这样的话每次扩容和压缩空间都会很麻烦。LVM就相当于把所有磁盘的分区都揉到一起,揉成一个大磁盘或者说是大分区,然后从大的中分出小的,这样的话扩容和压缩都会变得方便。

Linux 配置 DHCP 服务器 简明教程

DHCP介绍

功能简介

DHCP是一个基于UDP的工作在应用层的协议,用来自动分配IP地址。 应用实例:一个办公室有十个人,每个人每天上下班都要带着自己的笔记本,所以每次都要手动配置IP地址,这样简直就不是计算机该干的事情是吧。。所以DHCP应运而生,它能够根据服务端的配置给连接到网络的客户机自动分配IP地址。

Linux 软链接(符号链接)/硬链接 理解Linux链接

0X00 什么是链接文件

Linux中的链接文件就相当于是Windows中的快捷方式,通过链接文件可以访问到链接指向的源文件。但是Linux下的链接文件和Windows中的快捷方式还是有一定的区别。Linux中有两种链接文件硬链接软连接 也称为符号链接 在介绍链接文件之前先要介绍一下Linux文件系统中的inode

Mariadb/MySQL 增删查改 数据库操作 建表 建数据库

首先需要安装好MySQL/Mariadb的服务端和客户端,并且能连接到服务端

命令中的大写字母是SQL的关键字,小写字母是自己的相关属性和数据

0X00 连接到数据库

    使用mysql连接到127.0.0.1并用root用户登陆,密码等待输入
    mysql -h 127.0.0.1 -u root -p

0X01 创建数据库

    创建一个名为school的数据库
    CREATE DATABASE school;

0X02 建立一个表

建立一个名为student的表 索引: 10个字符长度的name 不能为空 11个字符长度的number 不能为空 int类型的age 不能为空

Java 抽象类和接口 理解抽象类和接口

0X00抽象类&接口简介

抽象类

  1. abstract 抽象修饰符——抽象就是为了让子类集成的,并不能直接实现一个对象
  2. 抽象类中所有抽象方法都要在子类中实现
  3. 拥有抽象方法的类必须声明为抽象类
  4. 抽象类可以有非抽象的方法

接口

C语言 推箱子 gcc编译通过

0X00 编译环境

Ubuntu 14.04 + GNU/gcc 如果要在Windows下编译的话,* 可能 * 需要注释掉16-18的编译预处理,还 * 可能 * 要注释掉getch()的函数声明及定义,最后在加上conio.h的头文件。

Python命令行日历 获取时间 格式化输出

实现简单日历

读取当前时间并显示本月日历 输出格式化

    #!/usr/bin/python2

    #It's my first Python program

    import time

    #get date 获取当前日期
    year  = time.strftime('%Y', time.localtime(time.time()))
    year = (int)(year)
    month = time.strftime('%m', time.localtime(time.time()))
    day   = time.strftime('%d', time.localtime(time.time()))
    day = (int)(day)
    week  = time.strftime('%w', time.localtime(time.time()))

    week = (int)(week)
    for i in range(0, day - 1):
        week = week - 1
        if week == -1:
            week = 6

    #judge leap 判断是否是闰年
    if year % 4 == 0 and year % 400 != 0 or year % 400 == 0 :
        isLeap = True
    else :
        isLeap = False

    #all Day这个月一共有多少天
    if month == '01' or month == '03' or month == '05' or month == '07' or month == '08' or month == '10' or month == '12' :
        allDay = 31
    elif month == '02' and isLeap :
        allDay = 29
    elif month == '02' and not isLeap :
        allDay = 28
    else :
        allDay = 30

    #print CAL  输出这个月的日历
    print '            ' + str(year) + '   ' + str(month)
    print ''
    print 'Sun  Mon  Tue  Wed  Thu  Fri  Sat'

    for i in range(week) :   #print space   输出空白部分
        print '    ',

    for i in range(1, allDay + 1) :   #print everday  输出日期
        x = str(i)
        print '%-4s' % x,
        week = week + 1
        if week == 7 :
            week = 0
            print

    raw_input()

Linux 目录结构 理解Linux目录树

0X00 Linux文件目录结构

我们在Windows环境下的文件目录结构大概是几个盘符,C盘D盘E盘…但是在Linux下是树状图(其实Windows内部也是树状图)。Linux下一个主要目录是/根目录,其他所有目录都在根目录下,其他的磁盘或者分区也都挂载在根目录下。

C语言中的 Bool 类型

最近在网上看到有的说法里是没有bool类型的,不过以前在书上好像看到过相关的介绍,就特意找出来了那本书《C Primer Plus》,确定了C语言里确实存在bool类型。C语言是在C99标准中添加的bool类型。