后端
文章平均质量分 79
hu19930613
这个作者很懒,什么都没留下…
展开
-
JWT通用版,JAVA、PHP、JS均可使用
最近想记录一下过往的内容,顺带记录一下通用JWT写法。网上有许多内容重叠并且说不上重点,还有部分内容错误,本人做一下整理。JWT的原理不想多说,网上一大推。https://jwt.io/ 这个网站可以做校验Java版pom.xml 先上依赖 <!-- JWT依赖--> <dependency> <groupId>io.jsonwebtoken</groupId> ...原创 2021-06-27 12:40:54 · 1218 阅读 · 1 评论 -
互联网架构“高并发”解决思路
20年没写过啥内容,做一下知识回顾吧,标题可能有点“标题党”,见谅。高并发的简易理解:保证系统能够同时并行处理的很多的请求。高并发,高可用,高效率三个名词是个有侧重。简称“三高”,是系统架构设计的高级要求。今天侧重讲一下《高并发》。高并发四大要素:1-》响应时间:系统对进来的请求反应的时间,比如你打开一个页面需要1秒,那么这1秒就是响应时间。2-》吞吐量:单位时间内处理的请求数量。好比你吃饭,每秒能吃下多少颗米饭。3-》秒查询率:秒查询率是指每秒响应请求数,和吞吐量差不多..原创 2020-10-27 22:50:14 · 726 阅读 · 2 评论 -
阿里云的语音识别 - php环境下RESTful API执行,无须任何阿里云SDK支持。
最近使用语音识别接口,发现百度云的api比较建议明了,由于大部分业务在阿里云上使用。为了避免多账户的结算问题,所以打算切换使用。同时阿里云的费用更低,在同阿里云环境下网络延时更低,体验更好。不过有一说一,百度云语音识别项目初期很好使用。在官方网站下,发现某些使用不太友好,sdk也过于庞大。有些没有注释导致不好辨别。后发现不管是什么代码,本质上都是在做web下的http请求,无关乎代码类别。所以...原创 2019-10-30 15:23:09 · 1584 阅读 · 0 评论 -
APIGateway 简介
转自:http://blog.csdn.net/Tredemere/article/details/78246413APIGateway 简介1. APIGateway是什么 APIGateway 即API网关,所有请求首先会经过这个网关,然后到达后端服务,有点类似于Facade模式。API网关作为系统接口对外的统一出口,可以减少调用方对服务实现的感知。 没有API网关时的结系统构如下图:由图可...转载 2018-03-19 13:53:21 · 232 阅读 · 0 评论 -
从普通JAVA程序员到阿里架构师,他用了六年
工作年限:8 年服务公司:4 家(含四大门户中的两家)最近职业:Java 架构师职场关键词:社交平台、高并发系统架构设计、技术团队管理、多款从零到一的产品城市!六年间,这位职人呆过四大门户中的两家,完成了工程师到架构师的蜕变。经手多款从零到一产品的开发和增长,也经历国内最大社交平台亿级流量和用户的架构设计及优化工作。工作上思路清晰、认真负责,是同事们心目中优秀 Problem Solver。问:介...转载 2018-04-27 13:09:24 · 209 阅读 · 0 评论 -
代码优化---循环展开
今天在看阿里技术公众号的文章-》含代码 | 支付宝如何优化移动端深度学习引擎?发现了一个有意思名称-》循环展开,就搜索了下。 放一下搜索后的内容和自己的想法。 原文地址 代码细节的终极优化之循环展开、多路并行void combine5(double data[],int length){ double sum = 0.0; for(int i=0;i...原创 2018-06-26 10:10:38 · 3498 阅读 · 2 评论 -
关于session原理 与保存跨服务共享
内容转载两部分。(一)session原理及实现共享(二)关于用户登录状态存session,cookie还是数据库或者memcache的优劣 (一)问题描述:一个用户在登录成功以后会把用户信息存储在session当中,这时session所在服务器为server1,那么用户在session失效之前如果再次使用app,那么可能会被路由到server2,这时问题来了,server没有该...转载 2018-07-27 08:45:30 · 1014 阅读 · 0 评论 -
数据库系统---故障与恢复
故障与恢复 数据库的故障可用事务的故障来表示,主要分为四类: (1)事务故障。事务在运行过程中由于种种原因,如输入数据的错误、运算溢出、违反了某些完整性限制、某些应用程序的错误,以及并发事务发生死锁等,使事务未运行至正常终止点就被撤销,这种情况称为“事务故障”。 (2)系统故障。系统故障是指系统在运行过程中,由于某种原因(如操作系统或数据库管理系统代码错误、操作员操作...原创 2018-08-22 20:24:21 · 14483 阅读 · 0 评论 -
数据库系统---备份与恢复
备份与恢复 数据库中的数据一般都十分重要,不能丢失,因为各种原因,数据库都有损坏的可能性(虽然很小),所以事先制定一个合适的、可操作的备份和恢复计划至关重要。备份和恢复计划的制订要遵循以下两个原则: (1)保证数据丢失的情况尽量少或完全不丢失,因为性价比的要求,这要取决于现实系统的具体要求。 (2)备份和恢复时间尽量短,保证系统最大的可用性。数据库备份按照不同方式可分...原创 2018-08-22 20:25:57 · 3095 阅读 · 1 评论 -
数据库系统---数据库管理系统的类型
随着应用系统的规模越来越大,现在的系统开发大部分都是基于数据库的应用,因此,作为一名系统架构设计师,要熟练地掌握数据库系统的设计方法和技术。 本章在宏观上就系统架构设计师必须要掌握的内容进行介绍,有关细节方面的知识,如果读者感兴趣,可以参考数据库专业教程。 数据库管理系统的类型 数据库管理系统的类型通常有多个分类标准。如按数据模型分类、按用户数分类、按数据库分布站点分类等...原创 2018-08-22 20:27:18 · 4088 阅读 · 0 评论 -
数据库系统---数据库模式与范式
数据库模式与范式 数据库模式与范式是数据库系统中的两个重要概念,是进行数据库设计的基础。1.数据库的结构与模式 数据库技术中采用分级的方法将数据库的结构划分为多个层次。最著名的是美国ANSI/ SPARC 数据库系统研究组 1975年提出的三级划分法,如图 3-1 所示。 1.三级抽象 数据库系统划分为三个抽象级:用户级、概念级、物理级。 ...原创 2018-08-22 20:30:37 · 752 阅读 · 0 评论 -
数据库系统---分布式数据库系统
分布式数据库系统 近年来,随着计算机技术与网络技术的发展,特别是 Internet 的兴起,分布式数据库系统得到了很快的发展和应用。1 分布式数据库的概念 分布式数据库系统是相对于集中式数据库系统而言的,是将数据库技术与网络技术相结合的产物。分布式数据库(Distributed DataBase,DDB)比较确切的定义是:分布式数据库是由一组数据组成的,这组数据分布在计算...原创 2018-08-23 11:57:41 · 11569 阅读 · 0 评论 -
数据库系统---数据仓库
数据仓库 传统的操作型数据库主要是面向业务的,所执行的操作基本上也是联机事务处理,但随着企业规模的增长,历史积累的数据越来越多,如何利用历史数据来为未来决策服务,就显得越来越重要了,而数据仓库就是其中的一种技术。1 数据仓库的概念 著名的数据仓库专家 W.H.Inmon 在《Building the Data Warehouse》一书中将数据仓库定义为:数据仓库(Data ...原创 2018-08-23 12:00:22 · 1037 阅读 · 0 评论 -
数据库系统---数据挖掘
数据挖掘 随着数据库技术的迅速发展及数据库管理系统的广泛应用,人们积累的数据越来越多。激增的数据背后隐藏着许多重要的信息,人们希望能够对其进行更高层次的分析,以便更好地利用这些数据。目前的数据库系统可以高效地实现数据的录入、查询、统计等功能,但无法发现数据中存在的关系和规则,无法根据现有的数据预测未来的发展趋势。缺乏挖掘数据背后隐藏的知识的手段,导致了“数据爆炸但知识贫乏”的现象。...原创 2018-08-27 21:10:54 · 3195 阅读 · 0 评论 -
数据库系统---NOSQL、大数据
NoSQL NoSQL 即 Not Only SQL,可直译“不仅仅是 SQL”,这项技术正在掀起一场全新的数据库革命性运动。 数据的模式包括多种类型,如层次模型、网状模型、关系模型等,而在实际应用过程中,几乎都是在用关系模型,主流的数据库系统都是关系型的。但随着互联网 web2.0 网站的兴起,传统的关系数据库在应付 web2.0 网站,特别是超大规模和高并发的 SNS 类型...原创 2018-08-27 21:12:41 · 2881 阅读 · 1 评论 -
计算机网络---网络架构与协议
从古代的驿站、八百里快马,到近代的电报、电话,人类对于通信的追求从未间断,信息的处理与通信技术的革新一直伴随社会的发展。而作为 20 世纪人类最伟大、最卓越的发明——个人计算机的出现与发展,使得人们获得了以前无法想象的信息处理能力,为了将这些强大的信息处理设备连接起来,避免出现信息孤岛现象,就催生了“计算机网络”,这一新时代的通信技术。计算机网络使得其功能得到了大大的加强,范围得到了很大的...原创 2018-08-27 21:15:57 · 5724 阅读 · 0 评论 -
计算机网络---局域网与广域网
局域网与广域网 局域网(Local Area Network,LAN)是将分散在有限地理范围内的多台计算机通过传输媒体连接起来的通信网络,通过功能完善的网络软件,实现计算机之间的相互通信和资源共享;广域网(Wide Area Network,WAN)是在传输距离较长的前提下所发展的相关技术的集合,用于将大区域范围内的各种计算机设备和通信设备互联在一起,组成一个资源共享的通信网络。 ...原创 2018-08-27 21:19:20 · 10302 阅读 · 0 评论 -
计算机网络---网络互连与常用设备
网络互连与常用设备 网络互连是为了将两个以上具有独立自治能力、同构或异构的计算机网络连接起来,实现数据流通,扩大资源共享的范围,或者容纳更多的用户。网络互连包括局域网与局域网的互连、局域网与广域网的互连、广域网与广域网的互连,这可以扩大资源共享的范围,使更多的资源可以被更多的用户共享。 1.网络互连设备 在网络互连时,各节点一般不能简单地直接相连,而是需要通过一个...原创 2018-08-27 21:20:30 · 8593 阅读 · 0 评论 -
计算机网络---网络工程
网络工程 网络工程的建设是一个极其复杂的系统工程,是对计算机网络、信息系统建设和项目管理等领域知识的综合利用的过程,系统分析师必须根据用户单位的需求和具体情况,结合当前网络技术的发展和产品化程度,经过充分的需求分析和市场调研,确定网络建设方案,依据方案有计划、分步骤地实施。按照实施过程的先后,网络工程可分为网络规划、网络设计和网络实施三个阶段。 1 网络规划 网络规划...原创 2018-08-27 21:22:33 · 4802 阅读 · 0 评论 -
计算机网络---网络存储技术与综合布线
网络存储技术 目前,主流的网络存储技术主要有三种,分别是直接附加存储(Direct Attached Storage,DAS)、网络附加存储(Network Attached Storage,NAS)和存储区域网络(Storage Area Network,SAN)。 1.直接附加存储 DAS 是将存储设备通过 SCSI(Small Computer System ...原创 2018-08-27 21:24:41 · 1064 阅读 · 0 评论 -
系统性能评价---性能指标
系统性能是一个系统提供给用户的众多性能指标的混合体。它既包括硬件性能,也包括软件性能。随着计算机技术的不断发展,有关性 能的描述也越来越细化,根据不同的应用需要产生了各种各样的性能指标,如整数运算性能、浮点运算性能、响应时间、网络带宽、稳定性、I/O 吞吐量、SPEC-Int、SPEC-Fp、TPC、Gibson mix 等。有了这些性能指标之后,如何来衡量这些性能指标呢?这就涉及了性能...原创 2018-08-27 21:28:27 · 32064 阅读 · 0 评论 -
系统性能评价---性能计算
性能计算 随着计算机系统复杂度的不断增长,性能指标也在不断地增长,这也增加了衡量计算机系统性能的难度。如何在众多指标中选取合适的性能指标,以及选择何种衡量方法都成为一项重要的课题,因此也衍生了各种性能评估体系。由于性能指标种类繁多,不可能一一列举,本节主要介绍一些常用性能指标的计算方法。在实际应用时,往往是对这些常用性能指标的复合计算,然后通过算法加权处理得到最终结果。 性能...原创 2018-08-27 21:30:51 · 4228 阅读 · 0 评论 -
系统性能评价---性能设计
性能设计 1 阿姆达尔解决方案 阿姆达尔定律是这样的:系统中对某部件采用某种更快的执行方式,所获得的系统性能的改变程度,取决于这种方式被使用的频率,或所占总执行时间的比例。 阿姆达尔定律定义了采用特定部件所取得的加速比。假定使用某种增强部件,计算机的性能就会得到提高,那么加速比就是如下公式所定义的比率: 加速比反映了使用增强部件后完成一个任务比不使用...原创 2018-08-27 21:34:09 · 6829 阅读 · 0 评论 -
系统性能评价---性能评估
性能评估 性能评估是对一个系统进行各项检测,并形成一份直观的文档,因此性能评估是通过各项测试来完成的。评估的一个目的是为性能的优化提供参考,而性能优化涉及的面很广,也很复杂,而且永无止境。对于不同的应用程序,优化的方法会有一些区别。1 基准测试程序 把应用程序中用得最多、最频繁的那部分核心程序作为评价计算机性能的标准程序。称为基准测试程序(benchmark...原创 2018-08-28 21:14:41 · 9957 阅读 · 0 评论 -
开发方法---软件生命周期
软件开发方法是软件开发的方法学。自从“软件危机”爆发以来,软件研究人员就在对开发方法进行不断地研究,以期能够提高软件的质量、降低软件的成本。经过 40 多年的研究,人们提出了很多开发方法,如最初的结构化开发到现在非常流行的面向对象的开发方法等。本章将介绍软件生命周期、软件开发模型、软件重用技术、逆向工程及形式化开发方法。 1 软件生命周期 软件生命周期也就是软...原创 2018-08-28 21:16:49 · 1934 阅读 · 0 评论 -
开发方法---软件开发模型
软件开发模型 在计算机刚刚诞生的年代,计算机是一种只有天才才能掌握的工具。人们对软件的认知仅仅停留在程序的层面上,所谓的软件开发就是那些能够掌握计算机的天才们写的一些只有计算机才能理解的二进制序列。但随着技术的发展,软件的复杂度不断提高,人们进入了大规模软件开发的时代。这时,人们发现,软件系统已经变得非常复杂,需要遵循一定的开发方法才能取得成功,于是称这些模式化的开发方法为开发模型。...原创 2018-08-28 21:19:56 · 2204 阅读 · 0 评论 -
开发过程---统一过程
统一过程 统一过程(Unified Process,UP)是由 Rational 公司开发的一种迭代的软件过程,是一个优秀的软件开发模型,它提供了完整的开发过程解决方案,可以有效地降低软件开发过程的风险,经过裁剪的 UP 可以适应各种规模的团队和系统。 1.UP 的二维模型 UP 是一个很有特色的模型,它本身是一个二维的结构,如图 6-5 所示。对于 UP 而言,时...原创 2018-08-28 21:20:53 · 2525 阅读 · 0 评论 -
开发方法---敏捷方法
敏捷方法 2001 年 2 月,在美国的犹他州,17 位“无政府主义者”共同发表了《敏捷软件开发宣言》,在宣言中指出: 尽早地、持续地向客户交付有价值的软件对开发人员来说是最重要的。 拥抱变化,即使在开发的后期。敏捷过程能够驾驭变化,保持客户的竞争力。 经常交付可工作的软件,从几周到几个月,时间范围越小越好。 在整个项目中,业务人员和开发者紧密合作...原创 2018-08-28 21:24:22 · 6243 阅读 · 0 评论 -
开发方法---软件重用
软件重用 软件重用技术是一种重要的软件开发方法,虽然至今软件重用技术还不够成熟,离理想中的软件工厂还有很长的路要走,但现有的一些重用技术(例如,中间件、应用服务器等)已经改变了开发过程。1 软件重用 软件产品与其他的产品不同,是抽象的,一旦产生就可以无限制地复制,因此重复利用软件产品的意义重大,可以节约大量的人力物力。软件重用指的是利用已经存在的软件元素建立新的软件系统,...原创 2018-08-28 21:26:21 · 3426 阅读 · 0 评论 -
开发方法---基于架构的软件设计
基于架构的软件设计 基于架构的软件设计(Architecture-Based Software Design,ABSD)是一种架构驱动方法。这种方法有 3 个基础: (1)功能的分解。在功能分解中,ABSD 方法使用已有的基于模块的内聚和耦合技术。 (2)通过选择架构风格来实现质量和业务需求。 (3)软件模板的使用。软件模板利用了一些软件系统的结构。...原创 2018-08-28 21:28:53 · 4665 阅读 · 0 评论 -
开发方法---形式化方法
形式化方法 形式化方法是指采用严格的数学方法,使用形式化规约语言来精确定义软件系统。非形式化的开发方法是通过自然语言、图形或表格描述软件系统的行为和特性,然后基于这些描述进行设计和开发,而形式化开发则是基于数学的方式描述、开发和验证系统。形式化方法包括形式化描述和基于形式化描述的形式化验证两部分内容。形式化描述就是用形式化语言进行描绘,建立软件需求和特性,即解决软件“做什么”的问题。...原创 2018-08-28 21:30:17 · 3327 阅读 · 0 评论 -
系统规划---项目的提出与选择
系统计划主要用于描述从项目提出、选择到确立的过程,包括系统项目的提出与可行性分析,系统方案的制订、评价和改进,新旧系统的分析和比较,以及现有软件、硬件和数据资源的有效利用等问题。 1 项目的提出与选择 组织在信息化的过程中,可能基于各种动机提出系统项目的建设,有关人员要根据这些动机,提出和确定信息系统的工作范围,确定项目立项,提出系统选择方案,给出选择结果。 1...原创 2018-08-28 21:34:32 · 3298 阅读 · 0 评论 -
系统规划---可行性研究与效益分析
可行性研究与效益分析 在项目计划和选择的过程中,需要完成的首要目标是对项目进行估算。项目估算的范围涉及方方面面,例如项目或产品开发的范围、投入和回报、项目风险、作用和意义等。在传统软件工程方法中,是以可行性研究的方式来组织项目的主要估算内容。 可行性研究的范围可能覆盖技术、经济、执行、环境等各种需要评估的因素,但它并不是最后的详细计划(例如:项目的时间进度及人员安排)。通常在...原创 2018-08-28 21:36:14 · 11149 阅读 · 0 评论 -
系统规划---方案的制订和改进
方案的制订和改进 通过在问题定义和归结模型阶段的工作,已经分析并定义了与系统开发目标相关的各种模型、分析出了系统的功能清单、性能要求等,解释了“系统目标是什么”的问题。在系统方案阶段,主要完成的工作则是解释“系统如何实现”的问题。 系统方案制订的最主要内容,包括以下几个方面。 1.确定软件架构 在问题定义阶段得到的软件概念模型使用各种工具定义了项目的开发目...原创 2018-08-29 10:25:53 · 1326 阅读 · 0 评论 -
系统规划---新旧系统的分析和比较
新旧系统的分析和比较 计算机技术飞速发展,日新月异,许多企业因为业务发展的需要和市场竞争的压力,需要建设新的企业信息系统。在这种升级改造的过程中,怎么处理和利用那些历史遗留下来的老系统,成为影响新系统建设成败和开发效率的关键因素之一。通常称这些老系统为遗留系统。 目前,学术和工业界对遗留系统的定义没有统一的意见。Bennett 在 1995 年对遗留系统做了如下的定义:遗留系统...原创 2018-09-05 17:53:29 · 5225 阅读 · 0 评论 -
系统分析与设计方法---工作流设计
工作流设计 工作流技术的发展,经过多年的努力,取得了一定的成果。但在实际应用中,应用的企业还是较少,应用的范围窄,效果不理想。 流程的设计是对设计者更高的挑战,现实中对计算机所管理的流程需要灵活的定义、方便的路径修改、容易使用,可是这几个目标是矛盾的。更严重的是,如何分析现实中的流程本身就是个困难的问题,更不用谈如何来设计实现了。流程设计的主要困难实际上也就是软件的主要困难:现...原创 2018-09-17 21:16:15 · 1060 阅读 · 0 评论 -
系统分析与设计方法---系统运行环境的集成与设计
系统运行环境的集成与设计 在设计一个新的系统时,设计者必须考虑目标系统的运行环境问题,人们往往认为软件应该能够在任何环境中运行,常常看到这样的系统,硬件已经升级了多次,而软件还是原来的软件。软件的运行环境是指系统运行的设备、操作系统和网络配置。 本节给出软件运行的几个典型环境,设计者可以从这几种典型环境中选择适合自己的目标系统的环境,也可以将这些典型环境做一些组合,来满足自己设...原创 2018-09-17 21:19:43 · 2854 阅读 · 0 评论 -
系统分析与设计方法---系统过渡计划
系统过渡计划 当新系统似乎开发完毕,要取代原来的系统时,系统过渡就是设计者不得不面对的问题。这个问题,不幸的是,比许多人想象得要复杂,和软件开发一样,存在着许多冲突和限制。例如,费用、客户关系、后勤保证和风险等。设计者需要考虑的问题也很多,其中比较重要的几个问题是: 如果同时运行两个系统,会给客户造成多大的开销; 如果直接运行新系统,客户面对的风险有多大; ...原创 2018-09-17 21:21:46 · 718 阅读 · 0 评论 -
软件架构设计---软件架构概述
像学写文章一样,在学会字、词、句之后,就应上升到段落,就应追求文章的“布局谋篇”,这就是架构。通俗地讲,软件架构设计就是软件系统的“布局谋篇”。 人们在软件工程实践中,逐步认识到了软件架构的重要性,从而开辟了一个崭新的研究领域。软件架构的研究内容主要涉及软件架构描述、软件架构设计、软件架构风格、软件架构评价和软件架构的形成方法等。 软件设计人员学习软件架构知识旨在站在...原创 2018-09-17 21:25:54 · 68384 阅读 · 0 评论 -
软件架构设计---架构需求与软件质量属性
架构需求与软件质量属性 架构的基本需求主要是在满足功能属性的前提下,关注软件质量属性,架构设计则是为满足架构需求(质量属性)寻找适当的“战术”。 软件属性包括功能属性和质量属性,但是,软件架构(及软件架构设计师)重点关注的是质量属性。因为,在大量的可能结构中,可以使用不同的结构来实现同样的功能性,即功能性在很大程度上是独立于结构的,架构设计师面临着决策(对结构的选择),而功能性...原创 2018-09-17 21:26:46 · 13538 阅读 · 0 评论