保存成功
订阅成功
保存失败,请重试
提交成功
莫小钱

莫小钱

研发工程师
知名互联网公司研发工程师,精通Java、Python编程,主要从事大数据、云原生(边缘计算)、图像处理相关产品研发。天道酬勤、滴水穿石,随便是什么时候都不要忘记积累。...更多
创作文章24

玩转 Django 后台管理

Django 有着宇宙最强的 Web 框架的称号绝不是盖的,可以毫不夸张的说,在 Django 框架中,只要是能看到都能支持自定义操作。 Chat 将讲解八大 Django 后台管理自定义操作。 + 自定义模型注册 + 自定义字段展示 + 自定义后台页面模板 + 自定义显示模型之外的字段 + 自定义过滤器 + 自定义动作函数 + 自定义数据保存方式 + 自定义后台富文本编辑器 适宜人群:Django 进阶
45 订阅

Kafka-Python 环境搭建与实战

Kafka 是一个分布式、分区的、多副本的、多订阅者的流处理平台。Chat 将演示如何通过 Python 与 Kafka 交互以及 Kafka 相关的知识体系。 Chat 内容: 1. Kafka 环境安装 2. 命令行操作 Kafka 3. Python 操作 Kafka - Python Kafka Admin 代码演示 - Python Kafka Producer 代码演示 - Python Kafka Consumer 代码演示 4. Kafka 架构设计以及常见面试题 - Kafka 架构是如何设计的? - 使用 Kafka 的好处? - Kafka 如何保证数据不丢失? - 简述 Leader 选举机制 - Kafka 数据分区和消费者的关系? - Kafka 重启是否会导致数据丢失?
Python
56 订阅

漫画讲解 Git Revert VS Git Reset VS Git Checkout

Git Revert、Git Reset 、Git Checkout 均可以还原已编辑的代码,但是影响却各有不同,那么他们究竟有什么差别呢?我这里将从 Git 的底层逻辑出发,通过漫画+实战的形式将这三者讲透彻,学习完毕之后有利于进一步掌握 Git。 Cha t内容: + Git Revert 漫画+实战 + Git Reset 漫画+实战 + Git Checkout 漫画+实战 + 三者的比较,该如何进行选择
Git
73 订阅

精讲 Kubernetes 如何向集群外部暴露服务

Kubernetes 集群内部有自己的网络规划,如果希望能够将服务暴露给集群外部访问,有 NodePort、Ingress、LoadBalancer、hostNetwork 等可选,对应的服务该如何创建,如何理解各种方式之间的差异,这就是 Chat 要讲解的内容: 1. 如何通过 NodePort 对外暴露服务 2. 如何通过 LoadBalancer 对外暴露服务 3. 如何通过 Ingress 对外暴露服务 4. 总结:Kubernetes 暴露服务的这几种方式的区别、联系、优缺点、什么时候该用哪种?
Kubernetes
60 订阅

玩转 Echarts 地图模绘制

具有区域分布特性的数据,通过地图来展示,可以大幅提高数据分析价值。此外数据地理信息分布展示,可以说是数据大屏的必备组件。 Chat 主要讲解如下内容: 1. 轻松入门篇 - 绘制国家、省份、市区地图 - 多级地图下钻的实现 - 搞懂 Map 和 Geo 的区别 2. 实用技巧篇 - 地图展示多维数据展示(Series) - 地图标点(MarkPoint)及其特效展示 - 地理位置间连线(MarkLine)及其特效展示 - 地图结合 Echart 基础图表的应用 3. 装逼必备篇 - 数据分布效果(DataRange) - 自定义图例 Legend 样式 - 自定义标签 Label 样式 - 自定义元素 Item 样式 - 自定义数据格式 Formatter 显示
Echarts
68 订阅

漫画讲解 git rebase VS git merge

关于 `git rebase` ,首先要理解的是它解决了和 `git merge` 同样的问题。这两个命令都旨在将更改从一个分支合并到另一个分支,但二者的合并方式却有很大的不同。 当你在专用分支上开发新 feature 时,然后另一个团队成员在 `master` 分支提交了新的 commit,这会发生什么?这会导致分叉的历史记录,这个问题对使用 Git 作为协作工具的任何人来说都应该很熟悉,那么该如何解决呢,这就是本文要讲解的内容。 Chat 内容: 1. 分析代码冲突的原因,并通过漫画的形式举例讲解。 2. git merge 合并分支代码, 3. git rebase 合并分支代码,并通过漫画的形式举例讲解 4. git merge 对比 git rabase 该如何选择? 5. 加餐学习:git stash 解决线上代码冲突
142 订阅

