作者归档:kaisin

systemctl

systemd查看开机自启动的程序(相当于chkconfig --list)

ll /etc/systemd/system/multi-user.target.wants/

 

运行一个服务:

systemctl start network.service

关闭网络服务:

systemctl stop network.service

重启网络服务:

systemctl restart network.service

显示一个服务(无论运行与否)的状态:

systemctl status network.service

在开机时启用一个服务:

systemctl en...

继续阅读

发表在 linux | systemctl已关闭评论

nc

测试80端口

nc -z -w 1 www.google.com  80

nmap -sT www.google.com -p  80

 

测试UDP 53端口

nc -u -z -w 1 8.8.8.8 53

nmap -sU 8.8.8.8 -p 53

 


继续阅读

发表在 linux | 标签为 | nc已关闭评论

Linux查看内存使用情况的方法

内容来源于网络

1. /proc/meminfo

查看RAM使用情况最简单的方法是通过/proc/meminfo。这个动态更新的虚拟文件实际上是许多其他内存相关工具(如:free / ps / top)等的组合显示。/proc/meminfo列出了所有你想了解的内存的使用情况。进程的内存使用信息也可以通过/proc/<pid>/statm 和 /proc/<pid>/status 来查看。

1

$ cat /proc/meminfo

点击查看原图

2. atop

atop命令是一个终端环境的监控命令。它显示的是各种系统资源(CPU, memory, network, I/O, kernel)的综...

继续阅读

发表在 linux | 标签为 , | Linux查看内存使用情况的方法已关闭评论

磁盘性能测试方法

测试随机写IOPS:

fio -direct=1 -iodepth=128 -rw=randwrite -ioengine=libaio -bs=4k
-size=10G -numjobs=1 -runtime=1000 -group_reporting
-name=/path/testfile

测试随机读IOPS:

fio -direct=1 -iodepth=128 -rw=randread -ioengine=libaio -bs=4k
-size=10G -numjobs=1 -runtime=1000 -group_reporting
-...

继续阅读

发表在 linux | 磁盘性能测试方法已关闭评论

.NET 资源回收

CSDN上一位高手的总结

