架构

第十四章、Model/View架构中Item Views部件的父类

半腔热情 提交于 2020-01-01 21:39:30
老猿Python博文目录 老猿Python博客地址 引言:本章早就写好了,其简版《 第15.18节 PyQt(Python+Qt)入门学习:Model/View架构中视图Item Views父类详解 》也发布好多天了,而迟迟未发布的原因是有个属性dragDropOverwriteMode验证中发现与官网介绍不一致,不过今天这个问题已经找到原因,因此更新发布。 一、概述 在PyQt图形界面中,支持采用Model/View架构实现数据和界面逻辑分离,其中Model用于处理数据存储,View用于界面数据展现,当Model中的数据变化后对应界面视图自动更新,反之当View中数据进行修改之后,也支持通知Model进行数据调整。 为了快速支持Model/View架构,PyQt提供了一系列类来支持,在Qt Designer中Item Views部件栏的视图部件都是用于Model/View架构的View部件,涉及相关的类有QListView、QTableView、QTreeView、QColumnView和QUndoView,通常情况下开发者可以使用这些View类快速构建应用,只有特殊情况下应用才需要实现自己的View类。QAbstractItemView类为以上视图类的基类,也就是直接父类,为所有Model/View架构中的项视图类提供基础功能。

今日头条架构演进之路

喜夏-厌秋 提交于 2020-01-01 14:06:56
夏绪宏,今日头条架构师,专注对高性能大规模 Web 架构,云计算、性能优化、编程语言理论等方向,PHP committer,HHVM 项目贡献者。2009 加入百度,先后从事大规模 IDC 自运维设施建设、云计算平台的架构设计、贴吧业务性能优化、百度通用 RPC 设计和优化等。2015 年加入今日头条负责基础设施,系统架构设计和优化,解决大流量高并发下的系统性能、可靠性和运维效率等方面的问题。 今天给大家分享今日头条架构演进,前面几位讲师讲了很多具体的干货,我的分享偏重基础设施及架构思路的介绍,我们想法是通过提供更好的基础设施,帮助架构做更好的迭代。 从架构的角度,技术团队应对的压力最主要来自三方面: 服务稳定性。接口的稳定性,让服务更可靠; 迭代速度。迭代速度对于大公司来讲相对没那么重要,规模比较大,生存压力相对小一点,但相对中型小型公司来讲,迭代速度是必须要保证的,时间窗也是一个决定能否成功的重要因素; 服务质量。主要关注用户满意度,它也是一个特别重要的 topic。 今日头条发展特别快,只有 4 年的历史,从人员数量和规模增长来看非常快,在稳定性可用性方面压力比较大,一方面需要快速把业务实现,但在另外一方面,类似这些高可用的问题会经常骚扰工程师:上线就挂、运营活动量大服务崩溃、单机性能顶不住、一个小服务上线把核心服务搞挂了……类似这些问题,技术团队需要如何更好的去应对?

好的架构不是设计出来的,而是演进出来的

删除回忆录丶 提交于 2020-01-01 14:06:46
对 很多创业公司而言,随着业务的增长,网站的流量也会经历不同的阶段。从十万流量到一百万流量,再从一百万流量跨越到一千万甚至上亿的流量,网站的架构需要 经历哪些变化?我们一起听听 58 同城的技术委员会执行主席沈剑在 OneAPM 技术公开课上的回答(以下演讲整理): 本场演讲我主要阐述一下,58同城从小流量、中等规模流量、大流量,到更大的流量过程中,架构是怎么演进的?遇到了哪些问题?以及如何解决这些问题? 好的架构不是设计出来的而是演进出来的 对很多创业公司而言,在初期的时候,我们很难在初期就预估到流量十倍以后、百倍以后、一千倍以后网站的架构会变成什么样。当然,如果在最初的时期,就设计一个千万级并发的流量架构,那样的话,成本是也是非常之高的,估计很难有公司会这样做。 所以,我们主要来讲架构是如何进行演化的。我们在每个阶段,找到对应该阶段网站架构所面临的问题,然后在不断解决这些问题的过程中,整个战略的架构就是在不断的演进了。 其实,在 58 同城建立之初,站点的流量非常小,可能也就是是十万级别,这也就意味着,平均每秒钟也就是几次的访问。此时网站架构的特点:请求量是比较低,数据量比较小,代码量也比较小。可能找几个工程师,很容易就做一个这样的站点,根本没什么「架构」可言。 其实,这也是很多创业公司初期面临的问题,最开始58同城的站点架构用一个词概括就是「ALL IN ONE」,如下图所示

好的架构不是设计出来的,而是演进出来的