系统学习 Python 处理 Excel 表格数据

Python 语言的一大特点就是进行数据处理和分析,对于很多小伙伴而言,最直接的数据来源就是 Excel 表格。文章对 Python 处理 Excel 数据进行系统的技术总结,兼顾没有基础的小伙伴入门和有基础的同学提高,内容全面且丰富,学完后能够让小伙伴们在处理表格数据时手到擒来、游刃有余。 Chat 讲解如下内容: 1. 基础篇 + openpyxl 库概述及其安装 + 表格中的结构划分与 openpyxl 中的对应关系(表、工作簿、行、列、单元格) + openpyxl 对表格文件数据读取、编辑、保存 + openpyxl 操作指定单元格数据 + openpyxl 调节 Excel 表格的样式(字体、边框、合并单元格等操作) + openpyxl 调节 Excel 表格的数值格式(如货币、百分比、千分位等格式) + 利用 openpyxl 操作表格操作公式 + 利用 openpyxl 在表中插入图像数据 2. 进阶篇 + openpyxl 结合 Pandas 进行数据处理(数据透视、分组聚合、合并表格等) + openpyxl 数据筛选、排序 + openpyxl 数据透视操作 + openpyxl 中与打印机有关的操作 + openpyxl 中有关数据保护相关的操作 + 利用 openpyxl 在表中插入图表对分析结果展示 适宜人群: + Python 入门练习 + 系统学习 Python 如何操作 Excel
Python
80 订阅

Scrapy+Selenium 最佳实践

Scrapy 是一款优秀的爬虫框架,这点小伙伴们应该没有任何疑问。但是它也有不足的地方,例如在爬取网页时,填写表单、点击按钮、执行JavaScript代码这些动态的操作,而这对于 Selenium 来说,却是它的优点所在。将二者进行结合,将能够裨补缺漏,所向披靡。 Chat 是 Scrapy+Selenium 的最佳实践,将从入门、实战到部署一步到位,主要讲解如下内容: 1. Scrapy 在爬取时遇到的问题举例 2. Selenium 的使用 3. Scrapy+Selenium 实战演练 4. 爬虫部署:Jenkins+Docker+Scrapy+Selenium 适宜人群: 1. 有 Python 基础(必须) 2. 有 Scrapy 基础(可选) 3. 有 Docker 基础(可选)
ScrapySelenium
95 订阅

从 0 到 1 开发 Docker 可视化 Web 系统

前面 Chat 了《Docker-Compose入门与实战》,可以通过编写 yaml 脚本快速部署多个 Docker,懒惰推动革命,但是我觉得还是不够方便,因为要远程到服务器。于是乎我想到了可以通过 Web 界面的方式,这样就不用在远程服务器统部署 Docker 应用了,查阅资料得知大家说好用的是 Portainer 这款 Web 管理软件(没听说过的也可以去尝试一下),我特别想知道是什么原理呢?Docker 是如何控制宿主的呢?了解了这些原理是否我可以自己也开发一套呢? 这就是这篇 Chat 要讲解的内容: 1. 第一阶段:分析 Portainer 运行原理 2. 第二阶段:验证可行性 3. 第三阶段:系统架构设计 4. 第四阶段:撸代码 适宜人群:有 Docker 基础,会 Docker-Compose 更佳
Docker
107 订阅

Docker-Compose 入门与实战

使用过 Docker 的小伙伴们都知道,启动 Docker 是一般会附带很多的启动参数,如 -v 指定挂载目录,-p 指定端口等等。除此之外,很多时候我们的业务系统中一般都会有几个 Docker 组合运行,容器间网络通信,容器的启动顺序等有明确的要求。基于这些问题,Docker-Compose 技术诞生。 本文将从基础到实战举例,共计8个章节,前面5章讲解基础,后面3章则时以实战为主,详细讲解 Docker-Compose 的使用。Chat 主要讲解如下内容: 1. Docker-Compose 和 Docker 的联系 2. 安装 Docker-Compose 3. YAML 语法概述 4. Docker-Compose 语法总结 5. Docker-Compose 常用命令 6. 实战演练一:Docker-Compose 部署伪分布式的 Elasticsearch 7. 实战演练二:Docker-Compose 部署 Kafka(Zookeeper) 8. 实战演练三:Docker-Compose 部署业务系统,包括 Nginx+MySQL+Redis+Spring Boot
Docker
107 订阅

