月度归档: 2021 年 10 月

UML各种图总结-精华

UML各种图总结-精华

UML(Unified Modeling Language)是一种统一建模语言,为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。下面将对UML的九种图+包图的基本概念进行介绍以及各个图的使用场景。

一、基本概念

如下图所示,UML图分为用例视图、设计视图、进程视图、实现视图和拓扑视图,又可以静动分为静态视图和动态视图。静态图分为:用例图,类图,对象图,包图,构件图,部署图。动态图分为:状态图,活动图,协作图,序列图。

%title插图%num

1、用例图(UseCase Diagrams):

用例图主要回答了两个问题:1、是谁用软件。2、软件的功能。从用户的角度描述了系统的功能,并指出各个功能的执行者,强调用户的使用者,系统为执行者完成哪些功能。

%title插图%num

2、类图(Class Diagrams):

    用户根据用例图抽象成类,描述类的内部结构和类与类之间的关系,是一种静态结构图。 在UML类图中,常见的有以下几种关系: 泛化(Generalization),  实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)。

各种关系的强弱顺序: 泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖

2.1.泛化

【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何继承父类的所有特征和行为。例如:老虎是动物的一种,即有老虎的特性也有动物的共性。

%title插图%num

2.2.实现

【实现关系】:是一种类与接口的关系,表示类是接口所有特征和行为的实现。

%title插图%num

2.3.关联

【关联关系】:是一种拥有的关系,它使一个类知道另一个类的属性和方法;如:老师与学生,丈夫与妻子关联可以是双向的,也可以是单向的。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。

【代码体现】:成员变量

%title插图%num

2.4.聚合

【聚合关系】:是整体与部分的关系,且部分可以离开整体而单独存在。如车和轮胎是整体和部分的关系,轮胎离开车仍然可以存在。

聚合关系是关联关系的一种,是强的关联关系;关联和聚合在语法上无法区分,必须考察具体的逻辑关系。

【代码体现】:成员变量

%title插图%num

2.5.组合

【组合关系】:是整体与部分的关系,但部分不能离开整体而单独存在。如公司和部门是整体和部分的关系,没有公司就不存在部门。

组合关系是关联关系的一种,是比聚合关系还要强的关系,它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期。

【代码体现】:成员变量

【箭头及指向】:带实心菱形的实线,菱形指向整体

%title插图%num

2.6.依赖

【依赖关系】:是一种使用的关系,即一个类的实现需要另一个类的协助,所以要尽量不使用双向的互相依赖.

【代码表现】:局部变量、方法的参数或者对静态方法的调用

【箭头及指向】:带箭头的虚线,指向被使用者

%title插图%num

2.7 各种类图关系

%title插图%num

3、对象图(Object Diagrams):

    描述的是参与交互的各个对象在交互过程中某一时刻的状态。对象图可以被看作是类图在某一时刻的实例。

%title插图%num

4、状态图(Statechart Diagrams):

    是一种由状态、变迁、事件和活动组成的状态机,用来描述类的对象所有可能的状态以及时间发生时状态的转移条件。

%title插图%num

5、活动图(Activity Diagrams):

    是状态图的一种特殊情况,这些状态大都处于活动状态。本质是一种流程图,它描述了活动到活动的控制流。

交互图强调的是对象到对象的控制流,而活动图则强调的是从活动到活动的控制流。

活动图是一种表述过程基理、业务过程以及工作流的技术。

它可以用来对业务过程、工作流建模,也可以对用例实现甚至是程序实现来建模。

      %title插图%num

5.1 带泳道的活动图

      泳道表明每个活动是由哪些人或哪些部门负责完成。

      %title插图%num

  5.2 带对象流的活动图

    用活动图描述某个对象时,可以把涉及到的对象放置在活动图中,并用一个依赖将其连接到进行创建、修改和撤销的动作状态或者活动状态上,对象的这种使用方法就构成了对象流。对象流用带有箭头的虚线表示。

    %title插图%num

  6、序列图-时序图(Sequence Diagrams):

    交互图的一种,描述了对象之间消息发送的先后顺序,强调时间顺序。

序列图的主要用途是把用例表达的需求,转化为进一步、更加正式层次的精细表达。用例常常被细化为一个或者更多的序列图。同时序列图更有效地描述如何分配各个类的职责以及各类具有相应职责的原因。

%title插图%num

消息用从一个对象的生命线到另一个对象生命线的箭头表示。箭头以时间顺序在图中从上到下排列。

序列图中涉及的元素:

6.1 生命线

生命线名称可带下划线。当使用下划线时,意味着序列图中的生命线代表一个类的特定实例。

%title插图%num

6.2 同步消息

同步等待消息

%title插图%num

6.3 异步消息

异步发送消息,不需等待

%title插图%num

6.4 注释

%title插图%num

6.5 约束

%title插图%num

6.6 组合

组合片段用来解决交互执行的条件及方式。它允许在序列图中直接表示逻辑组件,用于通过指定条件或子进程的应用区域,为任何生命线的任何部分定义特殊条件和子进程。常用的组合片段有:抉择、选项、循环、并行。

7、协作图(Collaboration Diagrams):

    交互图的一种,描述了收发消息的对象的组织关系,强调对象之间的合作关系。时序图按照时间顺序布图,而写作图按照空间结构布图

%title插图%num

 

8、构件图(Component Diagrams):

    构件图是用来表示系统中构件与构件之间,类或接口与构件之间的关系图。其中,构建图之间的关系表现为依赖关系,定义的类或接口与类之间的关系表现为依赖关系或实现关系。

%title插图%num

  9、部署图(Deployment Diagrams):

    描述了系统运行时进行处理的结点以及在结点上活动的构件的配置。强调了物理设备以及之间的连接关系。

部署模型的目的:

描述一个具体应用的主要部署结构,通过对各种硬件,在硬件中的软件以及各种连接协议的显示,可以很好的描述系统是如何部署的;平衡系统运行时的计算资源分布;可以通过连接描述组织的硬件网络结构或者是嵌入式系统等具有多种硬件和软件相关的系统运行模型。

%title插图%num

二、图的差异比较

1.序列图(时序图)VS协作图

序列图和协作图都是交互图。二者在语义上等价,可以相互转化。但是侧重点不同:序列图侧重时间顺序,协作图侧重对象间的关系。

共同点:时序图与协作图均显示了对象间的交互。

不同点:时序图强调交互的时间次序。

协作图强调交互的空间结构。

2.状态图VS活动图

状态图和活动图都是行为图。状态图侧重从行为的结果来描述,活动图侧重从行为的动作来描述。状态图描述了一个具体对象的可能状态以及他们之间的转换。在实际的项目中,活动图并不是必须的,需要满足以下条件:1、出现并行过程&行为;2、描述算法;3、跨越多个用例的活动图。

3.活动图VS交互图

二者都涉及到对象和他们之间传递的关系。区别在于交互图观察的是传送消息的对象,而活动图观察的是对象之间传递的消息。看似语义相同,但是他们是从不同的角度来观察整个系统的。

三、UML与软件工程

UML图是软件工程的组成部分,软件工程从宏观的角度保证了软件开发的各个过程的质量。而UML作为一种建模语言,更加有效的实现了软件工程的要求。

如下图,在软件的各个开发阶段需要的UML图。

%title插图%num

下表是UML使用人员图示:

%title插图%num

Uri详解之——Uri结构与代码提取

Uri详解之——Uri结构与代码提取

前言:依然没有前言…

 

上几篇给大家讲了ContentProvider,里面有用到Uri,可能很多同学对Uri是什么,怎么来的,这些都不是很熟悉,今天就给大家具体讲讲Uri

一、URI与Uri

大家可能经常会看到在开发时,怎么有的时候是URI,有的时候是Uri,这是怎么回事?

名称如此相像的两个类是有什么区别和联系?

  • 1.所属的包不同。URI位置在java.net.URI,显然是Java提供的一个类。而Uri位置在android.net.Uri,是由Android提供的一个类。所以初步可以判断,Uri是URI的“扩展”以适应Android系统的需要。
  • 2.作用的不同。URI类代表了一个URI(这个URI不是类,而是其本来的意义:通用资源标志符——Uniform Resource Identifier)实例。Uri类是一个不可改变的URI引用,包括一个URI和一些碎片,URI跟在“#”后面。建立并且转换URI引用。而且Uri类对无效的行为不敏感,对于无效的输入没有定义相应的行为,如果没有另外制定,它将返回垃圾而不是抛出一个异常。

看不懂?没关系,知道这个就可以了:Uri是Android开发的,扩展了Java中URI的一些功能来特定的适用于Android开发,所以大家在开发时,只使用Android 提供的Uri即可;

二、Uri结构

