技术文章

RHSA-2019:0201-低危: systemd 安全更新

允我心安 提交于 2021-02-18 13:44:38
[root@localhost ~]# cat /etc/redhat- release CentOS Linux release 7.2 . 1511 (Core) 修复命令: 使用root账号登陆Shell,键入以下代码回车: Centos/RedHat: yum update -y Ubuntu:apt-get update -y 命令完成需重启系统:reboot 验证修复: 登陆阿里云云中心管理控制台,逐个验证修复即可。 RHSA-2019:0201-低危: systemd 安全更新 漏洞编号 影响分 漏洞公告 CVE-2018-16864 7.4 systemd在使用long cmdline的命令调用syslog时堆栈溢出 CVE-2019-3815 3.3 journald-server.c内存泄漏 从漏洞详细描述页面可知: (1)漏洞:systemd在使用long cmdline的命令调用syslog时堆栈溢出 当具有长命令行参数的程序调用syslog时,在systemd-journald中发现了无限制的内存分配,这可能导致堆栈与另一个内存区域发生冲突。本地攻击者可能会使用此漏洞来破坏systemd-journald或升级权限。 (2)漏洞:修复为CVE-2018-16864引入的journald-server.c中的内存泄漏 在Red Hat Enterprise

python 学习笔记---Locust 测试服务端性能

自作多情 提交于 2021-02-18 13:43:27
由于人工智能的热度, python目前已经成为最受欢迎的编程语言,一度已经超越Java 。 本文将介绍开源的python 测试工具: locust 使用步骤: 1. 安装python 3.0以上版本 2. 安装Pip 3. 安装locust pip install locustio (windows系统下) 4. 阅读或者下载 locust 源码 一、Locust 的基本实现原理 服务端性能测试工具最核心的部分是压力发生器,核心要点有两个,一是真实模拟用户操作,二是模拟有效并发。 在 Locust 测试框架中,测试场景是采用纯Python脚本。对于最常见的 HTTP(S) 协议的系统, Locust 采用Python的 requests 库作为客户端,而对于其它协议类型的系统, Locust 也提供了接口,只要我们能采用Python编写对应的请求客户端,就能方便地采用 Locust 实现压力测试。从这个角度来说, Locust 可以用于压测任意类型的系统。 在模拟有效并发方面, Locust 的优势在于其摒弃了进程和线程,完全基于事件驱动,使用 gevent 提供的 非阻塞IO 和 coroutine 来实现网络层的并发请求,因此即使是单台压力机也能产生数千并发请求数;再加上对分布式运行的支持,理论上来说, Locust 能在使用较少压力机的前提下支持极高并发数的测试。 二、

vscode之常用快捷键

独自空忆成欢 提交于 2021-02-18 13:42:43
原文章地址: vscode: Visual Studio Code 常用快捷键 官方快捷键说明: Key Bindings for Visual Studio Code 主命令框 F1 或 Ctrl+Shift+P : 打开命令面板。在打开的输入框内,可以输入任何命令,例如: 按一下 Backspace 会进入到 Ctrl+P 模式 在 Ctrl+P 下输入 > 可以进入 Ctrl+Shift+P 模式 在 Ctrl+P 窗口下还可以: 直接输入文件名,跳转到文件 ? 列出当前可执行的动作 ! 显示 Errors 或 Warnings ,也可以 Ctrl+Shift+M : 跳转到行数,也可以 Ctrl+G 直接进入 @ 跳转到 symbol (搜索变量或者函数),也可以 Ctrl+Shift+O 直接进入 @ 根据分类跳转 symbol ,查找属性或函数,也可以 Ctrl+Shift+O 后输入:进入 # 根据名字查找 symbol ,也可以 Ctrl+T 常用快捷键 编辑器与窗口管理 打开一个新窗口: Ctrl+Shift+N 关闭窗口: Ctrl+Shift+W 同时打开多个编辑器(查看多个文件) 新建文件 Ctrl+N 文件之间切换 Ctrl+Tab 切出一个新的编辑器(最多 3 个) Ctrl+\ ,也可以按住 Ctrl 鼠标点击 Explorer 里的文件名 左中右 3

Linux系统WEB服务之Nginx基础入门