Kubernetes(K8S)入门与实战(序)

Kubernetes 以下简称 K8S。不管学习什么技术,带着问题去学习能够让学习效果更佳,自顶向下的学习方式是我个人一向推崇的。相信大家都听说过 Docker,Docker-Compose,Docker-Swarm,K8S 技术,每项技术都有其存在的价值,那么他们之间有着怎样的关系呢,学习它们有什么用呢?本文的目的就是通过梳理容器化部署服务的技术,最终落地到为什么要学习 K8S。 Chat 主要讲解如下内容: 1. Docker 是什么,为什么要学习 Docker,Docker 和虚拟机有什么区别? 2. 既然 Docker 能够解决问题了,那为什么会有 Docker-Compose? 3. Docker-Compose 已经学了,为什么又来个 Docker-Swarm,不嫌麻烦吗?
免费Kubernetes
62 订阅

单机 Hadoop 官方开源版环境搭建

学习大数据从 Hadoop 入手,业界用的比较多的是 Hadoop 的 CDH 版本,但是 Cloudera 从 2021 年 1 月 31 日之后将不再免费使用。因此本文的搭建主要是以 Apache 官方给定的 Hadoop 搭建。本文的目的主要是为学习大数据的小伙伴们能够快速上手,避免在搭建环境这一步被拒之门外。在进行使用后,再详细解释 Hadoop 相关的的概念,如 HDFS,NameNode,DataNode,ResourceManager 等,让小伙伴们能够更好的理解。在此基础上,后续会专门出一篇分布式 Hadoop 环境搭建,用于深入学习。 Chat 主要讲解如下内容: 1. 为什么选择官方开源版 2. 下载安装包 3. 安装前环境准备 4. 解压和配置 5. HDFS 使用 6. NameNode、SecondaryNameNode 和 DataNode 的概念以及联系 7. YARN 使用:提交 MapReduce 作业测试运行 8. ResourceManage 和 NodeManager 的概念以及联系 9 MapReduce 作业的执行流程(面试常考)
Hadoop
87 订阅

妙用 Java 中的位运算

位运算是很多小伙伴容易忽略的知识,很多时候合理的使用的位运算,能够让我们的程序性能得到大幅度提升。 Chat 主要讲解如下内容: 1. 基础概念:原码、反码、补码的概念及其三者间的联系 2. Java 中的位运算及代码演示 + 按位与 + 按位或 + 按位非 + 按位异或 + 左移 + 右移 + 无符号右移 3. 位运算对程序性能提升 + 判断奇偶数 + 两数交换 + m 的 n 次方 + …… 4. HashMap 源码中如何巧妙的利用位运算 在 JDK8 中 HashMap 扩容做了优化,其中一点就是巧妙的利用了位运算。
Java
119 订阅

OpenCV-Java 图像处理技巧总结

OpenCV 非常强大,除支持 C++、Python 外,还支持 Java 方式,这为 Java 程序员进行图像处理提供了极大的便利。 通过本文的学习,将会让你掌握如何通过 OpenCV-Java 进行图像处理。Chat 主要讲解以下内容: 1.搭建 OpenCV-Java 开发环境(同时支持 Windows 和 Linux) 2. 图像预处理技巧 + 读取图片、视频、直播流 + 图像色彩空间转换 + 开闭运算 + 滤波(均值、中值、高斯等) + 更多实用技巧.... 3. 图像处理技巧 + 提取图像 ROI + 像素扫描 + 轮廓检测 + 图像旋转 + 边缘检测 + 更多实用技巧 4. 图像结果展示 + 图像显示 + 绘制线条、矩形、圆、写字等 + 图像存储
OpenCVJava
105 订阅

自动化运维环境搭建与实战

