- ctf-web:php反序列化逃逸 -- GHCTF Escape!
A5rZ
php网络安全
step1寻找利用点随便注册一个进去,能写入文件isadmin){$tmp=file_get_contents("tmp/admin.html");echo$tmp;if($_POST['txt']){$content='';$content.=$_POST['txt'];file_put_contents($_POST['filename'],$content);}}else{$tmp=file
- ctf-web: php原生类利用 -- GHCTF Popppppp
A5rZ
php网络安全
源代码fruit1=$a;}function__destruct(){echo$this->fruit1;}publicfunction__toString(){$newFunc=$this->fruit2;return$newFunc();}}classForbidden{private$fruit3;publicfunction__construct($string){$this->fruit
- CTF-web: Rust 的过程宏
A5rZ
rust网络安全
Rust的过程宏(ProceduralMacros)是一种强大的元编程工具,允许你在编译时对代码进行操作和生成。与属性宏和派生宏不同,过程宏可以接收并处理任意Rust代码,生成新的代码片段。这里有一个简单的例子来说明Rust的过程宏。假设你想创建一个过程宏来生成一个函数,该函数返回一个固定的字符串。我们可以按如下步骤进行:创建一个新的Rust库项目:cargonewmy_proc_macro--l
- CTF-WEB: 利用iframe标签利用xss,waf过滤后再转换漏洞-- N1ctf Junior display
A5rZ
网络安全
核心逻辑//获取URL查询参数的值functiongetQueryParam(param){//使用URLSearchParams从URL查询字符串中提取参数consturlParams=newURLSearchParams(window.location.search);//返回查询参数的值returnurlParams.get(param);}//使用DOMPurify对内容进行清理(sani
- CTF-WEB: 利用Web消息造成DOM XSS
A5rZ
xss网络安全
如果索引中有类似如下代码window.addEventListener('message',function(e){document.getElementById('ads').innerHTML=e.data;});这行代码的作用是将接收到的消息内容(e.data)设置为id为'ads'的元素的HTML内容那么在受害者段执行如下代码会导致DOM污染','*')">参考实验:使用Web消息的DOM
- CTF-web: fs.readFileSync特殊利用
A5rZ
网络安全
URL类URL类是JavaScript的内置类(或对象),它用于处理和解析URL(统一资源定位符)。URL是WebAPI的一部分,广泛应用于浏览器环境和Node.js中。特性构造函数:URL类的构造函数可以接受一个URL字符串和一个基础URL字符串(可选)来创建一个URL对象。constmyURL=newURL('https://example.com/path?query=123');属性:UR
- CTF-web: YAML是什么
A5rZ
网络安全
YAML(YAMLAin’tMarkupLanguage)是一种常见的序列化数据格式,主要用于配置文件和数据交换。它的设计目标是简洁、易读,并且易于与编程语言交互。YAML使用缩进来表示层次结构,类似于Python的语法。:基本语法结构键值对:YAML中最基本的结构是键值对,用于表示映射(类似于Python的字典)。name:JohnDoeage:30列表:用破折号(-)表示列表项。items:-
- CTF-WEB:PHP伪协议用法总结
A5rZ
phpctfweb
php://伪协议:php://是PHP中的一个虚拟协议(或称为流包装器),用于访问PHP内部流资源。它是PHP提供的内置流协议之一,允许你通过流(stream)方式访问PHP内部的数据流、文件或其他资源。与file://等协议不同,php://并不直接映射到文件系统,而是用于处理PHP特有的资源,如输入输出流、临时文件、PHP自身的内存流等。php://协议是PHP流包装器的一部分,允许在PHP
- CTF-Web安全--SQL注入之Union注入详解
给我杯冰美式
Web安全--SQL注入web安全sql安全
一、测试靶场与使用工具浏览器:火狐浏览器--Firefox靶场:sqli-labs使用插件:HackBar操作环境:phpstudy二、判断字符型注入与数字型注入操作步骤:1、用F12打开控制台,打开HackBar,LoarURL,将当前靶场的URL信息复制到操作台上2、输入?id=1,观察到页面发生变化,显示的是id=1时数据库中的信息,?是用来分割URL和查询字符串的,查询到了id=1时的用户
- CTF web学习笔记
hiddenCarry
CTF
i春秋视频学习记录日常渗透测试(笔记)CTF学习记大佬的渗透测试记录web狗如何在CTF-web中的套路中实现反套路题目类型SQL注入SQL注入工具SQL解题思路SQL注入技巧XSSXSS注入工具XSS解题思路文件上传文件上传工具文件上传解题思路php特性PHP特性-工具php特性-解题思路php特性-伪协议后台登录类后台登录类-工具后台登录类解题思路加密解密类-考察知识点加解密类-工具加解密类-
- CTF-WEB的知识体系
Ryongao
前端网络安全
CTF概念CTF是CaptureTheFlag的缩写,中文一般译作夺旗赛CTF起源于1996年DEFCON全球黑客大会DEFCONCTF是全球技术水平和影响力最高的CTF竞赛竞赛模式解题模式:解决网络安全技术挑战(即找到flag),提交后获取相应分值。攻防赛模式:要求找到其他队伍的薄弱环节进行攻击,同时对自己的靶机环境进行加固防守。战争分享模式:由参赛队伍相互出题挑战。竞赛内容1.WEB:网络攻防
- CTF-WEB的入门真题讲解
Ryongao
网络安全
EzLogin第一眼看到这个题目我想着用SQL注入但是我们先看看具体的情况我们随便输入admin和密码发现他提升密码不正确我们查看源代码发现有二个不一样的第一个是base64意思Ihavanosql第二个可以看出来是16进制转化为weak通过发现是个弱口令canyouaccess如果是比赛本地是主办方的服务器本地访问不了它提示我们本地访问我们查看源代码发现就是一个很简单的html他过滤了X-For
- CTF-WEB进阶与学习
Ryongao
网络安全
PHP弱类型===在进行比较的时候,会先判断两种字符串的类型是否相等,再比较==在进行比较的时候,会先将字符串类型转化成相同,再比较如果比较一个数字和字符串或者比较涉及到数字内容的字符串,则字符串会被转换成数值并且比较按照数值来进行转化规则字符串的开始部分决定了它的值,如果该字符串以合法的数值开始,则使用该数值,否则其值为0。e和E表示科学计数法md5绕过弱类型比较绕过弱类型比较绕过题目:$a!=
- WEB攻防-通用漏洞&文件上传&二次渲染&.htaccess&变异免杀
@墨竹
前端安全php
目录知识点详细点文件二次渲染php删除规则例题CTF-Web入门-162CTF-Web入门-163CTF-Web入门-164CTF-Web入门-165CTF-Web入门-166CTF-Web入门-167CTF-Web入门-168CTF-Web入门-169-170知识点1、文件上传-二次渲染2、文件上传-简单免杀变异3、文件上传-.htaccess妙用4、文件上传-PHP语言特性详细点1、检测层面:
- CTF-WEB练习
YAy17
CTF安全学习网络安全web安全安全威胁分析
[NISACTF2022]level-up首页内容如下:看源码发现disallow,于是想到了robots.txt:访问robots文件:出现level-2:通过POST方式请求两个参数;利用String强转类型要求两个变量值不相等,但是md5加密后的值强相等;因此这里不可以使用数组绕过~那就只能是使用md5碰撞!(PS:使用md5碰撞的时候,需要在数据包中直接改payload,如果利用的是hac
- web服务器运维笔记,【服务器运维】docker部署CTF-web环境的学习笔记
AceHX
web服务器运维笔记
作者:G4br1elQQ:2063367671一、一键安装docker环境安装docker:curl-shttps://get.docker.com/|sh安装pip:curl-shttps://bootstrap.pypa.io/get-pip.py|python安装docker-compose:pipinstalldocker-compose二、docker部署CTF-web环境(如需搭建ct
- CTF-web 常用软件安装及环境搭建
_潜心_
CTF网络安全web安全phppythonjava
前言工欲善其事,必先利其器搭建web学习环境:Typora、phpStudy、python、SublimeText、AntSword、JDK1.8、BurpSuite此次安装是在虚拟机下的Windows10x64操作系统下进行。Typora简介官方网站:https://www.typora.io/Typora是一款支持实时预览的Markdown文本编辑器。Markdown是一种纯文本格式的标记语言
- 经典ctf ping题目详解 青少年CTF-WEB-PingMe02
白猫a٩
CTF做题笔记前端服务器运维web安全安全网络安全linux
题目环境:根据题目名称可知这是一道CTF-WEB方向常考的知识点:ping地址随便ping一个地址查看接受的数据包?ip=0.0.0.0有回显数据,尝试列出目录文件堆叠命令使用’;'作为命令之间的连接符,当上一个命令完成后,继续执行下一个命令使用堆叠命令列出此目录下的文件?ip=0.0.0.0;lsls是Linux系统里面的列出目录文件的命令索性ls没有被过滤查看隐藏文件?ip=0.0.0.0;l
- i春秋-CTF-web文件上传
Sombra_Olivia
I春秋CTF训练营web安全
前言本来吧,悄悄摸鱼,想整点啥打发时间,看视频太明显,于是做做题,眉头紧锁,仔细思考,装作工作很难的样子。这回选择web类型的题目,主要是好久没做了,手有点生,找个简单的文件上传练练。打开题目环境发现:好像是没有什么特别的。但是往下翻看却是别有洞天。众所周知,php是后端语言,正常情况下前端是看不到的,也就是说,出题人还是很贴心的(虽然我觉得出题人没那么好心)。文件上传章节练习题.login-bo
- ctf-web
ch1762
ctf
ctf-web信息搜集认证绕过SQL注入文件上传文件包含PHP代码审计信息搜集源码泄露页面源代码敏感文件泄漏备份文件(.swp/.bak/.beifen/~/phps等)[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MGonEuLW-1604453612546)(https://i.loli.net/2020/11/02/kUboAxLhtRvD85z.png)]数
- ctf php文件上传图片格式,CTF-WEB:文件上传
燕仰
ctfphp文件上传图片格式
文件上传一句话木马利用文件上传漏洞往目标网站中上传一句话木马,然后就可以在本地获取和控制整个网站目录。利用一句话木马进行入侵时需要满足木马上传成功未被查杀,知道木马的路径在哪并保证上传的木马能正常运行。一个简单的PHP一句话木马如下:@表示后面即使执行错误也不报错,eval()函数表示括号内的语句字符串什么的全都当做代码执行,$_POST['flag']表示从页面中获得flag这个参数值。上传过滤
- CTF-WEB 文件上传绕过技巧
@NK
个人学习总结前端htmllinux运维
1、前端javascript绕过#删除或者禁用js#BurpSuite抓包修改文件类型与文件头等信息2、后端检测——后缀名检测#黑名单:html/htm/php/php2/php3/php4/php5/phtml/pwml/inc/asp/aspx/ascx/jsp/cfm/cfc/pl/bat/exe/com/dll/vbs/js/reg/cgi/htaccess/.user.ini/asis/
- ctf-web:关于文件上传漏洞的深入研究
薯片薯条
ctf-webphp
上次我们研究了关于文件上传的漏洞,这次我们研究的内容属于上节课的补充内容,大约是关于文件上传的绕过与防御.怎么说呢,算是一种锻炼吧.因为下个月有个awd的比赛,因此最近会经常发一些关于web的内容.其实我还是挺慌的,因为以前参加的都是ctf线上赛,而且我做的都是逆向这个方面的,然而这次突然来了个web,搞得我有点懵.web也是最近才开始研究的,所以写的可能不尽人意,希望各位大佬看看就好,不喜勿喷.
- CTF-web文件上传漏洞
彬彬有礼am_03
CTF基础
文件上传漏洞文件上传功能文件上传流程和上传攻击WebShell——网页木马文件以php语言创建一句木马:之间的gok为连接的木马将其放入phpstudy工具的网站根目录里,即网址为http://10.0.3.23/eval.php利用菜刀连接木马打开后,右键添加右键->文件管理,可以看到里面的信息还可以模拟端右键->数据库管理大马介绍一句话木马介绍一句话木马连接文件上传漏洞利用登录后,点击File
- CTF-Web(3)文件上传漏洞
Bug型程序员
网络安全网络协议web安全CTF
笔记目录CTF-Web(2)SQL注入CTF-Web(3)文件上传漏洞1.WebShell介绍(1)一句话木马定义一种网页后门,以asp、php、jsp等网页文件形式存在的一种命令执行环境,而一句话木马往往只有一行WebShell代码。作用:攻击获得网站控制权限查看、修改、删除网站数据通过提权漏洞可获得主机权限(2)一句话木马工作原理eval函数:把字符串按照PHP代码执行,该字符串必须是合法的P
- CTF-Web(2)SQL注入
Bug型程序员
sql数据库网络安全安全web安全CTF系统安全
笔记目录CTF-Web(2)SQL注入CTF-Web(3)文件上传漏洞1.注入介绍(1)原理①SQL注入如何注入Webshell1.目标存在sql注入漏洞,且已经获取目标的绝对路径2.并且通过探测发现目标能够进行数据的导入和导出操作,即secure_file_priv为空3.当前数据库是最高权限(即dba权限)4.利用Intooutfile()(写入文件的函数),向指定路径写入一句话木马5.web
- 利用GitHub、docker部署CTF-web题目复现
白衣w
CTF之WebKali
前言前面写了kalilinux的docker安装以及在docker上部署搭建sqli-labs靶场,这篇文章简单介绍利用GitHub和docker简单搭建CTF-web题目进行复现学习记录环境准备这里有一个非常好的,实用的网站https://github.com/CTFTraining/CTFTraining里面包含了很多web题目,利用docker-compose搭建准备docker-compo
- CTF网络安全题目个人导航【持续更新】
Hillain
CTF-WEB安全RCE反序列化伪协议XXE网络安全SQL注入
CTF-WEB导航WEBSQLRCE反序列化文件上传SSTIXXE综合WEBSQL[SWPUCTF2021新生赛]sql-联合注入[SWPUCTF2021新生赛]easy_sql-联合注入||报错注入||sqlmap[NSSRound#1Basic]sql_by_sql-二次注入+布尔盲注||sqlmap[NISACTF2022]join-us-报错注入&无列名注入[NISACTF20
- 《CTFshow-Web入门》04. Web 31~40
镜坛主
phplinux网络
Web入门索引web31题解原理web32题解原理web33题解web34题解web35题解web36题解web37题解原理web38题解原理web39题解web40题解原理ctf-web入门索引web31:eval()利用与正则绕过。web32:eval()利用与正则绕过。web33:eval()利用与正则绕过,PHP伪协议。web34:eval()利用与正则绕过,PHP伪协议。web35:ev
- 《CTFshow-Web入门》10. Web 91~110
镜坛主
前端android安全
Web入门索引web91题解总结web92题解总结web93题解web94题解web95题解web96题解web97题解web98题解web99题解总结web100题解web101题解web102题解web103题解web104题解web105题解总结web106题解web107题解web108题解web109题解web110题解ctf-web入门索引web91:PHP特性之preg_match(
- Java序列化进阶篇
g21121
java序列化
1.transient
类一旦实现了Serializable 接口即被声明为可序列化,然而某些情况下并不是所有的属性都需要序列化,想要人为的去阻止这些属性被序列化,就需要用到transient 关键字。
- escape()、encodeURI()、encodeURIComponent()区别详解
aigo
JavaScriptWeb
原文:http://blog.sina.com.cn/s/blog_4586764e0101khi0.html
JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:,decodeURI,decodeURIComponent 。
下面简单介绍一下它们的区别
1 escape()函
- ArcgisEngine实现对地图的放大、缩小和平移
Cb123456
添加矢量数据对地图的放大、缩小和平移Engine
ArcgisEngine实现对地图的放大、缩小和平移:
个人觉得是平移,不过网上的都是漫游,通俗的说就是把一个地图对象从一边拉到另一边而已。就看人说话吧.
具体实现:
一、引入命名空间
using ESRI.ArcGIS.Geometry;
using ESRI.ArcGIS.Controls;
二、代码实现.
- Java集合框架概述
天子之骄
Java集合框架概述
集合框架
集合框架可以理解为一个容器,该容器主要指映射(map)、集合(set)、数组(array)和列表(list)等抽象数据结构。
从本质上来说,Java集合框架的主要组成是用来操作对象的接口。不同接口描述不同的数据类型。
简单介绍:
Collection接口是最基本的接口,它定义了List和Set,List又定义了LinkLi
- 旗正4.0页面跳转传值问题
何必如此
javajsp
跳转和成功提示
a) 成功字段非空forward
成功字段非空forward,不会弹出成功字段,为jsp转发,页面能超链接传值,传输变量时需要拼接。接拼接方式list.jsp?test="+strweightUnit+"或list.jsp?test="+weightUnit+&qu
- 全网唯一:移动互联网服务器端开发课程
cocos2d-x小菜
web开发移动开发移动端开发移动互联程序员
移动互联网时代来了! App市场爆发式增长为Web开发程序员带来新一轮机遇,近两年新增创业者,几乎全部选择了移动互联网项目!传统互联网企业中超过98%的门户网站已经或者正在从单一的网站入口转向PC、手机、Pad、智能电视等多端全平台兼容体系。据统计,AppStore中超过85%的App项目都选择了PHP作为后端程
- Log4J通用配置|注意问题 笔记
7454103
DAOapachetomcatlog4jWeb
关于日志的等级 那些去 百度就知道了!
这几天 要搭个新框架 配置了 日志 记下来 !做个备忘!
#这里定义能显示到的最低级别,若定义到INFO级别,则看不到DEBUG级别的信息了~!
log4j.rootLogger=INFO,allLog
# DAO层 log记录到dao.log 控制台 和 总日志文件
log4j.logger.DAO=INFO,dao,C
- SQLServer TCP/IP 连接失败问题 ---SQL Server Configuration Manager
darkranger
sqlcwindowsSQL ServerXP
当你安装完之后,连接数据库的时候可能会发现你的TCP/IP 没有启动..
发现需要启动客户端协议 : TCP/IP
需要打开 SQL Server Configuration Manager...
却发现无法打开 SQL Server Configuration Manager..??
解决方法: C:\WINDOWS\system32目录搜索framedyn.
- [置顶] 做有中国特色的程序员
aijuans
程序员
从出版业说起 网络作品排到靠前的,都不会太难看,一般人不爱看某部作品也是因为不喜欢这个类型,而此人也不会全不喜欢这些网络作品。究其原因,是因为网络作品都是让人先白看的,看的好了才出了头。而纸质作品就不一定了,排行榜靠前的,有好作品,也有垃圾。 许多大牛都是写了博客,后来出了书。这些书也都不次,可能有人让为不好,是因为技术书不像小说,小说在读故事,技术书是在学知识或温习知识,有些技术书读得可
- document.domain 跨域问题
avords
document
document.domain用来得到当前网页的域名。比如在地址栏里输入:javascript:alert(document.domain); //www.315ta.com我们也可以给document.domain属性赋值,不过是有限制的,你只能赋成当前的域名或者基础域名。比如:javascript:alert(document.domain = "315ta.com");
- 关于管理软件的一些思考
houxinyou
管理
工作好多看年了,一直在做管理软件,不知道是我最开始做的时候产生了一些惯性的思维,还是现在接触的管理软件水平有所下降.换过好多年公司,越来越感觉现在的管理软件做的越来越乱.
在我看来,管理软件不论是以前的结构化编程,还是现在的面向对象编程,不管是CS模式,还是BS模式.模块的划分是很重要的.当然,模块的划分有很多种方式.我只是以我自己的划分方式来说一下.
做为管理软件,就像现在讲究MVC这
- NoSQL数据库之Redis数据库管理(String类型和hash类型)
bijian1013
redis数据库NoSQL
一.Redis的数据类型
1.String类型及操作
String是最简单的类型,一个key对应一个value,string类型是二进制安全的。Redis的string可以包含任何数据,比如jpg图片或者序列化的对象。
Set方法:设置key对应的值为string类型的value
- Tomcat 一些技巧
征客丶
javatomcatdos
以下操作都是在windows 环境下
一、Tomcat 启动时配置 JAVA_HOME
在 tomcat 安装目录,bin 文件夹下的 catalina.bat 或 setclasspath.bat 中添加
set JAVA_HOME=JAVA 安装目录
set JRE_HOME=JAVA 安装目录/jre
即可;
二、查看Tomcat 版本
在 tomcat 安装目
- 【Spark七十二】Spark的日志配置
bit1129
spark
在测试Spark Streaming时,大量的日志显示到控制台,影响了Spark Streaming程序代码的输出结果的查看(代码中通过println将输出打印到控制台上),可以通过修改Spark的日志配置的方式,不让Spark Streaming把它的日志显示在console
在Spark的conf目录下,把log4j.properties.template修改为log4j.p
- Haskell版冒泡排序
bookjovi
冒泡排序haskell
面试的时候问的比较多的算法题要么是binary search,要么是冒泡排序,真的不想用写C写冒泡排序了,贴上个Haskell版的,思维简单,代码简单,下次谁要是再要我用C写冒泡排序,直接上个haskell版的,让他自己去理解吧。
sort [] = []
sort [x] = [x]
sort (x:x1:xs)
| x>x1 = x1:so
- java 路径 配置文件读取
bro_feng
java
这几天做一个项目,关于路径做如下笔记,有需要供参考。
取工程内的文件,一般都要用相对路径,这个自然不用多说。
在src统计目录建配置文件目录res,在res中放入配置文件。
读取文件使用方式:
1. MyTest.class.getResourceAsStream("/res/xx.properties")
2. properties.load(MyTest.
- 读《研磨设计模式》-代码笔记-简单工厂模式
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
package design.pattern;
/*
* 个人理解:简单工厂模式就是IOC;
* 客户端要用到某一对象,本来是由客户创建的,现在改成由工厂创建,客户直接取就好了
*/
interface IProduct {
- SVN与JIRA的关联
chenyu19891124
SVN
SVN与JIRA的关联一直都没能装成功,今天凝聚心思花了一天时间整合好了。下面是自己整理的步骤:
一、搭建好SVN环境,尤其是要把SVN的服务注册成系统服务
二、装好JIRA,自己用是jira-4.3.4破解版
三、下载SVN与JIRA的插件并解压,然后拷贝插件包下lib包里的三个jar,放到Atlassian\JIRA 4.3.4\atlassian-jira\WEB-INF\lib下,再
- JWFDv0.96 最新设计思路
comsci
数据结构算法工作企业应用公告
随着工作流技术的发展,工作流产品的应用范围也不断的在扩展,开始进入了像金融行业(我已经看到国有四大商业银行的工作流产品招标公告了),实时生产控制和其它比较重要的工程领域,而
- vi 保存复制内容格式粘贴
daizj
vi粘贴复制保存原格式不变形
vi是linux中非常好用的文本编辑工具,功能强大无比,但对于复制带有缩进格式的内容时,粘贴的时候内容错位很严重,不会按照复制时的格式排版,vi能不能在粘贴时,按复制进的格式进行粘贴呢? 答案是肯定的,vi有一个很强大的命令可以实现此功能 。
在命令模式输入:set paste,则进入paste模式,这样再进行粘贴时
- shell脚本运行时报错误:/bin/bash^M: bad interpreter 的解决办法
dongwei_6688
shell脚本
出现原因:windows上写的脚本,直接拷贝到linux系统上运行由于格式不兼容导致
解决办法:
1. 比如文件名为myshell.sh,vim myshell.sh
2. 执行vim中的命令 : set ff?查看文件格式,如果显示fileformat=dos,证明文件格式有问题
3. 执行vim中的命令 :set fileformat=unix 将文件格式改过来就可以了,然后:w
- 高一上学期难记忆单词
dcj3sjt126com
wordenglish
honest 诚实的;正直的
argue 争论
classical 古典的
hammer 锤子
share 分享;共有
sorrow 悲哀;悲痛
adventure 冒险
error 错误;差错
closet 壁橱;储藏室
pronounce 发音;宣告
repeat 重做;重复
majority 大多数;大半
native 本国的,本地的,本国
- hibernate查询返回DTO对象,DTO封装了多个pojo对象的属性
frankco
POJOhibernate查询DTO
DTO-数据传输对象;pojo-最纯粹的java对象与数据库中的表一一对应。
简单讲:DTO起到业务数据的传递作用,pojo则与持久层数据库打交道。
有时候我们需要查询返回DTO对象,因为DTO
- Partition List
hcx2013
partition
Given a linked list and a value x, partition it such that all nodes less than x come before nodes greater than or equal to x.
You should preserve the original relative order of th
- Spring MVC测试框架详解——客户端测试
jinnianshilongnian
上一篇《Spring MVC测试框架详解——服务端测试》已经介绍了服务端测试,接下来再看看如果测试Rest客户端,对于客户端测试以前经常使用的方法是启动一个内嵌的jetty/tomcat容器,然后发送真实的请求到相应的控制器;这种方式的缺点就是速度慢;自Spring 3.2开始提供了对RestTemplate的模拟服务器测试方式,也就是说使用RestTemplate测试时无须启动服务器,而是模拟一
- 关于推荐个人观点
liyonghui160com
推荐系统关于推荐个人观点
回想起来,我也做推荐了3年多了,最近公司做了调整招聘了很多算法工程师,以为需要多么高大上的算法才能搭建起来的,从实践中走过来,我只想说【不是这样的】
第一次接触推荐系统是在四年前入职的时候,那时候,机器学习和大数据都是没有的概念,什么大数据处理开源软件根本不存在,我们用多台计算机web程序记录用户行为,用.net的w
- 不间断旋转的动画
pangyulei
动画
CABasicAnimation* rotationAnimation;
rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
rotationAnimation.toValue = [NSNumber numberWithFloat: M
- 自定义annotation
sha1064616837
javaenumannotationreflect
对象有的属性在页面上可编辑,有的属性在页面只可读,以前都是我们在页面上写死的,时间一久有时候会混乱,此处通过自定义annotation在类属性中定义。越来越发现Java的Annotation真心很强大,可以帮我们省去很多代码,让代码看上去简洁。
下面这个例子 主要用到了
1.自定义annotation:@interface,以及几个配合着自定义注解使用的几个注解
2.简单的反射
3.枚举
- Spring 源码
up2pu
spring
1.Spring源代码
https://github.com/SpringSource/spring-framework/branches/3.2.x
注:兼容svn检出
2.运行脚本
import-into-eclipse.bat
注:需要设置JAVA_HOME为jdk 1.7
build.gradle
compileJava {
sourceCompatibilit
- 利用word分词来计算文本相似度
yangshangchuan
wordword分词文本相似度余弦相似度简单共有词
word分词提供了多种文本相似度计算方式:
方式一:余弦相似度,通过计算两个向量的夹角余弦值来评估他们的相似度
实现类:org.apdplat.word.analysis.CosineTextSimilarity
用法如下:
String text1 = "我爱购物";
String text2 = "我爱读书";
String text3 =