…衆ロ難τιáo~ 提交于 2021-02-18 13:42:17
  一、Nginxi简介   Nginx是什么?它是一个开源、高性能的WEB服务器软件和代理服务器软件,由俄罗斯人Igor Sysoev 开发实现。它的功能主要分三类,第一是它作为一个WEB服务软件使用;第二它可作为一个反向代理服务器使用,邮件代理服务(通常邮件代理用的非常少);第三它可以基于upstream 或stream模块实现负载均衡,这种负载均衡是基于前面的反向代理增加的功能,它可以基于http协议进行应用层代理,也可以基于tcp协议进行伪四层代理(它不是真正意义上的四层代理,因为它工作在应用层);   二、Nginx的程序架构   Nginx是master/worker架构,由一个master主控进程和一个或多个worker进程组成;master进程主要功能是负责加载和分析配置文件、管理worker进程、平滑升级;worker进程主要负责处理并响应客户端的请求。每个worker进程依靠各种模块以流水线的形式实现各种功能处理;面向客户端网络IO连接请求,nginx的worker进程是基于事件驱动模型使用epoll机制来实现一个worker进程可以处理响应多路请求,如果是BSD系统,它可以使用kevent事件驱动模型实现一个worker进程处理并响应多路请求,从而实现高并发请求处理;面向本地磁盘IO连接请求,它是基于高级IO的sendfile机制

git项目提交及分支操作命令

心不动则不痛 提交于 2021-02-18 13:41:00
本地代码提交到远程仓库: 设置git用户名、邮箱 git config --global user.name xxx git用户名 git config --global user.email xxx git邮箱 将项目提交到主分支(master): git remote rm origin 删除现有远程连接 git init 初始化本地仓库 touch README.md 创建README.md文件 git add . 将修改的文件添加到暂存 git commit -m "first commit" 将暂存中的文件提交到本地当前分支 git remote add origin https://xxxxxxx.xx/xx/ 将本地仓库连接到远程仓库 git push -u origin master 将本地仓库文件push到远程master分支 将主分支代码pull到dev分支: git branch -a 查看远程全部分支 git checkout -b dev origin/dev 在本地创建dev分支并将远程dev分支更新到本地分支 git pull origin master --allow-unrelated-histories 将master分支强制更新到当前分支 (执行git pull origin master 抛出错误refusing to merge

最近这俩月

跟風遠走 提交于 2021-02-18 13:39:59
上次做记录的时候刚刚结束一轮培训放暑假,到现在已经两个月了。 数学建模全国赛结束了,收获有二,一是认识了几个朋友,二是认识了数学之美。 自比赛结束,一直在看机器学习,丛神经网络开始,神经网络是一种基础又有效,易于接受、学习与使用的一种方法。 机器学习是实现人工智能的一种方法,目前基于统计的效果较好,但统计方法使人工智能有举一反三的能力但没有创造力。虽然目前来说,生物学方法效果并不好,我认为,真正达到甚至超越人类的智能水平,这主要还是生物学的事儿。不过在现在乃至长久的未来,统计方法会发挥极为重要的作用,学好统计学乃至其他数学是必要的。 机器学习目前分为两派,一派是计算机科学家,一派是统计学家,主要分歧是方向不同,对于科学流派的不同,我认为各个流派有所开创的人,皆是一群自欺欺人之人,首先自己领悟到一些思想,便是自欺,然后大力宣扬,有人也信了,便是欺人。哲学、信仰、主义什么的也差不多都是这样吧? 开学这一个月没怎么上课,我一直不想上课,我觉得上课这种方式不大适合我,在某个时间必须学某个课是让人不舒服的,另外,老师讲课几乎没有引导性,学生也没有参与性,没有探索的感觉,最主要的是,学想学的,不要让不想学的挡住脚步。但我有些矛盾,因为不去上课让我有些不能心安,不过后来我终于想通,你课表里的课未必是为你开设的,你要学的未必开设,大学的课就像食堂里的包子,你想吃白菜馅或是豆腐馅的是你的自由

Appium 控件定位链接整理(appiumdriver)

这一生的挚爱 提交于 2021-02-18 13:33:39
Appium基于安卓的各种FindElement的控件定位方法实践和建议 : http://doc.okbase.net/zhubaitian/archive/103376.html Appium Driver API: http://javadox.com/io.appium/java-client/1.2.1/io/appium/java_client/AppiumDriver.html http://appium.github.io/java-client/io/appium/java_client/AppiumDriver.html 来源: oschina 链接: https://my.oschina.net/u/855532/blog/355136