在实际开发中,项目功能迭代、需求变更等都会进行项目的重新部署,而每次版本发布重复性的工作,在很大程度上浪费了我们的时间与精力,自动化运维应运而生。 通过本文的学习,将会在很大程度上节省项目部署时间,从而将更多的精力用于开发和功能优化上。Chat 主要讲解如下内容: 1. Jenkins 概述与环境搭建 2. Java 项目发布常见搭配:Jenkins+Spring Boot+Maven+Git+Docker+代码仓库(GitHub/Gitee 等) 3. Python 项目发布常见搭配:Jenkins+Flask/Django+uWSGI+Git+Docker + 代码仓库(GitHub/Gitee 等) 4. 进阶操作:Jenkins+Springboot+Maven+Git+MySQL+Redis+Docker-Compose+ 代码仓库(GitHub/Gitee 等)
Docker
182 订阅

Elasticsearch 基础(二):索引文档的增删改查

上一篇文章讲解了如何搭建一个 Elasticsearch 服务,本文同样也是基础篇,讲解 Elasticsearch 相关的基础概念,同时实现基础功能,对索引文档的增删改查。 Chat 主要讲解如下内容: 1. ES 类比 MySQL 2. 索引创建并分片 3. 创建索引文档 4. 查询索引文档 5. 更新索引文档 6. 删除索引文档
Elasticsearch
96 订阅

Elasticsearch 基础(一):安装与配置

Elasticsearch 是一个开源、高扩展的分布式全文检索引擎,可以近乎实时的存储、检索数据。而且扩展性很好,条件允许下可以扩展到上百台服务器,处理 PB 级别的数据,已经广泛应用于业务系统及大数据项目中。本文为学习 Elasticsearch 的入门篇,搭建一个 Elasticsearch 服务。搭建服务是学习 Elasticsearch 的基础,本篇将会细致、全面的讲解如何搭建一个符合标准的 Elasticserch 服务,同时会讲解一些实用的搭建技巧。 Chat 主要讲解如下内容: 1. 下载并安装 Elasticsearch 2. 安装 Elasticsearch-Head 插件 + 源代码编译安装 + Google 插件安装 3. 设置 Elasticsearch 访问权限 4. 分布式安装:拓展 Elasticsearch 节点
Elasticsearch
111 订阅

Docker 快速入门与实战

Docker 是一门大家耳熟能详且实用性非常高的虚拟化技术,但是对于很多刚入门 Docker 的小伙伴来说,其实并不了解 Docker 到底是什么?Docker 能帮助我们解决什么问题?本文通过理论与实操相结合的方式讲解文章,手把手教学如何掌握 Docker。 通过本文你将掌握如下知识: 1. 什么是虚拟化,Docker 和虚拟机有什么区别? 2. 如何安装 Docker(包括在 Windows 环境和 Linux 环境) 3. Docker 镜像和容器有什么区别? 4. 生成 Docker 镜像的三种方式 + 编写 Dockerfile 构建镜像以及 Dockerfile 常用语法 + 通过本地导入和导出镜像 + 通过镜像仓库拉取镜像 5. 打包 Docker 容器常用操作 + Docker 间如何通信 + Docker 与宿主端口、磁盘映射 + Docker 内部应用随 Docker 重启而重启 + …… 6. Docker 镜像与容器的删除 7. 如何自定义 Docker 镜像作为基础镜像 8. 如何搭建属于自己的 Docker 镜像仓库
Docker
110 订阅

Pandas 时间序列处理技巧总结

我们日常生活见到的数据大都基于时间规律生成,如日志数据、天气数据、股市交易数据等等,因此对很多数据处理和分析来说,时间序列几乎是一个不能抛开的话题。得益于 Pandas 对时间序列数据的强大接口,使得我们处理数据时间序列问题将会变得愈发简单 。 通过本文你将学到很多有关 Pandas 处理时间序列问题的实用技巧: 1. 时间标准时间的概念 + 格林威治标准时间 GMT 的概念 + 世界协调时间 UTC 的概念 + Pandas 时区定位和转换 2. Python 时间库 + datetime 库时间格式化处理 + dateutil 库时间格式化处理 + Pandas 时间索引是否为空判断 3. Pandas 时间索引处理基础 + 时间序引的生成(自定义序列范围、数量、频度) + 基于时间序列查询、切片、分组计算 + 基于时间序列数据偏移 4. Pandas 时间序列处理进阶 + 数据填充 + 重采样(降采和增采) + 移动窗口函数
Pandas
92 订阅

Python 与 C/C++ 相互调用

Python 作为一门胶水语言,和其他语言相互调用十分常见,其中比较麻烦且坑比较多的要数 Python 与 C/C++ 的相互调用。 本Chat主要讲解如下内容: 1. Python 调用 C/C++ + Windows 下调用 DLL 库 + Linux 下调用 SO 库 2. C/C++ 调用 Python + 原生方式(效率高) + 管道方式(配置简单)
PythonC++
101 订阅