(1)、基本形式:

  1. [scheme:]scheme-specific-part[#fragment]

这里分为三部分:
scheme、scheme-specific-part、fragment

(2)、进一步划分:

如果进一步划分的话是这样子的

  1. [scheme:][//authority][path][?query][#fragment]

其中有下面几个规则:

  • path可以有多个,每个用/连接,比如
    scheme://authority/path1/path2/path3?query#fragment
  • query参数可以带有对应的值,也可以不带,如果带对应的值用=表示,如:
    scheme://authority/path1/path2/path3?id = 1#fragment,这里有一个参数id,它的值是1
  • query参数可以有多个,每个用&连接
    scheme://authority/path1/path2/path3?id = 1&name = mingming&old#fragment
    这里有三个参数:
    参数1:id,其值是:1
    参数2:name,其值是:mingming
    参数3:old,没有对它赋值,所以它的值是null
  • 在android中,除了scheme、authority是必须要有的,其它的几个path、query、fragment,它们每一个可以选择性的要或不要,但顺序不能变,比如:
    其中”path”可不要:scheme://authority?query#fragment
    其中”path”和”query”可都不要:scheme://authority#fragment
    其中”query”和”fragment”可都不要:scheme://authority/path
    “path”,”query”,”fragment”都不要:scheme://authority
    等等……

(3)、终*划分

其中authority,又可以分为host:port的形式,即再次划分后是这样的:

  1. [scheme:][//host:port][path][?query][#fragment]

所以这是划分*细的形式,其中host:port用冒号分隔,冒号前的是host,冒号后的port;

三、示例

经过上面的讲解,想必大家的Uri的结构就有所了解了,下面我们就实例看看各部分的识别方式。

  1. [scheme:]scheme-specific-part[#fragment]
  2. [scheme:][//authority][path][?query][#fragment]
  3. [scheme:][//host:port][path][?query][#fragment]

先列出这三种Uri形式,好让大家对比;
针对下面一个Uri字符串来匹配一下各个部分:

  1. http://www.java2s.com:8080/yourpath/fileName.htm?stove=10&path=32&id=4#harvic  
  • scheme:匹对上面的两个Uri标准形式,很容易看出在:前的部分是scheme,所以这个Uri字符串的sheme是:http
  • scheme-specific-part:很容易看出scheme-specific-part是包含在scheme和fragment之间的部分,也就是包括第二部分的[//authority][path][?query]这几个小部分,所在这个Uri字符串的scheme-specific-part是://www.java2s.com:8080/yourpath/fileName.htm?stove=10&path=32&id=4 ,注意要带上//,因为除了[scheme:]和[#fragment]部分全部都是scheme-specific-part,当然包括*前面的//;
  • fragment:这个是更容易看出的,因为在*后用#分隔的部分就是fragment,所以这个Uri的fragment是:harvic
    下面就是对scheme-specific-part进行拆分了;
    在scheme-specific-part中,*前端的部分就是authority,?后面的部分是query,中间的部分就是path
  • authority:很容易看出scheme-specific-part*新端的部分是:www.java2s.com:8080
  • query:在scheme-specific-part中,?后的部分为:stove=10&path=32&id=4
  • path:在**query:**在scheme-specific-part中,除了authority和query其余都是path的部分:/yourpath/fileName.htm
    又由于authority又一步可以划分为host:port形式,其中host:port用冒号分隔,冒号前的是host,冒号后的是port,所以:
  • host:www.java2s.com
  • port:8080

四、代码提取

上面我们通过实例讲解了肉眼识别Uri更部分的方式,但在代码中又要怎样提取呢。下面就看看Uri中提取各部分的接口,依然以上面的Uri字符串为例:

  1. http://www.java2s.com:8080/yourpath/fileName.htm?stove=10&path=32&id=4#harvic  
  • getScheme() :获取Uri中的scheme字符串部分,在这里即,http
  • getSchemeSpecificPart():获取Uri中的scheme-specific-part:部分,这里是://www.java2s.com:8080/yourpath/fileName.htm?
  • getFragment():获取Uri中的Fragment部分,即harvic
  • getAuthority():获取Uri中Authority部分,即www.java2s.com:8080
  • getPath():获取Uri中path部分,即/yourpath/fileName.htm
  • getQuery():获取Uri中的query部分,即stove=10&path=32&id=4
  • getHost():获取Authority中的Host字符串,即www.java2s.com
  • getPost():获取Authority中的Port字符串,即8080

另外还有两个常用的:getPathSegments()、getQueryParameter(String key)

  • List< String> getPathSegments():上面我们的getPath()是把path部分整个获取下来:/yourpath/fileName.htm,getPathSegments()的作用就是依次提取出Path的各个部分的字符串,以字符串数组的形式输出。以上面的Uri为例:
  1. String mUriStr = “http://www.java2s.com:8080/yourpath/fileName.htm?stove=10&path=32&id=4#harvic”;  
  2. Uri mUri = Uri.parse(mUriStr);
  3. List<String> pathSegList = mUri.getPathSegments();
  4. for (String pathItem:pathSegList){  
  5.     Log.d(“qijian”,”pathSegItem:”+pathItem);  
  6. }

打出来的列表为:
%title插图%num

  • getQueryParameter(String key):在上面我们通过getQuery()获取整个query字段:stove=10&path=32&id=4,getQueryParameter(String key)作用就是通过传进去path中某个Key的字符串,返回他对应的值。
  1. String mUriStr = “http://www.java2s.com:8080/yourpath/fileName.htm?stove=10&path=32&id#harvic”;  
  2. mUri = Uri.parse(mUriStr);
  3. Log.d(tag,“getQueryParameter(\”stove\”):”+mUri.getQueryParameter(“stove”));  
  4. Log.d(tag,“getQueryParameter(\”id\”):”+mUri.getQueryParameter(“id”));  

注意注意,我稍微更改了下字符串,把query中id的值去掉了!!!!!然后看看通过getQueryParameter(“id”)获取它的值会得到什么!
结果如下:
%title插图%num

可以看到,在path中,即使针对某一个KEY不对它赋值是允许的,但在利用getQueryParameter()获取该KEY对应的值时,获取到的是null;

五、扩展

1、 *对URI和相对URI

*对URI:以scheme组件起始的完整格式,如http://fsjohnhuang.cnblogs.com。表示以对标识出现的环境无依赖的方式引用资源。
相对URI:不以scheme组件起始的非完整格式,如fsjohnhuang.cnblogs.com。表示以对依赖标识出现的环境有依赖的方式引用资源。

2、不透明URI和分层URI

不透明URI:scheme-specific-part组件不是以正斜杠(/)起始的,如mailto:fsjohnhuang@xxx.com。由于不透明URI无需进行分解操作,因此不会对scheme-specific-part组件进行有效性验证。
分层URI:scheme-specific-part组件是以正斜杠(/)起始的,如http://fsjohnhuang.com。

 

2021年9月份70个大中城市商品住宅销售价格变动情况

表1:2021年9月70个大中城市新建商品住宅销售价格指数
  城市 环比 同比 定基 城市 环比 同比 定基 上月=100 上年同月=100 2020年=100 上月=100 上年同月=100 2020年=100 北  京 100.0 104.5 105.5 唐  山 99.2 99.8 103.0 天  津 99.9 104.1 105.0 秦 * 岛 99.5 98.2 99.7 石 家 庄 100.4 102.1 103.0 包  头 99.8 101.6 102.8 太  原 99.3 97.8 98.0 丹  东 100.1 103.9 105.5 呼和浩特 99.7 101.2 102.5 锦  州 100.5 104.4 106.3 沈  阳 99.9 103.3 105.5 吉  林 99.8 101.8 103.8 大  连 100.1 106.1 107.5 牡 丹 江 99.3 98.7 99.0 长  春 100.4 100.7 102.1 无  锡 100.5 104.7 107.3 哈 尔 滨 99.5 99.3 99.5 徐  州 99.7 105.5 108.8 上  海 100.2 104.0 105.4 扬  州 99.6 107.3 108.9 南  京 100.2 105.0 106.2 温  州 100.4 103.7 105.7 杭  州 100.4 103.4 105.1 金  华 100.1 105.2 107.1 宁  波 100.0 103.9 105.6 蚌  埠 99.9 102.8 104.3 合  肥 100.4 105.7 106.4 安  庆 100.4 100.2 99.1 福  州 100.0 105.4 106.4 泉  州 100.1 106.1 108.0 厦  门 100.3 105.3 106.7 九  江 99.8 103.1 104.3 南  昌 99.9 101.1 101.6 赣  州 100.0 103.5 104.6 济  南 100.4 105.5 105.7 烟  台 99.8 102.8 104.5 青  岛 100.0 104.9 106.6 济  宁 100.4 108.4 110.7 郑  州 99.7 102.8 103.3 洛  阳 100.3 103.7 104.6 武  汉 100.0 106.0 107.5 平 顶 山 100.2 102.8 103.7 长  沙 100.3 106.9 108.7 宜  昌 99.7 104.2 104.9 广  州 99.9 109.0 110.3 襄  阳 99.9 104.1 105.2 深  圳 100.2 103.8 105.2 岳  阳 99.5 97.6 98.8 南  宁 99.6 102.7 104.7 常  德 99.3 97.5 97.4 海  口 100.3 105.6 106.7 韶  关 99.5 102.6 102.6 重  庆 100.1 108.3 110.0 湛  江 99.0 102.5 102.9 成  都 99.8 103.6 105.8 惠  州 99.7 101.8 105.0 贵  阳 99.7 103.7 104.2 桂  林 99.4 101.1 101.1 昆  明 99.3 101.5 103.1 北  海 99.6 98.4 97.5 西  安 100.6 107.5 109.6 三  亚 100.1 105.1 106.4 兰  州 99.7 105.1 106.1 泸  州 99.0 97.8 98.7 西  宁 100.2 107.6 109.6 南  充 99.9 98.8 98.9 银  川 100.6 108.0 112.7 遵  义 99.7 101.7 101.6 乌鲁木齐 100.0 104.2 105.2 大  理 99.5 97.6 98.2  
表2:2021年9月70个大中城市二手住宅销售价格指数
  城市 环比 同比 定基 城市 环比 同比 定基 上月=100 上年同月=100 2020年=100 上月=100 上年同月=100 2020年=100 北  京 99.8 109.7 111.4 唐  山 99.4 99.7 102.0 天  津 100.6 101.7 100.7 秦 * 岛 99.7 98.1 99.7 石 家 庄 99.7 98.1 97.7 包  头 99.7 101.4 102.3 太  原 99.5 97.9 97.1 丹  东 100.1 103.1 104.2 呼和浩特 99.4 98.4 98.9 锦  州 99.7 98.5 98.8 沈  阳 99.9 104.2 106.0 吉  林 99.6 99.3 98.9 大  连 100.2 105.5 107.3 牡 丹 江 99.2 95.4 92.1 长  春 100.1 98.7 99.0 无  锡 100.1 104.9 108.1 哈 尔 滨 99.3 99.4 98.2 徐  州 99.7 106.4 109.0 上  海 99.4 108.0 109.9 扬  州 99.7 106.1 107.1 南  京 100.1 106.1 107.2 温  州 99.6 104.7 106.8 杭  州 99.6 106.6 108.8 金  华 99.8 105.5 107.3 宁  波 99.8 105.9 108.4 蚌  埠 99.8 104.2 105.1 合  肥 99.8 105.0 105.8 安  庆 99.6 96.8 96.6 福  州 99.9 105.1 105.4 泉  州 99.9 106.9 108.2 厦  门 99.8 104.0 104.8 九  江 99.9 103.2 103.4 南  昌 99.9 101.0 100.5 赣  州 100.1 100.3 101.3 济  南 99.7 101.0 100.6 烟  台 99.9 103.7 103.4 青  岛 99.9 101.2 101.2 济  宁 100.2 104.2 105.8 郑  州 99.7 102.0 101.0 洛  阳 100.1 103.3 104.3 武  汉 99.8 102.8 103.5 平 顶 山 99.8 101.3 102.4 长  沙 100.2 106.2 106.5 宜  昌 99.8 98.4 98.7 广  州 99.6 109.6 112.2 襄  阳 100.0 100.1 99.9 深  圳 99.5 103.6 107.4 岳  阳 99.7 97.6 98.3 南  宁 99.8 100.5 101.2 常  德 99.9 99.0 98.5 海  口 100.5 108.0 108.6 韶  关 99.9 101.4 101.5 重  庆 100.3 104.9 105.4 湛  江 99.6 100.9 100.7 成  都 100.1 105.1 107.7 惠  州 99.7 102.4 103.8 贵  阳 99.4 98.7 97.9 桂  林 99.6 100.7 101.4 昆  明 99.5 101.3 101.9 北  海 99.8 98.7 97.9 西  安 100.2 106.8 108.3 三  亚 100.2 105.9 105.7 兰  州 99.7 103.4 104.3 泸  州 100.1 101.5 100.9 西  宁 100.1 105.5 107.7 南  充 99.5 95.1 94.1 银  川 99.8 105.4 108.1 遵  义 99.6 99.3 99.7 乌鲁木齐 99.5 101.1 102.6 大  理 99.6 99.6 100.8  
表3:2021年9月70个大中城市新建商品住宅销售价格分类指数(一)
  城市 90m2及以下 90-144m2 144m2以上 环比 同比 定基 环比 同比 定基 环比 同比 定基 上月=100 上年同月=100 2020年=100 上月=100 上年同月=100 2020年=100 上月=100 上年同月=100 2020年=100 北  京 99.9 104.5 105.7 100.0 104.2 105.1 100.0 104.7 105.6 天  津 99.8 103.4 104.3 99.8 104.1 104.8 100.1 104.9 106.4 石 家 庄 100.9 105.1 105.3 100.2 101.3 102.2 100.7 103.0 104.0 太  原 99.1 97.7 98.4 99.2 97.6 97.6 99.7 98.3 98.4 呼和浩特 99.2 101.2 102.1 99.7 100.9 102.4 99.9 102.0 102.8 沈  阳 100.0 101.7 103.6 99.8 103.7 106.0 100.4 104.3 106.8 大  连 99.7 105.5 107.1 100.1 105.7 107.0 100.7 107.8 109.6 长  春 100.4 100.6 102.1 100.3 100.8 101.9 100.2 100.8 102.5 哈 尔 滨 99.1 98.5 99.4 99.8 99.4 99.3 99.3 99.6 100.1 上  海 100.0 103.2 104.7 100.0 103.7 105.2 100.4 104.6 105.9 南  京 100.1 104.4 105.8 100.2 104.7 105.9 100.1 106.0 107.2 杭  州 100.3 104.7 106.9 100.5 102.9 104.5 100.2 103.7 105.2 宁  波 99.9 104.3 105.7 100.1 103.8 105.8 100.0 104.0 105.3 合  肥 100.6 105.5 106.0 100.3 105.4 106.0 100.5 106.8 107.7 福  州 100.0 106.0 106.1 100.0 105.0 106.2 100.1 105.7 107.1 厦  门 100.2 104.9 106.7 100.2 104.9 106.1 100.5 106.0 107.6 南  昌 99.9 101.6 102.1 99.9 100.8 101.3 99.8 101.9 102.2 济  南 101.0 105.7 106.0 100.2 105.5 105.8 100.4 105.5 105.4 青  岛 100.3 104.9 106.0 99.8 104.6 106.1 100.5 105.7 107.9 郑  州 99.3 102.7 103.2 99.8 103.1 103.6 99.9 101.9 102.1 武  汉 100.1 106.4 107.7 100.0 106.0 107.4 100.4 105.6 107.8 长  沙 100.1 107.1 108.8 100.3 106.9 108.4 100.6 106.8 109.3 广  州 99.6 108.2 110.1 100.0 109.1 110.3 99.9 109.4 110.5 深  圳 100.4 103.5 105.4 100.1 103.9 105.0 100.1 104.0 105.4 南  宁 99.4 102.6 104.6 99.5 102.4 104.4 100.2 104.4 106.6 海  口 100.1 104.6 105.2 100.3 106.0 107.4 100.3 104.9 105.4 重  庆 99.4 107.8 110.1 100.4 108.6 110.6 99.7 107.8 108.4 成  都 99.9 103.5 106.2 99.7 104.0 105.7 99.9 102.8 105.8 贵  阳 99.9 103.3 103.7 99.8 103.8 104.3 99.5 103.7 104.2 昆  明 99.5 104.0 104.9 99.2 100.9 102.5 99.8 102.2 103.9 西  安 100.6 106.1 109.4 100.8 107.9 110.0 100.0 107.0 108.8 兰  州 99.5 104.5 106.6 99.7 105.4 106.3 99.8 103.9 105.1 西  宁 100.5 108.8 110.1 100.2 106.8 109.0 100.2 109.7 111.2 银  川 100.5 109.0 112.9 100.6 107.5 112.5 100.6 109.3 113.4 乌鲁木齐 100.0 104.0 105.2 99.8 104.0 104.9 100.4 104.9 106.6  
表3:2021年9月70个大中城市新建商品住宅销售价格分类指数(二)
  城市 90m2及以下 90-144m2 144m2以上 环比 同比 定基 环比 同比 定基 环比 同比 定基 上月=100 上年同月=100 2020年=100 上月=100 上年同月=100 2020年=100 上月=100 上年同月=100 2020年=100 唐  山 99.4 99.7 102.6 99.3 100.2 103.5 98.8 98.3 101.6 秦 * 岛 98.9 98.0 99.4 99.6 98.3 99.8 99.8 98.5 100.0 包  头 99.7 103.5 104.3 99.7 101.3 102.4 100.0 102.0 103.7 丹  东 100.0 104.3 105.7 100.2 103.7 105.5 100.0 104.0 105.2 锦  州 100.3 103.4 105.3 100.6 104.6 106.8 100.2 105.8 106.4 吉  林 99.7 101.6 103.0 99.9 101.9 104.2 99.7 101.5 103.3 牡 丹 江 99.1 98.0 98.7 99.4 99.0 99.0 99.1 98.8 99.5 无  锡 100.4 103.3 105.9 100.3 104.6 107.1 100.9 105.7 108.5 徐  州 99.7 102.7 106.4 99.6 105.7 108.9 100.3 105.1 108.8 扬  州 99.9 107.1 109.4 99.5 107.4 108.9 99.9 106.9 108.6 温  州 100.4 103.3 105.6 100.5 103.6 105.8 100.2 104.0 105.4 金  华 100.2 105.3 107.1 100.2 105.4 107.3 100.0 104.7 106.6 蚌  埠 99.7 101.4 102.5 99.9 103.3 104.9 99.8 101.8 103.1 安  庆 100.7 99.7 98.9 100.5 100.4 99.3 100.0 99.8 98.3 泉  州 100.1 106.5 108.4 100.0 106.1 108.1 100.6 105.7 107.5 九  江 100.0 103.6 104.6 99.9 102.8 104.0 99.6 104.0 105.0 赣  州 100.4 106.2 106.6 99.9 103.4 104.4 100.0 102.1 103.9 烟  台 99.7 103.2 104.8 99.8 102.9 104.5 99.6 102.2 104.2 济  宁 100.4 108.9 110.4 100.5 108.3 110.9 100.0 108.5 110.4 洛  阳 100.1 102.2 103.2 100.3 104.2 105.0 100.3 102.3 103.4 平 顶 山 100.4 102.4 103.9 100.2 103.0 103.9 100.1 101.6 102.6 宜  昌 99.5 104.6 104.8 99.8 104.3 105.1 99.6 103.5 103.8 襄  阳 100.0 103.9 105.1 99.9 104.3 105.2 99.9 103.3 105.5 岳  阳 99.4 96.3 98.2 99.6 97.7 98.7 99.5 98.3 99.6 常  德 99.7 98.5 98.3 99.1 97.2 97.1 100.2 98.3 98.4 韶  关 99.3 104.0 103.7 99.6 102.3 102.5 99.2 102.7 102.7 湛  江 98.8 102.6 102.7 99.0 102.3 102.7 99.1 103.0 103.9 惠  州 99.6 101.9 105.3 99.8 101.6 105.0 99.1 102.6 104.6 桂  林 99.4 102.2 102.0 99.4 100.8 100.8 99.6 100.3 101.0 北  海 99.3 98.4 97.7 100.0 98.4 97.2 100.1 99.4 98.8 三  亚 100.4 106.2 108.1 100.0 104.8 106.0 100.0 104.0 104.7 泸  州 98.5 96.4 97.2 98.9 98.1 99.0 99.9 98.3 98.9 南  充 99.3 97.4 97.2 100.2 99.4 99.6 99.8 99.2 100.1 遵  义 99.9 101.4 101.6 99.7 101.4 101.5 99.9 103.6 102.0 大  理 99.7 99.5 99.8 99.3 98.1 98.5 99.9 95.8 96.8  
表4:2021年9月70个大中城市二手住宅销售价格分类指数(一)
  城市 90m2及以下 90-144m2 144m2以上 环比 同比 定基 环比 同比 定基 环比 同比 定基 上月=100 上年同月=100 2020年=100 上月=100 上年同月=100 2020年=100 上月=100 上年同月=100 2020年=100 北  京 99.6 109.6 111.2 99.9 109.9 111.3 100.0 109.8 112.2 天  津 100.3 102.0 101.1 100.9 101.3 100.3 100.7 101.9 100.0 石 家 庄 99.6 98.2 98.1 99.7 97.9 97.3 99.8 97.9 97.6 太  原 99.7 98.4 97.4 99.3 98.3 97.6 99.5 95.7 95.3 呼和浩特 99.6 98.4 98.8 99.3 98.7 99.3 99.3 97.5 98.5 沈  阳 100.0 104.4 106.2 99.9 104.2 105.8 99.7 103.4 106.1 大  连 100.1 106.2 107.5 100.3 104.3 106.8 100.6 105.7 107.7 长  春 100.0 98.4 99.0 100.2 98.9 98.8 99.9 99.0 99.5 哈 尔 滨 99.2 100.0 98.1 99.3 99.3 98.5 99.9 98.1 97.8 上  海 99.2 108.1 109.8 99.6 107.9 110.0 99.7 108.0 110.2 南  京 100.1 106.5 107.0 100.0 105.3 106.8 100.8 107.2 109.5 杭  州 99.5 106.7 108.6 100.0 106.5 108.9 99.4 106.3 109.1 宁  波 99.7 105.6 108.3 99.8 106.2 108.5 99.9 106.1 108.6 合  肥 100.0 105.1 106.0 99.6 104.9 105.6 99.7 104.6 105.8 福  州 99.8 106.1 105.9 100.0 104.8 105.2 99.6 103.7 105.1 厦  门 99.6 103.8 104.6 100.0 104.5 105.2 99.7 103.6 104.3 南  昌 99.9 100.3 99.8 99.9 101.4 100.9 99.8 100.5 100.3 济  南 99.9 101.0 100.7 99.6 101.2 100.7 99.7 100.8 100.4 青  岛 99.8 101.7 101.2 100.0 100.3 101.0 99.8 102.1 101.8 郑  州 99.9 101.7 101.1 99.7 102.2 101.1 99.4 102.4 100.8 武  汉 99.8 102.3 102.6 99.8 103.4 104.3 99.2 102.4 103.6 长  沙 100.2 106.2 106.4 100.0 106.4 106.4 100.5 106.0 106.7 广  州 99.8 109.1 111.8 99.5 110.0 112.4 99.4 110.3 112.7 深  圳 99.4 103.4 107.7 99.4 103.6 107.1 99.8 104.2 106.5 南  宁 99.8 101.2 101.8 99.6 99.7 100.5 100.3 101.4 101.9 海  口 100.8 107.0 107.8 100.4 108.4 109.3 100.4 108.5 108.2 重  庆 100.4 105.5 105.5 100.1 104.7 105.5 100.1 103.6 105.2 成  都 99.9 103.6 106.6 100.3 106.9 109.1 100.1 105.4 108.0 贵  阳 99.0 98.3 97.1 99.8 98.7 98.0 99.4 99.6 98.9 昆  明 99.4 101.0 101.5 99.9 102.1 102.8 98.9 100.4 100.8 西  安 100.1 107.7 108.5 100.1 106.4 108.1 100.6 106.3 108.6 兰  州 99.8 104.3 105.6 99.4 102.9 103.5 99.9 101.7 102.0 西  宁 100.0 107.7 109.1 100.2 104.0 106.7 100.3 105.8 107.8 银  川 100.0 105.0 107.5 99.8 105.2 108.1 99.9 106.8 109.2 乌鲁木齐 99.5 101.3 103.1 99.7 100.9 102.4 99.0 100.8 102.1  
表4:2021年9月70个大中城市二手住宅销售价格分类指数(二)
  城市 90m2及以下 90-144m2 144m2以上 环比 同比 定基 环比 同比 定基 环比 同比 定基 上月=100 上年同月=100 2020年=100 上月=100 上年同月=100 2020年=100 上月=100 上年同月=100 2020年=100 唐  山 99.2 99.9 102.1 99.8 99.5 102.0 99.2 99.4 101.4 秦 * 岛 100.0 97.5 99.4 99.4 98.8 100.2 99.5 98.3 99.1 包  头 100.0 102.9 103.5 99.5 100.0 101.5 99.8 101.3 100.9 丹  东 100.4 103.6 104.9 99.6 102.7 103.5 100.1 102.5 103.5 锦  州 99.6 98.7 98.9 99.7 98.3 98.6 99.5 98.3 99.1 吉  林 99.7 99.8 99.4 99.6 98.8 98.3 99.7 99.0 98.4 牡 丹 江 99.1 95.3 91.9 99.2 95.4 92.3 99.5 97.2 94.0 无  锡 100.3 104.9 108.1 100.1 104.8 108.2 99.5 105.2 107.7 徐  州 99.6 105.8 108.3 99.9 106.9 109.7 99.6 106.8 108.2 扬  州 100.1 105.8 106.9 99.4 106.4 107.3 99.6 106.0 107.0 温  州 99.8 105.0 106.8 99.7 104.5 106.9 99.3 104.7 106.8 金  华 99.9 105.5 107.7 99.7 105.5 107.1 99.5 105.7 106.6 蚌  埠 99.6 104.0 104.8 99.9 104.3 105.2 99.9 104.6 105.6 安  庆 99.5 96.3 96.3 99.7 97.4 97.0 99.8 95.7 95.7 泉  州 100.1 106.3 107.9 99.7 107.6 108.4 99.9 106.4 108.0 九  江 100.0 102.4 103.2 100.0 104.0 103.8 99.3 101.1 101.7 赣  州 100.3 100.3 100.9 100.0 100.4 101.7 100.2 99.8 100.3 烟  台 99.7 103.4 103.2 100.0 104.1 103.9 99.9 103.3 102.6 济  宁 100.0 102.9 104.3 100.4 104.9 106.6 100.2 104.2 105.9 洛  阳 100.2 102.7 103.5 100.0 103.8 105.1 100.3 102.7 103.8 平 顶 山 99.9 101.1 102.2 99.6 101.3 102.5 99.9 101.5 102.5 宜  昌 100.0 99.0 99.4 99.7 98.5 98.6 99.7 96.2 96.8 襄  阳 100.0 99.4 99.6 100.0 100.5 100.2 100.1 99.7 99.2 岳  阳 99.9 97.7 98.2 99.8 98.2 99.1 99.2 95.8 96.1 常  德 99.9 99.7 99.8 99.6 98.7 97.9 100.5 99.1 98.4 韶  关 99.9 101.3 102.0 99.9 101.9 101.6 99.8 100.7 101.1 湛  江 99.7 101.3 101.1 99.6 100.9 100.9 99.6 100.3 99.9 惠  州 99.6 102.6 103.7 99.7 102.4 103.4 99.9 102.2 104.8 桂  林 100.0 99.7 100.3 99.4 101.3 101.7 99.6 100.9 102.4 北  海 100.0 98.9 98.3 99.5 97.6 96.9 99.8 100.1 98.3 三  亚 100.1 107.0 105.9 100.2 105.9 106.2 100.3 104.4 104.7 泸  州 99.6 101.1 100.7 100.4 101.9 101.0 100.4 100.7 100.9 南  充 99.4 95.5 94.3 99.6 94.9 94.0 99.3 95.2 94.5 遵  义 99.5 100.3 100.3 99.8 99.1 99.6 99.5 99.1 99.3 大  理 99.5 100.1 100.9 99.4 99.8 101.0 100.0 98.9 100.4  
  附注:
 
  1.调查范围:各城市的市辖区,不包括县。
 
  2.调查方法:新建商品住宅销售价格调查为全面调查,基础数据直接采用当地房地产管理部门的网签数据;二手住宅销售价格调查为重点调查和典型调查相结合,基础数据来源于房地产经纪机构上报、相关部门提供和调查员实地采价。
 
  3.价格指数的计算方法详见《房地产价格统计报表制度》。
 
  4.如当月无成交,则视为价格总体水平无变动。
 

国家统计局城市司首席统计师绳国庆解读2021年9月份商品住宅销售价格变动情况统计数据

9月份商品住宅销售价格稳中有降 ——国家统计局城市司首席统计师绳国庆解读2021年9月份商品住宅销售价格变动情况统计数据   2021年9月份,70个大中城市商品住宅销售价格环比总体呈略降态势,同比涨幅持续回落。   一、各线城市新建商品住宅和二手住宅销售价格环比持平或下降   据测算,9月份,一线城市新建商品住宅销售价格环比由上月上涨0.3%转为持平。其中,北京环比由上月上涨0.2%转为持平;广州下降0.1%,与上月相同;上海和深圳均上涨0.2%,涨幅比上月分别回落0.2和0.8个百分点。一线城市二手住宅销售价格环比由上月上涨0.2%转为下降0.4%。其中,北京、上海和广州环比分别由上月上涨0.4%、0.2%和0.5%转为下降0.2%、0.6%和0.4%;深圳下降0.5%,降幅比上月扩大0.1个百分点。二线城市新建商品住宅销售价格环比由上月上涨0.2%转为持平;二手住宅销售价格环比由上月持平转为下降0.1%。三线城市新建商品住宅销售价格环比由上月持平转为下降0.2%;二手住宅销售价格环比下降0.2%,降幅比上月扩大0.1个百分点。   二、各线城市新建商品住宅和二手住宅销售价格同比涨幅持续回落   据测算,9月份,一线城市新建商品住宅和二手住宅销售价格同比分别上涨5.3%和7.7%,涨幅比上月分别回落0.4和1.4个百分点。二线城市新建商品住宅和二手住宅销售价格同比分别上涨4.1%和3.0%,涨幅比上月分别回落0.3和0.2个百分点。三线城市新建商品住宅和二手住宅销售价格同比分别上涨2.3%和1.4%,涨幅比上月均回落0.5个百分点。   注释:   70个大中城市房地产价格统计一二三线城市划分:一线城市指北京、上海、广州、深圳等4个城市;二线城市指天津、石家庄、太原、呼和浩特、沈阳、大连、长春、哈尔滨、南京、杭州、宁波、合肥、福州、厦门、南昌、济南、青岛、郑州、武汉、长沙、南宁、海口、重庆、成都、贵阳、昆明、西安、兰州、西宁、银川、乌鲁木齐等31个城市;三线城市指唐山、秦*岛、包头、丹东、锦州、吉林、牡丹江、无锡、徐州、扬州、温州、金华、蚌埠、安庆、泉州、九江、赣州、烟台、济宁、洛阳、平顶山、宜昌、襄阳、岳阳、常德、韶关、湛江、惠州、桂林、北海、三亚、泸州、南充、遵义、大理等35个城市。

iOS前端与后台交互技术实现及技术细节

前言: 今天由我给大家进行一场技术分享,分享的主题也是大家还没有工作或者才去工作不久或者是正处于试用期的同学非常关心的一个问题,就是我们做 iOS ,HTML5, 安卓 等 前端开发 的如何跟我们的公司后台进行交互.
面临后台我们应该说些什么?

应该怎么去规避一些不该属于自己的任务而被后台强加于自己?等等问题。

 

前端请求数据的URL由谁来写?

在开发中,URL主要是由后台来写的,写好了给前端开发者.

如果后台在查询数据,需要借助查询条件才能查询到前端需要的数据时,这时后台会要求前端提供相关的查询参数,例如:

  select “产品图片”,”优惠[买2送花茶]”,”产品名称”,”商品价格”,”是否包邮” from tb_goodList where time= “传递过来的参数”   如果没有后面的查询条件,就会查询到所有的时间的数据,前端则需要的是某一天的数据,这时前端就需要把时间当做参数传递给后台,后台根据这个参数再进行数据查询.返回前端页面需要的数据.例如:   http://www.hehe168.com/goodList.PHP?time=”2016-05-12 00:00:00″

接口文档主要由谁来写?

 

接口文档也是主要由后台开发者来写的,因为直接跟数据打交道的就是后台,后台是*清楚,数据库里面有什么数据,能返回什么数据.前端开发只是数据的被动接受者.所以接口文档也主要是由后台来完成的,前端只是接口文档的使用者,使用过程中,发现返回的数据不对,则需要跟后台进行商量,由后台来修改.切记前端不要随意更改接口文档,除非在取得后台开发人员的同意的情况下.

总的来讲,接口文档主要由后台来设计,修改,前端开发者起到了辅助的作用。

交互的数据格式主要是JSON数据,XML用的*少。

前端开发的后台交互原理?

在项目的时候,我们前后端会大概说一下接口地址,前端请求的参数,后端返回的参数,然后大家就开始写,写的差不多的时候,大家调一下接口看一下返回的数据,没问题就可以了。

前端请求参数的形式

GET和POST是HTTPS的两个常用方法。
GET – 从指定的服务器中获取数据
POST – 提交数据给指定的服务器处理

GET方法特点:
使用GET方法时,查询字符串(键值对)被附加在URL地址后面一起发送到服务器:
/test/demo_form.jsp?name1=value1&name2=value2
特点:
GET请求能够被缓存
GET请求会保存在浏览器的浏览记录中
以GET请求的URL能够保存为浏览器书签
GET请求有长度限制
GET请求主要用以获取数据

POST方法:
使用POST方法时,查询字符串在POST信息中单独存在,和HTTP请求一起发送到服务器:
POST /test/demo_form.jsp HTTP/1.1
Host: w3schools.com
name1=value1&name2=value2
特点:
POST请求不能被缓存下来
POST请求不会保存在浏览器浏览记录中
以POST请求的URL无法保存为浏览器书签
POST请求没有长度限制(理论上是没有的,但是不同的服务器是存在不同限制的)

前台应该告知后台哪些信息,后台才能返回前段想要的数据呢?

前端需要对一个页面展示的数据进行有效的分析,把需要的数据都记下来,然后告知后台。如例子所示:

以这个图为例:我们可以把这个页面划分为三个部分:

1.轮播图。2.商品种类部分。3.每日推荐。

%title插图%num

如何把这些页面信息有效的传达给后台以及后台如和获取数据?

1) 轮播图部分

前端部分:我页面需要今天产品的*新图片地址,URL中的参数主要是根据后台需要,如果后台需要前端传递一个时间,才能够查询到具体的图片信息,那么前端在数据请求时请求参数就应该包含时间的参数,例如:

URL:http://www.hehe168.com/GetPicture.php    或者:http://www.hehe168.com/GetPicture.php?time="2016-05-1200:00:00"

后台部分:就会去数据库里面去查找相应的数据表中的例如轮播图表,查询条件就是前端传递过来的URL参数time例如:

select “轮播图片”from tb picture where time = “2016-05-12 00:00:00”

2)商品种类部分

包含:

1)标题图片 2)标题

这些内容在后台数据库表的设计中也是一个单独的数据库表进行存储,对于后台来讲查询和取得数据是非常容易的.所以后台只需要设计个URL给前端就可以了,如果需要什么辅助参数,后台会直接向前端要求的.例如:
URL形式:

URL:http://www.hehe168.com/variety.php 或者http://www.hehe168.com/variety.php?time="2016-05-12 00:00:00"

3)每日推荐部分

包含哪些内容:

  1. 1)产品图片
  2. 2)优惠[买2送花茶]
  3. 3)产品名称
  4. 4)商品价格
  5. 5)是否包邮

