All Articles

关于我

爱运动,爱编程,爱小仙女。

我的推荐

学生免费 Online Learning-AWS Educate 培养未来的云工作者:学生(包含教育工作者)不但可以亲自实践AWS技术、参与培训、学习内容、开拓职业途径、使用求职板块,而且可以获取相应积分。 DevIDE-JetBrains 他家的软件表: ReSharper: Tool for .NET Intellij IDEA: IDE for Java PhpStorm: IDE for Web & PHP dotTrace: .NET profilers RubyMine: IDE for...

廉价可靠的vps搭建shadowsocks爬墙

=== 根据多位朋友的推荐以及网络上的讨论,笔者进行了该组合方式的探索。 第一步,购买bandwagonhos的vps服务器,3$/月

ctags&python-vim work for autocomplete&tag-jump

设置 设置python vim module,在vimrc文件中添加如下几行 python << EOF import os import sys import vim for p in sys.path: if os.path.isdir(p): vim.command(r"set path+=%" % (p.replace(" ", r"\ "))) EOF 准备tags文件 运行ctags,生成tags文件,举例: $ctags -R -f ~/.vim/tags/python.tags...

linux cmd

ctrl + z 前台任务放到后台暂停,fg 后台任务调度到前台执行 jobs 查看正在运行的任务 bg number 如 bg 1,任务1调度到后台执行 fg number 如 fg 1,任务1调度到前台执行

vim cmd

gf(go to file)光标移到头文件,gf可以跳到头文件查看,返回ctrl + o shift + k 光标移到函数上,可以跳转到该函数定义处(不包括系统函数) :sh 进入Linux/Uinx shell环境,输入 exit 返回 ctrl + p 代码自动补全

2016校招中期总结

面试前准备 看前人的面经,总结面试可能会问到的问题 了解面试公司的信息(工作地点、薪水范围、工作压力等) 规划好时间表,保证准时(面试、笔试、交通状况) Tips: 1)带水和食物 大多数时候都需要等待,难免遇到错过饭点,饥饿状态不适合谈重要事情。 2)不建议频繁霸面,因为等待耗时太多; 3)投递职位保持一致与自己的项目经历、特点契合 投递不同类型的职位需要准备多套笔试面试经验往往得不偿失(亲测:产品培训生、技术研 发)。 4)与同学、朋友投递的公司尽量重合(甚至职位)...

leetcode-Power of Four

题目:判断一个整数是否是4的幂。 测试举例: 输入16,返回true;输入5,返回false。 选择用python实现: ass Solution(object): def isPowerOfFour(self, num): """ :type num: int :rtype: bool """ import math num_sqrt = int(math.sqrt(float(num))) a = int(math.log(num_sqrt)/math.log(2)) return num ==...

2016校招初期总结

简历 1.简历凸显的个人技能与职位匹配度(投递多个职位需要多份不一样的简历) 2.不同风格的职位需要不同的排版(勿用同一排版) 简历虽然很多人说最好一页,但也可以提供证明自己能力的更多证据。多与同学交流,多总结。 内推 1.本人实习找的内推都没过,所以校招就没有找内推了 2.内推就是提前批,如果提前拿到offer了心里就不慌了,强烈建议找师兄师姐同学内推 笔试准备 1.自己投了简历一定要用excel(或其他记录形式)罗列所有的笔试时间大致内容...

python正则匹配

匹配子串,输出子串: import re while(1): str=raw_input(">") if str == "": break m = re.match(r'^[aeiouAEIOU]*',str) if m != None: print m.group() r'^[aeiouAEIOU]*'只会匹配方括号中重复出现的字符串并返回匹配上的局部字符串,r'^[aeiouAEIOU].*'会把开头是元音字母的字符串整个返回(而不是只返回元音字母)。这体现了*的作用是前一个字母或整体的重复。

多路终端复用器tmux入门配置

tmux 是一个优秀的终端复用软件,类似 GNU Screen ,但来自于 OpenBSD ,采用 BSD 授权。使用它最直观的好处就是,通过一个终端登录远程主机并运行 tmux 后,在其中可以开启多个控制台而无需再“浪费”多余的终端来连接这台远程主机;当然其功能远不止于此。 [百度百科介绍] 我的配置文件主要进行如下定制: 修改 prefix 键为 C-a 分屏快捷键为 | - 窗格选择移动键与 vim 移动键一致 窗格尺寸调整,边界移动键 GHJK (与 vim 移动键一致,只是变成大写)...

