1. Linux基本环境 1.1 大数据Hadoop前置大纲讲解 1)Linux系统,基本命令 2)Java语言,JavaSE相关知识 3)MySQL基本的DML和DDL 1.2 常见Linux系统.安装VMWare及虚拟机 1)重要的网站,大数据领域,hadoop发行版本,有公司Cloudera http://archive.cloudera.com/cdh5 2)虚拟化工具VMWare (1)安装VMWare (2)创建虚拟机 (3)安装CentOS 6.5 操作系统 1.3 虚拟机网络配置…
1. hadoop环境搭建 1.1 伪分布式环境搭建 1.1.1 伪分布式环境搭建 1.1.2 伪分布式搭建结果 hdfs可视化界面: http://od001:50070/dfshealth.html#tab-overview yarn可视化界面: http://od001:8088/cluster 历史服务器可视化界面:http://od001:19888/ secondarynamenode可视化界面: http://od001:50090/status.html 1.1.3 批量启动脚本…
1. MySQL的基本操作 2. SQL语句 3. 高级查询 1)聚合函数.分组查询 2)联合查询.连接查询 3)子查询 4. 高级应用 1)视图与索引 2)数据可视化管理 5. 使用JDBC操作数据库 6. Linux下的MySQL环境配置…
1. 初识Java 2. Java语法 快速入门点我 2.1 数据类型和运算符 2.2 流程控制语句 2.3 数组 2.4 类和对象 2.5 OOP三大特性 2.6 集合框架与泛型 2.7 反射机制 2.8 多线程处理 2.9 Socket网络编程2.10 Linux下的Java环境配置…
App架构师实践指南三之基础组件 1.基础组件库随着时间的增长,代码量的逐渐积累,新旧项目之间有太多可以服用的代码.下面是整理的公共代码库. 2.关于加密密钥的保护以及网络传输安全是移动应用安全最关键的内容,涉及密码学(用于加密.认证和鉴定的学科).常见的加密算法,主要分为对称加密算法.非对称加密算法和Hash算法.---对称加密算法.安全性取决于加密算法本身和密钥的私密性,相对于非对称加密算法,密钥管理比较难,速度快几个数量级,适合大数据量的加密处理,对称加密算法流程图如图6-6所示. ---…
大数据作为当下最为热门的事件之一,其实已经不算是很新鲜的事情了.如果是三五年前在讨论大数据,那可能会给人一种很新鲜的感觉.大数据作为当下最为重要的一项战略资源,已经是越来越得到国家和企业的高度重视,我们从大数据被上升到国家战略层面就可窥见一二! 现在关于大数据的知识分享可以说已经是铺天盖地了,作为新手入门想查询的信息基本都可以通过网络查询到一些.我对的大数据的了解其实也不是特别丰富,毕竟学习的时间也不是特别长.仅以我熟悉的DKhadoop为例给大家分享一些小知识,往对初学者有点小帮助就可以了.…
2.4.6 EF Core -- 更新 状态 自动变更检测 不查询删除和更新 并发 状态 Entity State Property State Entity State Added 添加 Unchanged 没有变化 Modified 已修改 Deleted 已删除 Detached 未跟踪 Property State IsModified CurrentValue OriginValue 自动变更检测 使用自动变更检测完成确定字段的更新 使用自动变更检测完成任意字段的更新 使用自动变更检测…
电竞出现在人们视野中的频率越来越高了,此次选取FunData作为电竞数据平台,v1.0 beta版本主要提供由Valve公司出品的顶级MOBA类游戏DOTA2相关数据接口(详情:open.varena.com). 本文将介绍FunData的架构演进中的设计思路及其涉及的相关技术,包括大数据流处理方案.结构化存储转非结构化存储方案和数据API服务设计等. 电竞数据的丰富性从受众角度来看,可分为赛事.战队和玩家数据:从游戏角度来看,维度可由英雄.战斗.道具以及技能等组成:电竞数据的实时性包括赛前两支…
hadoop概述 存储和分析网络数据 三大组件 MapReduce 对海量数据的处理 思想: 分而治之 每个数据集进行逻辑业务处理map 合并统计数据结果reduce HDFS 储存海量数据 分布式存储 安全性高 副本数据 YARN 分布式资源管理框架 管理整个集群的资源(内存.CPU核数) 分配调度集群资源 Common 工具 hadoop生态圈 Hive(蜜蜂)通过使用sql语句来执行hadoop任务 HBase 存储结构化数据的分布式数据库 HBase放弃了事务特性,追求更高的扩展 和HD…
2.7.1 敏捷开发 敏捷介绍 敏捷的起源 敏捷软件开发宣言 敏捷开发十二原则 生命周期对比 敏捷开发的特点 敏捷的发展 敏捷的核心 敏捷的起源 2001年,17个老头子在一起一边滑雪,一边讨论工作,制定了<敏捷软件开发宣言> 从60年代中期开始到20世纪末,软件行业得到了非常迅猛的发展,软件系统的规模和复杂度也越来越高,行业普遍面临不满足需求,永远无法交付等一系列严重的问题,史称"软件危机" 从长期积累的经验看,早期阶段的时间投入会影响到后期的经济支出,就是需求变化发生的…
2.5.4 MongoDB -- 更新和删除 整体更新 更新字段 字段操作 数组操作 删除 https://docs.mongodb.com/manual/reference/operator/update/ updateOne updateMany replaceOne 整体更新 db.questions.replaceOne({},{}) 更新字段 db.author.updateOne({"name":"mingson"}, { $set: {"ag…
2.5.5 MongoDB -- 聚合 排序 索引类型 创建索引 排序 // 升序 db.getCollection('author').find({}).sort({"age": 1}).limit(20) // 降序 db.getCollection('author').find({}).sort({"age": -1}).limit(20) // 组合 db.getCollection('author').find({}).sort({"age&qu…
2.5.6 MongoDB -- 问答系统 MongoDB 数据库设计 API 实现概述 MongoDB 数据库设计 设计优化 内嵌(mongo)还是引用(mysql) 数据一致性 范式:将数据分散到不同的集合:反范式:使用内嵌文档 在范式化的情况下需要在进行多次查询再拼装数据,或者使用 lookup,即跨表查询:反范式化的情况下可以直接查出相关数据 更适合内嵌 更适合引用 子文档较小 子文档较大 数据不会定期改变 数据经常改变 最终数据一致即可 中间阶段数据必须一致 文档数据小幅增加 文档数据…
2.5.3 MongoDB -- 写入和查询 写入 查询 查找操作符 逻辑操作符 其他 嵌套对象 数组 游标方法 写入 https://docs.mongodb.com/manual/tutorial/insert-documents/ insertOne insertMany db.questions.insert( { "_id":"003", "title":"第三个问题", "view":0, &q…
2.6.6 RabbitMQ -- Masstransit 介绍 Masstransit 是什么 Quickstart 消息 Message Masstransit 是什么 Masstransit 是一个 .NET 免费开源的分布式应用框架 集成多种消息中间件(Rabbitmq, Azure, Service Bus, ActiveMQ, Kafka, In-Memory) 强大且完整的消息模式(发布与订阅,saga,event-driven state machine,最终一致性支持) 端到端…
2.5.1 MongoDB -- 介绍 mysql vs mongo 快速开始 mysql vs mongo 对比 mysql mongo 数据存储 table 二维表结构,需要预先定义结构 json 类文档,不需要预先定义结构.可随意新增或删除字段,新增字段不会对已存在的字段产生影响 查询语法 sql (structured query language) mongo 索引 如果不定义索引,则进行全表扫描 如果不定义索引,则进行全表扫描 集群 支持主从复制 内置副本集.分片.和自动选举 场景…
2.5.7 MongoDB -- API实现 问题查询单个实现 问题查询列表实现 问题跨集合查询实现 问题创建实现 问题更新实现 问题回答实现 问题评论实现 问题投票实现 回答实现 QuestionController namespace LighterApi.Controller { [ApiController] [Route("api/[controller]")] public class QuestionController : ControllerBase { privat…
2.5.8 MongoDB -- API重构 Lighter.Domain Lighter.Application.Contract Lighter.Application LighterApi Lighter.Application.Tests Lighter.Domain 将数据实体转移到 Lighter.Domain 层 Lighter.Application.Contract 将业务从controller 抽取到 Lighter.Application 层,并为业务建立抽象接口 Ligh…
2.6.1 消息队列 -- 介绍 主要使用场景 队列的三种形式 消息队列的优点 主要使用场景 典型的异步处理 流量削锋 应用解耦 队列的三种形式 点对点 工作队列 发布与订阅 消息队列的优点 1.屏蔽异构平台的细节:发送方.接收方系统之间不需要了解双方,只需认识消息. 2.异步:消息堆积能力:发送方接收方不需同时在线,发送方接收方不需同时扩容(削峰). 3.解耦:防止引入过多的API给系统的稳定性带来风险:调用方使用不当会给被调用方系统造成压力,被调用方处理不当会降低调用方系统的响应能力. 4.…
2.6.3 RabbitMQ -- HelloWorld 发送端 接收端 rabbitmq container 发送信息 https://www.rabbitmq.com/tutorials/tutorial-one-dotnet.html 新建控制台项目 Sender,Receiver 添加 nuget 包:RabbitMQ.Client 发送端 namespace Sender { class Sender { public static void Main() { var factory…
2.6.4 RabbitMQ -- 工作队列和交换机 WorkQueue Publish/Subscribe Routing EmitLog WorkQueue WorkQueue:https://www.rabbitmq.com/tutorials/tutorial-two-dotnet.html 一个消息生产者,多个消息消费者 exchange 交换机自动恢复 对消息进行持久化 手动确认消息 对消息进行持久化 var properties = channel.CreateBasicPrope…
2.6.7 RabbitMQ -- Masstransit 详解 Consumer 消费者 Producer 生产者 Request-Response 请求-响应 Consumer 消费者 在 MassTransit 中,一个消费者可以消费一种或多种消息 消费者的类型包括:普通消费者,saga,saga 状态机,路由活动(分布式追踪),处理器 handlers,工作消费者 job comsumers Consumer Instance Handler Others Consumer public…
2.6.8 RabbitMQ -- Masstransit 异常处理 异常处理 其他 高级功能 异常处理 异常与重试 重试配置 重试条件 重新投递信息 信箱 异常与重试 Exception public class SubmitOrderConsumer : IConsumer<SubmitOrder> { public Task Consume(ConsumeContext<SubmitOrder> context) { throw new Exception("Ver…
2.7.2 Scrum 核心 3个工件 5个会议 5个价值观 3个工件 产品待办列表(Product Backlog) Sprint 待办列表(Sprint Backlog) 产品增量(Product Increment) 5个会议 产品 Backlog 梳理会议(product backlog refinement) Sprint 迭代计划会议(Sprint Planning Meeting) 每日站会(Daily Scrum Meeting) Sprint 评审会议(Sprint Revie…
2.7.3 Scrum 团队 理想的环境 团队章程 如何组建 Scrum 团队 产品待办事项列表 用户故事 敏捷开发流程 理想的环境 5-9人 100% 跨职能 在一起 自组织 自组织 目标 授权 沟通 可视化 辅导 奖励 要我做 => 我想做,我要做,我要做好 团队章程 团队价值观:速度与工作时间 工作协议:例如:"就绪"定义,"完成"定义 基础规则:例如:会议规则 团队规范:迟到.冲突 坦诚.高效沟通 包容 相互帮助 简洁.反馈.尊重 如何组建 Scrum…
2.8 安全 认证 VS 授权 ASP .NET Core 认证授权中间件 认证 JWT 认证 授权 认证 VS 授权 认证是一个识别用户是谁的过程 授权是一个决定用户可以干什么的过程 401 Unauthorized 未授权 403 Forbidden 禁止访问 ASP .NET Core 认证授权中间件 在接收到请求之后,认证(Authentication)和授权(Authorization) 发生在 路由(Routing) 和 终结点(Endpoint) 之间 执行过程 认证 认证是一个识…
Web架构师究竟都要学些什么?具备哪些能力呢?先网上查查架构师的大概的定义,参见架构师修炼之道这篇文章,写的还不错,再查查公司招聘Web架构师的要求. 总结起来大概有下面几点技能要求: 一. 架构师有优秀的编码能力,解决开发人员无法解决的难题. 二. 架构师对系统的大数据容量高性能高并发高容错的网站有架构设计和开发经验. 三. 架构师对操作系统.数据库.服务器各种软件使用的配置比较了解,比如Linux.Web负载均衡.反向代理.数据库集群.容灾等比较了解. 四. 架构师对软件开发过程有清晰明确的…
Web架构师究竟都要学些什么?具备哪些能力呢?先网上查查架构师的大概的定义,参见架构师修炼之道这篇文章,写的还不错,再查查公司招聘Web架构师的要求. 总结起来大概有下面几点技能要求: 一. 架构师有优秀的编码能力,解决开发人员无法解决的难题. 二. 架构师对系统的大数据容量高性能高并发高容错的网站有架构设计和开发经验. 三. 架构师对操作系统.数据库.服务器各种软件使用的配置比较了解,比如Linux.Web负载均衡.反向代理.数据库集群.容灾等比较了解. 四. 架构师对软件开发过程有清晰明确的…
* { font-family: "Microsoft YaHei" !important } h1 { color: #FF0 } 15套java架构师.集群.高可用.高可扩展.高性能.高并发.性能优化.Spring boot.Redis.ActiveMQ.Nginx.Mycat.Netty.Jvm大型分布式项目实战视频教程 视频课程包含: 高级Java架构师包含:Spring boot.Spring  cloud.Dubbo.Redis.ActiveMQ.Nginx.Mycat.S…
* { font-family: "Microsoft YaHei" !important } h1 { color: #FF0 } 15套java架构师.集群.高可用.高可扩 展.高性能.高并发.性能优化.Spring boot.Redis.ActiveMQ.Nginx.Mycat.Netty.Jvm大型分布 式项目实战视频教程 视频课程包含: 高级Java架构师包含:Spring boot.Spring  cloud.Dubbo.Redis.ActiveMQ.Nginx.Mycat…