【我们一起写框架】MVVM的WPF框架(三)—数据控件

这世上,没人能一次性写出完美无缺的框架;因为,任何一个框架都需要项目的淬炼,然后才能升华,趋近完美。 所以,框架是个反复修改的东西,最终形成的东西。 如果你学了一点技术,觉得自己可以写出框架了,觉得自己有架构师的能力,然而自己总是怀才不遇——那一定是你的错觉。 因为,你框架没有经过项目淬炼;而淬炼过 ... »

02 基于umi搭建React快速开发框架(国际化)

前言 之前写过一篇关于 "React的国际化" 文章,主要是用react intl库,雅虎开源的。react intl是用高阶组件包装一层来做国际化。 基于组件化会有一些问题,比如在一些工具方法中需要国际化,就需要自己去实现了。在umi react快速开发框架我们采用 "react intl uni ... »

Web后台快速开发框架

Web后台快速开发框架 Coldairarrow 目录 目录 第1章 目录 1 第2章 简介 3 第3章 基础准备 4 3.1 开发环境要求 4 3.2 基础数据库构建 4 3.3 运行 5 第4章 详细教程 6 4.1 代码架构 6 4.1.1总体架构 6 4.1.2基础设施层 7 4.1.3数据 ... »

MyBatis 源码分析系列文章合集

1.简介 我从七月份开始阅读MyBatis源码,并在随后的40天内陆续更新了7篇文章。起初,我只是打算通过博客的形式进行分享。但在写作的过程中,发现要分析的代码太多,以至于文章篇幅特别大。在这7篇文章中,有4篇文章字数超过了1万,最长的一篇文章约有2.7万字(含代码)。考虑到超长文章对读者不太友好, ... »

【我们一起写框架】MVVM的WPF框架之绑定(二)

MVVM的特点之一是实现数据同步,即,前台页面修改了数据,后台的数据会同步更新。 上一篇我们已经一起编写了框架的基础结构,并且实现了ViewModel反向控制Xaml窗体。 那么现在就要开始实现数据同步了。 DataContext—数据上下文 在实现数据同步前,我们要了解一个知识点——DataCon ... »

【我们一起写框架】MVVM的WPF框架之序篇(一)

前言 我想,有一部分程序员应该是在二三线城市的,虽然不知道占比,但想来应该不在少数。 我是这部分人群中的一份子。 我们这群人,面对的客户,大多是国内中小企业,或者政府的小部门。这类客户的特点是,资金有限,人力有限。 什么意思呢?就是你如果敢给他安一台Linux服务器,客户的信息员和测试员会把你堵在墙 ... »

MyBatis 源码分析 - 插件机制

1.简介 一般情况下,开源框架都会提供插件或其他形式的拓展点,供开发者自行拓展。这样的好处是显而易见的,一是增加了框架的灵活性。二是开发者可以结合实际需求,对框架进行拓展,使其能够更好的工作。以 MyBatis 为例,我们可基于 MyBatis 插件机制实现分页、分表,监控等功能。由于插件和业务无关 ... »

C#语法——反射,架构师的入门基础。

前言 编程其实就是写代码,而写代码目的就是实现业务,所以,语法和框架也是为了实现业务而存在的。因此,不管多么高大上的目标,实质上都是业务。 所以,我认为不要把写代码上升到科学的高度。上升到艺术就可以了,因为艺术本身也没有高度。。。。 软件设计存在过度设计,语法和框架的理解,也存在过度理解。比如,反编 ... »

MyBatis 源码分析 - 缓存原理

1.简介 在 Web 应用中,缓存是必不可少的组件。通常我们都会用 Redis 或 memcached 等缓存中间件,拦截大量奔向数据库的请求,减轻数据库压力。作为一个重要的组件,MyBatis 自然也在内部提供了相应的支持。通过在框架层面增加缓存功能,可减轻数据库的压力,同时又可以提升查询速度,可 ... »

MyBatis 源码分析 - 内置数据源

1.简介 本篇文章将向大家介绍 MyBatis 内置数据源的实现逻辑。搞懂这些数据源的实现,可使大家对数据源有更深入的认识。同时在配置这些数据源时,也会更清楚每种属性的意义和用途。因此,如果大家想知其然,也知其所以然。那么接下来就让我们一起去探索 MyBatis 内置数据源的源码吧。 MyBatis ... »

MyBatis 源码分析 - SQL 的执行过程

本文速览 本篇文章较为详细的介绍了 MyBatis 执行 SQL 的过程。该过程本身比较复杂,牵涉到的技术点比较多。包括但不限于 Mapper 接口代理类的生成、接口方法的解析、SQL 语句的解析、运行时参数的绑定、查询结果自动映射、延迟加载等。本文对所列举的技术点,以及部分未列举的技术点都做了较为 ... »

tornado(六)

tornado的输出 1.write(数据) 将数据输出到缓冲区,他能将字典类型自动转换为字符串 2.set_header(键名,值) 手动设置响应头字段 3.set_default_headers() 设置默认响应头方法,可在视图类中重写,通过使用set_header()设置默认响应头。 4.se ... »

tornado(五)

tornado的输入 查询字符串(query string),形如key1=value1&key2=value2; 请求体(body)中发送的数据,比如表单数据、json、xml; 提取uri的特定部分,如/blogs/2016/09/0001,可以在服务器端的路由中用正则表达式截取; 在http报 ... »

MyBatis 源码分析 - 映射文件解析过程

1.简介 在上一篇文章中,我详细分析了 MyBatis 配置文件的解析过程。由于上一篇文章的篇幅比较大,加之映射文件解析过程也比较复杂的原因。所以我将映射文件解析过程的分析内容从上一篇文章中抽取出来,独立成文,于是就有了本篇文章。在本篇文章中,我将分析映射文件中出现的一些及节点,比如 ,,, ... »

python+Django框架运用(四)

Django后台管理 基本配置 默认登录地址:http://127.0.0.1:8000/admin 创建后台管理员: python3 ./manage.py createsuperuser # 回车后输入以下内容 Username:输入用户名 Email Address:电子邮箱 Password ... »

MyBatis 源码分析 - 配置文件解析过程

本文速览 由于本篇文章篇幅比较大,所以这里拿出一节对本文进行快速概括。本篇文章对 MyBatis 配置文件中常用配置的解析过程进行了较为详细的介绍和分析,包括但不限于 ,`typeAliases typeHandlers`等,本文的篇幅也主要在对这三个配置解析过程的分析上。下面,我们来一起看一下本篇 ... »

python+Django框架运用(三)

Django模型 模式指的是根据数据库中数据表的结构来创建出来的class,每一张表到Python中就是一个 class,表中的每一个列,到Python中就是class的一个属性。 在模型中可以完成对数据库的增删改查操作 创建和使用模型 --ORM(对象关系映射) 三大特征: 1、数据表到类的映射 ... »

MyBatis 源码分析系列文章导读

1.本文速览 本篇文章是我为接下来的 MyBatis 源码分析系列文章写的一个导读文章。本篇文章从 MyBatis 是什么(what),为什么要使用(why),以及如何使用(how)等三个角度进行了说明和演示。由于文章的篇幅比较大,这里特地拿出一章用于介绍本文的结构和内容。那下面我们来看一下本文的章 ... »