开发框架

什么是框架 架构 设计模式 比较 对比 区别

拈花ヽ惹草 提交于 2019-12-02 02:12:51
所有房子都有一个骨架,但是我们建房子的时候都要重新建立一遍骨架,然后再填砖 那么如果有现成的骨架了,只填砖是不是很快? 我们一套完整的应用程序就好比一座房子,我们每个程序的具体业务可能不同,但是有大部分基础性的东西是相同的,比如文件上传,数据库查询,这些是99.9%的程序都会有的,那么框架就是把这些东西已经做好了,你拿来直接用就好了,你只需要写你的具体业务部分,免去了很多基础性的工作,加快开发速度,这就是框架。也就是你需要自己去装修,每个人的装修风格不同(暗指 业务不同) 框架的作用在于:由于提取了特定领域软件的共性部分,因此在此领域内新项目的开发过程中代码不需要从头编写,只需要在框架的基础上进行一些开发和调整便可满足要求; 对于开发过程而言,这样做会提高软件的质量,降低成本,缩短开发时间,使开发越做越轻松,效益越做越好,形成一种良性循环。 框架不是现成可用的应用系统。是一个半成品,需要后来的开发人员进行二次开发,实现具体功能的应用系统。 设计模式关注一个很小的“点”。 架构则关注一个“面”。 架构,是从整体结构上为解决某一组问题提供一个方案。 来源: CSDN 作者: 白及 链接: https://blog.csdn.net/u010098331/article/details/72783991

Web高效开发必备的PHP框架

ε祈祈猫儿з 提交于 2019-12-02 00:01:59
Web高效开发必备的PHP框架项目名称:多功能THinkPHP开源框架项目名称:基于Laravel的轻量级web部署系统Fixhub 1、项目名称:多功能 THinkPHP 开源框架 项目简介: 使用 THinkPHP 开发项目的过程中把一些常用的功能或者第三方 sdk 整合好,开源供亲们参考,如 Auth 权限管理、支付宝、微信支付、阿里oss、友盟推送、融云即时通讯、云通讯短信、Email、Excel、PDF 等等。这些都是经过线上运营考验的,无毒害可以免费放心折腾使用。只要不会某一天找到我说因为借鉴了这个开源产品的一些方法,而导致了好几个亿的损失,要我负责并赔偿就好~  ̄へ ̄ 此开源产品面向所有 THinkPHP 开发用户,因为我的基本思想是不改动框架的源文件,只是围绕着框架扩展,所以整合的这些功能都可以无痛兼容各种环境,既可以按照文章将整合的这些功能方便的移植到你已有的项目中,也可以直接以此项目为基础开发。 2、项目名称:基于 Laravel 的轻量级 web 部署系统 Fixhub 项目简介: Fixhub 是一款免费、开源,基于 Laravel 5.3 框架开发的 web 自动部署系统。目前实现的功能主要包括: 支持 PHP、Python、JAVA、Ruby 等项目的发布。 通过 SSH 将程序部署到多台服务器上。 直接从 Git 仓库克隆项目代码并进行打包、安装。

Python 的 Ajax 开发框架 Pyjamas

淺唱寂寞╮ 提交于 2019-12-01 23:44:29
Pyjamas的优点:用Python代替HTML和JavaScript编写网络程序。很多使用Google网络工具包(GoogleWebToolkit,GWT)的人都奇怪为什么不能用Python代替Java。没关系,有了Pyjamas就行了。和GWT类似,Pyjamas是一个跨浏览器API,有了它,你可以使用Python编写客户端功能。使用Pyjamas的优点是你可以用Python代替HTML和JavaScript编写网络程序,你可以重复使用和导入类和模块。 来源: oschina 链接: https://my.oschina.net/u/209440/blog/36877

TODO:即将开发的第一个小程序

眉间皱痕 提交于 2019-12-01 23:13:10
TODO:即将开发的第一个小程序 微信小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验。个人理解小程序是寄宿在微信平台上的一个前端框架,具有跨平台功能,安装方便,即用即装,用完即删。 接下来打算开发一个物流平台,主要开发4个功能 1.用户平台 a.货主注册 b.司机注册 2.货主平台 a.货物发布 b.货物状态查看 3.司机平台 a.查看货物 b.获取货物信息 c.去拉货 4.调度管理平台 这个物流系统主要采用的技术是小程序开发框架,PHP(ThinkPHP 5),MySQL,Linux(Ubuntu 14.04 Server)。 这个物流系统是基于微信平台上的小程序框架进行开发,后端框架采用ThinkPHP+MySQL,生产环境部署在Ubuntu上的lnmp环境。都是采用开源的项目进行组合。这个项目打算开源,将会发布在GitHub,做为一个试验性的项目,也会应用在生产环境中。 wxgzh:ludong86 来源: oschina 链接: https://my.oschina.net/u/2964302/blog/803410