前端把这些信息告知后台,后台看到这些信息后,会去相对应的数据库去查询,如果这些数据后台很容易获取到,会直接给个URL给前端.否则就需要前端通过URL来传递一些参数.
URL形式:

  1. URL:http://www.hehe168.com/goodList.php
  2. 或者http://www.hehe168.com/goodList.php?time=“2016-05-12 00:00:00&clases=”

 

所以总的来讲:所有前端请求的URL后面的参数,都是辅助后台数据查询的.如果不需要参数,那么后台就会直接给个URL给前端.

前端应该如何规避一些本不属于自己的一些任务或者功能呢?

在与后台打交道中,我们经常遇到这种情况,有时候明明后台来处理某个事件很简单,后台非要你来做,这时候我们应该懂得去回*他.

应该怎么拒*?

这可能对于之前没做过项目,或者没与后台打交道的人来讲非常头痛的事,这就需要我们对一个需求,一个任务的要有清晰认识了,如果对任务含糊不清,自己都没搞明白,你只能受后台摆布了.*后也会因为任务没有完成而备受责难了.在这里就不给大家举例子了.

 

在这里给大家一些建议,也就是在与后台打交道时,不要轻易的承诺,对很多自己熟悉的需求或功能点,自己可以立刻答应下来,对那些模糊不清,记下来,回去百度,看看具体原理是什么,是不是该前端这边去实现或者实现起来非常困难,那么想想后台是否做起来很方面,去跟后台商量.

