log

读取文件内部方法(node)

前提是你 提交于 2020-03-21 18:05:02
1,首先需引入fs模块 const fs=require(“fs”) 2,fs.readFile(文件路径,[编码],function(err,data){ err //错误信息 data //读取文件内容 }) 例1:fs.readFile("./data.txt",(err,data){ if(err){ return console.log(err) } console.log(data) }) readFile是以二进制形式读取文件,返回的是一个Buffer对象,buffer对象中存储的是二进制的数据,如果希望 看到字符串的数据,调用buffer对象的toString方法即可 console.log(data.toString) 例2:fs.readFile("data.txt","utf-8",(err,data){ if(err){ console.log(err) } console.log(data) }) //如果读取编码,就会直接以字符串形式进行读取 来源: https://www.cnblogs.com/licchang/p/12540157.html

MySQL服务器 IO 100%的案例分析

a 夏天 提交于 2020-03-21 16:59:35
【问题】 有台MySQL 5.6.21的数据库实例以写入为主,IO %util接近100% 写入IOPS很高 【分析过程】 1、通过iotop工具可以看到当前IO消耗最高的mysql线程 2、查看线程49342的堆栈,可以看到正在进行redo log的刷新,对应的是9号文件 3、9号文件对应的是redo log的第一个文件 为什么mysql进程会频繁的刷新redo log文件,要结合redolog的刷盘策略来分析,关键是innodb_flush_log_at_trx_commit参数, 默认是1,最安全,但在写压力大的情况下,也会带来较大的性能影响,每次事务提交时MySQL都会把log buffer的数据写入log file,并且flush(刷到磁盘)中去。 结合这个集群的写入场景来看,大部分都是小事务的写入,每次事务提交都会触发刷盘动作,这种场景下通过增大innodb_log_buffer_size和innodb_log_file_size的优化效果不明显 【优化方案】 1、应用层面,对于写压力大的系统,可以将单条的insert语句优化为小批量的insert语句,这样事务commit的次数减少,redo log刷盘减少,性能理论上会有提升 2、MySQL层面,对于日志类型的系统,如果允许宕机的情况下少量数据丢失,可以将innodb_flush_log_at_trx

Python装饰器的使用【面试必学】

我是研究僧i 提交于 2020-03-21 15:56:52
装饰者模式是常用的软件设计模式之一。通过此设计模式,我们能够在不修改任何底层代码情况下,给已有对象赋予新的职责。python中可以用装饰器简单地实现装饰者模式。 PS注意:很多人学Python过程中会遇到各种烦恼问题,没有人解答容易放弃。为此小编建了个Python全栈免费答疑.裙 :七衣衣九七七巴而五(数字的谐音)转换下可以找到了,不懂的问题有老司机解决里面还有最新Python实战教程免非下,,一起相互监督共同进步! 1.1 将函数作为参数传递 在 C/C++ 中,函数指针可以将函数作为参数传递给另一函数。而在 python 中,函数也是对象的一种,函数可以被引用,也可直接作为参数传入函数,以及作为容器对象的元素。python中可以采用如下方法实现装饰者模式: #!/usr/bin/env python3.6 # -*- coding: utf-8 -*- def add(x, y): result = x+y return result def log(func): def wrapper(*args, **kwargs): result = func(*args) print(func.__name__,'has been called\n') return result return wrapper if __name__ == '__main__': print(log

线性筛法(欧拉筛法)求素数

孤者浪人 提交于 2020-03-21 14:05:57
写$\text{O}\left( n \log{\log{n}}\right)$的筛法很长时间了,我却从来没想过它的优化.偶然间看到线性筛法,心想大约是不错的优化,于是便爬去学习下. 首先,$\text{O}\left( n \log{\log{n}}\right)$的筛法肯定要比$\text{O}\left( n\right)$的慢,虽然在现在的机子上不明显.还是不要将$\text{O}\left( n \log{\log{n}}\right)$比较靠谱.但是线性筛法有着它自己的用途. 先发个普通筛法 #include <cmath> bool sieve[1000000]; int prime[1000000],ps,temp,temp2,temp3; void normal_sieve(int n){ temp=sqrt(n)+10; for(i=2;i<temp;++i){ if(!sieve[i]){ prime[ps++]=i; temp2=(n/i)+1; temp3=i; for(j=2;j<=temp2;++j){ temp3+=i; sieve[temp3]=true; } } } for(;i<=n;++i){ if(!sieve[i]){ prime[ps++]=i; } } }//包含了几乎所有有用功能的普通筛法 (orz神犇WJZ先)

【效率工具】史上最好用的SSH一键登录脚本,超强更新!

戏子无情 提交于 2020-03-21 14:03:57
说明 虽然已经是凌晨,但丝毫不能掩盖我激动的心情,今天完成了对GotoSSH的一次大更新,新增了两个肥肠实用的功能,我只能说,是真的好用,话不多说,先来看效果图: 普通的一键登录: 一键登录跳板机,然后跳转登录线上服务器: 一键登录跳板机查看指定日志: 一键登录跳板机后跳转线上服务器查看指定日志: 然后是更加劲爆内容,一键从跳板机复制指定文件到本地: 一键从生产环境复制指定文件到本地: 我只能说,是真的强。 Shell脚本 Shell脚本已经发布到了 github 上,链接在此:https://github.com/MFrank2016/GotoSSH 可自行前往下载,好用的话别忘了给个star。 安装依赖 CentOS : $ sudo yum install -y expect Ubuntu : $ sudo apt-get install tcl tk expect Mac : $ sudo brew install expect 安装 GotoSSH $ git clone https://github.com/MFrank2016/GotoSSH.git $ cd GotoSSH $ chmod a+x gotossh $ sudo cp gotossh /usr/local/bin/ 配置 $ vim ~/.gotossh_config server_name|ip

ES6 函数

主宰稳场 提交于 2020-03-21 13:41:33
1.允许函数参数的默认值 function log(x, y = 'World') { console.log(x, y); } log('Hello') // Hello World log('Hello', 'China') // Hello China log('Hello', '') // Hello 2.reset参数 // arguments变量的写法 function sortNumbers() { return Array.prototype.slice.call(arguments).sort(); } // rest参数的写法 const sortNumbers = (...numbers) => numbers.sort(); 上面代码的两种写法,比较后可以发现,rest 参数的写法更自然也更简洁。 arguments 对象不是数组,而是一个类似数组的对象。所以为了使用数组的方法,必须使用 Array.prototype.slice.call 先将其转为数组。rest 参数就不存在这个问题,它就是一个真正的数组,数组特有的方法都可以使用。下面是一个利用 rest 参数改写数组 push 方法的例子。 3.箭头函数   如果箭头函数的代码块部分多于一条语句,就要使用大括号将它们括起来,并且使用 return 语句返回。   如果箭头函数不需要参数或需要多个参数

(10 Android)实验项目_Android UI与Activity组件(上)

倖福魔咒の 提交于 2020-03-21 10:11:24
(10 Android)实验项目_Android UI与Activity组件(上) 一、实验目的 (1) 掌握常用的布局方法。 (2) 掌握Activity组件的生命周期。 二、实验内容及步骤 在Android Studio中,新建名为Example3的项目,然后在此项目中完成如下几个模块的设计: 1.掌握各种布局的特点、Android常用控件的使用 (1) 在项目里,新建名为example3_1的模块。 (2) 在默认的约束布局里,添加垂直线性布局并内嵌水平线性布局,然后依次添加文本框、下拉列表、单选按钮组和复选框等控件。 (3) 部署模块并做运行测试。 (4) 在文件夹res/layout 里新建一个布局文件,指定根标签为FrameLayout (帧布局)。在Design模式下,向该布局依次添加两个控件,查验后添加的控件对象会在前一控件对象上进行覆盖而形成遮挡。 2. 掌握Activity组件的生命周期 (1) 在项目里,新建名为example3_2的模块,在MainActivity程序的onCreate()方法里,使用Log.i()语句,打印一条Log信息。 (2) 在onCreate()方法体外的空白处,按【Ctrl+O】组合键,选择onRestart(),在该方法里也使用Log.i()语句打印一条Log信息,其Tag名与onCreate()方法里Log.i(

Invalid command 'RewriteLog' - apache2.4版本配置方法变了

南楼画角 提交于 2020-03-21 09:15:55
以前这么配置: ... RewriteLog logs/gidapp.rewrite_log RewriteLogLevel 3 RewriteEngine On ... LogLevel warn ... 改为: ... RewriteEngine On ... LogLevel warn rewrite:trace3 ... 查看日志: tail -f /usr/local/apache/logs/error_log [Sat Mar 21 08:21:34.518820 2020] [rewrite:trace3] [pid 5618:tid 2482998080] mod_rewrite.c(483): .... 调试完还是关掉的好,避免增加服务器负载。 From the official Apache 2.4 Documentation page: Apache Module mod_rewrite 来源: https://www.cnblogs.com/v5captain/p/12536446.html

nginx日志分割

一笑奈何 提交于 2020-03-21 05:43:05
nginx作为反向代理服务器,每天的日志量是非常大的,而日志也是查看管理程序的关键,如果只用单个日志文件势必会造成 查看起来很麻烦。这是就需要对nginx产生的日志进行分割,具体方法如下。 修改conf/nginx.conf文件,自定义输出的日志格式,地址及名称,部分改动如下: http { include mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; #将日志保存到logs/test1.log下 access_log logs/test1.log main; 创建日志文件的目录 [root@localhost nginx]# mkdir datalogs 编写shell脚本用来将日志文件定时改名并备份到指定目录 ,在sbin下创建log.sh脚本如下 #安装nginx的基目录 BASE_DIR=/usr/local/nginx #当前日志文件的文件名 BASE_FILE_NAME=test1.log

Centos7 配置rsyslog客户端接收远程日志

Deadly 提交于 2020-03-20 23:18:02
rsyslog 因为路由器我设定每天重启,但是日志一重启就会清除,并且路由器最多只能保存1024条记录,所以我想把路由器的日志记录到一台服务器上,发现路由器包含远程日志功能 于是我就在我的centos7服务器配置了下rsyslog,把日志记录到这里 编辑 服务端 的 /etc/rsyslog.conf 文件 注意下中文注释地方 # rsyslog configuration file # For more information see /usr/share/doc/rsyslog-*/rsyslog_conf.html # If you experience problems, see http://www.rsyslog.com/doc/troubleshoot.html #### MODULES #### # The imjournal module bellow is now used as a message source instead of imuxsock. $ModLoad imuxsock # provides support for local system logging (e.g. via logger command) $ModLoad imjournal # provides access to the systemd journal #