python异步io,kqueue模式

本实验实现了一个server同时响应多个client的字符回显。 Server端代码kqueue-socket.py #!/usr/bin/env python import socket, select HOST = 'localhost' PORT = 5000 ADDR = (HOST, PORT) serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)...

网络socket cs最小通信系统

创建一个能接受客户端消息,在消息前加一个时间戳后返回的TCP服务器。 tsTclnt.py #!/usr/bin/env python from socket import * from time import ctime HOST='' PORT=21567 BUFSIZ = 1024 ADDR = (HOST, PORT) tcpSerSock = socket(AF_INET, SOCK_STREAM) tcpSerSock.bind(ADDR) tcpSerSock.listen(5)...

Valid Phone Numbers with shell script

Valid phone numbers must appear in one of the following two formats: (xxx) xxx-xxxx or xxx-xxx-xxxx. (x means a digit) Given a text file file.txt that contains list of phone numbers (one per line), write a one liner bash script to print all valid phone...

shell script to read lines from file

How would you print just the 10th line of a file with the shell script? Shell script is as below: #!/bin/bash k=0 while IFS='' read -r line || [[ -n "$line" ]] do ((k++)) if [ $k -eq 10 ] then echo "Text read from file: $line" fi done < "$1" If you...

shell script to evaluate expression

To evaluate expressions involving decimal places (floating points) "bc -l" is very useful. Your task is to evaluate the expression and display the output correct to decimal places. Shell script is as below: #!/bin/bash read expression printf "%.3f\n"...

JetBrains Makes its Products Free for Students

Are you learning Java, PHP, Ruby, Python, JavaScript, Objective-C or .NET technologies? Or maybe you just plan to?Do it right from the start, with award-winning professional developer tools from JetBrains. And the best part: it's free of charge. more...

The way to access Google in China

alternative offer Google: glgoo.com Google scholar: scholar.glgoo.com

Linux 安装 Telnet

linux默认是不安装telnet的,默认使用ssh服务。 首先,查看一下有没有安装telnet及相关的服务软件: 第一步: :rpm -qa |grep telnet :rpm -qa |grep xinetd 如果不存在就使用如下命令安装: :yum install xinetd telnet-server telnet-client(这个可选,从本机使用telnet登陆其他主机) 第二步: 安装好之后,需要修改一下telnet的设置: :vim /etc/xinetd.d/telnet...

如何购买Digitalocean的 VPS 主机

开始就决定选择KVM完全虚拟机,准备搭建一个VPN爬墙,然后在上面建一些网站来积累技术。 一、查论坛评论、测评:找出三个比较合适的(便宜、快、有优惠) 对比 digitalocean ramnode buyvm 的价格和配置: $5/m 512MB-Memory 1core-Processor 20GB-SSD Disk 1TB-Transfer(目前未统计流量,超了也不扣钱) www.ramnode.com 5$/m 256MB 1core 20GB-SSD 1000GB-Transfer 或...

Vim markdown-plugin setup with .vba document (windows 7)

=== 1. Download markdown-plugin from: markdown-1.2.2.vba.gz Extract .gz document with 7zip(Or others software) Open markdown-1.2.2.vba with vim (Or Gvim) Run the cmd::so % :q Now, enjoy vim editor with Syntax highlighting of markdown.

Setup a blog with scriptogr.am and dropbox

sign up a account at at scriptogr.am, then connect your account to your dropbox account. if you had a domain, write it at custom domain. Don't forget to go to domain name provider to change CNAME to atscriptogr.am(if it's a top domain, please point the...

calloc和malloc

void *calloc(unsigned n,unsigned size); 头文件为:stdlib.h 功 能: 在内存的动态存储区中分配n个长度为size的连续空间,函数返回一个指向分配起始地址的指针;如果分配不成功,返回NULL。 跟malloc的区别: calloc在动态分配完内存后,自动初始化该内存空间为零,而malloc不初始化,里边数据是随机的垃圾数据。并且malloc申请的内存可以是不连续的,而calloc申请的内存空间必须是连续的。 calloc代码:...

Tkinter, a Gui for python