当前端在调用数据接口时,发现有些数据不是我们想要的,那么前端应该怎么办呢或者怎么跟后台讲呢?

解决办法:1,首先要把请求的URL和返回的数据以及在页面的展示的情况给跟后台看,这样有理有据,后台开发人员是不会说什么的,否则,后台会很不耐烦的,甚至骂你的可能都有,本身做后台比较难,尤其在查询数据,取数据,封装数据方面都比较难处理。

Web前端开发与iOS终端开发的异同

语言

前端和终端作为面向用户端的程序,有个共同特点:需要依赖用户机器的运行环境,所以开发语言基本上是没有选择的,不像后台想用什么就用什么,iOS只能用Objective-C,前端只能javascript,当然iOS还可以用RubyMotion,前端还能用GWT/CoffieScript,但不是主流,用的人很少,真正用了也会多出很多麻烦。

这两者有个有意思的对比:变量/方法命名的风格正好相反。苹果一直鼓吹用户体验,写代码也不例外,程序命名都是用英文全称并且要多详细有多详细,力求看变量和方法名就能知道是干嘛的,例如application:didFinishLaunchingWithOptions:。而js因为每次都要从网络下载,要力求减少代码体积,所以变量方法名是尽量用缩写,实际上有代码压缩工具,无论变量名写多长*终上线的效果是一样的,但大家也都习惯了用短的命名,例如上述objc的application:didFinishLaunchingWithOptions:方法在js里习惯的命名是:$()。