1、Finalize方法(C#中是析构函数,以下称析构函数)是用于释放非托管资源的,而托管资源会由GC自动回收。所以,我们也可以这样来区分

托管和非托管资源。所有会由GC自动回收的资源,就是托管的资源,而不能由GC自动回收的资源,就是非托管资源。在我们的类中直接使用非托管资源的情况很
少,所以基本上不用我们写析构函数。

2、大部分的非托管资源会给系统带来很多负面影响,例如数据库连接不被释放就可能导致连接池中的可用数据库连接用尽。文件不关闭会导致其它进程无法读写这个文件等等。

实现模型:
1、由于大多数的非托管资源都要求可以手动释放,所以,我们应该专门为释放非托管资源公开一个方法。实现IDispose接口的Dispose方法是最好的模型,因为C#支持using语句快,可以在离开语句块时自动调用Dispose方法。

2、虽然可以手动释放非托管资源,我们仍然要在析构函数中释放非托管资源,这样才是安全的应用程序。否则如果因为程序员的疏忽忘记了手动释放非托管资源, 那么就会带来灾难性的后果。所以说在析构函数中释放非托管资源,是一种补救的措施,至少对于大多数类来说是如此。

3、由于析构函数的调用将导致GC对对象回收的效率降低,所以如果已经完成了析构函数该干的事情(例如释放非托管资源),就应当使用SuppressFinalize方法告诉GC不需要再执行某个对象的析构函数。

4、析构函数中只能释放非托管资源而不能对任何托管的对象/资源进行操作。因为你无法预测析构函数的运行时机,所以,当析构函数被执行的时候,也许你进行操作的托管资源已经被释放了。这样将导致严重的后果。

5、(这是一个规则)如果一个类拥有一个实现了IDispose接口类型的成员,并创建(注意是创建,而不是接收,必须是由类自己创建)它的实例对象,则
这个类也应该实现IDispose接口,并在Dispose方法中调用所有实现了IDispose接口的成员的Dispose方法。
只有这样的才能保证所有实现了IDispose接口的类的对象的Dispose方法能够被调用到,确保可以手动释放任何需要释放的资源。

继续阅读

发表在 .net | 标签为 | .NET 资源回收已关闭评论

HttpUtility.UrlEncode

HttpUtility.UrlEncode
继续阅读

发表在 .net | HttpUtility.UrlEncode已关闭评论

emoji

点击查看原图

一 参考资料

1 Emoji 全编码表:(我参考的这个)
  http://punchdrunker.github.com/iOSEmoji/table_html/flower.html
2 Emoji全编码表
  http://code.iamcal.com/php/emoji/

3 iOS5/4 Emoji  兼容性:
  http://stackoverflow.com/questions/7856775/how-to-convert-the-old-emoji-encoding-to-the-latest-encoding-in-io... 继续阅读

发表在 technologys | 标签为 | emoji已关闭评论

APNS

1、实现provider向APNS推送消息

在通过provider向APNS发送消息之前,我们首先需要了解需要发送的格式,APNS的信息结构包如下图:
点击查看原图

上图显示的这个消息体就是我们的服务器(Provider)发送给APNS服务器的消息结构,APNS验证这个结构正确并提取其中的信息后,再将消息推送到指定的设备。这个结构体包括七个部分:

第一个部分是命令标示符;

第二部分是一个表示这个通知的一个表示位,如果apns不能解释该通知,就返回一个错误包;

第三部分是一个以秒标识的时间值,它标识通知是否有效,标识的通知时间与UNIX之差与当前时间与UNIX时间之差,如果大于零,APNS最少通知一...

继续阅读

发表在 technologys | APNS已关闭评论

BAT 路径

例子:
@echo off
echo 当前盘符:%~d0
echo 当前盘符和路径:%~dp0
echo 当前盘符和路径的短文件名格式:%~sdp0
echo 当前批处理全路径:%~f0
echo 当前CMD默认目录:%cd%

pause

 

通过批处理取当前目录的上一级目录
@echo off
if %cd%==%cd:~,3% echo 当前目录已经是%cd:~,1%盘的根目录!&goto end
cd..
set "bd=%cd%"
cd..
set "bbd=%cd%"
if "%bbd%"=="%bd%" (echo 上一级目录是...

继续阅读

发表在 windows | 标签为 | BAT 路径已关闭评论

顶级域名注册局列表(Registry Listing)

顶级域名 开始推行 是否赞助 用途 赞助商或运营商 网址
.aero 2001 赞助 航空业
Air-transport industry
Societe Internationale de Telecommunications Aeronautiques SC, (SITA) www.information.aero
.asia 2007 赞助 亚洲地区
From Asia/For Asia
DotAsia Organisation www.registry.asia
.biz 2001 非赞助 商务Businesses NeuLevel www.nic.biz
.cat 2005 赞助 加泰罗尼亚语/文化使用
Catalan linguistic ...

继续阅读

发表在 network | 顶级域名注册局列表(Registry Listing)已关闭评论

msmq,rabbitmq,activemq,zeromq

摘自网络

RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统。

一些概念:

channel:通道,amqp支持一个tcp连接上启用多个mq通信通道,每个通道都可以被作为通信流。

producer:生产者,是消息产生的源头。

exchange:交换机,可以理解为具有路由表的路由规则。

queues:队列,装载消息的缓存容器。

consumer:消费者,连接到队列并取走消息的客户端。

核心思想:在RabbitMQ中,生产者从不直接将消息发送给队列。

事实上,有些生产者甚至不知道消息是否被送到某个队列中去了。生产者只负责将消息送给交换机,而交换机确...

继续阅读

发表在 db | 标签为 , , , | msmq,rabbitmq,activemq,zeromq已关闭评论

private ip range

私有IP就是在本地局域网上的IP 与之对应的是公有IP(在互联网上的IP)。
1、私有地址(Private address,也可称为专网地址)属于非注册地址,专门为组织机构内部使用,它是局域网范畴内的,私有IP禁止出现在Internet中,在ISP连接用户的地方,将来自于私有IP的流量全部都会阻止并丢掉。
2、随着私有IP网络的发展,为节省可分配的注册IP地址,有一组IP地址被拿出来专门用于私有IP网络,称为私有IP地址。
3、私有IP地址范围:
A: 10.0.0.0~10.255.255.255 即10.0.0.0/8
B:172.16.0.0~172.31.255.255即17... 继续阅读

发表在 network | 标签为 | private ip range已关闭评论

load average

CPU利用率与Load Average的区别?

CPU利用率,是对一个时间段内CPU使用状况的统计,通过这个指标可以看出在某一个时间段内CPU被占用的情况,如果CPU被占用时间很高,那么就需要考虑CPU是否已经处于超负荷运作,长期超负荷运作对于机器本身来说是一种损害,因此必须将CPU的利用率控制在一定的比例下,以保证机器的正常运作。

Load AverageCPULoad,它所包含的信息不是CPU的使用率状况,而是在一段时间内CPU正在处理以及等待CPU处理的进程数之和的统计信息,也就是CPU使用队列的长度的统计信息。

那么CPU利用率与Load Average对于性能测试的意义有什么区别呢?实...

继续阅读

发表在 linux | load average已关闭评论

php timezone

$timezones=
array(
 '(GMT-12:00) International Date Line West'=> 'Pacific/Wake',
 '(GMT-11:00) Midway Island'=> 'Pacific/Apia',
 '(GMT-11:00) Samoa'=> 'Pacific/Apia',
 '(GMT-10:00) Hawaii'=> 'Pacific/Honolulu',
 '(GMT-09:00) Alaska'=> 'America/Anc...

继续阅读

发表在 php | php timezone已关闭评论

MySQL数据库命名规范及约定

一、【操作规范】
1. 如无备注,则表中的第一个id字段一定是主键且为自动增长;
2. 如无备注,则数值类型的字段请使用UNSIGNED属性;
3. 如无备注,排序字段order_id在程序中默认使用降序排列;
4. 如无备注,所有字段都设置NOT NULL,并设置默认值;
5. 如无备注,所有的布尔值字段,如is_hot、is_deleted,都必须设置一个默认值,并设为0;
6. 所有的数字类型字段,都必须设置一个默认值,并设为0;
7. 针对varchar类型字段的程序处理,请验证用户输入,不要超出其预设的长度;
8. 建表时将数据字典中的字段中文名和属性备注写入数据表的备注...

继续阅读

发表在 db | 标签为 | MySQL数据库命名规范及约定已关闭评论