一.前言 框架代码其实也没那么难,大家不要看着源码就害怕,现在去看 Tomcat 3.0的代码,保证还是看得懂一半,照着撸一遍基本上很多问题都能搞定了.这次我们就模拟 Tomcat 中的 Digester(xml解析工具)来仿写一个相当简易的版本.上一篇说了如何利用 sax 模型来解析 xml,但是,该程序还有相当多的优化空间.这一篇,我们一起将程序进行一些优化.之前的版本有什么问题呢?请看: @Override public void startElement(String uri, Stri…
Angular 和 Vue 在对Angular的学习中,了解到AngularJS 的两个主要缺点: 对于每一次界面时间,Ajax 或者 timeout,都会进行一个脏检查,而每一次脏检查又会在内部循环检查,当界面绑定的model 很多,就会造成严重的性能问题 . Angular 混乱的模块,并不能起到命名空间的作用,因而在大项目中组织模块又是一件头疼的事. 但是 Angular 开发中小型的应用是很棒的,也是将 MVC 引入到前端的开始.定一个目标,两年时间理解 <Build Your Own…
背景 随着前端复杂度的不断提升,诞生出很多打包工具,比如最先的grunt,gulp.到后来的webpack和Parcel.但是目前很多脚手架工具,比如vue-cli已经帮我们集成了一些构建工具的使用.有的时候我们可能并不知道其内部的实现原理.其实了解这些工具的工作方式可以帮助我们更好理解和使用这些工具,也方便我们在项目开发中应用. 一些知识点 在我们开始造轮子前,我们需要对一些知识点做一些储备工作. 模块化知识 首先是模块的相关知识,主要的是 es6 modules 和 commonJS模块化的…
为什么需要持久层框架? 首先我们先看看使用原生jdbc存在的问题? public static void main(String[] args) { Connection connection = null; PreparedStatement preparedStatement = null; ResultSet resultSet = null; try { // 加载数据库驱动 Class.forName("com.mysql.jdbc.Driver"); // 通过驱动管理类获…
一.前言 我写博客主要靠自己实战,理论知识不是很强,要全面介绍Tomcat Digester,还是需要一定的理论功底.翻阅了一些介绍 Digester 的书籍.博客,发现不是很系统,最后发现还是官方文档最全面.这里我就把其全文翻译一遍吧,部分不好懂的地方会做些补充. 前面写了两篇 ,一篇是 sax 模型的,一篇是模仿着 Tomcat 的Digester 写的.大家可以先看看这两篇,而且很有必要照着文中的源码跑一下,源码都放在基友网站了. 曹工说Tomcat1:从XML解析说起   曹工说Tomc…
一.前言 一共8个类,撸一个IOC容器.当然,我们是很轻量级的,但能够满足基本需求.想想典型的 Spring 项目,是不是就是各种Service/DAO/Controller,大家互相注入,就组装成了我们的业务bean,然后再加上 Spring MVC,再往容器里一放,基本齐活. 我们这篇文章,就是要照着 spring 来撸一个 相当简单的 IOC 容器,这个容器可以完成以下功能: 1.在 xml 配置文件里配置 bean 的扫描路径,语法目前只支持 component-scan,但基本够用了:…
C#基于Mongo的官方驱动手撸一个简易版MongoDB-ORM框架 如题,在GitHub上找了一圈想找一个MongoDB的的ORM框架,未偿所愿,就去翻了翻官网(https://docs.mongodb.com/drivers/csharp/) 看了看文档发现官方的驱动功能已经相当强大了并且更新速度很快 2.3之后得驱动版本已经支持 .Net 5,而且方法都已支持Task ,可以配合async , await.使用 ,同时也支持Lambda表达式及表达式树 官方是这么说的(https://mo…
大家好,我是三友~~ 最近突然心血来潮(就是闲的)就想着撸一个简单的配置中心,顺便也照葫芦画瓢给整合到SpringCloud. 本文大纲 配置中心的概述 随着历史的车轮不断的前进,技术不断的进步,单体架构的系统都逐渐转向微服务架构.虽然微服务架构有诸多优点,但是随着越来越多的服务实例的数量,配置的不断增多,传统的配置文件方式不能再继续适用业务的发展,所以急需一种可以统一管理配置文件应用,在此之下配置中心就诞生了. 所以配置中心就是用来统一管理各种服务配置的一个组件,本质上就是一个web应用. 配…
手撸一个springsecurity,了解一下security原理 转载自:www.javaman.cn 手撸一个springsecurity,了解一下security原理 今天手撸一个简易版本的springsecurity,带大家理解下springsecurity的原理: 安全框架的两个特点就是认证和授权,让我们来通过代码了解下认证和授权的处理方式: 1.认证 认证就是指需要登录才能进行系统操作,如:登录qq.微信或者是web系统的登录都是认证的过程 1.1 工程目录 1.2 maven配置p…
本文由作者FreddyChen原创分享,为了更好的体现文章价值,引用时有少许改动,感谢原作者. 1.写在前面 一直想写一篇关于im即时通讯分享的文章,无奈工作太忙,很难抽出时间.今天终于从公司离职了,打算好好休息几天再重新找工作,趁时间空闲,决定静下心来写一篇文章,毕竟从前辈那里学到了很多东西. 工作了五年半,这三四年来一直在做社交相关的项目,有直播.即时通讯.短视频分享.社区论坛等产品,深知即时通讯技术在一个项目中的重要性,本着开源分享的精神,也趁这机会总结一下,所以写下了这篇文章. * 重要…