objc与js都是动态语言,使用起来还蛮像,但objc是编译型,速度快,很多错误也能在编译过程中被发现,js是解释型,性能依赖于解释引擎,即使在强劲的v8引擎下性能也赶不上编译型语言,语言太动态,变量完全没有类型,写起来爽,debug起来稍微费点劲。一直感觉js轻巧灵活放荡不羁充满各种奇技淫巧,objc中规中矩没c++ java那么严肃也没有js那么灵活。

线程

前端开发几乎不需要线程这个概念,浏览器实现上页面HTML和CSS解析渲染可能与js不在同一个线程,但所有js代码只执行在一条线程上,不会并发执行,也就不需要考虑各种并发编程的问题。在新的JS特性中可以创建worker任务,这样的任务是可以另起一条线程并行执行的,但由于并不是所有浏览器都支持,不同线程传递数据各个标准定的还不一样,使用场景也少,似乎没有大规模用起来。对于数据库操作/发送网络请求这样的任务是在不同于js代码执行线程的,不过这些都由浏览器管理,前端无需关心也无法影响这些线程,只需接收事件回调,不需要处理任何并发问题。

终端开发需要大量使用多线程,iOS有一条主线程,UI渲染都在这个线程,其他耗时长的逻辑或者数据库IO/网络请求都需要自己另开线程执行,否则会占用主线程的时间,导致界面无法响应用户交互事件,或者渲染慢导致滚动卡顿。程序逻辑分布在多个线程里跑,需要处理好各种代码并发执行可能带来的数据不一致/时序错乱之类的问题,并发也导致有些bug难以排查,一不留神就掉坑,需要适当用一些队列/锁保证程序的执行顺序。iOS提供了一套多线程管理的方法GCD,已经把线程和队列封装得非常简单易用功能强大,比其他端或后台是好很多了,但还是会花大量功夫在处理多线程问题上。

