自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

GitChat

GitChat 是一个知识分享平台,通过这个平台我们希望改变知识的学习方式。

原创 微服务之间的事件驱动异步通信

本场 Chat 主要讨论微服务之间的异步通信及其代码实践。如何设计和实现基于 Spring 的微服务之间的异步通信。事件驱动的异步通信可以帮助您在(分别独立部署运行的)微服务之间进行异步交互。微服务架构加上事件驱动异步通信可以帮助我们通过侦听别的微服务发布的事件而快速扩展新的软件功能, 而不影响到已有的微服务。了解为什么异步通信在微服务环境中很重要微服务对 Redis 缓存服务的存取不同...

2019-07-31 23:30:07 559

原创 一张图读懂前端演进史(1995 ~ 2019)

1994 年,网景发布了第一版 Navigator,这可以看作是前端历史的起点。如今,随着 Vue、React、Angular 等框架的兴起,前端发展得越来越快。一张前端演进史的图在 Reddit 上引起了热议,我们征得原图作者的同意,将这张图放在这里,希望和大家一起了解前端技术的历史,探讨前端圈的发展,共同学习进步!内容涉及:浏览器的发展史HTML 生态演进史CSS 生态演进史Jav...

2019-07-30 23:30:16 206

原创 如何避免系统死锁?银行家算法登场!

如何避免操作系统发生死锁?Dijkstra 在 1965 年提出了银行家算法来帮助我们避免这个问题的发生。所谓死锁,也就是说有超过两个进程在无限期地等待永远不会发生的条件,在很多领域都会发生这类死锁问题,比如车辆“井”字堵塞问题。本文主要研究的是在操作系统中引发的死锁问题,为了避免这种死锁问题的发生,采用银行家算法做出相关调整。本文将会对以下四个问题做出详细解释:什么是死锁,它为什么会发生...

2019-07-30 23:30:09 135

原创 使用 Apache Geode 模拟 12306 火车票抢购

上一个 Chat 有跟大家简单介绍过 12306 使用的缓存框架 Apache Geode,有介绍说 12306 的核心功能都搬到 Apache Geode 平台上。今天我们就借助 Apache Geode 来模拟一个火车票抢购的实现,也让我们大胆的猜测一下 12306 的真正实现。订阅本 Chat 你将收获:常见的抢购/秒杀实现火车票抢购建模与抢票思路分析基于 Apache Geode...

2019-07-30 23:30:06 236

原创 实战:基于电商平台的 Web 自动化全程实战

本文将通过讲解一个主流电商平台的购物全流程,展示自动化从脚本开发、用例设计、报告输出的全流程,适合从事功能测试多年,想快速转化到自动化测试的测试人员以及想深入了解自动化架构的测试人员、以及想了解 Web 自动化的其他职业人员进行观看,通过本文您可以获取到以下内容: 主流的页面驱动框架,PageObject;Selenium 如何与 Allure 集成生成美观的测试报告;Maven 在自动化...

2019-07-30 23:30:05 614

原创 转行程序员,转还是不转?

互联网行业近几年越来越火热,行业的薪资待遇也普遍高于其他行业,导致越来越多的其他行业的从业者转向互联网行业。我身边就有“日语”、“农学”、“生物”、“化学”等专业转向互联网的朋友和同事,且在这一行表现的非常出色。也有熬了 2 年转向互联网,最终还是被淘汰继续从事原来行业的同学和朋友。那么问题就来了。“什么样的人适合互联网?”,你的学历、年龄、从业背景、学习条件和能力允许吗?“怎样转向互联网?”,...

2019-07-30 23:30:04 559 1

原创 快速开发 Spring Boot+Elasticsearch

Elasticsearch 是一个基于 Lucene 库的搜索引擎。Elasticsearch 是目前大数据领域最热门的技术栈之一。目前 Elasticsearch 被广泛应用在搜索、安全、数据分析等各种领域可谓是炙手可热的一门技术。而作为 Java 开发工程师的我们,掌握 Elasticsearch 迫在眉睫。在本场 Chat 中,我将会带领大家入门 Elasticsearch ,然后使用 S...

2019-07-29 23:30:12 113

原创 从零开始带你走进分布式事务!

分布式事务,是分布式架构中一个绕不开的话题,而什么是分布式事务?为什么要使用分布式事务?分布式事务有哪些实现方案?更是面试时面试官特别喜欢的一个分布式三连炮!本次 Chat 完全围绕分布式事务展开,将采用大量画图并结合生活中的例子,从零开始,给大家讲清楚:什么是分布式事务为什么需要分布式事务分布式事务的几种常见实现方案不同分布式事务方案各自适用的场景你的收获:彻底理解什么是分布...

