Skip to content

Instantly share code, notes, and snippets.

View one gist
<font color="red">hello world</font>
@zxkletters
zxkletters / RTSP & RTP & RTCP
Created Aug 18, 2012
Real-time streaming protocol
View RTSP & RTP & RTCP
RTSP:实时流协议(Real Time Streaming Protocol,RTSP)
RTSP的请求主要有DESCRIBE,SETUP,PLAY,PAUSE,TEARDOWN,OPTIONS等,顾名思义可以知道起对话和控制作用
RTSP的对话过程中SETUP可以确定RTP/RTCP使用的端口,PLAY/PAUSE/TEARDOWN可以开始或者停止RTP的发送,等等
RTP:实时传输协议(Real-time Transport Protocol)wiki: http://en.wikipedia.org/wiki/Real-time_Transport_Protocol
RTP/RTCP是实际传输数据的协议
RTP传输音频/视频数据,如果是PLAY,Server发送到Client端,如果是RECORD,可以由Client发送到Server
整个RTP协议由两个密切相关的部分组成:RTP数据协议和RTP控制协议(即RTCP)
RTCP:RTP Control Protocol (RTCP),属于RTP的一部分,RTP的控制协议 wiki: http://en.wikipedia.org/wiki/RTCP
@zxkletters
zxkletters / 查看占用cpu时间高的线程
Last active Jun 8, 2016
查看jvm进程中占用cpu时间高的线程方法
View 查看占用cpu时间高的线程
1. jps或top 获取java的进程id
2. top -H -p java进程id ,可以看到各个线程占用的CPU时间
3. 找出占用CPU时间最高的线程PID, python -c "print hex(线程PID)" ,获取线程ID的16进制表示
4. jstack java进程id | less 根据16进制的线程ID查找具体线程的执行情况
@zxkletters
zxkletters / 九九乘法表
Created Apr 6, 2013
python版的九九乘法表
View 九九乘法表
print "".join([('%s*%s=%s%s') % (x,y,x*y,('\n' if x==y else '\t')) for x in range(1,10) for y in range(1,10) if x >= y])
@zxkletters
zxkletters / svn ignore处理
Created Apr 17, 2013
svn管理的项目中,每次ci时要忽略的目录或文件列表设置
View svn ignore处理
1. 进入项目根目录,在该目录下建立ignore文件,ignore文件内容:
.settings
.project
.classpath
target
2. 在项目根目录下执行svn propset svn:ignore -F ignore -R ./ 然后svn ci –m “your msg”
View set svn:ignore prop
#!/bin/bash
find . -name .svn|xargs rm -rf
find . -name .settings | xargs rm -rf
find . -name .project | xargs rm -rf
find . -name .classpath | xargs rm -rf
find . -name target | xargs rm -rf
# === generate ignore file
echo ".project" >> ignore
View README.md

替换上你的Email,密码,域名ID,记录ID等参数,就可以运行了。 会在后台一直运行,每隔30秒检查一遍IP,如果修改了就更新IP。

获得domain_id可以用curl curl -k https://dnsapi.cn/Domain.List -d "login_email=xxx&login_password=xxx"

获得record_id类似 curl -k https://dnsapi.cn/Record.List -d "login_email=xxx&login_password=xxx&domain_id=xxx"

@zxkletters
zxkletters / vimrc配置-新建文件时自动生成文件头
Created Sep 11, 2013
.vimrc配置, 新建文件时,如果autocmd匹配文件类型成功,则根据模版自动生成文件头
View vimrc配置-新建文件时自动生成文件头
" auto add file header
autocmd BufNewFile *.py 0r /home/zxkletters/.vim/vim_template/vim_header_for_python
autocmd BufNewFile *.py ks|call FileName()|'s
autocmd BufNewFile *.py ks|call CreatedTime()|'s
autocmd BufNewFile *.sh 0r /home/zxkletters/.vim/vim_template/vim_header_for_sh
autocmd BufNewFile *.sh ks|call FileName()|'s
autocmd BufNewFile *.sh ks|call CreatedTime()|'s
fun FileName()
@zxkletters
zxkletters / 循环宏
Last active Dec 23, 2015
定义for循环宏
View 循环宏
#include <stdio.h>
#define foreach_range10 int i; \
for(i=0;i<10;i++){\
printf("%d\n",i);\
}
main() {
foreach_range10;
View python随机生成大写字母和数字组成的字符串
### 随机生成大写字母和数字组成的字符串
6U1S75
4Z4UKK
U911K4
解决:
import string, random
''.join(random.choice(string.ascii_uppercase + string.digits) for x in range(N))