Fuchsia OS ——未来的Google操作系统?

馋奶兔 提交于 2021-02-18 13:26:41
Google正在开发一个新的操作系统:借助Fuchsia OS,该技术小组放弃了Linux体系结构,转而依靠 自行开发的微内核Zircon 。Fuchsia 不仅可以替代台式机操作系统Chrome操作系统,而且可以替代专为移动设备设计的Android。尽管事实上,Android在当今市场上几乎是无与伦比的。 Google Fuchsia是未来的操作系统吗?我们仔细研究了该项目。 什么是Google Fuchsia ? Fuchsia 不仅是红色和蓝色之间的一种颜色,还是Google自2016年以来一直在公众面前开发的模块化,基于权限的 实时操作系统 的名称。该系统使用C,C ++, Dart,Go和Rust,并在现代64位Intel ARM处理器上运行。 事实 实时操作系统(RTOS)是一种能够响应事件并立即或在预定时间内提供处理结果的操作系统。 Fuchsia OS的源代码已获得 开源许可证 (包括BSD,MIT和Apache许可证),并且可以由Google公共 Git存储库中的 任何人查看和下载。这是有关该项目的综合 文档 。 根据文档,Fuchsia OS同样适用于智能手机,平板电脑,笔记本电脑和台式计算机。自2017年5月起, Armadillo 已成为具有图形用户界面的触摸优化用户界面(UI)。谷歌正在为Fuchsia OS开发一个桌面UI,标题为 Capybara

PE文件格式和ELF文件格式(上)----PE文件

爷,独闯天下 提交于 2021-02-18 13:23:33
作者:MSDN 译者:李马 Windows NT 3.1引入了一种名为PE文件格式的新可执行文件格式。PE文件格式的规范包含在了MSDN的CD中(Specs and Strategy, Specifications, Windows NT File Format Specifications),但是它非常之晦涩。 然而这一的文档并未提供足够的信息,所以开发者们无法很好地弄懂PE格式。本文旨在解决这一问题,它会对整个的PE文件格式作一个十分彻底的解释,另外,本文中还带有对所有必需结构的描述以及示范如何使用这些信息的源码示例。 为了获得PE文件中所包含的重要信息,我编写了一个名为PEFILE.DLL的动态链接库,本文中所有出现的源码示例亦均摘自于此。这个DLL和它的源代码都作为PEFile示例程序的一部分包含在了CD中(译注:示例程序请在MSDN中寻找,本站恕不提供),你可以在你自己的应用程序中使用这个DLL;同样,你亦可以依你所愿地使用并构建它的源码。在本文末尾,你会找到PEFILE.DLL的函数导出列表和一个如何使用它们的说明。我觉得你会发现这些函数会让你从容应付PE文件格式的。 介绍 Windows操作系统家族最近增加的Windows NT为开发环境和应用程序本身带来了很大的改变,这之中一个最为重大的当属PE文件格式了

Linux——性能监控

独自空忆成欢 提交于 2021-02-18 13:22:27
##sysstat sysstat是一个软件包,包含监测系统性能及效率的一组工具,这些工具对于我们收集系统性能数据,比如:CPU 使用率、硬盘和网络吞吐数据,这些数据的收集和分析,有利于我们判断系统是否正常运行,是提高系统运行效率、安全运行服务器的得力助手。下载地址http://sebastien.godard.pagesperso-orange.fr/download.html 包含的工具 iostat 输出CPU的统计信息和所有I/O设备的输入输出(I/O)统计信息 iostat avg-cpu: %user %nice %system %iowait %steal %idle 0.26 0.00 0.16 0.01 0.00 99.58 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn vda 0.24 0.17 2.40 1338689 18738192 mpstat 关于CPU的详细信息(单独输出或者分组输出) # mpstat Linux 3.10.0-693.2.2.el7.x86_64 (izhp3f2wn461rak5gw97qmz) 2018年12月25日 _x86_64_ (1 CPU) 15时50分48秒 CPU %usr %nice %sys %iowait %irq %soft %steal %guest