存储

终端开发需要大量的数据存储逻辑,手机APP不像浏览器,用户打开浏览器必定是连着网,但打开一个APP时很可能是离线,也很可能处于网络状况*差的移动GPRS,所以必须把之前请求回来的数据保存好。保存数据后又需要与服务端*新的数据同步,如果全量同步数据量太大,耗流量速度也慢,于是需要增量同步,需要与服务端一起制定实现增量数据返回的方案,需要处理好客户端与服务端数据一致性的问题。当数据存储量大结构复杂时,还需要利用好有限的内存做cache,优化各类存储查询性能。

前端在桌面端很少需要存储,除非是Single Page App,不存储自然就不需要数据更新的一系列工作,数据都是从后台取出拼接后直接显示到页面上,即使像微博有可以在页面内不断加载更多数据,数据也只存在于内存,不会持久化存储,因为桌面端网速稳定,不计流量,所有数据可以直接从后端拿取,客户端没必要再做一套存储。移动端那些做得很像原生APP的Web应用就跟终端开发一样了,数据同样保存到SQLite,存储逻辑以及要处理的问题都差不多。

框架

在第三方框架上Web前端和iOS开发完全相反,Web原生弱小又十分开放,让大量第三方框架和类库可以施展拳脚,而iOS原生强大又十分封闭,导致第三方框架没有多少生存空间。

浏览器一开始只为内容型的网页而设计,js也只是这个网页上能加点小特效的脚本语言,在Web应用时代跟不上发展,需要很多第三方库和框架辅助,再加上前端开发是完全开放的领域,导致库和框架百花齐放多如牛毛,在初期多数库的作用集中在封装dom操作,大家不断重复造dom操作基础库的轮子,在一段时间百家争鸣后独尊jQuery,在有使用库的网站中90%以上使用jq,几乎成了个标准基础库。后期大家已经不再重复造这个基础库的轮子了,多了一些代码组织和前端架构的框架,例如一些帮助项目模块化的框架require.js,MVC框架backbone/angular.js等。

iOS开发苹果已提供了完整的开发框架cocoa,而这框架在每一代系统中都在升级优化和添砖加瓦,开发模式也已经定型,第三方框架没有多少生存空间,大量流行的开源项目是一些通用组件和库,像网络请求库AFNetworking,数据库操作库FMDB。而一些大的框架像beeFramework/ReactiveCocoa较难流行起来。

兼容

