`
zh_harry
  • 浏览: 102520 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
877aca81-daac-33c8-8bf9-3a886cebc6c3
自己动手写java 框架
浏览量:28429
社区版块
存档分类
最新评论
文章列表
零基础暖心计划课程内容 https://sparrowzoo.feishu.cn/drive/folder/fldcnq4HSou8VzzxaV5j0R97TWg 原型 https://mastergo.com/file/72419140498526?page_id=46%3A74 事件风暴 https://miro.com/app/board/uXjVOrN6CTc=/?share_link_id=989415167402启动sparrow-passport1. clone sparrow-bomhttps://github.com/sparrowzoo/ ...
  麻雀虽小,但五脏俱全 sparrow 源自中国俗语 麻雀虽小,但五脏俱全,全力打造一个全新的低耦合,0依赖的高性能java基础框架。 有没有发现我们的工程代码其实很臃肿? 有没有发现我们依赖了很多没有用的jar包? 有没有发现在项目中因为jar 冲突而折腾很久? 有没有想过我只依赖jdk 就实现一个WEB工程? 有没有发现其实我们只需要一小块功能,而需要引入一个大框架? 有没有发现其实有些功能非常简单,而被框架限制了? 有没有发现其实有些功能原理不复杂,而框架实现很庞杂?因为不相信程序员! 有没有发现相似的框架提供的业务功能是一致的?但对外的接口是不同的?想不想统一 ...
sparraw 框架js 版开源上线 www.sparrowzoo.net   功能包括菜单 进一步继续完善中。。。 简单动画效果   以上菜单可以在线预览   对话框功能     日期选择控件,仿windows 7日期选择效果    markdown 及代码高度效果    
SPARROW-JS 前端JS框架变幻莫测,但原生js 接口不会变,所以以不变应万变,需要对前端js的原生api熟练掌握。为减少学习成本,将sparrow js 开放,支持大部分网站开发常用组件,代码简洁,无冗余。 功能列表 STRING 方法 ARRAY 方法 AJAX BROWSER 浏览器相关支持 VALIATE 前端验证框架 Toolip 提示 MENU菜单支持 JQUERY常用功能支持 简单动画效果 相关demo展示
接上一篇 Sparrow算法篇 从日期取交集到思维模式 这样的时间段有成百上千条该如何处理? 如果我们需要根据具有日期交集的时间段分组呢? 如果我们的业务不是日期,而是其他数据类型呢?如何抽象出计算模型?非日期型数据也可以进行分组? 上一篇分享日期取交集的核心逻辑。 但映射到具体业务上可能有更复杂的场景,比如第一个问题,两个日期取交集还好搞好,但日期段很多的情况下,如何按每一个时间段相同的数据进行分组呢。  
动机 markdown 已成为网络博客最主要的排版格式。但一般都是有现成的软件支持,比如有道云笔记。但要想将markdown 功能集成到自己的博客或者公司的oa 上,需要一款开源的轻量的markdown解析程序,从github 找了一些开源项目相对都比较重,二次开发成本较大,所以笔者在春节期间开发了一款轻量级的markdown解析程序,符合oop开发原则,最大化复用和解耦。方便二次开发集成。 功能 标题支持 H1 H2 H3 H4 H5 H6 水平线支持 HORIZONTAL_LINE 引用支持 QUOTE TAB 引用 复选框支持 CHECK_BOX 源代码支持CODE ...
日期交集 早在13年左右的时侯,做过一个系统,功能很简单,做一个日程管理功能,这里边涉及到一个小知识点,就是日期取交集。今天跟大家分享的是从这个点展开的,时间段取交集的话题。 业务逻辑 逻辑很简单,就是一两个日期段取交集,可如果按正常思维去实现,其实日期交集的场景我们可以穷举出来,大概有4种情况 s1--------------e1 s2-----------------e2 s1--------------e1 s2-----------e2 s1----------
SPARROW-MVC SPARROW-MVC 是SPARROW框架其中的一员,模拟SPRING MVC功能实现。 目前实现功能列表 参数自动化注入 FLASH参数跨页面传递(包括中传页面和重定向页面) RESTFUL风格支持 参数解析功能 返回结果解析 URL-METHOD映射 URL REWRITE功能(自动原生支持) 拦截器支持 国际化支持 JSON返回支持(原生支持) 异常统一结构化规范支持 HTML服务器控件支持 包括grid view功能 其它功能 以上是目前SPARROW MVC实现的大部分功能 其他未涉及功能希望各位小伙伴可以多提意见,SPR ...
接上一篇 [REDIS客户端封装意淫](https://www.jianshu.com/p/03132e0d50e2)   对现在有接口,进一步重构。     进一步对客户端友好封装,对数据类型的转换,封装进框架内。 增加CacheDataNotFound hook,并保留原有异常抛出接口,提供客户端灵活调用。 对key的business 部分提供灵活扩展接口,为特定业务的监控提供扩展。 接口不只依赖redis,理论上可以对redis 的不同接口进行实现,包括jedis sharded jedis jedisson以及其他异构缓存系统。 将接口按类型进行拆分,避免类过于 ...
redis 本身有客户端,先抛出来一个问题?为什么要对redis客户端进行二次封装? 大概在11年时侯,第一次接触redis,那时侯研究过redis的各种数据结构,直接拿redis的客户端jedis直接用。公司安排人要对jedis进行封装,当时就很不理解,为什么非要封装一次才可以? 后来自己写框架,意识到一些东西是需要封装的,比如连接的打开和释放,比如一些危险的方法,比如keys * 比如flushdb 等 后来形成了这样的代码结构 T execute(Executor executor, KEY key)throws CacheConnectionException { Sha ...
sparrow 框架设计最大化解耦,理论上业务层只依赖SPARROW-FACADE即可,接口可由第三方如spring c3p0 fastjson logback 具体实现。 整体架构图如下: SPARROW 架构图    SPARROW-FACADE 基础核心层,实现了一些框架和上层业务涉及到的一些工具类类,如图   工具类库    包括bean properties 反射(非JDK反射)读写,class 集合类,日期,email ,文件 ,正则等常用工具类.核心功能,后文将一一介绍。 sparrow-cg sparrow code generator 并不是简单 ...
sparrow 框架 麻雀虽小,但五脏俱全 为什么要写这个框架? 这个框架我从11年开始写,中间重构了n遍,最原始的代码可能都找不到了,之所以坚持写,不是想新造轮子。 主要是从中学习基础原理。 经过近十年的打磨,有些设计思想和理念,是值得学习的,比如spring mvc 的设计模式,orm ico 等等。 虽然很多朋友们都了解,但要真正自己实现起来也并不是那么容易。而这个过程对原来的深入理解是很帮助,所以将这部分开源出来,供有同样需求的朋友参考,大家一起进步,成长。   框架的设计哲学和概要 软件设计6大原则,这里推荐几本书,martin flower 的重构, 敏捷软件开发 ...
tomcat 启动时使用的是java.util.logger 日志框架 tomcat 实现类 package org.apache.juli.logging; import java.util.logging.ConsoleHandler; import java.util.logging.Formatter; import java.util.logging.Handler; import java.util.logging.Level; import java.util.logging.Logger; /** * Hardcoded java.util.loggi ...
 程序异常会中断程序执行,所有所有的异常都需要捕获,否则会导致程序中断,一般异常由服务提供者捕出,由服务调用者捕获。这里借用think in java  的服务器程序员与客户端程序员概念。   为什么使用异常 1 返回的类型不支持,通过异常返回给用户。例如 boolean login(username,password) 2 可以显示的提示客户端程序员进行捕获异常并做出处理 存在问题:性能问题 解决办法: 覆写fillInStackTrace http://www.blogjava.net/stone2083/archive/2010/07/09/325649.html   ...
打开Java的JAR文件我们经常可以看到文件中包含着一个META-INF目录, 这个目录下会有一些文件,其中必有一个MANIFEST.MF,这个文件描述了该Jar文件的很多信息,下面将详细介绍MANIFEST.MF文件的内 容,先来看struts.jar中包含的MANIFEST.MF文件内容: Manifest-Version: 1.0Created-By: Apache Ant 1.5.1Extension-Name: Struts FrameworkSpecification-Title: Struts FrameworkSpecification-Vendor: Apache Soft ...
Global site tag (gtag.js) - Google Analytics