2019-07-29 23:30:10 90

原创 深度学习合成歌曲的入门资源:论文和样本、资源

入门深度学习和机器学习最重要是兴趣,找到一个做的人少,你可以深入显示你的成果。歌声合成是深度学习一个应用方向,但是它不像图形处理和音频处理,资源很多。需要一个入门老师的引导。GitChat 主要的目标是引导大家入门歌声合成,给予你清晰的实践路线和资料。把作者目前有的训练样本分享给大家,供大家训练;带你解读歌声合成论文;带你了解合成歌曲的 Python 的模块;作者歌曲合成样例试听:ht...

2019-07-29 23:30:09 248

原创 Java 高性能队列底层到底是什么?

本 Chat 解析市面上常见的 Java 优秀队列中的底层存储技术细节。通过本 Chat ,你可以学习到:我司自研队列的底层高速存储细节RocketMQ 底层存储细节Kafka 底层存储细节我们都知道 Kafka,RocketMQ 速度快,那么到底为什么块,细节是什么,大部分文章都不会去关注,本 Chat 不讲概念,让你实实在在看到实现细节的分析和代码。...

2019-07-29 23:30:08 301

原创 抓包工具详解之 Fiddler

抓包工具日益成为开发,测试日常工作必备工具,对于测试工程师而言,抓包工具可具体分析问题所在,无论是手机端还是 PC 端,都能抓取到详细内容,只有在了解抓包工具的相关操作原理和方法,才能更好的做测试,调试工作,也能有效的提升在测试行业的专业技能。本场 Chat 首先会带领大家了解学习 Fiddler 的功能,帮助大家对抓包工具做到知其然,并知其所以然。本场 Chat 您将学到如下内容:揭开抓...

2019-07-29 23:30:06 133

原创 手把手教您搭建 AWS 大数据云平台

随着物联网与云平台的成熟,越来越多的企业选择在云端搭建数据平台。这次 Chat 的目的是通过实战,让大家更好的理解 AWS 大数据平台的架构与功能。主要内容包括:如何利用 CouldWatch 与 Serverless Function 搭建车载盒子模拟器创建 Kinesis Stream 与 Kinesis Firehose,以流的模式接受传输数据创建数据仓库 Redshift,建数据表...

2019-07-29 23:30:05 723

原创 从 0 开始搭建 IoT 平台

课程背景物联网应用开发,并不像 Web 开发那样有固定的模式和框架可以学习,开发者往往还是需要从协议这一层慢慢往上搭积木,学习曲线比较陡。本课程结合物联网应用开发常用的设计模式以及作者多年的开发经验,带你从 0 开始搭建一个物联网平台,希望本课程所体现的架构和思路能够帮助你少走弯路、少踩坑。课程亮点从 0 开始搭建专属物联网平台大量实战代码,手把手逐行讲解使用开源组件,掌握大厂设计思路...

2019-07-29 23:30:03 1869

原创 PySpark 入门及高级部分

对于从事机器学习,深度学习的算法工程师来说,传统 Python 的数据处理和并发能力并不是太强 , Python 也没有较好的方式对接与大数据平台以及特征工程的海量数据处理效率较低。PySpark 是 Spark 的 Python API,提供了使用 Python 编写并提交大数据处理作业的接口,既可以很方便的对接与大数据平台,又能够基于 Spark 的内存计算引擎较为高效的处理数据的计算问题。本...

2019-07-28 23:30:09 375

原创 Flutter App 软件调试指南

本场 Chat 是《深入 Flutter 系列课程》第三讲,主要聊聊如何进行 Flutter App 代码的调试。通过本场 Chat,您将获得以下技能:认识 Dart 语言检查器;如何在 IDE 中进行单步调试;打印 Log 的技巧;利用 Dart 语言中的“断言”;如何查看界面 Widget 树形层级;怎样获取语义树。本场 Chat 依然会结合具体的代码展开讨论,欢迎大家预定...

2019-07-28 23:30:03 432

原创 计算机究竟是怎么跑起来的

不论你是计算机相关从业者,还是门外汉,你一定曾经或者正在疑惑,计算机究竟是怎么跑起来的。即使你看过计算机组成原理,知道冯诺依曼体系结构,了解操作系统的发展史,但你仍然有可能因为没有直观感受而总是在思考这个问题。本篇 Chat 通过讲故事的方式,深入浅出带你一点点了解计算机的本质。你会发现从始至终都不会突然蹦出一个专业名词,但最后我们确实一步步构建出了一个完整的计算机!文章内容涉及:编码与电路...

