
笔记
文章平均质量分 76
huamanggg
生活不止眼前的苟且
展开
-
[Java多线程]线程创建的三种方式,线程的互斥,线程的同步
前言多线程:指的是这个程序(一个进程)运行时产生了不止一个线程并行和并发:并行:多个cpu实例或者多台机器同时执行一段处理逻辑,是真正的同时。并发:通过cpu调度算法,让用户看上去同时执行,实际上从cpu操作层面不是真正的同时。并发往往在场景中有公用的资源,那么针对这个公用的资源往往产生瓶颈,我们会用TPS或者QPS来反应这个系统的处理能力。线程创建最基础的主要分为两种方法继承Thread类实现Runnable接口创建Thread类的子类,用这种方法生成新线程,可以按以下步骤进行:原创 2021-12-01 19:22:39 · 729 阅读 · 0 评论 -
利用PHP的NAN和INF来获取字符串来自增绕过长度限制
最近在一道题目里面学到了一个新的小技巧在php中,字符串是可以递增的,如下:但是不可递减这道题是这样的<?phperror_reporting(0);if ($_GET['looklook']){ highlight_file(__FILE__);}else{ setcookie("hint", "?looklook", time()+3600);}if (isset($_POST['ctf_show'])) { $ctfshow = $_POST['ctf原创 2021-08-19 00:20:31 · 1000 阅读 · 0 评论 -
Javaweb学习笔记8(Response对象)
Response对象功能:设置响应消息设置响应行格式:HTTP/1.1 200 ok设置状态码:setStatus(int sc)设置响应头:setHeader(String name, String value)设置响应体:使用步骤:获取输出流字符输出流:PrintWriter getWriter()字节输出流:ServletOutputStream getOutputStream()使用输出流,将数据输出到客户端浏览器重定向创原创 2021-08-09 23:10:44 · 166 阅读 · 0 评论 -
JavaWeb后端实现登陆案例
项目需求1.编写login.html登录页面:username & password 两个输入框2.使用Druid数据库连接池技术,操作mysql,day14数据库中user表3.使用JdbcTemplate技术封装JDBC4.登录成功跳转到SuccessServlet展示:登录成功!用户名,欢迎您5.登录失败跳转到FailServlet展示:登录失败,用户名或密码错误项目分析:开发步骤创建项目创建一个lib目录到WEB-IFN里面,导入jar包创建数据库环境创建类Use原创 2021-04-25 12:56:39 · 3217 阅读 · 2 评论 -
Javaweb学习笔记7(Request、获取请求数据、请求转发、数据共享)
Servlet的体系结构Servlet的体系结构有三层,爷-父-孙三级继承Servlet – 接口|GenericServlet – 抽象类|HttpServlet – 抽象类我们在开发的时候,写servlet实现他的方法有一大堆,但是我们实际常用到的也就是service方法,那么就想有一个办法预定义好那些不长用的方法厂商给出了这样的体系,注意这两个是类,是用extend来继承GenericServlet:将Servlet接口中其他的方法做了默认空实现,只将service()方法作原创 2021-04-24 02:31:28 · 684 阅读 · 1 评论 -
Javaweb学习笔记6(Servlet)
servlet基本介绍全程是server applet,运行在tomcat上的小程序图解:Servlet就是一个接口,定义了Java类被浏览器访问到(tomcat识别)的规则。将来我们自定义一个类,实现Servlet接口,复写方法。原创 2021-04-20 22:20:30 · 164 阅读 · 2 评论 -
JAVA学习笔记5(Scanner,String,Arrays,Math,异常)
Math类原创 2021-03-29 22:45:12 · 185 阅读 · 0 评论 -
template模板学习
template.js模版导入这个模板来使用<script src="template-web.js"></script>这个模板的github或者直接到我的网盘下载链接:https://pan.baidu.com/s/1RTfRTksjQlU1e-ZbEcJclQ提取码:hm12导入后可以使用template的函数和格式进行模板的开发语法:{{ 与 }} 符号包裹起来的语句则为模板的逻辑表达式。①输出表达式对内容编码输出: {{content}}不编码输出原创 2021-03-28 17:43:40 · 517 阅读 · 0 评论 -
前端学习笔记2
浮动通过浮动可以使一个元素向其父元素的左侧或右侧移动使用 float 属性来设置于元素的浮动可选值:none 默认值 ,元素不浮动left 元素向左浮动right 元素向右浮动注意:元素设置浮动以后,水平布局的等式便不需要强制成立元素设置浮动以后,会完全从文档流中脱离,不再占用文档流的位置,所以元素下边的还在文档流中的元素会自动向上移动,让元素横向并排排列浮动的特点:想像盒子都浮起来了,而且浮到了同一高度,所以浮动的元素就不会重叠了,而是挤来挤去浮动元素会完全脱离文档流,不再占据原创 2021-03-28 17:43:00 · 110 阅读 · 0 评论 -
[NahamconCTF]wp
Homeward Bound添加一个xff头就得到了原创 2021-03-15 11:51:18 · 201 阅读 · 0 评论 -
[UCTF 2021]wp
Source it!js代码直接泄露了 function checkPassword(form) { password1 = form.password1.value; name = form.name.value; var username = "admin"; var hash = "1bea3a3d4bc3be1149a75b33fb8d82bc";原创 2021-03-15 11:51:02 · 469 阅读 · 0 评论 -
[vishwaCTF-2021]wp
Is Js Necessary?打开网页过了一下会重定向,直接保存下html来可以仔细分析直接禁用javascript会有隐藏的提交框出现<form action="https://isjsnecessary.vishwactf.com/" method="post"><input type="text" placeholder="your answer" name="yourinput" id="yourinput"><input type="submit" nam原创 2021-03-15 11:50:34 · 1977 阅读 · 0 评论 -
注册登陆界面开发记录
要实现注册登入,一定是要有后端数据库的参与的,把每个成员信息写成记录插入表中实现注册html中建立form表单<div class="section"> <form name="MyForm" method="POST" action="login.php"> <div class= "input"> <label name="username">用户名<原创 2021-01-31 22:19:16 · 160 阅读 · 0 评论 -
MySQL学习4:与php交互
与php交互的交互建立连接$link=@mysqli_connect($host, $user, $password,$database,$port);host是服务器所在的ip地址user是mysql的账号password是mysql的密码database是选择连接的数据库port是端口号,默认是3306,不需要填也可以整个语句可以看成一个能与数据库交互的钥匙link连接错误的提示int mysqli_connect_errno ();//返回最后一次连接调用的错误代码string原创 2021-01-30 01:54:05 · 135 阅读 · 0 评论 -
MySQL学习2:DML语句
DML数据操纵语句,用于添加、删除、更新和查询数据库记录并检查数据完整性插入记录如果不在表名后面加括号写字段名后面的values就会按顺序依次赋值单条插入insert into 表名(字段1,字段2,字段3,...,字段n) values(值1,值2,值3,...,值n);也可以不用指定字段名,但是values后面的顺序应该和字段的排序一致多条插入 insert into 表名(字段1,字段2,字段3,...,字段n) values (值1,原创 2021-01-24 22:06:54 · 212 阅读 · 0 评论 -
MySQL学习1:入门,DDL语句
SQL语句分类DDL(Data Definition Languages)语句数据定义语句,通过这类语言可以对数据库进行创建删除更改DML(Data Manipulation Language)语句数据操纵语句,用于添加、删除、更新和查询数据库记录并检查数据完整性DCL(Data Control Language)语句数据控制语句,通过此类语句可以对数据库的相关权限进行设置DDL语句学习库创建数据库:create database 数据库名;选择要操作的数据库:USE 数据库; 对原创 2021-01-22 17:26:55 · 159 阅读 · 0 评论 -
PHP学习笔记:6cookie和session
Cookie创建cookiecookie是http头标的组成部分,一定要在其他内容发送之前就要发送,所以必须最先输出使用setcookie()函数创建setcookie(string name[,string value[,int expire[, string path[,string domain[,int secure]]]]])读取cookie直接通过超级全局数组$_COOKIE[]来读取浏览器端的Cookie值,举个例子<?phpdate_default_timezone原创 2021-01-22 03:02:30 · 272 阅读 · 0 评论 -
PHP学习笔记5-表单,传参
表单创建表单使用<from>标记,并在其中插入相关的表单元素,即可创建表单<form name="form_name" method="method" action="url" enctype="value" target="target_win">… //省略插入的表单元素</form >表单元素输入域标记<input>输入域标记<input>是表单中最常用的标记之一。常用的文本框、按钮、单选按钮、复选框等构成了一原创 2021-01-20 02:17:20 · 1073 阅读 · 0 评论 -
php学习笔记4
错误处理错误分类1)语法错误:用户书写的代码不符合PHP的语法规范,语法错误会导致代码在编译过程中不通过,所以代码不会执行(Parse error)2)运行时错误:代码编译通过,但是代码在执行的过程中会出现一些条件不满足导致的错误(runtime error)3)逻辑错误:程序员在写代码的时候不够规范,出现了一些逻辑性的错误,导致代码正常执行,但是得不到想要的结果错误触发程序运行时触发:系统自动根据错误发生后,对比对应的错误信息,输出给用户:主要针对代码的语法错误和运行时错误。人为触发:知道原创 2021-01-19 12:18:32 · 175 阅读 · 0 评论 -
PHP学习笔记3
字符串引号php里面单引号和双引号是不一样的,在定义字符串的时候没有区别但是字符串里面有变量的时候就不一样了双引号是经过语法分析的,单引号是“所见即所得“定界符<<<:用于定义一个格式化的大文本,;里面的格式化文本并不需要转义字符,文本格式将被保留这个定界符是不支持添加注释的其实效果就和双引号效果一样,就是用来定义大文本nowdoc字符串:没有单引号的单引号字符串$str = <<<’边界符’ 字符串内容边界符;heredoc字符串:没原创 2021-01-17 14:26:47 · 186 阅读 · 0 评论 -
PHP学习笔记2
运算符% :取余(模)运算,两个数(整数)相除,保留余数,如果被除数(%前面那个)是复数结果也是复数&&:逻辑与,左边的条件与右边的条件同时成立(两边结果都为true)||:逻辑或,左边的条件或者右边的条件只要有一个满足即可!:逻辑非,对已有条件进行取反,本身为true,取反结果就是falsexor:逻辑异或拼接运算符:英文的句号:..=拼接运算符也是可以接等号的递增递减在php也可行:++,--错误抑制符:@:在可能出错的表达式前面使用@符号即可比较运算符===原创 2021-01-17 01:46:20 · 151 阅读 · 0 评论 -
PHP学习笔记1
php学习开始,在这记录我觉得需要注意的地方变量变量定义:"$"前面加上这个就是变量变量名不能以数字开头将变量从内存中删除使用unset($变量名)函数来删除变量预定义变量预定义变量:提前定义的变量,系统定义的变量,存储许多需要用到的数据(预定义变量都是数组)$_GET:获取所有表单以get方式提交的数据$_POST:POST提交的数据都会保存在此$_REQUEST:GET和POST提交的都会保存$GLOBALS:PHP中所有的全局变量$_SERVER:服务器信息$_SESSI原创 2021-01-16 02:20:14 · 259 阅读 · 0 评论 -
爬虫笔记4模拟登陆
这次模拟4399的登陆这篇不难,主要是学到了这几点requests模块有个session方法可以记录网页的cookie模拟登陆的时候有两个请求,第一个是用来登陆的,第二个是用来保存登陆界面的一般的登陆都是post传参但是我们只需要提供用户名和密码就可以这样写data={}data["username"]="1093533435"data["password"]="liouyuwen"先附上源代码import requestssession=requests.Session()原创 2021-01-13 20:39:53 · 386 阅读 · 0 评论 -
asyncio库和aiohttp库的学习
觉得协程涉及的东西有点多,一下子用不过来,就基于小泽的博客学了一个更low的方法:线程池导入线程池的模块from multiprocessing.dummy import Pool实例化一个线程池的对象!实例化一个有x个线程的线程池对象,这里我们开启两个线程pool = Pool(2)创建任务列表list = []先上源代码复原之前爬取猫猫图片的爬虫加入Pool库import requestsfrom lxml import etreeimport osfrom multi原创 2021-01-13 02:20:42 · 341 阅读 · 0 评论 -
SyntaxError: ‘await‘ outside async function的原因与解决
我们看下面这个代码,表面上没什么问题import asyncioasync def do1(): await asyncio.sleep(2) print('两秒过去了')async def do2(): await asyncio.sleep(2) print('两秒又过去了')async def do3(): await asyncio.sleep(4) print('四秒过去了')await do1()await do2()awai原创 2021-01-08 01:17:58 · 21703 阅读 · 0 评论 -
asyncio库的学习与理解
基于python文档和一些大佬的博客学习,谈谈我对于协程的学习与理解协程通过 async/await 语法进行声明import asyncioasync def do(): print('hello') await asyncio.sleep(1) print('world')asyncio.run(do())要真正运行一个协程,asyncio 提供了三种主要机制:asyncio.run(协程) ,上面的实例就使用了这个函数import asyncioasync d原创 2021-01-08 00:14:09 · 368 阅读 · 2 评论 -
time模块的理解
%a 本地星期名称的简写(如星期四为Thu) %A 本地星期名称的全称(如星期四为Thursday) %b 本地月份名称的简写(如八月份为agu) %B 本地月份名称的全称(如八月份为august) %c 本地相应的日期和时间的字符串表示(如:15/08/27 10:20:06) %d 一个月中的第几天(01 - 31) %f 微妙(范围0.999999) %H 一天中的第几个小时(24小时制,00 - 23)原创 2021-01-07 00:57:12 · 366 阅读 · 0 评论 -
爬虫入门学习笔记3
爬虫入门学习笔记3get()和post()的数据请求在get()里面叫paramas在post()里面叫data尝试动态页面的爬取(豆瓣排名)老规矩,先附上源代码:import requestsimport jsonurl='https://movie.douban.com/j/chart/top_list?'header={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML原创 2021-01-05 01:19:01 · 556 阅读 · 0 评论 -
爬虫入门学习笔记2
爬虫入门学习笔记2一篇博客写太多不好翻,另起一篇来写尝试更复杂的图片爬取这次玩个更难的试试,这个网址是泽上荧光大佬提供的,比较简单好欺负,我是一个猫奴,我们就不爬涩图,爬点小猫来玩玩,这个网址是很多辑,每一辑都有若干张图片可以发现每一辑里面是第几张图片网页的后面就会加上几个数字,我们就要利用这个小细节把页面里的所有图片都给他爬下来先附上完整代码:代码是参考小泽大佬的(基硬搬)import requestsfrom lxml import etreeimport osurl="http:原创 2021-01-03 17:12:21 · 338 阅读 · 2 评论 -
爬虫入门学习笔记1
爬虫入门学习笔记整了这么久,终于轮到爬虫了,之前一直对爬虫有所向往,现在学起来也是觉得很有意思,主要是通过一些大佬的博客来学习的,以下是我学习爬虫的学习笔记。安装requests和BeautifulSoup4安装request:python本身提供的urllib没有python社区的requests库好用,现在主流都是用request来制作爬虫打开cmd控制台pip安装指令pip install requests安装BeautifulSoup4:有了requests模块,可以使用他的ge原创 2021-01-01 23:20:17 · 482 阅读 · 6 评论 -
Hexo博客的双线部署(github+coding)绑定自定义域名,以及遇到问题与解答
Hexo博客的双线部署(github+coding)绑定自定义域名,以及遇到问题前段时间装修了一下我的博客,发现好看是好看了,但是访问速度慢下来了,安装了图片懒加载还是太慢,杯水车薪。后来看到双线部署的概念把博客部署到github给境外使用,部署到coding给境内使用,这样访问速度会快很多。本博客是基于已在github搭建了博客的基础上写的,如果github还没部署不推荐直接就双线部署coding改版了,静态页面也改版了,分配到域名不像以前一样和github差不多,现在提供的域名是一个很大一串不原创 2020-12-27 17:45:48 · 1164 阅读 · 6 评论 -
butterfly配置记录
安装依赖一开始要输入这个代码,不然打不开npm install hexo-renderer-pug hexo-renderer-stylus --save添加关于和标签这两个不能直接去掉标注就生效,要生成一个page还要在md文件里加上---title: tagsdate: 2020年12月24日15:14:16type: "tags"---title: aboutdate: 2020年12月24日15:14:16type: "about"...原创 2020-12-26 20:34:16 · 578 阅读 · 1 评论 -
vscode配置c/c++编译调试环境
vscode配置c/c++编译调试环境下载好MinGW,配置系统环境安装插件打开vscode把这两个插件安装好,按这个小三角就可以直接运行了配置调试环境但是代码出现了问题不能调试,所以我们还得配置一下调试环境都选第一个会发现弹出一个文件,别管他直接关掉就好,现在的vscode会直接帮你配置好,不需要像其他博主那样自己创建自己输入现在就可以调试了,大功告成...原创 2020-12-16 23:16:36 · 157 阅读 · 0 评论 -
vscode使用笔记编辑预览Markdown文件
title: vscode使用笔记date: 2020-12-13tags:vscode笔记推荐安装的插件这里主要推荐三款核心插件,其余的可以按需选择。1.Markdown All in One:目前 Vscode 最流行的 Markdown 语法解析器。2.Markdown PDF:使用的 Markdown 文件渲染导出插件。3.Markdown TOC:一款针对 Github 等平台自动生成文章目录的插件(目前主流的博客平台如 优快云 已经不需要自己在文中生成目录了)。使.原创 2020-12-13 13:56:10 · 478 阅读 · 0 评论 -
hexo主题yilia个性化(一言,左侧栏自定义,图片自定义...)
hexo主题yilia个性化展开全文的美化在md文件中加这个标签会有两个跑出来,我觉得很不美观所以找了另一个办法在yilia的_config.yml中把这个more改成空格就行了为博客网站更换logo1.将图片放在yilia的img文件夹里2.在yilia的config文件里把路径加上展开全文的使用1、node.js版本必须6.2以上2、在hexo根目录下执行命令:npm i hexo-generator-json-content --save3.在根目录下的config里原创 2020-12-09 23:35:44 · 1501 阅读 · 2 评论 -
github上搭建好个人博客上传文件没有小绿格记录
github上搭建好个人博客上传文件没有小绿格记录我搭建完博客后上传到github的内容是这么些,但是我上传博客却不是在这里上传我是把md文件放到这个文件夹里使用下面三个命令来实现博客推送而不是git push的方式hexo cleanhexo ghexo d但是我看到第一个文件夹里其实有更新的博客但是就是没有小绿格我看了一下我有两个branch,main和master,我的博客文件放在master里,而一个无关紧要的branch main被我创建库的时候设成了default,于是我就想原创 2020-12-09 22:09:06 · 150 阅读 · 0 评论 -
在github创建库并向上上传文件
在github创建库并向上上传文件我之前已经创建过库,绑定了密钥,所以省了很多步骤我就记录了一下过程怕自己忘记1,先在github创建一个库复制这个链接到时要用2.在本地创建一个文件夹在文件夹中使用git clone http....(这个是刚刚复制的地址)出现了你在github中创建的库的文件上传文件1.打开后git bash here,将你要上传的文件放到里面再使用git add .这个git add .的意思是:将项目上所有的文件添加到仓库中的意思,如果想添加某个特定的文件,只原创 2020-12-08 20:01:08 · 219 阅读 · 0 评论 -
[BUUCTF][ACTF2020 新生赛]Include 1 做题记录
[BUUCTF][ACTF2020 新生赛]Include 1 做题记录打开后有个tips点开以后上面有这样一句话http://5b701de7-6ab8-442b-bb57-acb29d05db10.node3.buuoj.cn/?file=flag.php看到file=flag.php想到php伪协议?file=php://filter/read=convert.base64-encode/resource=flag.php在线base64解码就行...原创 2020-12-07 18:39:57 · 226 阅读 · 2 评论 -
[BUUCTF][极客大挑战 2019]Secret File 做题记录
[BUUCTF][极客大挑战 2019]Secret File一打开是这个画面,我还特意百度了一下这个人,没找到上面有用的信息哈哈哈。按F12打开看到这个东西打开就看到一个绝密档案!!!点了按钮后出现了这个页面我还没看就说查阅结束了,说明有什么东西是一闪而过的,毋庸置疑得抓包了。有个secr3t.php文件还有一个flag.php文件所以不能直接获得,回到secr3t.php那个页面使用file伪协议:?file=php://filter/convert.base64-enco原创 2020-12-07 18:18:21 · 212 阅读 · 0 评论 -
[BUUCTF][极客大挑战 2019]Havefun 做题记录
## [极客大挑战 2019]Havefun BUUCTF一打开是一只猫开了后台看看代码有一串php代码上面写着用get的方式给‘cat‘赋值,如果给cat赋的值为‘dog’时,输出一个东西那就给cat赋值dog,flag就直接出来了...原创 2020-12-07 17:53:38 · 188 阅读 · 0 评论