天大地大妈咪最大 提交于 2020-01-01 14:06:38
对很多创业公司而言,很难在初期就预估到流量十倍、百倍以及千倍以后网站架构会是什么样的一个状况。同时,如果系统初期就设计一个千万级并发的流量架构,很难有公司可以支撑这个成本。 因此,这里主要会关注架构的眼花。在每个阶段,找到对应该阶段网站架构所面临的问题,然后在不断解决这些问题,在这个过程中整个架构会一直演进。 在58同城建立之初,站点的流量非常小,可能也就是十万级别,这也就意味着,平均每秒钟也就是几次的访问,此时网站架构的特点是:请求量比较低,数据量比较小,代码量也比较小。这个时候的站点可以被几个工程师轻易搞定,因此根本没什么“架构”可言。 其实这也是很多创业公司初期面临的问题,最开始58同城的站点架构用一个词概括就是“ALL IN ONE”,如下图所示: 就像一个单机系统,所有的东西都部署在一台机器上,包括站点、数据库、文件等等。而工程师每天的核心工作就是CURD,前端传过来一些数据,然后业务逻辑层拼装成一些CURD访问数据库,数据库返回数据,数据拼装成页面,最终返回到浏览器。相信很多创业团队初期都面临一个与之类似的情况,每天写代码,写SQL、接口参数、访问数据等等。 这里需要说明一个问题,大家都知道最初58同城使用的是Windows、iis、SQL-Sever、C#这条路。现在很多创业公司可能就不会这么做。 如果可以重来?那么会选择LAMP 很多创业的同学可能会想

毕玄:阿里十年,从分布式到云时代的架构演进之路

不想你离开。 提交于 2020-01-01 14:06:23
2018 年 12 月 25 日,在 TGO 鲲鹏会杭州分会「E 家宴」的现场,阿里巴巴系统软件、中间件、研发效能负责人毕玄做了《云时代的软件架构》分享,本文根据其演讲整理而成,有部分删节。TGO 鲲鹏会公众号(ID:tgo-kunpenghui)授权 InfoQ 转载。1奠定阿里五年业务快速发展基础的架构改造 阿里经历了几次较大的软件架构迭代,首先是分布式时代的阿里电商架构。淘宝从 2007 年开始做新一轮架构改造,淘宝从 2007 年开始碰到的最大的问题,即访问量增长太快,导致出现了一个问题:不能加机器了,即伸缩性的问题。淘宝在业务发展过程中,2008 年以前所有的解决方案就是简单加机器就能解决,但是到 2007 年突然出现加不了,那时候淘宝数据库用的是中国最好的 IBM 的小型机。 以前数据库连接我们用 Oracle,Oracle 数据库最大的问题是每个链接消耗的内存特别大。因为内存始终有瓶颈,所以当我们内存、数据库连接不够的时候,我们的解决办法是多插内存条,后来内存条插满了,就没有办法了。所以 2007 年淘宝判断必须做新一轮的架构改造,让我们具备水平伸缩能力。 大家现在都知道一个思路,既然一个系统加不了机器,数据库抗不住,那就把一个数据库拆成两个数据库,把访问数据库的业务尽可能集中。以交易为例,以前是所有的 web 应用都要访问的,如果你把交易逻辑抽象出来

Spring -> Spring Boot > Spring Cloud

柔情痞子 提交于 2020-01-01 09:30:17
这几天刚刚上班,公司用的是Spring Cloud,接触不多。我得赶快学起来。 想学习就必须得知道什么是微服务,什么是Spring Boot,什么是Spring Cloud,以及两者之间有什么关系? 网上找了一些答案,仅供参考。内容转自纯洁的微笑:https://www.cnblogs.com/ityouknow/p/7508306.html 什么是微服务? 简而言之,微服务架构风格是一种将单个应用程序作为一套小型服务开发的方法,每种应用程序都在自己的进程中运行,并与轻量级机制(通常是HTTP资源API)进行通信。 这些服务是围绕业务功能构建的,可以通过全自动部署机制独立部署。 这些服务的集中管理最少,可以用不同的编程语言编写,并使用不同的数据存储技术。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。 微服务的一些常见误解 在同一范畴内比较才有意义: 微服务架构 vs. SOA – 两者都是架构风格范畴,但其关注领域与涉及范围不同。SOA更关注企业规模范围,微服务架构则更关注应用规模范围。 微服务组件 vs. 服务组件 – 两者都是描述业务功能的具体实现,其区别在于粒度不同,此外还有在可管理性、灵活性上的差异。 概念混淆的不恰当比较 微服务 vs. SOA – 不恰当的比较

Android开发之旅:android架构

