python打包-只依赖自己项目引用的module

前言

本地开发python后,需要生成requirements.txt,但是不做处理的话,会把你本地安装的所有module都依赖进来,找到一个根据项目生成依赖的工具

1、安装

1
pip install pipreqs

2、生成项目依赖

进入项目根目录

1
pipreqs . --encoding=utf8 --force

说明

参数 说明
–force 会覆盖前一个requirements.txt
–encoding=utf8 解决编码问题

3、参数介绍

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
Usage:
    pipreqs [options] <path>

Options:
    --use-local           Use ONLY local package info instead of querying PyPI
    --pypi-server <url>   Use custom PyPi server
    --proxy <url>         Use Proxy, parameter will be passed to requests library. You can also just set the
                          environments parameter in your terminal:
                          $ export HTTP_PROXY="http://10.10.1.10:3128"
                          $ export HTTPS_PROXY="https://10.10.1.10:1080"
    --debug               Print debug information
    --ignore <dirs>...    Ignore extra directories
    --encoding <charset>  Use encoding parameter for file open
    --savepath <file>     Save the list of requirements in the given file
    --print               Output the list of requirements in the standard output
    --force               Overwrite existing requirements.txt
    --diff <file>         Compare modules in requirements.txt to project imports.
    --clean <file>        Clean up requirements.txt by removing modules that are not imported in project.
    --no-pin              Omit version of output packages.

4、参考

参考文档:https://pypi.org/project/pipreqs/

……

阅读全文

渗透测试的部分资料

前言

整理了一些渗透测试的资料,方便查阅。

1、漏洞扫描

1.1 xray

xray 是一款功能强大的安全评估工具,由多名经验丰富的一线安全从业者呕心打造而成,主要特性有:

  • 检测速度快。发包速度快; 漏洞检测算法高效。
  • 支持范围广。大至 OWASP Top 10 通用漏洞检测,小至各种 CMS 框架 POC,均可以支持。
  • 代码质量高。编写代码的人员素质高, 通过 Code Review、单元测试、集成测试等多层验证来提高代码可靠性。
  • 高级可定制。通过配置文件暴露了引擎的各种参数,通过修改配置文件可以极大的客制化功能。
  • 安全无威胁。xray 定位为一款安全辅助评估工具,而不是攻击工具,内置的所有 payload 和 poc 均为无害化检查。

目前支持的漏洞检测类型包括:

……

阅读全文

数据分析指标速查手册:从用户、行为到统计术语的完整梳理

前言

做业务系统久了会发现:开发和数据同事对话的障碍往往不是技术,而是指标名词。这篇把散落在各处的数据分析指标与术语系统地梳理一遍,分五大类:用户数据指标、行为数据指标、业务数据指标、数据分析术语、统计学与报告常用语,当速查手册用。

一、用户数据指标

IP、UV、PV、VV

  • IP(Internet Protocol):独立IP数
  • UV(Unique Visitor):独立访问客数
  • PV(Page View):页面浏览量/阅读量
  • VV(Visit View):访问次数。注:在视频产品的数据分析中,VV(Video View)是播放类指标,指一个统计周期内视频被打开的次数之和

活跃与新增

……

阅读全文

转载-shell 13问

前言

shell编写入门的时候,有幸看到比较经典的 shell 13问,碰到有大佬整理成 markdown 格式,转载过来

1、为何叫做 Shell?

我们知道计算机的运作离不开硬件,但却无法直接操作硬件,硬件的驱动只能通过一种称之为“操作系统(OS,Opertating System)的软件来管控。Linux 严格来说是一个操作系统(OS)。

……

阅读全文

spring cloud gateway的一些细节注意

前言

spring cloud 2.* 的路由用的是 gateway 方案,不再是 1.* 时代的 zuul 了,不过也带来了新问题,这里整理下近期优化 gateway 的鉴权带来的爬坑记录

1、理解 gateway 与 zuul 比较

SpringCloud Gateway 是 Spring Cloud 的一个全新项目,该项目是基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。

SpringCloud Gateway 作为 Spring Cloud 生态系统中的网关,目标是替代 Zuul,在Spring Cloud 2.0以上版本中,没有对新版本的Zuul 2.0以上最新高性能版本进行集成,仍然还是使用的Zuul 2.0之前的非Reactor模式的老版本。而为了提升网关的性能,SpringCloud Gateway是基于WebFlux框架实现的,而WebFlux框架底层则使用了高性能的Reactor模式通信框架Netty。

……

阅读全文

