框架

技术感悟

我们两清 提交于 2020-02-06 07:01:03
架构这玩意,是最看不清摸不着的,他深入了你的潜意识,只有当你一切从头开始,或者一切都自己做的时候,你才能意识到。 为什么会出现泛型方法呢?因为在c#中有很多的数据类型,如果你把函数的参数设置为int型,那么函数就只能接受int型数据(顶多再接受点long int,short int),如果一个函数实现的是要比较参数大小,那就只能接受int型数据了,但如果有了泛型方法,你自己定义的很多类就都能使用这个函数了,这样就扩大了使用面。在c语言中使用##运算符可以达到类似的效果。 看c的代码的时候,你看到一些c的用法,你就能猜测一些业务逻辑了。 推荐学习一下设计模式(以学习如何写出容易维护的代码为目的) 只知道四本经典啊《c程序设计语言》《c和指针》《c缺陷和陷阱》《C专家编程》 我以为我对键盘已经很熟练了,结果不是,真正的熟练应该像写字那样根本就不会想字怎么写的问题,而是直接就写内容就行了。但我使用键盘还没有达到这种境界,我还是会想下面要按哪个键,这样就降低了效率,这也是为什么有时我喜欢手写的原因,因为我手写更熟练。我必须使用键盘更加熟练。 没概念就是你连判断的标准都没有,就像我打牌,打三人斗地主,拿了一副好牌,却还担心别人有炸弹,其实只要留心自己的牌看看缺哪几个,然后再看别人打出来的牌,看哪些牌一直没出现过,就知道别人有没有炸弹了,可我打了这么多年牌竟然不知道。 Bruce Eckel

Spring介绍

梦想与她 提交于 2020-02-06 03:03:03
Spring介绍 Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。 在这篇由三部分组成的 Spring 系列 的第 1 部分中,我将介绍 Spring 框架。我先从框架底层模型的角度描述该框架的功能,然后将讨论两个最有趣的模块:Spring 面向方面编程(AOP)和控制反转 (IOC) 容器。接着将使用几个示例演示 IOC 容器在典型应用程序用例场景中的应用情况。这些示例还将成为本系列后面部分进行的展开式讨论的基础,在本文的后面部分,将介绍 Spring 框架通过 Spring AOP 实现 AOP 构造的方式。 Spring 框架 Spring 框架是一个分层架构,由 7 个定义良好的模块组成。Spring 模块构建在核心容器之上,核心容器定义了创建、配置和管理 bean 的方式,如图 1 所示。 图 1. Spring 框架的 7 个模块 组成 Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下: 核心容器 :核心容器提供 Spring 框架的基本功能。核心容器的主要组件是 BeanFactory ,它是工厂模式的实现。 BeanFactory 使用 控制反转 (IOC)

浅谈如何事半功倍的学习Struts框架

你。 提交于 2020-02-06 01:51:25
  在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,本文浅谈如何事半功倍的学习Struts框架,更多Java专业知识,广州疯狂java培训为你讲解;   由于Struts框架在全球的广泛使用,学习它的人也非常之多,但是大部分人花费了太多不必要的时间和精力在一些不太重要的地方,导致学习代价高昂,成效也不是很好。我这里根据多年培训经验的总结,精心设计了一套学习Struts框架的曲线,让大伙学习Struts框架既快且准,节省大伙宝贵的时间,一定会对各位学习者大有帮助。   大家知道,Struts是Apache 基金会Jakarta 项目组的一个开源项目,它采用MVC设计模式,是一个基于Sun J2EE平台的WEB表现层框架。这里有几个概念值得大家关注:开源,MVC,J2EE,WEB表现层,框架。我来逐一解释。   开源:不用多说,源代码可以让你一行一行仔细分析,深入了解其内部实现机制。   MVC:它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。MVC享有“全球第一设计模式”的美誉,是当前很流行的一种设计理念和思想,你要学好Struts,必要要让这种思想深入骨髓。   J2EE:J2EE是使用Java技术开发企业级应用的一种事实上的工业标准