2019-07-26 23:30:25 212

原创 如何设计一套吸引用户增长的优惠券系统

如何设计一个系统的重要模块成为大厂面试的重要内容,对于开发者而言,只有在了解 系统需求背后要达到的目的后,才能写出更扩展性的代码,才能在错综复杂的运营红海中快速应变各种营销方案。本场 Chat 首先会带领大家设计公司代金券模块,然后针对开发中需要发散思维举一反三的地方进行详细地阐述,帮助大家对 于设计一个模块 做到知其然,并知其所以然。本场 Chat 您将学到如下内容:需求解构分析如何保持...

2019-07-26 23:30:18 247

原创 从零开始 K8s

Kubernetes 是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes 的目标是让部署容器化的应用简单并且高效,Kubernetes 提供了应用部署、规划、更新、维护的一种机制。Kubernetes 一个核心的特点就是能够自主的管理容器来保证云平台中的容器按照用户的期望状态运行着,管理员可以加载一个微型服务,让规划器来找到合适的位置,同时, Kubernetes 也系...

2019-07-26 23:30:12 209

原创 Docker Swarm 多主机集群部署微服务实战

本 Chat 将重点介绍如何使用 Docker Swarm 部署 Spring Cloud 微服务集群。Docker Swarm 是 Docker 自带的集群部署工具,安装好 Docker 就可以使用它了。只需一个命令轻松部署多主机集群服务,同时动态支持扩容、缩容、滚动升级等功能。对于企业微服务的集群部署提供了简单、快捷、可靠的解决方案,从而大大提高企业部署效率,节约出宝贵的人力、时间等资源。本...

2019-07-26 23:30:07 176

原创 Flask 高并发实践与原理

Flask 框架是最受欢迎的 Python Web 开发框架之一,然而指望 Flask 本身在生产环境下 Hold 住高并发请求,无疑是天方夜谭。本场 Chat 将从实践(前 3 部分)和原理(后 5 部分)两个方面来解决您对实现 Python Web 高并发的疑虑,其技术通用于其他 Python Web 框架。如何实现 Flask 应用的高并发如何进行压测如何从代码层面进行性能调优进程...

2019-07-26 23:30:06 2813

原创 参与抽奖活动,送价值百元的5本技术书籍!

作为要改变世界的 IT 人,不读书怎么行呢?为了给大家补补血,以便更好的码好代码,改变世界,给大家抽奖送书啦!活动规则扫二维码添加GitChat小姐姐-俏俏(微信ID:gitchat2025),即可邀请进群抽奖(无需分享发圈)活动时间:7月26、7月27日两天怎么开奖?在群内开奖,群内满100人开奖一次,可以多多邀请自己的小伙伴入群缩短抽奖时间哦,一定要留意微信消息,如果你中...

2019-07-26 14:48:36 423

原创 你不知道的 Python 哈希算法

哈希算法又称散列函数算法,是一种查找算法,应该说哈希算法是最快的查找算法,没有之一。对于查找问题,哈希算法一直是首选算法。那么,为什么名字起的这么“嘻哈”的算法会如此强大,本 Chat 将为你揭开谜底。艺术来源于生活,编程也一样来源于生活。在生活中,要想时刻能够找到自己的东西,最好的办法就是把东西放到固定的地方,每次需要它的时候就去相应的地方找,用完以后再放回原处。哈希算法也是一样的原理。目录...

2019-07-25 23:30:28 418

原创 Spark 流式系统 Structure Streaming

随着 IoT 等行业的快速发展,各种系统对实时流式计算的要求越来越高,比如反作弊等。在过去几年,流式计算一直是以 Spark 的 Spark Streaming 为代表,随着实时性要求越来越高,以及实时计算的基础模型(以 Google Dataflow 为代表)发展,Spark Streaming 已经越来越不能满足很多系统的实时计算要求。为此 Spark 在 2.3 推出了 Structure...

2019-07-25 23:30:22 969

原创 这部日本「神作」彻底拉低了我入门AI的门槛

都说现在搞深度学习的,十之八九不是“科班出身”。也就是说如果我想要跨行成为一名深度学习工程师,从头到尾,都完全可以靠自学搞定。氮素!深度学习为什么那么深……遇到的障碍也太多了吧:此情此景,我决定寻求一些外力帮助,找一找有没有什么深度学习入门“捷径”。翻遍各大读书阵营,除了高深莫测的“花书”和“西瓜书”外,难道就没有一本让 AI 零常识的我光看介绍就能信心倍增火速下单的书吗?!直到我看到了...

