-
nginx切割日志脚本(python)
因为以前没有做nginx日志分割,有时候想看日志的时候总是发现有十几G的甚至上百G的日志文件,于是就想使用python写个nginx日志分割(当然你也可以使用shell来完成都是很简单) 需求: 1.按照日分割nginx所有日志 2.由于日志不需要随时可以查看,需要做归档(压缩.tar.gz) 3.归档日志需要有过期时间和容量限制(分割日志需要做定期的删除,超过一定时间或者目录大小超过一定容量) …- 16
- 0
-
使用Rust开发编译系统(基本介绍以及建立项目)
建立项目 基本介绍 建立项目 编译系统的过程 下一步要做什么 基本介绍 在本专栏中我们将使用rust编写C语言的编译系统,包括编译器,链接器,汇编器,文章跟之前的风格一样,将项目分为独立的子模块,每篇文章对每个模块或者子功能进行讲述,编写代码之前会讲述所需要的理论知识 建立项目 Rust安装请看这里 建立一个项目需要用到Cargo,Cargo在安装Rust时就会安装 通过Cargo提供的命令很容易…- 34
- 0
-
Windows内存管理机制及C++内存分配实例(一):进程空间
本文背景: 在编程中,很多Windows或C++的内存函数不知道有什么区别,更别谈有效使用;根本的原因是,没有清楚的理解操作系统的内存管理机制,本文企图通过简单的总结描述,结合实例来阐明这个机制。 本文目的: 对Windows内存管理机制了解清楚,有效的利用C++内存函数管理和使用内存。 本文内容: 本文一共有六节,由于篇幅较多,故按节发表。其他章节请看本人博客的Windows内存管理及C++内存…- 14
- 0
-
apache bench+python脚本压测统计TPS和延迟
一、系统的瓶颈 压测的目的就是跑垮系统,达到系统承受最大值。本次压测考虑的方面: 1、CPU利用率、磁盘IO利用率 2、达到系统瓶颈后,再次增大并发和最大连接数吞吐量和延迟反而会下降 3、压测的机器选择,我是在服务器本机上跑的,这会使得压测程序占用一部分CPU,网络延迟几乎为0;而在笔记本上跑,网络延迟占很大部分。 二、python脚本 关于ab的参数分析在上一篇文章中介绍了,网上关于ab都是基于…- 29
- 0
-
JavaScript继承详解(五)
在本章中,我们将分析John Resig关于JavaScript继承的一个实现 - Simple JavaScript Inheritance。 John Resig作为jQuery的创始人而声名在外。是《Pro JavaScript Techniques》的作者,而且Resig将会在今年秋天推出一本书《JavaScript Secrets》,非常期待。 调用方式 调用方式非常优雅: 注意:代…- 2
- 0
-
Rust : 红楼梦一书中文字符的统计
一、准备工作 1、相关的库 因为红书中大部分是中文字符,标准库中目前还无法直接处理。因此,在进行分析前,在toml文件中的依赖库中,添加一下以下: 1encoding = "0.2" 2 具体可参考以下资料: 1https://github.com/lifthrasiir/rust-encoding 2 2、红楼梦一书的txt文件。直接找度娘。 二、相关代码 1extern c…- 4
- 0
-
初探C++内存池项目 —(二)内存池的实现及原理详解
一.内存池介绍 为了丰富内容,我在把内存池介绍一遍~ 内存池是池化技术中的一种形式。通常我们在编写程序的时候回使用 new delete 这些关键字来向操作系统申请内存,而这样造成的后果就是每次申请内存和释放内存的时候,都需要和操作系统的系统调用打交道,从堆中分配所需的内存。如果这样的操作太过频繁,就会找成大量的内存碎片进而降低内存的分配性能,甚至出现内存分配失败的情况。 而内存池就是为了解决这个…- 29
- 0
-
python 日志分析统计脚本
python 日志分析统计脚本 脚本类似shell的tail功能,用来统计每分钟的4xx、5xx的状态码数量,统计php执行时间小于1秒、1-5秒、5秒以上的数量,和每秒的并发请求。将结果放到/tmp目录下, 也可以用cacti将结果画图。 1#!/usr/bin/env python 2import time, os 3 4#----------------------------- 5log_…- 22
- 0
-
JavaScript继承详解(四)
文章截图 - 更好的排版 在本章中,我们将分析Douglas Crockford关于JavaScript继承的一个实现 - Classical Inheritance in JavaScript。 Crockford是JavaScript开发社区最知名的权威,是JSON、JSLint、JSMin和ADSafe之父,是《JavaScript: The Good Parts》的作者。 现在…- 4
- 0
-
[易学易懂系列|rustlang语言|零基础|快速入门|(22)|宏Macro]
[易学易懂系列|rustlang语言|零基础|快速入门|(22)|宏Macro] 实用知识 宏Macro 我们今天来讲讲Rust中强大的宏Macro。 Rust的宏macro是实现元编程的强大工具。 宏主要作用为: 1.减少重复代码。 2.编写DSL(Domain-specific languages。 3.可变参数接口定义。 在Rust主要分两种宏: 声明式宏declarative macros…- 64
- 0
-
初探C++内存池项目 —(一)链式栈的实现和原理详解
一.项目介绍 本项目是楼主在实验楼中学习的,这里主要分享一下学习心得和总结一些经验~ 在 C/C++ 中,内存管理是一个非常棘手的问题,我们在编写一个程序的时候几乎不可避免的要遇到内存的分配逻辑,这时候随之而来的有这样一些问题:是否有足够的内存可供分配? 分配失败了怎么办? 如何管理自身的内存使用情况? 等等一系列问题。在一个高可用的软件中,如果我们仅仅单纯的向操作系统去申请内存,当出现内存不足时…- 16
- 0
-
Python脚本日志系统
Python通过logging模块提供日志功能,关于logging模块的使用网络上已经有很多详细的资料,这里要分享的是怎样在实际工程中使用日志功能。 假设要开发一个自动化脚本工具,工程结构如下,Common这个package是框架功能的实现,Scripts目录是我们编写的测试用例脚本(请忽略其他不相关的目录)。 我们对日志功能的需求如下: 1 为了便于日志的查看,每个脚本对应一个日志文件,日志文件…- 16
- 0
-
JavaScript 继承详解(三)
注:本章中的jClass的实现参考了Simple JavaScript Inheritance的做法。 首先让我们来回顾一下第一章中介绍的例子: 1 function Person(name) { 2 3this.name = name; 4 5} 6 7Person.prototype = { 8 9getName: function() { 10 11return this.name; 12 …- 3
- 0
-
[易学易懂系列|rustlang语言|零基础|快速入门|(20)|错误处理]
[易学易懂系列|rustlang语言|零基础|快速入门|(20)|错误处理] 实用知识 错误处理 我们今天来讲讲Rust中的错误处理。 很多语言都有自己的错误处理方式,比如,java是异常处理机制。 Rust有自己独特的错误处理机制。 在Rust有两种错误: recoverable and unrecoverable errors. 翻译成中文就是:可恢复错误和不可恢复错误。 Rust分别用两种方…- 2
- 0
-
图说C++对象模型:对象内存布局详解(下)
5.2.2 菱形继承 菱形继承也称为钻石型继承或重复继承,它指的是基类被某个派生类简单重复继承了多次。这样,派生类对象中拥有多份基类实例(这会带来一些问题)。为了方便叙述,我们不使用上面的代码了,而重新写一个重复继承的继承层次:**** class B { public : int ib; public : B( int i= 1 ) :ib(i){} virtual voi…- 2
- 0
-
Python 3基础教程39-join函数
前面文章介绍了如何创建一个线程,这一篇介绍join()函数。我们先通过下面的步骤来讲为什么要join()函数。 前面文章代码 1import threading 2 3 4def thread1_job(): 5 print('这是一个添加的线程,它的名称是: %s' % threading.current_thread()) 6 7 8def exampleFuc(…- 4
- 0
-
JavaScript继承详解(一)
面向对象与基于对象 几乎每个开发人员都有面向对象语言(比如C++、C#、Java)的开发经验。 在传统面向对象的语言中,有两个非常重要的概念 - 类和实例。 类定义了一类事物公共的行为和方法;而实例则是类的一个具体实现。 我们还知道,面向对象编程有三个重要的概念 - 封装、继承和多态。 但是在JavaScript的世界中,所有的这一切特性似乎都不存在。 因为JavaScript本身不是面向对象的语…- 1
- 0
-
使用Rust开发操作系统(4级分页内存)
文章目录 基础控制位 分页模式 分页内存的转化过程 4级分页(PML4T) 4级分页模式下各级页表项位功能 * CR3寄存器: * PML4TE * PDPTE * PDE * PTE * 4级分页模式下不同规格的物理页寻址过程 4KB分页寻址 * 2MB分页寻址 * 1GB分页寻址 48位虚拟地址空间划分 4 KiB pages * 2 MiB pages * 1 GiB pages 开始干活 …- 20
- 0
-
图说C++对象模型:对象内存布局详解(上)
0.前言 文章较长,而且内容相对来说比较枯燥,希望对C++对象的内存布局、虚表指针、虚基类指针等有深入了解的朋友可以慢慢看。 本文的结论都在VS2013上得到验证。不同的编译器在内存布局的细节上可能有所不同。 文章如果有解释不清、解释不通或疏漏的地方,恳请指出。**** 1.何为C++对象模型? 引用《深度探索C++对象模型》这本书中的话: 有两个概念可以解释C++对象模型: 1.语言中直接…- 1
- 0
-
理解docker部署springboot(四)
这篇文章主要解决的问题是springboot在使用docker部署的时候日志的存放问题,主要参考以下几篇文章,Docker支持更深入的容器日志分析,Docker容器的日志集中化处理,Docker数据管理(数据卷&数据卷容器),Docker-数据卷和数据容器卷,容器内日志收集方案示例。 将jdk和需要的运行的jar构建成镜像之后,运行成容器之后,可以实时的输出日志,但是当容器挂掉之后,日志也…- 5
- 0
-
Python 3基础教程45-Matplotlib添加标签和标题描述
本文在前面一篇文章基础上介绍,如果给图表添加标签和标题文字描述。 写入一下pythond代码 1from matplotlib import pyplot as plt 2 3# 主要x 和y的个数要相同,不然会报错 4x = [5,6,7,8] 5y = [7,3,8,3] 6 7plt.plot(x, y) 8 9# 给这个图,添加标题和XY轴名称,注意这地方不能输入中文,matplotlib…- 22
- 0
-
javaScript事件(二)事件处理程序
一、事件 二、事件流 以上内容见:javaScript事件(一)事件流 三、事件处理程序 前面提到,事件是用户或浏览器自身执行的某种动作,如click,load和mouseover都是事件的名字。响应某个事件的函数就叫事件处理程序(也叫事件处理函数、事件句柄)。事件处理程序的名字以"on"开头,因此click事件的事件处理程序就是onclick,load事件的事件处理程序就是o…- 7
- 0
-
Rust语法之变量绑定
事实上每个非‘Hello World’Rust策划那个徐都使用“变量绑定”。看起来如下: 1 fn main() { 2 let x = 5; 3 } 4 在每个例子前都加上 fn main() { 有点单调乏味,所以以后就省略。如果读者一直跟着学习,请确保编辑 main() 函数,不能省略,否则会出错。 在很多语言中,这叫做“变量”。但Rust的变量绑…- 4
- 0
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!