我的框架——MyBean

◇◆丶佛笑我妖孽 提交于 2020-02-05 23:38:10
这几天闲的没事做,就手写了一个框架,名字叫做MyBean。 MyBean是一个仿Spring的轻量级框架,目前已经更新到1.0.3版本,有基于配置文件和注解两种方式的IOC(控制反转)和DI(依赖注入)功能,还有兼容Web开发的框架核心监听器和控制器。 该项目已托管至github平台,项目地址:https://github.com/HDimension/mybean 考虑到github是外网,网速较慢,我在百度网盘上也上传了框架包,除此之外,百度网盘上还有我录制的MyBean框架的讲解视频。 百度网盘链接如下: 链接:https://pan.baidu.com/s/114gpr7_xTY-TROa_B2Y9gw 提取码:pbmn 有兴趣的同学可以去看一看,以后有时间我还会继续更新这个框架。 来源: CSDN 作者: 忘川禾 链接: https://blog.csdn.net/qq_45193304/article/details/104188955

基于httpRunner 框架接口测试

不打扰是莪最后的温柔 提交于 2020-02-05 14:53:25
【简介】 HttpRunner是面向http/https协议的通用测试框架,集合了Request、unittest、Locust和一些常用的Python第三方库,只需要编写一份JSON/YAML脚本,即可实现自动化测试、持续集成、性能测试等需求。 【环境】   代理工具Fiddler或Charles   已配置python,且已安装httpRunner    【步骤】 构造har数据 将文件转化为hrun命令支持的json格式或yaml格式 通过“hrun xx.json"执行并生成测试报告   具体步骤:    构造har数据     简单的做法是抓取代理工具的数据包,保存为har格式;也可手动编写json格式的测试用例。以Charles保存数据包为例:     Charles抓取所需数据包,选择并执行右键--->Export Session,在文件类型中选择“HTTP Archive(.har)”,截图如下                文件格式转化     通过命令“har2case xxx.har”将har格式的文件转化为json(默认)格式的测试用例           通过hrun xx.json执行并保存结果           查看结果及详情     在cmd窗口即可查看单接口运行结果,从同级目录的reports目录下查看reports详情信息,样式如下:     

scrapy框架的概念和流程

混江龙づ霸主 提交于 2020-02-05 10:16:30
1.scrapy框架的概念: 文档地址: http://scrapy-chs.readthedocs.io/zh_CN/1.0/intro/overview.html Scrapy 使用了Twisted['twɪstɪd]异步网络框架,可以加快我们的下载速度。 Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,我们只需要实现少量的代码,就能够快速的抓取。 2.异步和非阻塞的区别 异步 :调用在发出之后,这个调用就直接返回,不管有无结果;异步是过程。 非阻塞 :关注的是程序在等待调用结果(消息,返回值)时的状态,指在不能立刻得到结果之前,该调用不会阻塞当前线程。 3.scrapy的工作流程 3.1 爬虫流程 3.2 上面的流程可以改写为 3.3 scrapy的流程 其流程可以描述如下: 调度器把requests–>引擎–>下载中间件—>下载器 下载器发送请求,获取响应---->下载中间件---->引擎—>爬虫中间件—>爬虫 爬虫提取url地址,组装成request对象---->爬虫中间件—>引擎—>调度器 爬虫提取数据—>引擎—>管道 管道进行数据的处理和保存 注意: 图中绿色线条的表示数据的传递 注意图中中间件的位置,决定了其作用 注意其中引擎的位置,所有的模块之前相互独立,只和引擎进行交互 3.4 scrapy中每个模块的具体作用 scrapy中每个模块的作用:

golang beego框架对运行异常的处理