史上最全的开发和设计资源大全

爷,独闯天下 提交于 2019-12-01 21:34:59
【导读】:GitHub 上的 Awesome 系列(资源大全系列),是一个汇总了优秀工具资源的大集合,并由 GitHub 社区用户持续维护和更新。初始的版本都是英文,伯乐在线组织整理了 热门资源大全 的中文版。目前,中文版的资源列表总计已经超过 10,000 star 和 数千 fork 。 由于在 GitHub 上维护的资源大全仅仅列出了资源名称 + 一句话简介,我们想更进一步把资源列表中的各个资源,整理出一个详细的介绍(类似 wiki),并关联该资源相关的文章、教程等扩展资料。目前,由伯乐在线社区的上百名志愿者,已经整理并发布了 1300+ 资源到 伯乐在线资源频道 。如果您也感兴趣贡献一份力量,请从这里 申请加入 。 Java 资源大全 Java资源大全中文版,包括:构建工具、字节码操作、集群管理、代码分析、编译器生成工具、外部配置工具、持续集成、数据结构、数据库、时间日期工具库、依赖注入、开发流程增强工具、分布式应用、分布式数据库、文档处理工具、函数式编程、游戏开发、GUI、高性能计算、IDE、图像处理、JSON、JVM与JDK、日志、机器学习、消息传递、应用监控工具、自然语言处理等。 GitHub 主页: https://github.com/jobbole/awesome-java-cn (截至发稿为止,目前已有 3085 star,1148 fork)

Django开篇 - Web应用

我只是一个虾纸丫 提交于 2019-12-01 19:16:00
一 Web应用的组成 接下来我们学习的目的是为了开发一个Web应用程序,而Web应用程序是基于B/S架构的,其中B指的是浏览器,负责向S端发送请求信息,而S端会根据接收到的请求信息返回相应的数据给浏览器,需要强调的一点是:S端由server和application两大部分构成,如图所示: 上图:Web应用组成 二 开发一个Web应用 我们无需开发浏览器(本质即套接字客户端),只需要开发S端即可,S端的本质就是用套接字实现的,如下 # S端 import socket def make_server(ip, port, app): # 代表server sock = socket.socket() sock.bind((ip, port)) sock.listen(5) print('Starting development server at http://%s:%s/' %(ip,port)) while True: conn, addr = sock.accept() # 1、接收浏览器发来的请求信息 recv_data = conn.recv(1024) # print(recv_data.decode('utf-8')) # 2、将请求信息直接转交给application res = app(recv_data) # 3、向浏览器返回消息(此处并没有按照http协议返回)

react 常用技术

泄露秘密 提交于 2019-12-01 18:34:15
转载自 https://www.sohu.com/a/285175900_132276 开源展示了人类共同协作,成果分享的魅力,每一次技术发展都是站在巨人的肩膀上,技术诸多创新和发展往往就是基于开源发展起来的,没有任何一家网络公司可以不使用开源技术,仅靠自身技术而发展起来。阿里巴巴各个团队都是发自内心地将踩过的坑和总结的经验融入到开源项目中,供业界所有人使用,希望帮助他人解决问题。 云栖社区特在2018年年末,将阿里巴巴的一些重要的开源项目进行整理,希望对大家有所帮助。(以下项目排名不分先后) 这些优质的开源项目即将成立便于开发者交流的讨论钉钉群。社区将不断更新,欢迎大家加入讨论。 前端 1.数据驱动的高交互可视化图形语法 AntV - G2 G2 是一套基于可视化编码的图形语法,以数据驱动,具有高度的易用性和扩展性,用户无需关注各种繁琐的实现细节,一条语句即可构建出各种各样的可交互的统计图表。 同时,G2 也是 AntV 最重要的组成,始于《The Grammar of Graphics》一书描述的视觉编码语法系统(这也是 G2 项目命名的由来)。 项目地址:https://github.com/antvis/g2 2.企业级中后台 UI 解决方案 Fusion Design Fusion Design 是一种旨在提升设计与开发之间 UI 构建效率的工作方式。通过建设基于 DPL