痞子三分冷 提交于 2019-12-31 19:07:53
引言 通过前面两篇: Android 开发之旅:环境搭建及HelloWorld Android 开发之旅:HelloWorld项目的目录结构 我 们对android有了个大致的了解,知道如何搭建android的环境及简单地写一个HelloWorld程序,而且知道一个android项目包括哪 些文件夹和文件及相应的作用。本篇将站在顶级的高度——架构,来看android。我开篇就说了,这个系列适合0基础的人且我也是从0开始按照这个步骤来 学的,谈架构是不是有点螳臂挡车,自不量力呢?我觉得其实不然,如果一开始就对整个android的架构了然于胸,就不会误入歧途,能够很好地把握全局。 本文的主题如下: 1、架构图直观 2、架构详解 2.1、Linux Kernel 2.1、Android Runtime 2.3、Libraries 2.4、Application Framework 2.5、Applications 3、总结 1、架构图直观 下面这张图展示了Android系统的主要组成部分: 图1、Android系统架构(来源于:android sdk) 可以很明显看出,Android系统架构由5部分组成,分别是:Linux Kernel、Android Runtime、Libraries、Application Framework、Applications。第二部分将详细介绍这5个部分。

Android开发之旅:android架构

心不动则不痛 提交于 2019-12-31 19:07:36
通过前面两篇: Android 开发之旅:环境搭建及HelloWorld Android 开发之旅:HelloWorld项目的目录结构 我 们对android有了个大致的了解,知道如何搭建android的环境及简单地写一个HelloWorld程序,而且知道一个android项目包括哪 些文件夹和文件及相应的作用。本篇将站在顶级的高度——架构,来看android。我开篇就说了,这个系列适合0基础的人且我也是从0开始按照这个步骤来 学的,谈架构是不是有点螳臂挡车,自不量力呢?我觉得其实不然,如果一开始就对整个android的架构了然于胸,就不会误入歧途,能够很好地把握全局。 本文的主题如下: 1、架构图直观 2、架构详解 2.1、Linux Kernel 2.1、Android Runtime 2.3、Libraries 2.4、Application Framework 2.5、Applications 3、总结 1、架构图直观 下面这张图展示了Android系统的主要组成部分: 图1、Android系统架构(来源于:android sdk) 可以很明显看出,Android系统架构由5部分组成,分别是:Linux Kernel、Android Runtime、Libraries、Application Framework、Applications。第二部分将详细介绍这5个部分。 2

Android开发之旅:android架构

爱⌒轻易说出口 提交于 2019-12-31 19:07:25
http://www.cnblogs.com/skynet/archive/2010/04/15/1712924.html Android开发之旅:android架构 2010-04-15 19:40 by 吴秦, 62477 阅读, 21 评论, 收藏 , 编辑 引言 通过前面两篇: Android 开发之旅:环境搭建及HelloWorld Android 开发之旅:HelloWorld项目的目录结构 我们对android有了个大致的了解,知道如何搭建android的环境及简单地写一个HelloWorld程序,而且知道一个android项目包括哪些文件夹和文件及相应的作用。本篇将站在顶级的高度——架构,来看android。我开篇就说了,这个系列适合0基础的人且我也是从0开始按照这个步骤来学的,谈架构是不是有点螳臂挡车,自不量力呢?我觉得其实不然,如果一开始就对整个android的架构了然于胸,就不会误入歧途,能够很好地把握全局。本文的主题如下: 1、架构图直观 2、架构详解 2.1、Linux Kernel 2.1、Android Runtime 2.3、Libraries 2.4、Application Framework 2.5、Applications 3、总结 1、架构图直观 下面这张图展示了Android系统的主要组成部分: 图1、Android系统架构(来源于

Android开发之旅3:android架构

狂风中的少年 提交于 2019-12-31 19:06:51
引言 通过前面两篇: Android 开发之旅:环境搭建及HelloWorld Android 开发之旅:HelloWorld项目的目录结构 我们对android有了个大致的了解,知道如何搭建android的环境及简单地写一个HelloWorld程序,而且知道一个android项目包括哪些文件夹和文件及相应的作用。本篇将站在顶级的高度——架构,来看android。我开篇就说了,这个系列适合0基础的人且我也是从0开始按照这个步骤来学的,谈架构是不是有点螳臂挡车,自不量力呢?我觉得其实不然,如果一开始就对整个android的架构了然于胸,就不会误入歧途,能够很好地把握全局。本文的主题如下: 1、架构图直观 2、架构详解 2.1、Linux Kernel 2.1、Android Runtime 2.3、Libraries 2.4、Application Framework 2.5、Applications 3、总结 1、架构图直观 下面这张图展示了Android系统的主要组成部分: 图1、Android系统架构(来源于:android sdk) 可以很明显看出,Android系统架构由5部分组成,分别是:Linux Kernel、Android Runtime、Libraries、Application Framework、Applications。第二部分将详细介绍这5个部分。 2