20174303刘金晖 Exp9 Web安全基础
一、实践原理 二、实践过程 (一)WebGoat安装 下载Java -jar webgoat-container-7.0.1-war-exec.jar文件 输入java -jar webgoat-container-7.0.1-war-exec.jar运行WebGoat 安装jdk1.8(不安装没有左边的课程栏,参考这篇文章进行安装配置) 浏览器输入localhost:8080/WebGoat,输入用户名密码登录 (二)SQL注入攻击 1. 命令注入(Command Injecti
第一个技术博客的第一篇日志
第一篇日志 为什么要开这个博客 从接触互联网到现在,我一共只开过两个博客,第一个是新浪博客,第二个是LOFT,这个是我的第三个博客(其实前两个也没怎么写过文章,比较懒,哈哈)。 之所以开了这个博客,有这么几个原因: 前端的大牛小牛几乎都有博客,大牛自己建站,小牛用公共博客,似乎前端连个博客都没有实在说不过去; 泡技术论坛、逛大牛微博、看技术日报,这么久了也收藏了不少文章,一个个网页点过来也很累,万一哪天原文删除了就没得看了,有个博客记录下来总是好的,这叫留档查看。。。吧; 以我现在的水平,自己
力扣中国172阶乘后的零
class Solution: # 超时 首先是用的暴力的方法算的,直接算出阶乘,然后求出有几个零 # 但是提交的时候直接显示超时。 def trailingZeroes(self, n: int) -> int: sum_0,sum_num = 0,1 for index in range(1,n + 1): sum_num *= index while sum_num % 10 == 0
BZOJ 2002 [Hnoi2010]Bounce 弹飞绵羊 (分块)
题意 给你一组正整数,从i位置可以走到i+a[i],两种操作: 1.从x走几步能走出n 2.将某个a[x]改为y 思路 考虑分块,分块大小为根号n,那么每个点需要处理:出本块需要的步数、出本块到达的地方 对于每一块内的元素,维护的这两个信息都是独立的 那么对于操作1:模拟一遍块间移动即可,复杂度\(O(\sqrt{n})\) 操作2:将x所在的块内所有元素的信息更新,复杂度\(O(\sqrt{n})\) 代码 int n,t;
int a[maxn];
int to[maxn],cnt[max
使用Qunee组件制作在线地图 - 加载GeoJSON/TopoJSON数据
Qunee for HTML5有许多地图的示例,包括地铁图,基于SVG数据的地图,结合leaflet的地图等,每个示例都是单独的实现,代码也各有不同,于是我们想,是否能将这些方案统一起来,实现一种地图解决方案呢?于是我们开始整合,从世界地图到国内各市县的地图,再到各种地铁图,都用HTML5技术呈现出来,而在地图之上还有我们的拓扑图,等值分析图,地铁线路分析等等,本文我们将介绍如何使用Qunee加载标准地图数据,实现从世界地图到国内省市地图的呈现 标准地图数据 首先遇到的是地图数据的问题,我们选
golang底层 note mutex semaphone
futex
futex(&f, FUTEX_WAIT, val, t, nil, 0)
选项FUTEX_WAIT,表示使用mmap在内核态和用户态之间共享f的内存,测试f的值如果等于val则休眠时间t
futex(&f, FUTEX_WAKE, cnt, nil, nil, 0)
选项FUTEX_WAKE,表示唤醒阻塞在f上的cnt个线程
----------------------------------------------------------------------------
东南大学《软件测试》课程复习笔记
2020-05-27 惊闻这两天就要安排线上考试,抓紧把之前剩了个尾巴的复习笔记完成了,希望可以取得还OK的成绩。 整理了一下2019-2020学年计算机学院大三下《软件测试》课程的内容,仅供参考。 by z0gSh1u 导论 / Chapter 1 大型软件开发中经常遇到巴别塔和焦油坑(极度混乱、复杂的情况) 什么是错误(error):1+2=5;死机、崩溃… 为什么有错误:Everything & Everyone。软件测试就是为了发现错误以便解决错误。 软件测试过程图 正确的测试策略:尽
golang底层 关键字
go newproc
new newobject
make makeslice,makechan,makemap,makemap_small......
<- chansend1,chanrecv1,chanrecv2
close closechan
select selectgo
----------------------------------------------------------------------------
三、Spring-Bean高级装配
内容 Spring profile 条件化的bean声明 自动装配与歧义性 bean的作用域 Spring表达式语言 名词 单例 (Singleton) 原型 (Prototype) 会话 (Session) 请求 (Request) Spring表达式语言 (Spring Expression Language,SpEL) 3.1 处理自动装配的歧义性 @Autowired
public void setDessert(Dessert dessert) {
this.dessert = d
codeforces #644(div3) A-G题解
A. Minimal Square 找一个最小的正方形,包含两个a*b的矩形,两矩形无交叉。 设较小的数为a,较大的数为b。则正方形边长为:max(2 * a, b) cin >> t;
while(t--){
cin >> a >> b;
if(a > b) swap(a,b);
if(2 * a >= b) ans = 4 * a * a;
else ans = b * b;
cout << ans << endl;
}
B. Honest Coach n个数,
python之模块的概念
<一>模块基本概念 在python中,一个.py文件就是一个模块 python中模块分三种: 1.python标准库:内部已经定义好的模块 2.第三方模块 3.应用程序自定义模块 模块调用的三种方式: import time 调用一个模块 import time,sys 同时调用两个模块 from time import time 从模块time中调用time函数 from time inport * 引入time模块下所有变
SQL后面基础练习的数据源
本次练习课程B站SQL教程 链接https://www.bilibili.com/video/BV1UE41147KC?p=47 下面是数据练习的几张表, 可以直接使用 DROP DATABASE IF EXISTS `sql_invoicing`;
CREATE DATABASE `sql_invoicing`;
USE `sql_invoicing`;
SET NAMES utf8 ;
SET character_set_client = utf8 ;
CREATE TABLE `p
File类中的获取功能。
file.getAbsolutePath(); //获取文件的绝对路径 file.getPath(); //获取路径(构造方法里传什么路径就获取到什么路径) file.getName(); //获取文件或文件夹的名称 file.length(); //获取文件的长度 字节数。 file.lastModified(); //获取最后一次的修改时间,毫秒值。 将毫秒值转换为日期时间。 Date d = new Date(file.lastModified()); SimpleDateFormat
webpack 学习(2) ---处理js和css常用的loader与插件
js处理 为提高我们代码的兼容性,我们会将ES6语法转成ES5打包;处理js就或用到babel-loader 首先安装一下babel npm i [email protected] @babel/core @babel/preset-env -D 把ES6 转换成 ES5 npm i @babel/plugin-transform-runtime -D 对于一些实例上的内置api方法 一些无法转换ES5,那么就需要安装这个插件 npm install @babel/runtim
【视频编辑】Pr或者其他视频编辑软件导出的视频声音有一段会变大怎么解决
导出视频后为什么有段声音会突然变大? 也就是可能存在编辑器导出的时候有自动增益声音的行为。 具体描述: 工程文件里我没动过声音,工程文件里听也是很正常的,但是导出后有一小段音乐会突然变大(存在自动增益),是怎么回事? 解决: 这个问题困扰了我一下午,各种换编辑器重新导出,甚至用了AU,然而发现还是这样。但是奇怪的是在手机上和在Bilibili上的在线编辑器却没问题。 最后面用Windows自带的视频播放器播放问题文件,发现正常了! 原来是播放器的问题。然后在选项里找到了自动增益的选项。关掉之后
mybatis_plus简单学习
数据库略二、初始化工程使用SpringInitializr快速初始化一个SpringBoot工程Group:com.atguiguArtifact:mybatis-plus版本:2.2.1.RELEASE三、添加依赖1、引入依赖spring-boot-starter、spring-boot-starter-test添加:mybatis-plus-boot-starter、MySQL、lombok、
还在羡慕别人高薪?这样读源码,想不升薪都难!
程序员在工作过程中,会遇到很多需要阅读源码的场景,比如技术预研、选择技术框架、接手以前的项目、review他人的代码、维护老产品等等。可以说,阅读源代码是程序员的基本功,这项基本功是否扎实,会在很大程度上影响一个程序员在技术上的成长速度。
2014年的时候《Qt on Android核心编程》和《Qt Quick核心编程》时作者在编写时,很多内容都是通过分析Qt源码搞明白的。这阵子研究CEF和PPAPI,也主要靠研究源代码来搞明白用法。最近工作上要修改已有项目的一个子系统,也是得硬着头皮先读懂代码。
总之在开发工作这十来年中,读过太多源码了,从源代码中学习到太多东西了,如果不阅读源代码,真不知道自己能否成长起来。
写代码是从模仿开始的,提高也是从观摩别人的优秀设计和代码开始的。所以阅读源码至关重要,接下来咱从下列方面聊聊阅读源码的事儿。
周排行