10步成为一个优秀的Java开发!

本小妞迷上赌 提交于 2019-12-01 18:25:33
1、拥有坚实的基础并理解面向对象原则 Java开发人员必须深刻理解面向对象编程。如果没有面向对象编程的坚实基础,就无法感受到像Java这样的面向对象编程语言的美感。 如果你不太了解现象对象编程是什么,即使你使用的是面向对象编程语言,你仍可能会面向过程进行编码。仅研究面向对象原则并没有太多的帮助, 我们应该知道如何使用面向对象的方式应用这些原则来设计解决方案。 因此我们需要拥有丰富的对象建模,继承,多态,设计模式等方面的知识。 2、精通核心的API 如果你不了解语言结构和核心API,那么无论你在在理论知识方面有多强大也是枉然。对于Java语言,开发者对核心的API应具有非常丰富的实践经验,如java.lang.*包,I/O,异常,集合,泛型,线程,JDBC等。当涉及到构建Web应用程序时,无论你使用哪个框架,了解servlet和JSP的概念是必须也是至关重要的。 3、持续地编码 仅仅从理论上来看事情比较简单。我们可以在理论上非常容易地解决问题。但是当我们开始实现这些内容时我们才认识到问题的深度。在这个过程中你将了解到语言限制,或在编码时设计最佳实践。 所以需要你持续编码。 4、订阅技术论坛 在技术上我们并不孤单,在论坛上会有很多人在使用着与我们一样的技术。虽然在框架上进行简单的概念验证对你来说并没有什么挑战,但当你开始在实际项目中使用它时你将面临各种奇怪的问题

五、自动化测试框架(接口、ui)【转】

浪尽此生 提交于 2019-12-01 16:31:04
五、自动化测试框架(接口、ui) 接口自动化 接口自动化测试【第一篇】JMeter + Maven + Jenkins 接口自动化测试【第二篇A】JMeter + Ant + Jenkins(windows版) 接口自动化测试【第二篇B】JMeter + Ant + Jenkins(linux版) 接口自动化测试【第三篇】SpringBoot版mockserver开发及生成swagger接口文档 (testng10含cookie) 接口自动化测试【第四篇】Java版接口自动化测试框架开发(含httpclient使用) 接口自动化测试【第五篇】Flask版mockserver开发 接口自动化测试【第六篇】Python版接口自动化测试框架开发 (requests + unittest) 接口自动化测试【第七篇】Python版接口自动化测试框架开发(pytest) 接口自动化测试【第八篇】moco工具使用(各种json配置:form-data,json,上传,鉴权,cookie_token,以及flask、springboot开发类似功能) UI自动化测试框架(web、app) UI自动化测试【第一篇】Python版WEB UI自动化测试框架开发(selenium) UI自动化测试【第二篇】Python版APP UI自动化测试框架开发(appium) UI自动化测试【第三篇

使用SMM框架开发企业级应用-----延迟加载及缓存

徘徊边缘 提交于 2019-12-01 15:00:19
延迟加载   什么是延迟加载:       MyBatis中的延迟加载,也称为懒加载,是指在进行表的关联查询时,按照设置延迟规则推迟对关联对象的select查询。例如在进行一对多查询的时候,只查询出一方,当程序中需要多方的数据时,mybatis再发出sql语句进行查询,这样子延迟加载就可以的减少数据库压力。MyBatis 的延迟加载只是对关联对象的查询有迟延设置,对于主加载对象都是直接执行查询语句的。   加载时机:       直接加载: 执行完对主加载对象的 select 语句,马上执行对关联对象的 select 查询。     侵入式延迟加载: 执行对主加载对象的查询时,不会执行对关联对象的查询。但 当要访问主加载对象的详情属性时,就会马上执行关联对象的select查询。     深度加载: 执行对主加载对象的查询时,不会执行对关联对象的查询。访问主加载对象的详情时也不会执行关联对象的select查询。只有当真正访问关联对象的详情时,才会执行对关联对象的 select 查询。 一、延迟加载 1.主对象的加载: 根本没有延迟的概念,都是直接加载。 2.关联对象的加载时机: 01.直接加载: 访问主对象,关联对象也要加载 02.侵入式延迟: 访问主对象,并不加载关联对象 访问主对象属性的属性的时候,关联对象会被加载 03.深度延迟 访问主对象,并不加载关联对象