六眼飞鱼酱① 提交于 2020-02-05 07:53:36
运行时异常 panic 在通常情况下,函数向其调用方报告错误的方式都是返回一个 error 类型的值。但是当遇到致命错误的时候,很可能会使程序无法继续运行。Go推荐通过调用 panic 函数来报告致命错误,它会停止当前控制流程,并引发一个运行时恐慌。例如: package main import "errors" func main() { outerFunc() } func outerFunc() { innerFunc() } func innerFunc() { panic(errors.New("an intended fatal error")) } 程序执行后的结果为: D:\gotest>go run main.go panic: an intended fatal error goroutine 1 [running]: main.innerFunc(...) D:/gotest/main.go:14 main.outerFunc(...) D:/gotest/main.go:10 main.main() D:/gotest/main.go:6 +0x77 exit status 2 当调用 innerFunc 函数中的 panic 函数后, innerFunc 的执行会被停止。紧接着,流程控制权会交给调用方 outerFunc 函数。然后, outerFunc

【超实用】面对枯燥的源码,如何才能坚持看下去?

一世执手 提交于 2020-02-05 05:20:07
一个软件开发人员,工作到了一定的年限(一般是3、4年左右),如果他还没学会阅读源码,那么他就会遇到瓶颈。因为到了这个时候的开发,他应该不仅仅只会做那些 CURD 的业务逻辑,而应该会根据公司的实际情况去写框架。而基本上没有谁能像天才一样从零写出一个框架,很多人写框架其实都是从模仿开始的。而你要模仿,那么你首先得看得懂框架源码才行。所以说阅读源码才显得那么重要。 我在工作一两年的时候有尝试去看过 JDK 的源码,那时候感觉就跟看天书一样,看一点都觉得痛苦。一直到工作三年左右,因为同事都在看源码,我也开始看一些源码。我看的第一个框架的源码是 dubbo,虽然说没有完全搞懂它。但是通过阅读 dubbo 源码,我弄懂了 JDK 的 SPI 机制,知道 SPI 在框架开发中的作用。一直到最近阅读公司的一个网关框架,我才慢慢有一点阅读源码的经验和套路。正好趁热打铁,把这些经验写下来,希望你们也能早日踏上源码阅读之路。 搜索网上资料 阅读一个框架的源码,最基础的操作肯定是扫一遍网上的各种分析文章。通过这个操作,你可以对这个框架有个大致的了解。站在巨人的肩膀上,少走许多弯路。但如果你看的项目是公司内部的框架,那么你只能找公司内部的文档了,更甚者,有些连文档都没有。那么你可以略过这一步。 扫一遍源码 当你拿到框架的源码的时候,你可以大致把源码的每个包,以及每个包下面的文件扫读一遍

Hibernate框架学习笔记

烈酒焚心 提交于 2020-02-05 02:03:51
Hibernate框架 Hibernate框架的概述 什么是框架 框架:指的是软件的半成品,已经完成了部分功能 EE的经典三层结构 Hibernate的概述 什么是Hibernate Hibernate:Hibernate是一个持久层的ORM框架 什么是ORM ORM:Object Relational Mapping(对象关系映射)。指的是将一个java中的对象与关系型数据库中的表建立一种映射关系,从而操作对象就可以操作数据库中的表。 为什么要学习Hibernate 与其它操作数据库的技术相比,Hibernate具有以下几点优势: Hibernate对JDBC访问数据库的代码做了轻量级封装,大大简化了数据访问层繁琐的重复性代码,并且减少了内存消耗,加快了运行效率 Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现,它很大程度的简化了DAO(Date Access Object,数据访问对象)层编码工作 Hibernate的性能非常好,映射的灵活性很出色。它支持很多关系型数据库,从一对多到多对多的各种复杂关系 可扩展性强,由于源代码的开源以及API的开放,当本身功能不够用时,可以自行编码进行扩展 Hibernate的入门 下载Hibernate的开发环境 Hibernate3.x Hibernate4.x Hibernate5.x https:/