Tkinter 编程实现python的GUI。Tk GUI工具包包含了非常方便、简洁的python编程接口,要实现一个图形界面仅需以下几步: 导入Tkinter 模块 创建这个图形界面的主窗口 添加部件(如按钮、菜单、标题)到图形界面 进入主事件循环,采取行动应对用户引发的事件 下面是我今天写的一个小程序: #!/usr/bin/env python import Tkinter top = Tkinter.Tk() quit = Tkinter.Button(top, text='Hello...

wind7批处理设置IP(BATCH脚本)

说明:在x.x.x.x处填上自己的IP地址。保存成“.bat”文件,以管理员身份运行即可。 代码如下: @echo off :main cls echo 请按提示操作... echo. echo 1 STI-HUST echo 2 Dian-HUST-711 echo 3 DHCP echo 4 Exit echo. set /p choice= Input a number: echo. if "%choice%"=="1" goto ip_STI if "%choice%"=="2" goto...

Python 网络编程socket_server单线程响应请求

刚开始接触python网络编程,使用socket编写一个简单的单线程server。socket模块提供了一个工厂函数,也被称为socket,开发者可以调用函数以生成一个套接字对象S。要想执行网络层操作,可以调用S上的方法。在客户程序中,可以调用S.connect连接到一个服务器。在服务器程序中,可以调用S.bind和S.listen等待客户程序的连接。在客户程序请求连接时,服务器程序可以调用S.accept接受请求,该方法将返回连接到客户程序的另一个套接字对象S1.在有了一个连接的套接字对象之后,就可...

单片机EUSART串口通信

在两个单片机之间建立串口通信。 说明:我们使用数码管显示接收到的数据,数据是对方的按键编号。 硬件连接图: 有一点至关重要,就是两个单片机要共地。发送和接收引脚在两个单片机上交叉相连。 这里采用的是异步发送和接收。 发送原理图: EUSART接收图: 时序图: 软件流程图: 软件源码: #include __CONFIG _CONFIG1, _LVP_OFF & _FCMEN_ON & _IESO_OFF & _BOR_OFF & _CPD_OFF & _CP_OFF &...

PIC16F883和TLC5615(DA)数模转化实验,呼吸灯

器材:PIC16F883控制芯片、TLC5615、LED灯一个、电阻一个(1K)、PICkit2下载器 实验说明,本实验采用I/O模拟方法实现数模转换,转换结果输出到LED引脚。LED呈现呼吸似的缓慢闪烁。 实验电路图: RC3连接SCLK、RC5连接Din、RC2连接CS。 输入DA的数字从0加到1024(DA为10位),再从1024减到0。中间最亮的时候做了一点儿延时。 LED灯接一个电阻到地,另一端接DA的模拟输出引脚。 实验中比较重要的时序图:...

PIC单片机按键检测,单双击、长短按识别

硬件PIC16F883芯片,10个按键,4位数码管。 芯片引脚图 数码管连接 PORTC连接数码管的8段LED,PORTA<3:0>连接数码管的4个共阴极(控制选通位)。 按键连接图 按键扫描程序在上一篇博文里面有说明,现在还是使用上面的扫面方式(代码都是一样的)。用记录按键按下和弹起的时间判断是不是长按和双击。TMR1设置,1:4分频、1:8预分频,计数周期为8uS。TMR1溢出一次时间为0.524288 S...

单片机实现按键行列扫描,准确识别按键,数码管显示按键编号

控制芯片:PIC16F883 引脚图: 按键连接图: 四位数码管连接:四个共阴极分别连接PORTA<3:0>,8段数码管分别连接PORTC<7:0>,PORTB<4,2:0>分别连接按键的四个I/O引脚。 我在PORTC上连接了数码管,按键进行编号。按键时数码管会显示对应的编号。 简单说明:...

基于pic16f883芯片的汇编秒闪LED实验

器材:Microchip公司的控制芯片pic16f883、LED灯、电阻、导线、程序下载器、代码编译仿真软件MPLABV8.8 电路连接原理图: 软件流程图: 本实验使用TIMER1模块 16位计数器溢出检测来完成周期性延时0.5S。 数据计算 计算方法如下: 计数频率:4MHz * 1/4 * 1/8 = 1/8 MHz 则计数周期为:8uS 由于代码中设置每延迟0.5S,LED引脚电位取反来切换状态。所以要使计数器累计计数0.5S: 计数器次数= 0.5S/8uS = 62500次...