Pandas 干货系列教程(二):Pandas 数据结构

Pandas 是一款数据分析利器,学习 Pandas 对数据处理、分析将会起到很大的帮助,系统学习Pandas之前理解Pandas的数据结构能够起到事半功倍的作用。本文主要通过理论与代码相结合的方式,讲解 Pandas 的两大数据结构 Series 和 DataFrame。 本 Chat 主要讲解如下内容: 1. Series + Series 的创建 + Series 属性 + Series 值获取 + Series 运算 2. DataFrame + Series 与 DataFrame 的联系 + DataFrame 创建 + DataFrame 属性 + DataFrame 值获取 + DaraFrame 运算 适合人群: + Pandas 入门 + Pandas 基础不牢,对 Pandas 基础巩固 + 计划对 Pandas 系统学习
Pandas
89 订阅

Scrapy 爬虫框架入门与提高

Scrapy 是一款优秀的爬虫框架,使用 Scrapy 让我们在爬取数据时,只关注爬取内容即可,而不用关注爬取的实现,可以说是非常的实用。本文通过对 Scrapy 系统讲解,即使是一个刚入门爬虫的小伙伴,只要你有一定得 Python 基础,也可以很快上手。 通过本文的学习,你将掌握如下知识: 1. Scrapy 基础 + 安装 Scrapy 库 + 搭建 Scrapy 工程 + Scrapy 工程结构讲解 + 爬取一个结构简单的网站体验 Scrapy 框架 2. Scrapy 进阶操作 + CSS、Xpath 节点选择器 + 如何爬取文件 + 根据网页结构分层次爬取 + 分布式爬取 + 异步爬取 3. 如何通过 Scrapy 实现反爬 + 动态 User-Agent + IP 代理池实现 + 延时爬取 + 保持登录状态
Scrapy
166 订阅

OpenCV-Python 图像处理技巧总结

在计算机视觉图像处理领域,OpenCV 绝对是首选,这得益于 OpenCV 强大的接口。但是对于很多刚入门的小伙伴来说,如何去灵活应用这些接口着实让人头疼,本文主要就是通过理论与实践相结合的方式,利用 OpenCV-Python 库进行图像处理。 通过本文的学习,你将学到如下知识: 1. 图像预处理阶段 + 读取图片或视频 + 颜色空间转换:BGR-GRAY、BGR-HVS、二值化(阈值该如何选择) + 高斯模糊 + 滤波:均值、中值、极大、极小滤波 + 图像腐蚀 + 图像膨胀 2. 图像处理阶段 + 像素扫描 + 轮廓检测 + 边缘检测 + 图像切割 + 图像旋转 + 绘图函数:线、矩形、圆、 椭圆、多边形 3. 图像处理完毕,对结果进行显示/存储 + 显示 + 缩放图片或视频 + 存储 4. 实战:车牌号识别 - 实战环节,将用一个车牌号的例子将前三节的理论用于实战,一步一步将车牌号从整个车身(包含周边环境等复杂环境)提取。
OpenCV
141 订阅

Pandas 干货系列教程(一):输入与输出

Pandas 可以理解为一个数据库,而且是一个加强版的数据库,数据库的数据有导入导出,对应 Pandas 为数据的输入与输出,Pandas 为此提供了很多接口,涉及文本读取、数据库读取、网络爬虫形式读取以及其他结构化数据,具体使用方式将在下文中一一列举。 本篇教程讲述 Pandas 如何与外部数据交互的常用的交互接口,通过本文的学习你将掌握以下知识: + read_pickle 介绍以及接口调用示例 + read_table 介绍以及接口调用示例 + read_csv 介绍以及接口调用示例 + read_clipboard 介绍以及接口调用示例 + read_excle 介绍以及接口调用示例 + read_json 介绍以及接口调用示例 + read_html 介绍以及接口调用示例 + read_sql 介绍以及接口调用示例 + 结语:pandas 学习路线 + 文末彩蛋:安装 jupter-lab 提升 Pandas 学习效率 **适合人群:** + Pandas 入门 + Pandas 基础不牢,对 Pandas 基础巩固 + 计划对 Pandas 系统学习
Pandas
121 订阅