- 博客(104)
- 资源 (5)
- 收藏
- 关注
原创 Spring Security 用户名密码登录源码解析
简介本文主要讲解SpringSecurity中账号密码登录部分的源码解析,其基本流程如下图所示。用户请求首先会进入到UsernamePasswordAuthenticationFilter中,此时的Authentication是未认证的。接着通过ProviderManager找到匹配的Provider,此处找到是DaoAuthenticationProvider,接着去校验相关相关逻辑。User...
2020-03-28 18:05:23 1191
原创 基于Spring JDBC的通用查询组件
基于Spring JDBC的通用查询组件源码详情见Github简介该项目是基于Spring JDBC的通用综合查询组件,使用builder模式加入处理的Process。该组件能够有效复用重复代码,提高团队开发效率使用说明首先得在Service层实现一个Service并且继承抽象类GeneralQueryService然后实现抽象方法initConditionSearch,该方法主要用于...
2020-03-25 17:33:51 359
原创 推荐算法综述
推荐算法综述 摘 要: 近年来,互联网信息指数级增长,推荐能够帮助用户发现感兴趣的物品,目前被广泛应用于电子商务、搜索引擎、视频音乐网站、社交网络等。本篇综述将介绍目前主流的推荐方法如基于内容的推荐、协同过滤推荐、基于知识的推荐、基于网络结构的推荐、混合推荐等。除此之外本综述还将介绍深度学习在推荐中的一些应用。并且分析这些算法各自的优缺
2017-11-02 13:36:23 43946 1
原创 Spring的事件发布/订阅机制在电商的使用
}} }} }// 发送订单确认邮件给用户 String userEmail = event . getUserEmail();// 实际的邮件发送逻辑... } }// 发送订单确认邮件给用户 String userEmail = event . getUserEmail();// 实际的邮件发送逻辑... } }
2024-01-13 14:58:34 496
原创 适配器模式
在适配器模式中,客户端通过调用Target接口中的方法来访问适配器,适配器再调用Adaptee中的方法来完成客户端的请求,从而实现了客户端与Adaptee之间的适配。需要注意的是,在适配器模式中,Target接口可以是一个抽象类或一个接口,Adapter类是一个具体类,而Adaptee类既可以是具体类,也可以是抽象类。Adapter(适配器类):将原始接口转换成目标接口,它实现了目标接口,并持有原始接口的引用,负责将客户端的请求转换成对原始接口的调用。
2023-03-03 21:00:00 698
原创 装饰器模式
当我们编写软件时,有时我们会遇到需要在不修改现有代码的情况下添加新功能的情况。这时,我们可以使用装饰器模式。装饰器模式是一种结构性设计模式,它允许我们在不改变对象接口的情况下动态地向对象添加功能。装饰器模式通过创建一个包装对象来实现这一目的。这个包装对象具有与原始对象相同的接口,但可以通过添加或覆盖方法来扩展或修改其行为。在运行时动态地向对象添加新功能,而不会影响其他对象。在不改变现有代码的情况下添加新功能。以层次结构方式组合对象以获得更大的灵活性。
2023-03-03 20:30:00 927
原创 享元模式应用
这样,如果多个地方需要使用相同的按钮对象,就可以直接从 buttonPool 中获取,从而实现了共享对象的效果。我们创建了三个按钮对象,其中 button1 和 button3 都是标签为 “Ok” 的按钮,因此它们实际上是同一个对象,而 button2 是标签为 “Cancel” 的按钮,因此它和 button1、button3 不是同一个对象。享元模式(Flyweight Pattern)是一种结构型设计模式,它的主要目的是在内存中共享尽可能多的对象,以减少内存的占用和提高程序的性能。
2023-03-03 16:57:36 226
原创 组合模式-文件目录管理
组合模式是一种结构型设计模式,它允许你将对象组合成树形结构来表现"部分-整体"的层次结构。组合模式使得客户端可以统一地对待单个对象和对象组合,从而使得系统更加灵活。在组合模式中,有两种基本类型的对象:叶子对象和容器对象。叶子对象表示树形结构中的叶子节点,它们不再包含任何子节点。容器对象表示树形结构中的分支节点,它们可以包含叶子对象和容器对象。在组合模式中,所有对象都实现同一个接口,客户端可以通过该接口来操作对象,而不需要知道具体是叶子对象还是容器对象。
2023-03-03 11:43:43 371
原创 Java基础知识
这里写目录标题一.Java概述1.何为编程2.什么是Java3.jdk1.5之后的三大版本4.JVM、JRE和JDK的关系5.什么是跨平台性?原理是什么6.Java语言有哪些特点7.什么是字节码?采用字节码的最大好处是什么8.什么是Java程序的主类?应用程序和小程序的主类有何不同?9.Java应用程序与小程序之间有那些差别?10.Java和C++的区别11.Oracle JDK 和 OpenJD...
2020-04-17 18:32:24 586 1
原创 String相关分析
1.String 是如何实现的?它有哪些重要的方法?在JDK1.8中,String内部实际存储结构为cahr数组有多个构造函数,无参构造函数,有参构造函数(char[]数组, StringBuilder,StringBuffer)equals方法,主要用来比较两个字符串是否相等,可以传递Object参数,首先会通过instanceof方法判断是否为String类型。最后通过比较每...
2020-04-14 12:00:28 1222
原创 Spring Security 记住我功能源码解析
Spring Security 记住我功能源码解析简介登录流程AbstractAuthenticationProcessingFilterPersistentTokenBasedRememberMeServices再次访问RememberMeAuthenticationFilterAbstractRememberMeServicesPersistentTokenBasedRememberMeSer...
2020-03-30 20:57:29 229
原创 Logistic Regression
Logistic RegressionLogistic回归是两类问题的首选线性分类算法。它易于实现,易于理解,并且可以在各种各样的问题上获得很好的结果,即使这些方法对您的数据的期望受到侵犯也是如此。在本教程中,您将了解如何使用Python从头开始随机梯度下降实现逻辑回归。完成本教程后,您将了解:如何使用逻辑回归模型进行预测。如何使用随机梯度下降估计系数。如何将逻辑回归应用于实际预测问...
2019-03-13 21:25:13 790
原创 朴素贝叶斯算法实现(预测糖尿病)
关于朴素贝叶斯算法在本教程中,您将学习Naive Bayes算法,包括它的工作原理以及如何在Python中从头开始实现它。朴素贝叶斯算法是一种直观的方法,它使用属于每个类的每个属性的概率来进行预测。 如果您想要概率性地建模预测建模问题,那么您将提出监督学习方法。朴素贝叶斯通过假设属于给定类值的每个属性的概率独立于所有其他属性来简化概率的计算。 这是一个强有力的假设,但会产生一种快速有效的方法...
2019-03-12 17:29:02 9128 4
原创 HashMap
一、HashMapHash:散列将一个任意的长度通过某种(hash函数算法)算法转换成一个固定的值Map:键值对存储总结:通过Hash出来的值,通过值定位到这个map,然后value存储这个map中1.Key可以为空,Null2.相同的key重复put,后一个会覆盖前一个3.HashMap什么时候做扩容?当进行put操作,并且达到0.75阈值时,扩容都是2的 倍数去扩容。4.Hash...
2018-10-23 22:33:38 132
原创 Spring Boot 入门
一、Spring Boot 入门1、Spring Boot 简介简化Spring应用开发的一个框架;整个Spring技术栈的一个大整合;J2EE开发的一站式解决方案;2、微服务2014,martin fowler微服务:架构风格(服务微化)一个应用应该是一组小型服务;可以通过HTTP的方式进行互通;单体应用:ALL IN ONE微服务:每一个功能元素最终都是...
2018-04-07 14:40:29 374
原创 AngularJs避免污染全局空间的使用技巧
AngularJs避免污染全局空间的使用技巧1.避免使用$scope因为使用$scope后,变量都是在全局空间,在一个大项目中多人协作可能出现命名重叠,那么就会出现意想不到的错误,而且很难调试。2.将定义的模块放到函数里将定义的模块或者controller放到(function(){})里面。然后再调用该函数本身,那么这个controller只在局部有效,并不会污染全局...
2018-03-27 18:44:37 484
原创 JDBC访问数据库
JDBC访问数据库1.概述JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序2.JDBC优缺点优势是简单、快捷、移植性、框架可以...
2018-03-21 10:55:26 361 1
原创 项目 1: 预测波士顿房价
Machine Learning Engineer NanodegreeModel Evaluation & ValidationProject 1: Predicting Boston Housing PricesWelcome to the first project of the Machine Learning Engineer Nanodegree! In this
2018-01-08 15:14:21 2597
原创 Web of Science爬虫实战(Post方法)
Web of Science爬虫实战(Post方法)一.概述本次爬虫主要通过论文的标题来检索出该论文,从而爬取该论文的被引量,近180天下载量以及全部下载量。这里使用的是Web of Scienece 核心合集,并且使用python的requests 库中post方法进行爬取,此外为了加快爬取速度2.0版本采取了多线程的技术二.网站及爬取策略分析首先点击http://apps.we
2017-12-17 20:11:36 24349 26
原创 Web of Science爬虫实战(模拟浏览器)
Webof Science爬虫实战(模拟浏览器)一.概述本次爬虫主要通过论文的入藏号来检索出该论文,从而爬取该论文的被引量,近180天下载量以及全部下载量。这里使用的是Web of Scienece 核心合集,并且使用python的selenium库进行模拟浏览器的操做二.网站及爬取策略分析首先点击http://apps.webofknowledge.com/UA_GeneralS
2017-12-17 19:37:57 12494 1
原创 全国大学分布热力图
全国大学分布热力图1.数据准备 第一步得有全国大学经纬度信息,本来打算自己爬取,后来找到网上有人已经打包好的全国大学经纬度信息,但是由于它是腾讯坐标(用的是火星坐标GCJ_02),而我们现在要调用的是百度地图的api,其用的是百度坐标。下面稍微解释一下几种坐标的差别。 地球坐标 (WGS84) 国际标准,从 GPS 设备中取出的数据的坐标系 国际地图提供商使用的坐标系
2017-12-06 20:54:45 7045 1
原创 股票数据定向爬虫
实例3:股票数据定向爬虫(1) 目标:获取上交所和深交所所有股票的名称和交易信息新浪股票:http://finance.sina.com.cn/stock/百度股票:https://gupiao.baidu.com/stock/选取原则:股票信息静态存在于HTML页面中,非js代码生成没有Robots协议限制选取方法:浏览器 F12,源代码查看等选取心态:不要纠结于某
2017-11-14 13:12:53 3164 10
原创 淘宝商品价格定向爬虫
淘宝商品价格定向爬虫(1) 目标:获取淘宝搜索页面的信息,提取其中的商品名称和价格要实现淘宝的搜索接口,翻页的处理。主要采用了Requests,bs4库,re库(2)程序的结构设计:步骤1:提交商品搜索请求,循环获取页面 getHTMLText() def getHTMLText(url): try: r = reque
2017-11-14 12:45:33 4388 1
原创 中国大学排名定向爬虫(实例1)
中国大学排名定向爬虫:(1) 爬取网址:http://www.zuihaodaxue.cn/zuihaodaxuepaiming2016.html(2) 程序的结构设计:步骤1:从网络上获取大学排名网页内容 getHTMLText() def getHTMLText(url): try: r = requests.get(url,
2017-11-13 18:43:33 1782
原创 爬虫入门
爬虫入门1. 概述本文首先介绍Requests库如何自动爬取HTML页面以及如何自动网络请求提交,随后将会讲解如何阅读网络爬虫排除标准。获取了网页之后用BeautifulSoup库解析HTML页面,然后讲解正则表达式,以及如何用正则表达式提取网页关键信息。当然会有很多实战内容如下:• 京东商品页面的爬取• 亚马逊商品页面的爬取• 百度/360搜索关键字提交• 网络图片的
2017-11-13 17:19:12 10101 4
原创 Python爬虫实战
智立方爬虫实战1. 概述智立方是一个展示科研人员用户画像的一个平台,本次爬虫任务即是爬取某一科研人员相关的科研人员的人名,相关作品数供职机构等信息以及该科研人员的资助情况中的项目名称以及相关作品数。最后对该科研人员的项目进行分类,并且分别统计分析得出每一个科研人员的国家级,省级,市级等项目数。2. 爬取网站介绍智立方人物检索页:http://buidea.com:9
2017-11-13 11:37:53 793
转载 MapReduce初级案例
MapReduce初级案例1、数据去重 "数据去重"主要是为了掌握和利用并行化思想来对数据进行有意义的筛选。统计大数据集上的数据种类个数、从网站日志中计算访问地等这些看似庞杂的任务都会涉及数据去重。下面就进入这个实例的MapReduce程序设计。1.1 实例描述 对数据文件中的数据进行去重。数据文件中的每行都是一个数据。 样例输入如下所示:
2017-11-05 12:21:04 407
转载 使用Eclipse编译运行MapReduce程序
使用Eclipse编译运行MapReduce程序_Hadoop2.6.0_Ubuntu/CentOS 给力星 2014年10月11日 (updated: 2016年7月22日) 18010本教程介绍的是如何在 Ubuntu/CentOS 中使用 Eclipse 来开发 MapReduce 程序,在 Hadoop 2.6.0 下验证通过。虽然我们可以使用命令行编译打包运行自己的Map
2017-11-05 10:04:41 1364 1
原创 MapReduce编程案例——数据去重
MapReduce编程案例——数据去重描述:在原始数据中出现次数超过一次的数据在输出文件中只出现一次方法:哪个不能重复哪个设置成Key原始数据:file1:2012-3-1 a2012-3-2 b2012-3-3 c2012-3-4 d2012-3-5 a2012-3-6 b2012-3-7 c2012-3-3 c file2:20
2017-11-02 15:35:44 972
原创 MapReduce编程案例——气象分析
MapReduce编程案例——气象分析描述:·通过采集的气象数据分析每年的最高温度·初始数据:0067011990999991950051507004888888889999999N9+00001+99999999999999999999990067011990999991950051512004888888889999999N9+00221+999999999999999
2017-11-02 13:22:05 1826
原创 MapReduce学习笔记
MapReduce学习笔记一.MapReduce模型简介1. MapReduce采用“分而治之”策略,一个存储在分布式文件系统中的大规模数据集,会被切分成许多独立的分片(split),这些分片可以被多个Map任务并行处理2. MapReduce设计的一个理念就是“计算向数据靠拢”,而不是“数据向计算靠拢”,因为,移动数据需要大量的网络传输开销3. MapReduc
2017-10-31 19:03:08 1608
原创 城堡游戏
城堡游戏游戏描述:1.这个程序的任务是通过玩家的输入的方向(纯文字)在虚构的城堡内移动(以纯文字作为移动后的返回结果)。2.这个程序接受help、bye、go south、go north、go west、go east六种命令,要求命令单独一行输入并在结束时敲回车,另外如果接受go xxx的不合规信息会输出不存在这样的房间。3.help提供帮助信息,bye结束游戏
2017-10-27 15:20:53 770
原创 查找里程
查找里程题目内容: 下图为国内主要城市之间的公路里程: 你的程序要读入这样的一张表,然后,根据输入的两个城市的名称,给出这两个城市之间的里程。注意:任何两个城市之间的里程都已经给出,不需要计算经第三地中转。 注意:你并不需要去录入上图的数据,数据是在程序输入中给的。输入格式: 首先,你会读到若干个城市的名字。每个名字都只是一个英文单词,中间不含空格或其
2017-10-26 15:03:35 2318
原创 有秒计时的数字时钟
有秒计时的数字时钟我们需要给时钟程序加上一个表示秒的Display,然后为Clock增加以下public的成员函数:public Clock(int hour, int minute, int second); 用hour, minute和second初始化时间。public void tick(); “嘀嗒”一下,时间走1秒
2017-10-26 10:18:26 3867
原创 分数
分数题目内容:设计一个表示分数的类Fraction。这个类用两个int类型的变量分别表示分子和分母。这个类的构造函数是:Fraction(int a, int b) 构造一个a/b的分数。这个类要提供以下的功能:double toDouble(); 将分数转换为double
2017-10-25 11:03:07 506
原创 1006. 换个格式输出整数 (15)
1006. 换个格式输出整数 (15)时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue让我们用字母B来表示“百”、字母S表示“十”,用“12...n”来表示个位数字n(输入格式:
2017-10-22 16:34:46 204
原创 写出这个数 (20)
1002. 写出这个数 (20)时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。输入格式:每个测试输入包含1个
2017-10-22 15:59:18 319
原创 tic-tac-toe游戏
tic-tac-toe游戏游戏描述:读入一个3X3的矩阵,矩阵中的数字为1 表示该位置上有一个X,为0表示为O。程序判断这个矩阵中是否有获胜的一方,输出表示获胜一方的字符X或O,或输出无人 获胜。import java.util.Scanner;public class Game { public static void main(
2017-10-22 13:59:05 6953 3
原创 两种方法创建素数表
两种方法创建素数表用Java实现素数表的创建:第一种:判断是否能被已知的且import java.util.Scanner;public class PrimeTable { public static void main(String[] args) { // TODO Auto-generated method stub Scanner in =new Sc
2017-10-22 11:23:48 886
原创 求第n个素数
求第n个素数用Java求第你个素数import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner in =new Scanner(System.in); int m = in.nextInt(); int count=0; i
2017-10-22 10:33:01 1074
预测波士顿房价
2018-01-08
全国大学经纬度(百度z坐标)
2017-12-06
castle.zip
2017-10-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人