项目团队
- 团队介绍
- 技术大拿:十年以上的开发经验,所有开发的历程都经历过:初级程序员-->中级程序员-->高级程序员-->teamLeader-->项目经理-->架构师-->技术总监
- 成熟的分成体系;实现共赢的效果
- 培养新人:多年开发经验的工程师,业务熟练的开发工程师(都是在一线城市经历过打磨的工程师)
- 终极目标:要做一个专业的接项目平台;
业务
- 公司对外承接项目;项目主要分为以下三类
- Web系统、软件
- 大数据项目
- 区块链接相关的项目等
- 项目的所涉及行业;
- 360门行业,只要能用得上计算机,就可以部署我们的系统
- 只要客户能够把日常的办公内容描述清楚(需求);就可以实现出来;
- 我们始终相信:一份价钱一份货;高手做出来的东西和初级工程师做出来的东西绝对不一样(能够抗得住时间的打磨)
web系统
- 开发语言:java,python等
- 一个企业为什么要做web系统;
- 把公司相关的业务从线下挪到了线上;
- 所有的操作都会通过系统存储到电脑上;可永久保存.实现电子化办公
- 支持b/s,c/s架构的系统研发,实现掌上办公;
- 有多年的解决高并发的经验分布式负载均衡,瞬间访问量巨大;(如春运抢火车票,双11等)
- 有多年的海量数据处理经验;如果公司有高并发的需求或者公司的系统跑的时间相当长,积攒了大量的数据;现有的系统运行的时候,会特别的慢,需要对系统优化,让系统可以在海量数据中实现快速访问的效果;
- web系统(项目)的分类
- 企业的门户网站
- 企业的业务系统
- 企业的办公系统;(如十分钟轻管理--oa)
- 政府相关的系统
- 电子商城类的项目:如美团,电商,租赁系统等;
- 爬虫类:可以通过模拟用户的访问,去竞争对手的系统里面获取数据;只要用户能做的事情,计算机可以自动批量完成;
- 邮件营销,广告营销
- 小额贷款:类似于蚂蚁借呗
- Gis:地图相关的业务,如导航,搜索等
- web项目经历的阶段:
- Web项目;快速开发--->SSM(springMVC+Spring+Mybatis)-->SSH(Struts2+Spring+Hibernate)--Model2(Jsp+Servlet+Service+Dao+Db);(访问量---5次/秒)
- 代码优化:(访问量---50次/秒)
- 尽量的将三层for循环变成两层(或者更少);尽量的多加几个break,continue;
- Break,continue;默认操作的离它最近的循环,为循环增加标签;
-
缓存(访问量---500次/秒)--容器
- Javase的缓存:Collection,List,Set,Map;推荐使用Map;通过键快速的找到值(每个人放的内容都不一样)
- 缺点:如果tomcat重启了,咋办?(javase都在内存);
- 操作系统进程的缓存;早期的memcache(狐狸头);和tomcat同样的软件;只要此软件不重启,缓存的数据依然有效;
- 缺点:电脑重启;
- 基于硬盘的缓存;Redis;(把数据放到内存一份,按照自己的策略会把数据定时的放到硬盘中)
- Javase的缓存:Collection,List,Set,Map;推荐使用Map;通过键快速的找到值(每个人放的内容都不一样)
- 缓存里面存储的数据大的很(还算不上大数据);放的时间约20分钟;
- 索引(访问量---1000次/秒)(第一次查询数据库的速度)
- 条件:(和缓存的条件是一样的)
- 数据量超级大(还算不上大数据)
- 经常查询不经常修改
- 命中率
- 对sql语句木有任何影响,创建索引前后查询的效率有体现;
- 缺点:模糊匹配;like;在前面加%,索引不起作用
- 条件:(和缓存的条件是一样的)
- Lucene:全文检索;(倒排表)(分词)(专门解决索引的不足)
- Lucene:javase
- Solr:javaee(提供网页版)
- Nutch:封装了lucene(搜索),爬虫,存储(网络上的数据量超级大,抓取回来以后,一块硬盘放不下)这咋整(hadoop);
- Nginx--花钱买机器(访问量---2000次/秒)(第一次查询数据库的速度)
- 负载均衡(平均平衡)
- 分
- Service压力,Dubbo,SpringCloud
- Mycat:解决数据库的压力
- 采用主流的微服务编程(最终版)
说明
- 本系统包含两套大项目:科技厅平台和用户中心平台
- xxx平台:
- 管理后台:政府管理人员访问的平台;可以查看其它用户分类提交的各种数据(如科技资源,知识产权等所有功能)
- 前台服务:非政府管理人员通过此平台可以提交各项功能的资料,由管理员在后台进行审核
- 定时服务:由于数据量比较大,为了更快的给领导展示最新的统计报表,定时服务会在凌晨进行昨天的海量数据进行统计,并且存储到结果表里面;管理员打开后台界面可以快速的查看报表;
- 用户中心:
- 所有的系统都有用户管理模块,用户中心就是所有统一的管理用户信息;
- 任何系统如果需要登陆的时候,会跳转到用户中心的登陆页面,登陆成功以后,再跳转到原系统;
- 大致的流程如下:
- 步骤1:当用户在科技厅平台中,如果需要登陆,会跳转到用户中心的服务中的登陆页面;会带一个returnUrl;用户在科技厅平台中访问的当前页面(需要登陆的页面)
- 步骤2:用户在用户中心服务中进行登陆,如何登陆成功,客户端跳转到returnUrl指定的页面,会带一个令牌(token);
- 步骤3:带着token去验证一下信息是否合法;
- 步骤4:用户从科技厅平台点击到其他平台,如果用户已经登陆,把步骤1,2,3再走一遍,全部是自动的,用户不会感觉到登陆的功能;
大数据项目
- 一个企业在什么时候会用得上大数据;
- 当公司的系统运行了一段时间以后,会有海量的数据产生,导致一台服务器存储不下
- Web系统中的统计,打开的时候特别的慢(因为数据量大);而老板不关心数据的明细,只关心数据的统计结果;
- 要把僵尸数据利用起来,通过web系统中的一些统计计算出来;一台服务器资源不够,把多台服务器连接起来;统一管理所有的CPU+内存(等硬件),统一运算一批数据计算结果;
- 大数据项目的产生解决的问题是:
- web系统中海量数据的产生,关系型数据库无法正常运行,把这些数据都放到大数据项目中,让大数据来运行统计的结果;
- 离线部分:大数据项目里面存储的数据是历史数据,按照规定的时间单位(如每天);今天计算昨天的数据,把计算的结果放到结果表中
- 实时部分:最近的时间单位,把这些时间切分成多个时间片,把每个时间片里面的数据计算出来;时间片(给人的感觉是实时,如每隔1分钟计算一次数据)
- ELK:计算的结果比较多,实现快速的搜索;(如在百度里面搜索一条关键词,马上就能给出结果);
- ETL:数据清洗,把各式各样的数据,经过处理后就统一的标准;
- 哪些系统适用大数据
- 在区块链里面的数据只能添加,不能修改
- 区块链中的节点服务器加入;
- 大数据项目都有哪些:
- Web系统中的数据量巨大,大到一台服务器存储不下,并且要对这些僵尸数据进行运算
- Web系统中的统计打开特别慢,慢到无法接受的时候;
区块链项目
- 区块链号称是改变人类的第四次革命
- 工业革命
- 电的发明
- 计算机
- 区块链
- 区块链是一个概念(名字);数据货币只是他的一种产品;
- 哪些系统适用区块链
- 在区块链里面的数据只能添加,不能修改;
- 区块链中的节点可以任何人加入;
- 区块链版本
- 1.0:比特币
- 2.0:以钛钫
- 3.0:从头到尾开发一个区块链;目前世面上几乎木有
- 项目分类:
- 交易所
- 算力交易
- 矿机
- 矿池
- Web系统中支付的币种换种数字货币;
案例展示
郑州市车辆尾气检测平台
区块链搬砖套利
培训机构(学校)一体化平台
某网站抓取信息--爬虫
-
- 广告营销平台
区块链电商
- 它是一个电子商城,卖的东西是矿机
- 亮点在于:收款的时候只支持数字货币,不支持法币,需要自己写代码连接上区块链