前端开发需要兼容大——量的浏览器,桌面的chrome,safari,ie6-ie10,firefox,以及各种套壳猎豹360等浏览器,移动端iOS/Android各自的浏览器,以及无限的不同的屏幕尺寸。看起来挺可怕,实际上也没那么难搞,只是拿出来吓唬下人。桌面端chrome/safari以及各种套壳的*速模式用的都是Webkit,差异很小,firefox也大体遵从标准实现,与Webkit差别不大,旧的ie6/7就需要特别照顾,不过很多网站都不支持ie6了,移动端更是一家亲,全是Webkit,除了新特性上的支持程度不一,其他差异不大。对于不同的屏幕尺寸,高端点的会用响应式布局,针对不同屏幕尺寸自适应到不同布局,一般点的桌面端定死宽度,移动端拉伸自适应宽度就搞定。

终端开发也需要兼容各种不同的系统版本和手机尺寸,Android不用说,iOS也有3.5/4/4.7/5.5/9.7英寸这些尺寸,不过兼容起来跟Web一样挺容易,就是自适应宽度,iOS的UIKit把这些都处理好了,还有autolayout,sizeClass等高级特性可用,在尺寸上并不用花太多功夫。系统版本上iOS7为分水岭,iOS7前后版本UI上差异比较大,需要做一些功夫兼容,不过iOS用户更新换代很快,预计再过一两年iOS7以下用户就可以忽略了。

性能

终端和前端都是面向用户的,性能优化目的都是尽快呈现内容,以及让程序在用户操作下流畅运行。终端主要关注的是存储/渲染性能。当一个APP存储数据量大,数据关系复杂时,数据查询很容易成为性能瓶颈,需要不断优化数据存取的效率,规划数据IO线程,设计内存cache,利用好终端设备有限的内存,渲染上避免重复渲染,尽可能复用视图,寻找*高效的渲染方案。

前端关注页面加载速度,由于Web页面的结构/样式/程序/资源图片都是实时请求的,要让页面更快呈现内容,就要优化这些请求,让这些资源以*快速度加载下来,包括合并图片/合并代码减少请求数,压缩代码,并行请求,根据版本号缓存代码请求,gzip压缩,模块/图片懒加载等。此外跟终端一样也关注渲染性能,遵从一些规则避免页面reflow,避免使用CSS阴影这样耗性能的特效,用CSS3动画代替js等。

编译

终端开发需要编译的过程,把程序编译成机器语言,再与各种库链接后生成平台对应的可执行文件,*后由操作系统调度执行。在iOS终端开发中编译和链接的规则苹果已经在xcode这个开发工具上封装好,一般开发可以不用关心,但有深层需求时还是需要跟编译打很多交道,例如用编译前端Clang自定义静态代码检测规则,写编译脚本做自动化编译和持续集成,打包生成静态库,根据链接后的可执行文件的组成优化APP体积等。

前端开发的程序则不需要编译过程,只需要把代码扔给浏览器,浏览器边解析代码边执行。虽然js/css代码写完无需做任何事情浏览器就可以解析执行,但为了上面说的性能优化,前端代码上线前会对所有代码和资源文件进行处理,这些处理包括:压缩合并js/css,合并css sprite图,处理模块依赖,处理代码资源版本号,处理资源定位等。这个过程很像传统程序的编译,把给人看的代码优化处理成给机器看的,并解决一些依赖关系,可以算是前端的编译过程。像grunt.js/fis这些工具可以帮助完成这个编译过程,通常前端编译跟上线部署结合在一起,作为上线系统的一部分。

安全

前端和终端的安全性问题上虽然不需要像后端考虑得那么多,但还是有些需要注意。在请求的安全上,终端和前端都一样,用户向后端发送的请求都需要经过层层路由,不知道在哪里就被截获篡改或回放了,于是需要做一些措施防御这些情况,*常见的就是身份验证,多是采用会过期的token形式代替用户名密码,防止被抓包后黑客可以永远登陆这个账号。数据安全要求高的会用加密传输,或者使用https,另外还需要看情况处理一些DNS劫持,运营商广告植入等问题。

其他安全问题终端很少考虑,在未越狱的iOS机器上系统已经帮忙保证了整个APP运行环境的安全,而在越狱的机器下恶意程序拥有root权限可以做任何事情,APP也难以防范。前端方面浏览器的特性使前端开发有几个安全隐患,一是Web页面上任意位置都可以动态插入js代码,浏览器会无区别地执行这些代码,二是身份验证信息都统一保存在cookie里,三是页面上可以随意通过iframe嵌入其他网站的页面。造成XSS、CSRF、cookie劫持这些攻击手段,所以前端写代码时都需要考虑还这些安全问题,做好相应的防范,*简单和重要的防范就是对所有用户输入输出的内容做完整的过滤,避免页面内被嵌入恶意代码。

交互/开发

*后说下对这两个领域在交互和开发上的个人感触。以前在做Web前端时,感觉Web让人机交互倒退了十年,交互都是硬邦邦的点击—啪一下出来结果,滚动是一格格地刷新,很多人当时在鼓吹html5可以做出多么炫的效果时,实际上FLASH在十年前就可以做出来了,还比*现代的浏览器更流畅。iPhone流行后,人机交互终于恢复了应有的水平,体验上比Web流畅太多,指尖交互/流畅的动画/便捷的滑动手势/无限制的实现,主流终于恢复或超越了十年前Flash的水平。

但人机交互提升了,开发方式却大倒退,Web的开发方式非常先进,用户用到的都是*新版本,发现bug可以马上上线秒修复,特别适用于互联网环境下的快速迭代,而终端APP不行,撇开iPhone的审核不说,Android也无法做到保证用户用的是*新的程序,用的都是传统的客户端更新的方式,bug的修复版无法及时给到用户,无法一天上线几十次,需要维护很多旧版本,开发方式倒退回Web时代以前。这都是因为移动网络不稳定以及流量有限造成的,移动端无法像桌面端浏览器那样完全依赖网络,所以在移动网络稳定流量免费之前,开发方式都不会有多大变化。

另外并不看好HTML5,网络上说它可以取代APP说了三四年,到现在也没什么战绩,我看不到它的优势,原生APP可以获得更多的系统资源,更流畅的人机交互体验,HTML5在这方面永远比不上,而它在移动端网络和流量的限制下也无法发挥Web的开发优势,所以它不会成为主流,只适合做一些轻量的小东西。

iOS前端跨域

今天在开发的时候遇到个跨域,苹果手机 在测试环境正常,生产环境不正常。安卓手机在测试环境和生产环境都正常。

这个问题,排查了好久。

*后发现,生成环境下,页面域名是https开头的,而跨域请求的文件地址是http开头的。*后将文件地址也改成了https开头,就解决了这个问题。

iOS的安全策略显然比安卓更激进。https下的跨域访问,必须是https才行。

IOS声音的转换

http://bbs.weiphone.com/read-htm-tid-271492.html

http://www.erightsoft.org/GetFile.php?SUPERsetup.exe

转成caf格式的就行。

// 2个字 坑爹啊

II goldwave

http://www.cncrk.com/downinfo/1196.html
*终采用II
.OGG 转换成8位  立体声 16000 aiff
OPENAL可以直接用aiff格式的音乐文件

赵同录:经济运行继续保持恢复态势