2019-07-25 13:45:32 15065 14

原创 Kafka 已落伍,转角遇见 Pulsar!

消息系统每天需要传递数百万条消息,Apache Kafka 自创建后一度成为大规模消息系统的唯一选择。然而,时代更迭,现在每天的消息增量高达数十亿,消息系统需要在不影响客户的情况下持续地无缝扩展。Kafka 在这一方面存在诸多问题,系统也难以管理。Apache Pulsar 此时应运而生,就这些痛点形成了很好的解决方案。同时,在体系架构方面 Pulsar 在大型消息传递解决方案中的速度要快得多,随...

2019-07-24 23:30:25 370

原创 Flutter App 软件测试指南

众所周知,应用的功能越多,手动测试的难度就越大。一套完整的自动化测试将帮助您,并确保您的应用在发布之前正确执行。本文涵盖了 Flutter App 的所有测试方式,通过本场 Chat 的学习,您将会得到以下知识:Flutter App 中的三种测试方式及优劣分析;如何在 Flutter App 中进行单元测试;如何在 Flutter App 中进行组件测试;如何在 Flutter Ap...

2019-07-24 23:30:20 500

原创 Netty 实战:多场景下的 Netty 使用和进阶

作为一个基于 NIO 的客户端服务端框架,Netty 已经被应用在各种各样的框架之中,比如 Dubbo、大数据 Spark 等等。这个 Chat 将带你了解 NIO 的原理,以及 Netty 的使用和进阶。理论和实战的比例大约为 1:2。在本 Chat 你将学会如下内容:IO 模型的变化NIO 与 Netty 的底层原理以及组件介绍使用 Netty 实现一个 HTTP 协议Netty ...

2019-07-24 23:30:12 248

原创 实战:从 0 到 1 搭建 Java 并发爬虫框架

悔创阿里的马爸爸曾经说过:“数据是新一轮技术革命最重要的生产资料”,对于处于成长初中期的企业最缺的就是有用的基础数据,而如何快速补齐这些数据短板,相信大家都会想到爬虫,所以爬虫也成为近2年热门的大数据技术手段之一。本期的 Chat 就是教你如何从 0 到 1 快速搭建起自己的多线程并发爬虫框架,并且尽可能的使用免费的资源(比如:免费代理资源、免费的云数据库存储等)来实现。内容简单分为 2 大部分...

2019-07-24 23:30:10 140

原创 Java 进阶:实例详解 Java 虚拟机字节码指令(二)

在上一场 Chat 《Java 进阶: 实例详解 Java 虚拟机字节码指令(一)》中,介绍了 Java class 文件结构、Java 字节码,虚拟机栈、变量、常量、方法、域的访问原理和指令体系。本场 Chat 为这个系列的第二篇文章,将接续上一场 Chat 继续介绍 Java 虚拟机字节码指令。特别提示:如果您未阅读上一篇文章,本文不适合您,不建议阅读。本场 Chat 主要内容如下:比...

2019-07-23 23:30:25 65

原创 Sping Cloud+Docker 架构实战

文章是 Spring Cloud 原理+代码实例+ Docker 微服务环境配置+微服务部署使用。学完本课程,能自主搭建微服务架构及使用维护。技术趋势为分布式微服务架构。课程内容:Spring Cloud 各模块介绍及实战,如 Eureka 注册中心、Config 配置中心、Zull网关服务、Ribbon 客户端负载均衡、Stream 消息驱动微服务等;Docker 网路、镜像、容器等原理...

2019-07-23 23:30:21 136

原创 计算机网络知识总结

本场 Chat 分享主要说明计算机网络考试的知识点,众所周知,计算机网络是计算机专业在本科学习阶段的必修课程,主要学习网络五层的功能、协议以及通信数据格式等内容。在本次分享中,你将能够掌握计算机网络主要考察的知识点,了解各层的协议,轻松应对期末考试、研究生复试。同时我也将结合自身学习经历,带着大家做一些常考习题!本次 GitChat 分享的内容主要涉及:计算机网络概述:因特网的组成部分、网络...

2019-07-23 23:30:15 126

原创 Ajax 最全讲解

