大道至简

Thinking will not overcome fear but action will.

Scrapy太原理大学校园网信息爬取

Scrapy-太原理工大学教务处 在这之前我写过一篇关于用Java语言来实现的爬虫,但因为教务处的后台进行了升级,之前的接口没有办法再使用了,我也知道好多太理的学子日常是不喜欢挂vpn然后再用网页的形式去访问教务处,大家都通过了微信公众号或者微信小程序,app来查询成绩,看看课表。所以我打算对新的接口用Scrapy去爬数据,接下来我和大家分享下我在编写爬虫时遇到的坑,还有解决方案,无论是你...

Java模拟校园网登陆

Java爬虫登陆校园网 分享一次我的Java爬虫经历,在这一次爬虫过程中学到很多,拿出来和大家分享 阅读本文的前置学习条件: Java基本语法 Maven Http协议有一定的了解(尤其是POST GET请求) HTML的基本结构逻辑 浏览器的开发者工具 本文大概阅读时间 : 10 min ...

2019亚洲区域赛(南昌)网络赛

2019亚洲区域赛(南昌)网络赛 一场比赛下来发现自身水平远远不够 一共做了三道题 AC一道签到题(丢人了哈) 本篇文章分析一道关于字符串的题目,同时对比我和AC的代码,希望通过模仿来提升自己的算法水平 题意 定义了good :当串中包含9102子串并且不包含8102子串 截取串的一段,如果通过删除(0 or more)数字可以使串成为good则输...

算法设计与分析

算法 考试 总结

算法设计与分析 借着算法设计与分析这门课的考试临近,好好的翻了翻这本书,总结了一下基本的算法基础知识,还有几个基本的算法的基本内容,以及一些问题的实现算法,时间复杂度等信息。 算法之间有着异同点,掌握这些对理解算法有着很大的帮助。 算法设计与分析基础 算法概述 算法的定义: 算法是解题方案的准确而完整的描述,也就是解题的方法和步骤。 对算法一次给出精确的定义是很难的。算法是计算...

Servlet学习-1

Servlet学习-1 提前声明,学习servlet是为了javaweb开发当中,用户与数据交互做准备,本文大部分内容来自W3Cschool,本人只是拿来做学习笔记。 servlet是什么 Servlet(Server Applet),全称Java Servlet,未有中文译文。是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servle...

MyBatis学习-7

MyBatis插件

MyBatis学习-7 经过源码的讲解,我们都对四大对象有了了解,当我们四大对象在创建的时候。 每个创建的对象不是直接返回的,而是调用PluginAll 获取到所有的Interceptor(拦截器)就是插件需要实现的接口,调用interceptor.Plugin(target),返回target包装后的对象 插件机制,我们可以使用插件为目标对象创建一个代理对象,AOP(面向切面...

MyBatis学习-6

Spring运行原理

MyBatis学习-6 本节课来介绍一下MyBatis的工作原理 我们清楚运行原理,我们在以后的开发,还是插件都是很有必要的。 1.根据配置文件创建一个SqlSessionFactory 研究框架的源码(我也有点虚,一点一点来吧)首先我们回到当初的第一个测试中去看看: @Test public void test1() throws IOException{ //1....

MyBatis学习-5

一级缓存 二级缓存

MyBatis学习-5 本次学习我将为大家讲解一下MyBatis的缓存,它可以在我们实际开发使用时为我们节省很大的时间,类似JDBC的缓存池。 一级缓存 一级缓存,(本地缓存),sqlSession级别的缓存,一级缓存是一直开起的,与数据库同一次会话期间查询到的数据会放在本地缓存中。以后我们如果需要相同的数据,直接从缓存中拿,没必要去查询数据库; 下面我们通过使用一个sqlSession来获...

MyBatis学习-4

Dynamic SQL

MyBatis学习-4 if choose(when,otherwise) trim(where,set) foreach sql 上面这些就是我们的动态SQL语句了,他们能够非常方便的组合SQL语句,提高开发人员的效率。 1.if 我们可以再MyBatis的Mapper当中写SQL的时候通过if标签来判断是否在SQL语句中添加某个条件比如我们先写一个通过ID...

MyBatis学习-3

配置文件

MyBatus学习-3 再经过MyBatis的Helloworld程序学习,我们知道Mapper的配置文件就是MyBatis的核心,也是他的魅力所在,魔法之源,至尊奥义。 接下来我们先去补全我们的增删改查操作,在EmployeeMappper接口中添加剩下的三个方法: public boolean addEmp(Employee employee); public void ...