项目级别,修改项目属性
整体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 →
类型和安全检查不同
宏定义是字符替换,没有数据类型的区别,同时这种替换没有类型安全检查,可能产生边际效应等错误;
const常量是常量的声明,有类型区别,需要在编译阶段进行类型检查
编译器处理不同
宏定义是一个”编译时”概念,在预处理阶段展开,不能对宏定义进行调试,生命周期结束与编译时期;
const常量是一个”运行时”概念,在程序运行使用,类似于一个只读行数据
存储方式不同
宏定义是直接替换,不会分配内存,存储与程序的代码段中;
const常量需要进行内存分配,存储与程序的数据段中
不建议使用字符串常量到 char*的转换 char* p = "test"; 声明了一个指针,而这个指针指向的是全局的const内存区,如果你一定要写这块内存的话,那就是一个非常严重的内存错误 在声明字符串字面量时,应该加上const. const char *p = "test";
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 -i eth0 vrrp -n
apt search: limit to exact match
apt search ^python$ #正则表达式 apt search --names-only python
mysql -uroot -p -f -h172.28.10.83 -P3382 pms_db < Log.sql_2018-07-24_08-59.sql > t.log 2>&1