linux后台执行可用方式整理

前言

最近答疑群友如何后台运行 ssh 连接后的操作,整理了下日常常见的后台执行方式,方便知识梳理。

1、nohup方式

1
2
# nohup sh shell.sh &
查看日志:tail -f nohup.out

2、disown方式

1
2
# sh shell.sh & disown
查看日志:断开终端后,不能再查看日志

3、screen方式

执行screen,如果命令不存在,需要先安装:

1
# yum install screen -y

新建一个屏幕:

1
# screen -S screen_name

执行命令:

1
# sh shell.sh

依次按 Ctrl+A 与 D (无 Ctrl) 脱离该屏幕,此时程序仍运行在后台。

……

阅读全文

redis运维:监控指标体系与性能问题分析

前言

redis 用起来简单,出问题时排查难。这篇从监控指标体系和性能问题分析两个维度整理运维要点,指标是日常巡检的眼睛,排查手段是出事时的手术刀。

一、监控指标体系

redis 的监控指标可以分为五大类。

1. 性能指标(Performance)

Name Description
latency Redis 响应一个请求的时间
instantaneous_ops_per_sec 平均每秒处理请求总数
hit rate (calculated) 缓存命中率(计算出来的)

2. 内存指标(Memory)

Name Description
used_memory 已使用内存
mem_fragmentation_ratio 内存碎片率
evicted_keys 由于最大内存限制被移除的 key 的数量
blocked_clients 由于 BLPOP、BRPOP 或 BRPOPLPUPUSH 而被阻塞的客户端

3. 基本活动指标(Basic activity)

Name Description
connected_clients 客户端连接数
connected_slaves slave 数量
master_last_io_seconds_ago 最近一次主从交互之后的秒数
keyspace 数据库中的 key 值总数

4. 持久性指标(Persistence)

Name Description
rdb_last_save_time 最后一次持久化保存磁盘的时间戳
rdb_changes_since_last_save 自最后一次持久化以来数据库的更改数

5. 错误指标(Error)

Name Description
rejected_connections 由于达到 maxclient 限制而被拒绝的连接数
keyspace_misses key 值查找失败(没有命中)次数
master_link_down_since_seconds 主从断开的持续时间(以秒为单位)

二、监控方式与工具

常用工具:redis-benchmark、redis-stat、redis-faina、redislive、redis-cli、monitor、slowlog。

……

阅读全文

Linux木马排查与入侵实战案例

前言

在日常繁琐的运维工作中,对 linux 服务器进行安全检查是一个非常重要的环节。这篇整理如何检查 linux 系统是否遭受了入侵,以及几次真实的入侵处置过程。与应急响应手册配合食用更佳。

一、是否入侵检查(排查清单)

1)检查系统日志

1
2
# 检查系统错误登录日志,统计IP重试次数(last 查看系统登录日志,比如系统被 reboot 或登录情况)
last

2)检查系统用户

……

阅读全文

redis日常使用的一些建议

前言

最近处理了几起redis不安全的阿里云服务器,总结下一些建议

1、安全建议

1.1、设置bind

默认bind 0.0.0.0是默认值,相当于不设防

1
2
3
bind 0.0.0.0
建议修改成链接端的IP,比如
bind 192.168.100.101

1.2、设置auth

默认是不设置密码,相当于不需要密码和鉴权就可以访问

1
2
3
requirepass foobared
建议开启密码访问,并且不能设置弱口令密码,比如
requirepass Admin9527#&@ekd452

1.3、设置port

默认是6937,容易被扫描到

1
2
3
port 6379
建议修改默认端口,比如
port 36379

1.4、设置config

检查config这2个文件设置的值是否自己设置的值

……

阅读全文

logrotate日志切割

前言

无意间找到nginx下的日志切割组件,比以前用脚本每日备份好多了,研究了一番用法

1、关于日志切割

  日志文件包含了关于系统中发生的事件的有用信息,在排障过程中或者系统性能分析时经常被用到。对于忙碌的服务器,日志文件大小会增长极快,服务器会很快消耗磁盘空间,这成了个问题。除此之外,处理一个单个的庞大日志文件也常常是件十分棘手的事。
  logrotate是个十分有用的工具,它可以自动对日志进行截断(或轮循)、压缩以及删除旧的日志文件。例如,你可以设置logrotate,让/var/log/foo日志文件每30天轮循,并删除超过6个月的日志。配置完后,logrotate的运作完全自动化,不必进行任何进一步的人为干预。

……

阅读全文

最近文章

分类

标签

其它