- 博客(40)
- 资源 (1)
- 收藏
- 关注
原创 2018 学习计划 -》基础
上一次想起写博客还是2014年底 ,校内参与了一个JavaWeb的小项目 ,算是真正学习写一个完整的程序/网站 ,后来也因此用上了Java .在项目中了解的SSH(struts2/Spring/Hibernate)也帮助我获得了JavaWeb的实习工作 .实习时候开发是全栈式的 ,以Java后端为主 ,JS/Html绘制简单的页面 .因为框架封装的比较严实 ,所以前
2016-12-27 11:18:26
447
转载 MongoDB自增序列实现 - Java多线程同步 synchronized 用法
转 : 简书 - MongoDB自增序列实现 - Java多线程同步 synchronized 用法在使用MongoDB的时候 (基于spring-mongo) ,我想在插入对象时获取有序自增的主键 ,但是MongoDB的默认规则是生成一串无序 (大致有序) 的字串 .而Spring Data提供的主键生成方法也是随机的 String/BigInteger. 因为分布式情况下 ,有序I
2018-01-11 18:21:59
915
原创 Maven+TravisCI持续集成和Coveralls测试覆盖率检测
之前挖了不少开源项目的坑 ,准备慢慢填起来 .第一步当然从项目管理开始 ,把之前的maven项目弄得更加规整.Maven还是延续之前的parent-pom/child-jar的结构 * parent中只留配置 : dependencies/plugins 都替换成 management节点 * 补充scm/issue等节点信息 ,供其他工具集成 * 增加source/javadoc等plugi
2018-01-04 18:48:52
2189
1
原创 数据分析 起步 (一) MongoDB+Hadoop
上个月看到一个学长在做斗鱼弹幕分析的开源项目 ,正好之前的计划已经完成了大半 ,所以决定借此机会学习一波爬虫和数据分析. 后面学长忙其他事去了 ,我也就开了一个新坑 ,从抓取分析B站的数据开始 :)项目地址:bilibili-analysis-data准备爬虫说到爬虫 ,就会想到Python ,边学边写我就直接上手了 .因为之前有接触过scala ,最近工作中也会写很多js (前端还很菜) ,所以语
2017-09-28 15:07:25
1730
原创 Spring AOP造成的@Controller注册失败
昨天在重构项目时 ,调整了原有Controller的路径 ,并抽取了部分方法形成AbstractController ,所有业务模块的Controller都继承它 .然后启动发现几乎所有移动过的Controller都失效了
2017-09-15 15:42:42
1382
原创 依赖注入 - 如何使用反射和注解实现简单的依赖注入
Spring Bean 应该是Spring被使用最多的功能 ,通过注解/xml配置 ,可以简化大量的依赖代码 ,同时也提高了效率 .在试用了Guice和阅读了部分Spring BeanFactory的源码后 ,也了解了一部分依赖注入的原理 ,自己写了一个小框架来印证一下.依赖注入依赖注入 ,也就是所依赖的对象不由自己处理 ,而是由外部系统去分配 .就像排队取餐时 ,不是每个人自己去盛菜 ,而是告诉服
2017-06-29 18:19:33
1875
原创 最近计划
上一次更新已经是2个多月前了 ,因为工作原因研究的东西有所变动.Spring Boot的书后面大致浏览了一下,主要还是Spring原有的技术很重要 ,boot只是配置简化看了部分Spring的源码 spring3-source-learning ,对常用的模块原理进行了了解(DI/AOP)上手 java8-tutorial 和 google-guava-sample ,函数式编程和流式操作减少
2017-06-28 18:08:15
327
原创 SpringBoot学习-第四章 SpringMVC基础-<Spring Boot 实战>
SpringMvc 快速搭建依赖 : 这里直接使用SpringBoot的快速搭建<!-- 包含常用的web/mvc等依赖 --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency>
2017-04-11 18:00:25
2644
原创 Google Guice - 轻量级 DI 依赖注入框架
Guice简单使用 示例代码 Anddd7/Demo-Guice 参考了 博客 - Google Guice 系列教程 和 Github - greengerong/guice-demoGuice是一个DI (依赖注入) 框架 ,和Spring的依赖注入基本相同轻量级 ,启动迅速使用比较简单但是只有依赖注入的功能 ,如果是企业级的程序 ,需要整合其他资源 ,Spring的生态
2017-03-09 16:28:57
1995
原创 Jekyll+GitHub搭建个人博客 - 不限流/免费/静态网站
参考了其他前辈的博客 ,搭建的过程并不算难 (调整自己喜欢的风格太难了) .虽然是静态网站 ,但是可以嵌入第三方API ,也是可以作为一个简单的博客网使用的 .熟悉前端的话 ,这一个静态网站也能玩的很高科技 (学习中) . 效果 : 阿东的GitPage源码 : Anddd7/Anddd7.github.io 参考自 renyuanz/leonidsJekyll - 静态网页模板Jekyll ,
2017-03-07 17:23:33
625
原创 SpringBoot学习-第三章 Spring高级应用-<Spring Boot 实战>
Spring Aware通常@Component标识的Bean由容器所管理,但它自身是不能和容器交互的(解耦),你只能通过@Autowired引入并使用。而Aware接口为Bean提供了与容器交互的能力。BeanNameAware:获取容器中Bean的名称BeanFactoryAware:获取当前Bean的Factory,从而调用容器的服务MessagerSourceAware:获取文本信息
2017-02-27 14:47:03
4474
原创 SpringBoot学习-第二章 常用配置方式-<Spring Boot 实战>
Bean的Scope -demo.springboot.scopeSingleton:一个Spring容器只有一个,默认选项Prototype:每次调用创建一个新的BeanRequst:给每个requst创建一个新的BeanSession:给每个session创建一个新的Bean@Service@Scope("prototype")public class DemoPrototypeS
2017-02-14 17:38:37
768
原创 SpringBoot学习-第一章 新的Spring基础-<Spring Boot 实战>
Spring Boot学习,熟悉注解和Java式的配置。Spring配置方式配置文件xml(Spring 1.x) 》》 注解@annotation(Spring 2.x+Jdk1.5)》》Java配置(Spring 3/4)SpringBoot就是基于Java配置(注解的应用)Spring组件核心组件(Core) -Core:核心工具类,Spring其他模块的主要依赖-Bean:对
2017-02-14 17:33:36
864
原创 Maven-详解pom.xml内容及用法
最近使用SpringBoot,Maven也使用的越来越多,有这个时间刚好研究了下pom.xml文件的东西,真的是又多又杂。综合各位大神的解读,做了一些整理,剔除了一些不常用的,在需要的时候再去设置,尽量去繁就简,配置简单化。模板引入<?xml version="1.0" encoding="UTF-8"?><!-- pom的模板文件,包含内容节点的定义 --><project xmlns="ht
2017-02-10 15:46:41
3138
1
原创 SpringBoot + MyBatis 重构 Web 应用
前言 项目构建的时候是截取了另一个项目的部分功能形成的,截取出的功能代码少但项目结构比较复杂,依赖严重 。改写过后,不少代码成了”鸡肋”,搞不清楚谁是谁 。 web/controller在一块,dao/domain独占一方 ; junit在6个pom。xml中出现了4次,版本还不一样 ; spring/mybatis的配置文件也有好几个,里面的xml代码也是长而杂 。
2017-02-09 17:29:44
3370
原创 单点登录SSO(Single Sign On)
单点登录是一次登录 ,可以访问多个应用 .在复杂的软件体系中 ,减少登录的操作时间 .Cookie登陆后 ,将登录成功的凭证(账号密码/Ticket/Token)放在Cookie(公共域名或者父域名下) .登录其他应用的时候带上这个Cookie ,其他应用只需要校验Cookie里的信息就可以判断是否登录 .缺点 : 不能跨域(硬伤)/Cookie不安全(加密md5验证)Cookie通过域名区分 ,
2017-02-06 11:01:18
846
原创 Scala学习整理[总结篇]<Programming In Scala>
第二课细读ScalaSecondWIthProgrammingInScala结合之前的学习和感想 ,顺序细读一遍Scala的书 ,整理为了方便查看和管理代码 ,书中包含的脚本/Scala解释器部分我都用mian函数去测试 ,方便记录当然Scala的解释器和脚本运行方式也是要去尝试一下的 ,也是很特别的任务完成利用这段空闲时间阅读完了Programming In Scala中文版的书 ,对Sc
2017-01-22 14:40:40
1654
原创 Scala学习整理[第三十二章 GUI编程]<Programming In Scala>
第三十二章 GUI编程package SecondWithProgrammingInScalaimport java.io.Fileimport scala.swing.{TextField, _}import scala.swing.event.{ButtonClicked, EditDone}/** * GUI 编程 * 大致的使用和实际效果和JavaSwing没啥区别 * 之前使
2017-01-20 20:57:59
416
原创 Scala学习整理[第三十一章 连接符解析]<Programming In Scala>
第三十一章 连接符解析(Parser工具)package SecondWithProgrammingInScalaimport scala.util.parsing.combinator.{JavaTokenParsers, RegexParsers}/** * 连接符解析 * * scala提供了一个连接符解释器 ,可以借助他实现一个编译器 ,编译解释你自己的文法 * [上下文无关
2017-01-20 15:44:08
882
原创 Scala学习整理[第三十章 Actor和并发]<Programming In Scala>
第三十章 Actor和并发package SecondWithProgrammingInScala/** * Actor和并发 * * Java采用同步 synchronized ,锁的机制能有效的控制共享数据的操作 ,但是也带来一些死锁和效率上的问题 ,非常依赖程序猿的经验 * Scala提供了一套模型 :actor ,不共享数据 ,依赖消息传递 (scala原生的actor已替换
2017-01-19 15:16:09
303
原创 Scala学习整理[第二十七-二十九章 模块化编程和Java]<Programming In Scala>
第二十七章 模块化编程package SecondWithProgrammingInScala.Chapter27import SecondWithProgrammingInScala.Chapter27.SimpleDatabase.FoodCategory/** * 适用对象的模块化编程 * * 即对程序合理的分层和组织 ,将功能划分为一个个模块 ,使之易于修改和替换 ,而对其他模块
2017-01-19 15:14:10
559
原创 Scala学习整理[第二十四-二十六章 抽取器和XML]<Programming In Scala>
第二十四章 抽取器package SecondWithProgrammingInScala/** * 抽取器 * * 抽取器可以在匹配的同时进行分解 ,可以直接抽出里面的值 * 相当与 is是非语句 + get方法 * 通常配合模式匹配使用 ,在之前章节中匹配并获取数组值 Array(x,y)=> x+y ,也是抽取器 * * 之前的模式匹配和样本类 ,标注了case的样
2017-01-16 15:01:09
391
原创 Scala学习整理[第二十二-二十三章 List和For循环]<Programming In Scala>
第二十二章 List的实现/** * List的实现 * 默认List -> scala.collection.immutable.List * * 本章解析了List的源码 ,在源码的内部使用了var while 循环 ,而非全部的val 递归 * 因为循环的效率是大于等于递归的 * scala的"函数化"编程其实是 '通过合理的封装,使得开发流程是函数化的' ,这样会使
2017-01-13 17:05:53
410
原创 Scala学习整理[第二十-二十一章 抽象成员和隐式转换]<Programming In Scala>
第二十章 抽象成员package SecondWithProgrammingInScala/** * 抽象成员 * 不完全定义的类或者特质 ,包含val,var,def方法,type类型 */trait Abstract { //类型成员 : 简化类型参数 ,方便定义 type T def transform(x: T): T //表示确定的不会变化的值 val ini
2017-01-13 15:44:59
282
原创 Scala学习整理[第十九章 泛型和约束系统]<Programming In Scala>
第十九章 泛型和约束系统 这章是scala的重点和难点 ,建议多找一点资料和范例理解 ,scala很多库函数都使用了这种语法 ,了解后才能更好的阅读源码 .package SecondWithProgrammingInScalaimport java.util.Comparator/** * scala的泛型和约束[类型系统] * 书上的例子比较散 ,所以参考了其他资料来了解scala
2017-01-13 15:41:05
368
原创 Scala学习整理[第十七-十八章 集合和有状态对象]<Programming In Scala>
这两章内容之前有所提到 ,因此不再赘述package SecondWithProgrammingInScalaimport scala.collection.mutableimport scala.collection.mutable.Stackimport scala.collection.mutable.{ArrayBuffer, ListBuffer}/** * 集合库 * m
2017-01-10 18:09:19
261
原创 Scala学习整理[第十六章 List应用与排序算法]<Programming In Scala>
package SecondWithProgrammingInScalaimport scala.collection.mutable/** * 之前被scala的书写方式吸引 ,想要以scala的方式去写排序方法 * 但在实际操作中 ,遇到一些困难 * 主要在于一些排序方法需要使用"交换"这种操作 ,很显然会违背scala使用变量的条件 * 而一些排序是以 一步一步 为基础 ,无法
2017-01-10 18:07:29
376
原创 Scala学习整理[第十五章 样本类和模式匹配]<Programming In Scala>
第十五章 样本类和模式匹配 使用模式匹配的语法 ,去简化scala中的一些操作方法 样本类是配合模式匹配 ,可以形成完整的/多元化的匹配规则 使用自己的理解完成了书中的例子 ,主要是为了熟悉递归/val等函数化的思想/** * 样本类case class和模式匹配pattern matching * [实验楼专题课程](https://www.shiyanlou.com
2017-01-05 16:56:29
336
原创 Scala学习整理[第十四章 测试]<Programming In Scala>
第十四章 断言和单元测试 Scala自身具有断言assert和ensuring语句 ,还可以引入Junit进行测试(JVM语言 完美融合) 同时还有ScalaTest(需要自己下载)工具包 ,提供了更多更详尽的测试方法 ,这里只是简单的应用package SecondWithProgrammingInScala/** * 断言和单元测试 * 基本的使用方法 */obje
2017-01-04 17:12:33
309
原创 Scala学习整理[第十一-十三章 类型/特质和其应用/包]<Programming In Scala>
第十一章 类型结构Any公共基类 ,定义了基本的equals(==/!=的实现)/##(hashCode)/toString等方法AnyVal所有内建类型的父类 ,Byte,Short,Char,Int,Long,Float,Double,Boolean(对应JAVA基本类型),Unit(void) 类型间使用隐式转换 ,用implicit声明一个转换函数并import到目标点 ,遇到类型不匹
2017-01-04 16:15:30
363
原创 Scala学习整理[第十章 继承重载应用]<Programming In Scala>
第十章 组合与继承 本章用图形库的例子 ,展示scala的组合/继承能力 ,以及如何重载成员函数 ,如何利用多态等 .package SecondWithProgrammingInScalaimport scala.collection.mutable.ArrayBuffer/** * 隐含 * import java.lang._ //everything in the java
2017-01-04 15:43:02
306
原创 Scala学习整理[第七-九章 函数化编程的函数]<Programming In Scala>
第七章 内建控制结构 使用scala的语法糖和特性 ,改善代码结构 ,更少的var变量 /更简单的循环 /更多的嵌套筛选函数 .//可以自定义包结构 ,还可以在同一文件中定义多个包package SecondWithProgrammingInScala.Chapter7 { class ControlStructure(x: Int, y: Int) { var temp = x
2017-01-04 10:58:04
369
原创 如何看待代码中滥用HashMap?-知乎问题读后感和相关研究
昨天在知乎上看到了一个问题如何看待代码中滥用HashMap? .日常工程中使用HashMap确实挺多的 ,简单方便快捷(至少感觉上是这样) ,但越是简单好用的东西 ,底层封装的越复杂 .跟进去看了一下 ,朱文彬老师进行了比较直观的对比实验 ,我也查阅了其他的资料 ,最后把这个实验扒下来运行了 .资料 HashMap的原理研究1.HashMap的结构 ,数组Col[对应HashCode] + 链表Ro
2017-01-03 17:10:22
2564
原创 Scala学习整理[第四-六章 使用Scala运行类/对象]<Programming In Scala>
第四章 类和对象 scala中将类/对象做了区分 - 类就是纯粹的类 ,也就是封装完整的”对象” ,他的方法应该是面向对象的 ,而不会出现静态的属性和方法(静态是公用的/全局的) - 对象则代表原来的单例对象 ,里面的属性和方法都是静态的(类似于java的static) - 使用class需要通过 new 实例化 - 使用object则可以直接调用(静态代码段/静态方法)
2016-12-29 15:33:26
437
原创 Scala学习整理[第三章 入门Ⅱ]<Programming In Scala>
第三章 工具类/集合类package SecondWithProgrammingInScala.Chapter3import java.io.{File, PrintWriter}import scala.collection.mutable.ListBuffer/** * 使用类型参数化数组Array * 使用new实例化对象(class类) ,实例化时可以用值和类型使其参数化 * 定
2016-12-29 14:16:03
459
原创 Scala学习整理[第二章 入门Ⅰ]<Programming In Scala>
package SecondWithProgrammingInScala.Chapter2/** * 使用scala解释器 类似于脚本编程 * 定义的变量和函数会暂存在解释器中(就像解释器是一个大的object 写的代码会实时编译到里面) * 使用函数会将返回值显示在下一行 * $ scala */object Part1 {}/** * 变量定义 * va
2016-12-28 19:55:22
429
原创 Scala学习整理[第一章 可伸缩的语言]<Programming In Scala>
##回顾之前通过实验楼的课程已经对scala语言有了初步的了解 ,做了一些运算/重载/函数式编程的小Demo .但是不少细节还是模糊的 ,刚好看到 **Programming In Scala** 这本书 ,是scala作者写的指导书 .原版实在是有难度 ,所以决定先看中文 .##开展计划就是跟着书的章节进行学习 ,结合之前的思考 ,细化理解 .为了方便书写运行代码(多写才是硬道理) ,所以就直接在Intel
2016-12-28 19:54:09
473
转载 简单语法分析器
词法分析1、 待分析的简单语言的词法(1) 关键字:(所有关键字都是小写。)begin if then while do end(2) 运算符和界符::= + – * / > >= = ; ( ) #(3) 其他单词是标识符(ID)和整型常数(NUM),通过以下正规式定义:ID=letter(let
2014-12-24 00:21:11
2897
原创 项目子模块设计分析
项目子模块设计说明1) 需求分析组长:1.老师给出项目主题后,在已有小组的条件下,组长可以在某一项目主题下新建项目和关闭已有项目2.项目建立后组长可以发布一个或多个任务,指派人员完成某一个或多个任务,标记任务指派状态(未指派、负责人某某)3.组长可以对具体任务完成情况进行评价,评价结果发送到教师处。 组员:1.组员可以选择一个或多个未指派任务,并在规定时间内完成任务
2014-12-22 21:28:44
1419
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