Irene181 Irene181
3年前
使用Python一键删除全盘文件自动关机并留后门
/1前言/今天我们要做的案例是怎样利用Python做一个hacker软件。众所周知,一般的Hacker对于黑操作系统一般常用手法莫过于发送木马客户端,修改系统注册表。组策略,获得开机启动权限,入侵电脑然后对电脑的文件进行修改来达到不可告人的目的。今天我们要讲的就是最基础的,怎样获得开机启动,先给大家讲最基础添加文件到系统启动项的文件夹中,当然更加高端点也可
Wesley13 Wesley13
3年前
jabdp自定义表单
第6章 自定义表单1、描述自定义表单是一个虚拟表,其内容由SQL语句查询定义,类似于数据库中的视图,但是功能更丰富。自定义表单的内容来源于一张或多张实体表,通过select语句来查询定义。关联的实体表的数据发生变化的时候,自定义表单查询出来的内容也会同步发生变化。2、作用自定义表单的的好处主要有以下两点:把
Karen110 Karen110
3年前
一篇文章带你了解Django ORM操作(基础篇)
前言在日常开发中,需要大量对数据库进行增删改查操作。如果头铁的话,使用原生SQL是最好的,毕竟性能又高,又灵活。但是通常情况下,我们不是太需要那么苛刻的性能,也没有那么多刁钻的需求用原生SQL通常会使用简单快捷的ORM进行增删改查一起看学习一下Django的ORM操作吧表结构设计还是从实际角度出发。假设,现在我需要设计一个简单的图书管理系统,是那种买的书,不
Wesley13 Wesley13
3年前
MTDDL 美团点评分布式数据访问层中间件
背景2016年Q3季度初,在美团外卖上单2.0项目上线后,商家和商品数量急速增长,预估商品库的容量和写峰值QPS会很快遇到巨大压力。随之而来也会影响线上服务的查询性能、DB(数据库,以下统一称DB)主从延迟、表变更困难等一系列问题。要解决上面所说的问题,通常有两种方案。第一种方案是直接对现有的商品库进行垂直拆分,可以缓解目前写峰值QPS过大、D
Stella981 Stella981
3年前
Redis内存淘汰机制
摘要Redis是一款优秀的、开源的内存数据库,我在阅读Redis源码实现的过程中,时时刻刻能感受到Redis作者为更好地使用内存而费尽各种心思,例如最明显的是对于同一种数据结构在不同应用场景下提供了基于不同底层编码的实现(如压缩列表、跳跃表等)。今天我们暂时放下对Redis不同数据结构的探讨,来一起看看Redis提供的另一种机制——内存淘汰机制。
Wesley13 Wesley13
3年前
MySQL中关于数据类型指定宽度之后的情况
概述  MySQL有很多种数据类型,最常用的就是int,char,varchar,这些类型在创建表的时候都可以指定该字段的宽度,方法是在类型后面加一个括号,括号中写宽度就可以了。  但是,在指定宽度之后,有时候,我们可以看到插入的数据有一些被截断了;有一些并没有截断,而是四舍五入了,甚至什么操作都没有,原样插入了。  下面对于每一种数据类型
Stella981 Stella981
3年前
C# 自制报表组件 EzReportBuild 2.5
2.0版本添加了多报表页嵌套功能,每份报表可设置多页,每页可设置不同的纸张大小、数据表、页面规则等,并可对报表页次序即时调整,同时,优化了显示,报表显示更流畅。2.3增加了数据库生成一维码、二维码以及直接写入维码;数据库字段之间进行混合四则运算。2.5统一了界面,包括打开、保存文件对话框等均自定义,修改了一些错误。demo由于数据库字段生成一
Stella981 Stella981
3年前
Spring AOP 切面编程记录日志和接口执行时间
最近客户现在提出系统访问非常慢,需要优化提升访问速度,在排查了nginx、tomcat内存和服务器负载之后,判断是数据库查询速度慢,进一步排查发现是因为部分视图和表查询特别慢导致了整个系统的响应时间特别长。知道了问题之后,就需要对查询比较慢的接口进行优化,但哪些接口需要优化、哪些不需要呢?只能通过日志里的执行时间来判断,那么如何才能知道每一个接口的执行时间呢
Stella981 Stella981
3年前
Sphinx实时索引
数据库中的数据很大,然后我有些新的数据后来加入到数据库中,也希望能够检索到,全部重新建立索引很消耗资源,这样需要用到“主索引增量索引”的思路来解决,这个模式实现的基本原理是设置两个数据源和两个索引。1、创建一个计数器一个简单的实现是,在数据库中增加一个计数表,记录将文档集分为两个部分的文档ID,每次重新构建主索引时,更新这个表先在mysql
Stella981 Stella981
3年前
MariaDB自动分区维护
最近遇到一个问题,就是如何自动删除6个月之前的旧的分区。就MariaDB而言,并没有类似机制,可以让我们开箱即用,去完成这件事情。所以我们需要换一种思路,或许问题就可以很简单的被解决。我们可以创建一个存储过程和一个事件,然后按照预定的时间表来调用这个存储过程。实际上,我们还可以进一步创建一个存储过程,让该过程自动添加新的分区。在本篇文章中,我们将展示如何