内容简介:本文适合前端或者全栈工程师;本文主要技术点: HTTP、XMLHTTPRequest、Ajax、跨域、Ajax 的几种封装及使用。本场 Chat 您将学到如下内容:HTTP 请求什么是 HTTP特点怎么解决无状态请求过程HTTP 0.9~3.0 对比浏览器是怎么使用 HTTP 请求XMLHTTPRequest定义属性事件方法版本Ajax定义5 ...

2019-07-23 23:30:12 77

原创 如何在 Python 下用 SQLite 做金融数据分析

Python 进行数据分析和价值挖掘是当前炙手可热的技术领域,如何管理好庞大的数据是其中非常关键的环节。当前流行的数据库有Oracle、MySQL、MongoDB、Redis、SQLite……本场Chat推荐一款Python内置的轻型数据库——SQLite3,它本身是用C写的,不但体积小巧,而且处理速度快,非常适合用于Python金融量化分析爱好者在本地实现数据管理。本场 Chat以股票交易数据...

2019-07-23 23:30:10 210

原创 JMeter 之关联

JMeter 日益成为互联网大厂面试的重要内容,对于测试工程师而言,只有在了解 JMeter 的相关操作原理和方法,才能更好的做接口测试和性能测试,能有效的提升在测试行业的专业技能本场 Chat 首先会带领大家了解学习 JMeter关联的功能,帮助大家对 JMeter 做到知其然,并知其所以然。本场 Chat 您将学到如下内容:揭开 JMeter 的实际功效,应用场景了解 JMete...

2019-07-23 23:30:07 43

原创 CSS 中的层叠和块级格式化上下文

关于 CSS,有几个重要概念是进阶绕不去的,包括层叠上下文 (Stacking Context)、层叠等级 (Stacking Level)、层叠顺序 (Stacking Order)、z-index、块级格式化上下文(BFC,Block Formatting Context)。这些概念共同决定了 DOM 元素被浏览器渲染出来的堆叠顺序,理解这个过程对实战开发至关重要,有助于我们解决很多 CSS...

2019-07-22 23:30:10 88

原创 仿照源码,手写一个自定义 Spring MVC 框架

毫无疑问,Spring 框架目前已经成为 Java 开发的行业标准,Spring MVC 作为其 Web 解决方案,是所有 Java 开发者都必须掌握的基本技能,理解其底层原理,才能更好地应用它进行实际开发。在本场 Chat 中,我将带领大家一起动手,仿照 Spring MVC 的实现思路,手写一个自定义的 Spring MVC 框架,实现其核心功能。主要内容如下:1、梳理 Spring M...

2019-07-22 23:30:09 142

原创 深入理解 RabbitMQ

RabbitMQ 是一个开源的,性能良好,优秀的消息中间件。 在应用解耦,流量消峰,缓存,异步通信等方面有良好的应用,同时也可应用在微服务系统中实现最终一致性。消息中间件是应对海量数据访问的良好的解决方案,开发人员有必要了解和学习。本 Chat 将从 Spring AMQP 整合 RabbitMQ 的角度深度理解 RabbitMQ 。通过本 Chat,您可以学到:RabbitMQ 是怎么保证...

2019-07-22 23:30:08 247

原创 高性能 Linux 运维实战

文章是 Linux 运维实战。学完本课程,掌握 Linux 性能优化、安全策略。技术趋势为 Linux优化性能提升。课程内容:Linux 基础简介;Linux 安全策略;Linux 性能优化;Linux 运维基础。面向人群:有一定的开发基础。...

2019-07-21 23:30:19 1587

原创 深入源码了解 RocketMQ 消息重试机制

作为主流的消息中间件,RocketMQ 以高可靠的消息存储、海量消息吞吐量、事务支持等特性,在互联网行业得到大规模的运用,同时也成为后端开发者进阶必须接触的中间件。在实际使用中,开发者应当对消息重试机制有更为深入的了解。本篇 Chat 将从以下几个方面进行讲解,帮助大家能够更加优雅高效的使用 RocketMQ 提升消息消费效率并从底层源码对 RocketMQ 消息重试机制有更加深入的了解。R...

2019-07-21 23:30:18 313

原创 2019 年最全 Python 面试题汇总

目前 Python 面试主要涉及一下 6 个大方向:Python 的基础语法(输入输出、条件循环、文件操作、异常、模块与包、Python 特性、Linux 基础、Git)掌握 Python 数据类型(字典、字符串、列表、元组、集合)Python 高级编程(元类、内存管理与垃圾回收机制、函数、函数参数、内建函数、Lambda、设计模式、单例、工厂、装饰器)面向对象内容(类、对象)正则表达...

2019-07-21 23:30:06 937

提示
确定要删除当前文章?
取消 删除