今年前三季度,在以*同志为核心的党中央坚强领导下,各地区各部门认真贯彻落实党中央、国务院决策部署,统筹推进疫情防控和经济社会发展,我国经济保持稳步恢复,发展质量进一步提高。 一、经济运行保持平稳,发展韧性持续显现 三季度,我国国内生产总值(GDP)为290964亿元,按不变价格计算,同比增长4.9%,两年平均增长4.9%(按2020年三季度、2021年三季度两年同比速度的几何平均值测算,下同);环比增长0.2%。其中,*产业增加值为23028亿元,同比增长7.1%,拉动经济增长0.6个百分点;第二产业增加值为113786亿元,同比增长3.6%,拉动经济增长1.3个百分点;第三产业增加值为154150亿元,同比增长5.4%,拉动经济增长2.9个百分点。三次产业增加值占GDP的比重分别为7.9%、39.1%和53.0%。与上年同期相比,第二产业比重提高1.3个百分点,*、三产业比重分别下降0.4、0.9个百分点。 前三季度,我国GDP为823131亿元,按不变价格计算,同比增长9.8%,两年平均增长5.2%。其中,*产业增加值为51430亿元,同比增长7.4%,两年平均增长4.8%;第二产业增加值为320940亿元,同比增长10.6%,两年平均增长5.7%;第三产业增加值为450761亿元,同比增长9.5%,两年平均增长4.9%。 二、生产形势总体良好,恢复基础进一步夯实 夏粮、早稻实现双增产,畜牧业生产快速增长。三季度,农林牧渔业增加值同比增长7.1%,拉动经济增长0.6个百分点,两年平均增长5.5%;其中畜牧业拉动农林牧渔业增加值增长4.3个百分点,贡献率达到61.5%。工业生产稳定增长,三季度工业增加值同比增长4.9%,拉动经济增长1.5个百分点,两年平均增长5.2%。批发和零售业,交通运输、仓储和邮政业,住宿和餐饮业增加值同比分别增长7.6%、5.9%和5.7%,带动服务业继续回暖。信息传输、软件和信息技术服务业持续较快增长,增加值同比增长17.1%,拉动经济增长0.6个百分点。 前三季度,工业,批发和零售业,交通运输、仓储和邮政业,住宿和餐饮业以及信息传输、软件和信息技术服务业发展较快,增加值同比分别增长12.0%、13.5%、15.3%、19.4%和19.3%,合计拉动经济增长6.6个百分点,对经济增长的贡献率达67.7%。 三、消费“压舱石”作用显著,投资和净出口支撑有力 消费保持平稳增长,是拉动经济增长的主要动力。受国内疫情汛情等因素影响,居民出行、娱乐等消费需求受到抑制,但消费持续恢复态势没有改变,仍保持稳定增长。前三季度,*终消费支出对经济增长贡献率为64.8%,拉动GDP增长6.3个百分点,两年平均拉动GDP增长2.3个百分点。其中,三季度*终消费支出对经济增长贡献率为78.8%,拉动GDP增长3.8个百分点,两年平均拉动GDP增长2.6个百分点。前三季度,全国居民人均消费支出实际增长15.1%,两年平均实际增长3.7%。 投资需求基本稳定,助力经济平稳运行。受去年同期基数影响,加之房地产金融和土地等调控政策效应显现,固定资产投资稳中趋缓。前三季度,资本形成总额对经济增长贡献率为15.6%,拉动GDP增长1.5个百分点,两年平均拉动GDP增长1.7个百分点。其中,三季度资本形成总额对经济增长贡献率为-0.6%,两年平均拉动GDP增长1.1个百分点。前三季度,全国固定资产投资(不含农户)同比增长7.3%,两年平均增长3.8%。 净出口需求快速增长,是经济的有力支撑。虽然今年以来外部环境更趋复杂严峻,但外贸进出口继续保持较快增长,展现了较强韧性。前三季度,货物和服务净出口对经济增长贡献率为19.5%,拉动GDP增长1.9个百分点,两年平均拉动GDP增长1.1个百分点。其中,三季度货物和服务净出口对经济增长贡献率为21.7%,拉动GDP增长1.1个百分点,两年平均拉动GDP增长1.2个百分点。据海关统计,前三季度,我国货物贸易顺差2.8万亿元,顺差同比扩大;据外汇管理局统计,1—8月份,我国国际收支口径的国际服务贸易逆差3991.9亿元,逆差同比明显收窄。 四、创新动能不断增强,新业态新模式持续活跃 创新引领带动作用日益凸显,新兴产业发展向好。前三季度,规模以上高技术制造业和装备制造业增加值同比分别增长20.1%和16.2%,分别高于全部规模以上工业增加值增速8.3和4.4个百分点。服务业重点领域企业营业收入保持正增长,1—8月份,规模以上高技术服务业和科技服务业营业收入同比分别增长22.0%和22.6%;两年平均分别增长15.4%和15.0%,分别高于全部规模以上服务业营业收入两年平均增速4.7和4.3个百分点。网络零售保持恢复性增长,前三季度,全国实物商品网上零售额同比增长15.2%,两年平均增长15.3%,拉动社会消费品零售总额增长3.6个百分点。 (作者系国家统计局国民经济核算司司长) (原文链接:http://www.ce.cn/xwzx/gnsz/gdxw/202110/19/t20211019_37005032.shtml)

王明华:全年粮食有望再获好收成 畜牧业生产持续增长

前三季度,各地区各部门认真贯彻落实党中央、国务院关于农业发展的重大决策部署,毫不松懈抓紧抓实粮食生产,夏粮早稻实现双增产,秋粮丰收在望,全年粮食有望再获好收成;生猪产能加快释放,畜牧业生产保持较快增长;主要农产品市场供给充足,农产品价格稳中有降。 一、秋粮丰收在望,全年粮食生产将再获好收成 夏粮早稻合计增产73.8亿斤。2021年全国夏粮早稻产量合计3477亿斤,比2020年增长2.2%。其中,夏粮得益于单产和播种面积双提高,产量增长2.1%;早稻因单产恢复性增长,产量增长2.7%。 秋粮生产形势总体较好。从播种面积看,今年各地层层压实粮食生产责任,加大对粮食生产扶持力度,加上种植效益提升等因素带动,农户种粮意愿增强,秋粮播种面积呈扩大态势。从单产看,今年农业气候条件总体有利秋粮作物生长,虽然河南、山西等地遭受持续强降雨,局部灾情偏重发生,粮食生产受到不利影响,但从全国来看总体灾情与往年相比要轻。同时今年高产作物玉米播种面积增加较多有利于秋粮单产提高。目前各地克服各种困难秋粮正陆续收割,预计将再获丰收,全年粮食有望获得好收成。 二、生猪产能加快释放,畜牧业生产持续增长 前三季度,全国猪牛羊禽肉产量6428万吨,比上年同期增加1176万吨,增长22.4%。猪肉产量大幅增长,牛羊禽肉产量稳定增长,禽蛋产量有所下降,牛奶产量较快增长。 生猪产能加快释放,生猪出栏同比大幅增长。前三季度,生猪出栏49193万头,比上年同期增长35.9%,增速比上半年进一步加快1.5个百分点;猪肉产量3917万吨,增长38.0%。三季度末,生猪存栏43764万头,同比增长18.2%,比二季度末略降0.3%;其中,能繁殖母猪存栏4459万头,同比增长16.7%,比二季度末下降2.3%。 牛羊禽肉、牛奶产量增加,禽蛋产量略有减少。前三季度,全国牛肉产量468万吨,比上年同期增加17万吨,增长3.9%;羊肉产量341万吨,增加17万吨,增长5.3%;禽肉产量1702万吨,增加63万吨,增长3.8%;禽蛋产量2434万吨,减少59万吨,下降2.4%;牛奶产量2514万吨,增加186万吨,增长8.0%。 三、农产品市场供给充足,农产品生产者价格由涨转降 三季度,全国农产品生产者价格同比下降8.0%,由一季度上涨7.8%,二季度上涨0.1%转为下降。其中,农业产品价格上涨6.5%,涨幅比二季度回落4.8个百分点;林业产品价格上涨6.6%,涨幅扩大1.9个百分点;渔业产品价格上涨10.2%,涨幅回落7.1个百分点;受生猪价格大幅下跌影响,饲养动物及其产品价格下降29.0%,降幅扩大13.4个百分点。 分品种看,三季度,谷物生产者价格同比上涨9.8%,涨幅比二季度回落10.2个百分点,其中玉米价格上涨21.0%,涨幅回落11.8个百分点;蔬菜价格下降1.8%;水果价格上涨4.8%;生猪价格下降55.5%,降幅比二季度扩大22.1个百分点。 (作者系国家统计局农村司副司长)
(原文链接:http://www.ce.cn/xwzx/gnsz/gdxw/202110/19/t20211019_37005033.shtml)

友情链接: SITEMAP | 旋风加速器官网 | 旋风软件中心 | textarea | 黑洞加速器 | jiaohess | 老王加速器 | 烧饼哥加速器 | 小蓝鸟 | tiktok加速器 | 旋风加速度器 | 旋风加速 | quickq加速器 | 飞驰加速器 | 飞鸟加速器 | 狗急加速器 | hammer加速器 | trafficace | 原子加速器 | 葫芦加速器 | 麦旋风 | 油管加速器 | anycastly | INS加速器 | INS加速器免费版 | 免费vqn加速外网 | 旋风加速器 | 快橙加速器 | 啊哈加速器 | 迷雾通 | 优途加速器 | 海外播 | 坚果加速器 | 海外vqn加速 | 蘑菇加速器 | 毛豆加速器 | 接码平台 | 接码S | 西柚加速器 | 快柠檬加速器 | 黑洞加速 | falemon | 快橙加速器 | anycast加速器 | ibaidu | moneytreeblog | 坚果加速器 | 派币加速器 | 飞鸟加速器 | 毛豆APP | PIKPAK | 安卓vqn免费 | 一元机场加速器 | 一元机场 | 老王加速器 | 黑洞加速器 | 白石山 | 小牛加速器 | 黑洞加速 | 迷雾通官网 | 迷雾通 | 迷雾通加速器 | 十大免费加速神器 | 猎豹加速器 | 蚂蚁加速器 | 坚果加速器 | 黑洞加速 | 银河加速器 | 猎豹加速器 | 海鸥加速器 | 芒果加速器 | 小牛加速器 | 极光加速器 | 黑洞加速 | movabletype中文网 | 猎豹加速器官网 | 烧饼哥加速器官网 | 旋风加速器度器 | 哔咔漫画 | PicACG | 雷霆加速