netbeans修改默认编码

Categories: CPP
项目级别,修改项目属性 整体IDE,修改etc/netbeans.conf,-J-Dfile.encoding=UTF-8 netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-XX:PermSize=32m -J-XX:MaxPermSize=200m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dfile.

Read More →

宏定义define和常量const的区别

Categories: CPP
类型和安全检查不同 宏定义是字符替换,没有数据类型的区别,同时这种替换没有类型安全检查,可能产生边际效应等错误; const常量是常量的声明,有类型区别,需要在编译阶段进行类型检查 编译器处理不同 宏定义是一个”编译时”概念,在预处理阶段展开,不能对宏定义进行调试,生命周期结束与编译时期; const常量是一个”运行时”概念,在程序运行使用,类似于一个只读行数据 存储方式不同 宏定义是直接替换,不会分配内存,存储与程序的代码段中; const常量需要进行内存分配,存储与程序的数据段中

不建议使用字符串常量到 char*的转换

Categories: CPP
不建议使用字符串常量到 char*的转换 char* p = "test"; 声明了一个指针,而这个指针指向的是全局的const内存区,如果你一定要写这块内存的话,那就是一个非常严重的内存错误 在声明字符串字面量时,应该加上const. const char *p = "test";

账户锁定及SSH登录失败

Categories: Linux
1. Pam_Tally2解锁SSH登录失败锁定 路径: /etc/pam.d/password-auth,/etc/pam.d/system-auth A pluggable authentication module (PAM) is a mechanism to integrate multiple low-level authentication schemes into a high-level application programming interface (API) Example: auth required pam_tally2.so deny=4 even_deny_root unlock_time=1200 deny 指定最大几次认证错误,如果超出此错误,将执行后面的策略。如锁定N秒,如果后面没有其他策略指定时,默认永远锁定,除非手动解锁 lock_time 锁定多长时间,按秒为单位 unlock_time 指定认证被锁后,多长时间自动解锁用户 even_deny_root root用户在认证出错时,一样被锁定 2. 查看状态与解锁 pam_tally2 --user oracle pam_tally2 --user oracle --reset 3. Linux锁定账号 禁止个别用户登录(su可切换) passwd -l test passwd -u test 修改shell类型禁止登录(su切换不可) cat /etc/passwd |grep zx 锁定: sed -i 's#/home/zx:/bin/bash#/home/zx:/sbin/nologin#g' /etc/passwd 等价于: usermod zx -s /sbin/nologin 解锁: sed -i 's#/home/zx:/sbin/nologin#/home/zx:/bin/bash#g' /etc/passwd 等价于: usermod zx -s /bin/bash 禁止其他用户登录(su可切换)

Read More →

tcpdump

Categories: Linux
tcpdump -i eth0 vrrp -n

apt search精确匹配

Categories: Linux
apt search: limit to exact match apt search ^python$ #正则表达式 apt search --names-only python