草庐IT

FIRST_DAY

全部标签

day07-优惠券秒杀03

功能03-优惠券秒杀034.功能03-优惠券秒杀4.6Redisson的分布式锁Redis分布式锁—Redisson+RLock可重入锁实现篇4.6.1基于setnx实现的分布式锁问题我们在4.5自己实现的分布式锁,主要使用的是redis的setnx命令,它仍存在如下问题:4.6.2Redisson基本介绍Redisson是一个在Redis基础上实现的Java驻内存数据网格(In-MemoryDataGrid)。它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务,其中就包括了各种分布式锁的实现。一句话:Redisson是一个在Redis基础上实现的分布式工具的集合。据Redi

day3:基于UDP模型的简单文件下载

思维导图tftp文件下载客户端实现#include#defineSER_PORT69#defineSER_IP"192.168.125.223"intlink_file(){ intsfd=socket(AF_INET,SOCK_DGRAM,0); if(sfd==-1) { perror("socketerror"); return-1; } returnsfd;}intfiledownload(){ //创建文件描述符用于下载传输过来的数据包 intwfd=-1; if((wfd=open("./copy_file",O_WRONLY|O_CREAT|O_TRUNC,0664))==-

内网渗透 day15-empire(usestager用法、提权、持久化后门)

empire(usestager用法、提权、持久化后门)本章前提:已成功设置监听器(如何设置监听器请看day14篇)1.usestager的几种用法windows/launcher_sct:介绍:Regsvr32命令用于注册COM组件,是Windows系统提供的用来向系统注册控件或者卸载控件的命令,以命令行方式运行。WinXP及以上系统的regsvr32.exe在windows\system32文件夹下;2000系统的regsvr32.exe在winnt\system32文件夹下。用法:regsvr32[/u][/s][/n][/i[:cmdline]]dllname1)usestagerwi

Day67内网安全-域横向smb&wmi明文|哈希

这节课围绕着这两个协议来讲知识点一:Windows2012以上版本默认关闭wdigest,攻击者无法从内存中获取明文密码Windows2012以下版本如安装KB2871997补丁,同样也会导致无法获取明文密码在实战情况下就有可能获取不到明文密码(操作系统高关闭了wdigest,打上了补丁),针对这种方法,我们有四种方法解决这一类问题1,利用hash的传递攻击(pth,ptk等和利用)进行移动2,利用其他服务协议(SMB,WMI等)进行hash移动三四种方法是围绕怎么得到明文密码3,利⽤注册表操作开启WdigestAuth值进⾏获取;前提条件:权限允许#注册表操作开启WdigestAuth值re

研习代码 day42 | 动态规划——买卖股票的最佳时机 I II

一、买卖股票的最佳时机(只能买卖一次)        1.1题目        给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。        你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。        返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。示例1:输入:[7,1,5,3,6,4]输出:5解释:在第2天(股票价格=1)的时候买入,在第5天(股票价格=6)的时候卖出,最大利润=6-1=5。注意利润不能是7-1=6,因为卖出价格需要

Day 42 动态规划 4

K46.背包理论基础(二维背包)代码随想录1.思路背包问题的主要特征为,在有限制的情况下满足最优化,因此可以构造二维dp数组,一个维度记录成本,一个维度记录收益,一步步寻找最优解。(1)dp数组以及下标含义dp[i][j]代表0-i的物品,在j的背包容量下,可以形成的最大价值。注意,这里i为序数,第一个第二个物品这样,而j为基数,也就是对应着成本的单位,比如kg。因此,如果有3个物品,成本分别为1、3、5kg,则i取0-2,j取0-5。(2)确定递推公式每次更新都有两个可选择的方式,一种是放入这个物品,一种是不放入。如果放入,则放入前背包中的物品个数位i-1,最大容量为j-weight[i],

【JAVA-Day03】JDK安装与IntelliJ IDEA安装、配置环境变量

JDK安装与IntelliJIDEA安装、配置环境变量一、JDK版本介绍1.1JDK版本选择JDK8JDK11JDK16JDK171.2JDK下载1.3JDK安装1.4配置环境变量1.5验证JDK安装二、开发利器——IntelliJIDEA的安装2.1IntelliJIDEA下载2.2IntelliJIDEA安装2.3IntelliJIDEA启动2.4新建Java项目三、总结博主默语带您GotoNewWorld.✍个人主页——默语的博客👦🏻《java面试题大全》🍩惟余辈才疏学浅,临摹之作或有不妥之处,还请读者海涵指正。☕🍭《MYSQL从入门到精通》数据库是开发者必会基础之一~🪁吾期望此文有资助

Day 44 动态规划 6

K52.完全背包代码随想录 1.思路(1)dp数组定义以及更新模式完全背包和01背包的区别可以从展开的二维背包中看出来:01背包:dp[i][j]=max(dp[i-1][j],dp[i-1][j-weights[i-1]]+values[i-1])完全背包:dp[i][j]=max(dp[i-1][j],dp[i][j-weights[i-1]]+values[i-1])区别就在i-1上。在保持原状不变的情况下,结论是一样的。但是,在放入第i-1个物品的情况下,如果是01背包,则这个物品是唯一的,所以要退回i-1这一行,寻找最优。但在完全背包的情况下,由于这个物品并非唯一,所以要在第i行寻找

<云计算>Linux入门--> day1

当我们虚拟机和shell安装后我们就可以来学习Linux的基本操作了!首先学习Linux就必须了解虚拟机在shell的登录方法.在虚拟机输入ipa这个命令,找到ip地址 接着打开shell输入sshroot@ip地址进入之后我们会看到一个这样的界面我们要了解[root@localhost~]#的意思[root@localhost~]#用户root  主机名localhost当前用户家目录~管理员用户#用户名@做分隔符主机名当前所在位置]权限符号权限符号有两种管理员#与普通用户$创建一个普通用户useradd 用户名称登录这个用户  su用户名称当看到这个界面就说明到达了普通用户界面管理员和普通

每日算法打卡:子矩阵的和 day 8

文章目录原题链接题目描述输入格式输出格式数据范围输入样例:输出样例:题目分析示例代码原题链接796.子矩阵的和题目难度:简单题目描述输入一个n行m列的整数矩阵,再输入q个询问,每个询问包含四个整数x1,y1,x2,y2x_1,y_1,x_2,y_2x1​,y1​,x2​,y2​,表示一个子矩阵的左上角坐标和右下角坐标。对于每个询问输出子矩阵中所有数的和。输入格式第一行包含三个整数n,m,q。接下来n行,每行包含m个整数,表示整数矩阵。接下来q行,每行包含四个整数x1,y1,x2,y2x_1,y_1,x_2,y_2x1​,y1​,x2​,y2​,表示一组询问。输出格式共q行,每行输出一个询问的结