node.js之fs模块
fs模块 fs模块用于对系统文件及目录进行读写操作。 fs中的同步异步 模块中所有方法都有同步和异步两种形式,异步方法中回调函数的第一个参数总是留给异常参数(exception),如果方法成功完成,该参数为null或undefined fs模块中的方法 fs.mkdir(路径,回调函数) : 创建文件夹 fs.readdir(路径,回调函数) : 读取文件目录 fs.readFile(路径,读取格式,回调函数) : 读取文件 fs.writeFile(路径,写入的内容,写入的格式,回调函数)
详解C++多线程(三)
条件变量 这一章主要讲讲条件变量condition_variable。条件变量是一个非常神奇的存在,是线程间交互的一种方式。 C++11提供了condition_variable类。使用时需要include头文件<condition_variable>。 如果把变量区看成是一座房子,那么前面两章频繁用到的mutex可以看成是房门的锁,正常来说是房门常年打开的,锁并用不上。但是有了多线程以后,为了防止多个线程一窝蜂胡乱篡改里面的数据,所以就有了锁的概念。 现在假设每个线程都有一个管理锁的人,叫l
JS中substr与substring的区别
js中substr和substring都是截取字符串中子串,非常相近,可以有一个或两个参数。 语法:substr(start [,length]) 第一个字符的索引是0,start必选 length可选 substring(start [, end]) 第一个字符的索引是0,start必选 end可选 相同点:当有一个参数时,两者的功能是一样的,返回从start指定的位置直到字符串结束的子串 var str = "hello Tony"; str.substr(6); //Tony st
java自定义注释及其信息提取
转自:https://xuwenjin666.iteye.com/blog/1637247 1. 自定义注解 package cn.veji.hibernate.po;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annota
测试面试官是水货怎么办?能怼他吗?
在中小公司实际面试过程这种情况很常见,我就碰到过好几次。 有说jenkins是自动化测试工具,也有一些常识性的测试问题说错了。 这个时候,我们是不是可以怼面试官,以体现对方的low逼呢。 即使你不想加入对方公司的话,也不要这样。 做人留一线,说不定后面就又碰上了呢。 我们可以以平和,坚定的态度跟面试官强调自己的观点即可。 有可能是面试官故意埋坑,也有可能是面试官水平不行。 如果面试官一直坚持他是对的,也没有关系,大家道不同不相为谋。 你碰到过这种情况吗?是怎么处理的?欢迎留言
Linux (x86) Exploit 开发系列教程之三(Off-By-One 漏洞 (基于栈))
(1)原理: 将源字符串复制到目标缓冲区可能会导致off by one。当源字符串长度等于目标缓冲区长度时,单个NULL字节将被复制到目标缓冲区上方。这里由于目标缓冲区位于堆栈中,所以单个NULL字节可以覆盖存储在堆栈中的调用者的EBP的最低有效位(LSB),这可能导致任意的代码执行。 (2)漏洞代码 #include <stdio.h>
#include <string.h>
void foo(char* arg);
void bar(char* arg);
void foo(cha
内存 free buffers和cache
内核或者发行版本不同,输出内容不一样,注意一下,这里是centos7,如果你是centos6,输出可能不是下面的样子
[root@master1] ~$ free -h
total used free shared buff/cache available
Mem: 1.8G 686M 91M 9.0M 1.0G 870M
Swa
linux是怎么管理内存的
内存是什么? 内存(英语:Double Data Rate Synchronous Dynamic Random Access Memory,简称DDR SDRAM) 全称:双倍数据率同步动态随机存取存储器 意思是:原来的 内存(SDRAM)在一个时钟周期内只传输一次数据,它是在时钟上升期进行数据传输; 而DDR则是一个时钟周期内可传输两次数据,也就是在时钟的上升期和下降期各传输一次数据。 内存的带宽是怎么计算的? 命名方式因内存技术而异,但对于商用DDR SDRAM , DDR2 SDRAM
Java swing几种常用的样式设置
//Metal风格(默认)StringlookAndFeel="javax.swing.plaf.metal.MetalLookAndFeel";UIManager.setLookAndFee(lookAndFeel);//Windows风格StringlookAndFeel="com.sun.java.swing.plaf.windows.WindowsLookAn
机器上出现大量time_wait怎么办
背景 Linux系统下,TCP/IP连接断开后,会以TIME_WAIT状态保留一定的时间,然后才会释放端口。当并发请求过多的时候,就会产生大量的 TIME_WAIT状态的连接,无法及时断开的话,会占用大量的端口资源和服务器资源。这个时候我们可以考虑优化TCP/IP 的内核参数,来及时将TIME_WAIT状态的端口清理掉。 1、TIME_WAIT是什么?它怎么产生的? 答: 它是在tcp连接关闭的过程中出现的 先复习下连接关闭的过程: 主动关闭连接的一方,调用close();协议层发送FIN包
tty1 pts/0
1、tty tty 源于Teletypes,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东西被键盘与显示器取代,所以现在叫终端比较合适。 通常使用tty来简称各种类型的终端设备。 tty1-tty6表示文字界面,可以用Ctrl+Alt+F1-F6切换,+F7就是tty7,切换回图形界面。 启动机器,登录后,在本地机器的命令行界面下,执行w命令, 显示如下,这个命令行界面,就是tty1 然后按Ctrl+Alt+F2,执行w ,这个就是tty2 如果你在图形界面下
磁盘空间没用完,但是use 显示100%
一般来说,我们可以把排查问题的技术分成三层。底下是理论知识,上边是问题模式【注释1】,夹在理论知识和问题模式之间的是工具。而贯穿排查技术的是“用数据说话”。今天这篇文章,跟大家分享一例我与客户"用数据说话"的故事。 “您有问题截图吗?”,“没有,但我能背出来。” 客户直接通过钉钉联系我:“有一个奇葩问题要你看了”。通过简单的沟通,我了解到,客户的业务程序使用一个200G的云盘做数据盘,晚上11点30的时候,业务程序由于不能写入数据而报错。这里关键的问题在于,客户声称当时磁盘并没有用光。 因为踩
nginx热部署 添加模块 查看默认已安装模块和自定义模块
什么是热部署 所谓热部署,能够在不重启也就是不会打断nginx处理请求的情况下更新配置文件,升级版本,更换日志文件。 nginx热部署流程 修改配置文件nginx.conf后,重新生成新的worker进程,新的请求过来后由新的worker进程来处理,至于老的worker进程,等把那些以前的请求处理完毕后,kill掉即可。 nginx热部署步骤 以nginx1.12升级到nginx1.14为例 1、安装并启动Nginx1.12,由下面可以看到nginx1.12正确运行
wget https:/
XtraFinder for Mac常见问题解析
XtraFinder可以为Finder添加多标签,支持全局热键、显示隐藏项目、刷新、列队等功能,还可以文件夹和文件分开排序,退格键返回,在本文章中介绍的是Finder增强神器XtraFinder常见问题解答。 Finder增强神器XtraFinder常见问题 如何卸载XtraFinder 请在XtraFinder下载中打开Uninstall.app以卸载XtraFinder。 您需要在OS X 10.11 - 10.14上禁用SIP以卸载XtraFinder。 “警告.XtraFinder应用
周排行