保存成功
订阅成功
保存失败,请重试
提交成功
最新热门免费
严选

XtraBackup介绍与使用教程

Percona XtraBackup是一款基于MySQL的服务器的开源热备份实用程序,在备份过程中不会锁定数据库。它可以备份来自MySQL5.1,5.5,5.6和5.7服务器上的InnoDB,XtraDB和MyISAM表的数据,以及带有XtraDB的Percona服务器。 Percona XtraBackup为所有版本的Percona Server,MySQL和MariaDB进行MySQL热备份。它执行流,压缩和增量MySQL备份。 功能: 在不暂停数据库的情况下创建热的InnoDB备份 进行MySQL的增量备份 将压缩的MySQL备份传输到另一台服务器 在MySQL服务器之间移动表格 轻松创建新的MySQL复制从站 在不增加服务器负载的情况下备份MySQL Xtrabackup特点: (1)备份过程快速、可靠 (2)备份过程不会打断正在执行的事务 (3)能够基于压缩等功能节约磁盘空间和流量 (4)自动实现备份检验 (5)还原速度快
*简简单单的小生活*简简单单的小生活 · 数据库架构师
预订中 · 3 订阅

从底层重学 Java 之 String 字符串

从底层,从原理,我们来重学一次 Java。String 是字符串类,包含比特流与字符串的互转,字符串的常用切割、定位、相等判断,他的源码及实现是怎样的呢? 本系列秉承所有结论尽量从源码中来,没有源码的尽量标明出处。相关源码会附着在文章中,读本文即可,不用再自行查找源码及资料学习,方便大家充分利用路上的碎片时间。 本篇 Chat 对 String 的属性、构造函数、常用字符串处理进行逐一源码分析,帮助大家深入理解和学习 JDK 源码的牛掰优化。 本文包含以下内容: - 类信息 - 类的定义 - 类的继承结构 - 局部变量 - value - hash - 构造函数 - String() - String(String original) - String(StringBuffer buffer) - String(StringBuilder builder) - String(char value[]) - String(char[] value, boolean share) - String(char value[], int offset, int count) - String(int[] codePoints, int offset, int count) - Character.isBmpCodePoint(int codePoint) - Character.isValidCodePoint(int codePoint) - Character.toSurrogates(int codePoint, char[] dst, int index) - Character.highSurrogate(int codePoint) - Character.lowSurrogate(int codePoint) - String(byte bytes[], int offset, int length, String charsetName) - checkBounds(byte[] bytes, int offset, int length) - StringCoding.decode(String charsetName, byte[] ba, int off, int len) - StringCoding.deref(ThreadLocal<SoftReference<T>> tl) - StringCoding.lookupCharset(String csn) - StringCoding.StringDecoder - StringCoding.set(ThreadLocal<SoftReference<T>> tl, T ob) - CharSequence - 接口定义 - length() - charAt(int index) - subSequence(int start, int end) - toString() - chars() - codePoints() - length() - isEmpty() - charAt(int index) - getBytes(String charsetName) - getBytes(Charset charset) - getBytes() - StringCoding.encode(char[] ca, int off, int len) - System.exit(int status) - StringCoding.encode(String charsetName, char[] ca, int off, int len) - StringCoding.deref - StringCoding.set - StringCoding.lookupCharset(String csn) - StringCoding.set(ThreadLocal tl, T ob) - StringCoding.StringEncoder - StringCoding.safeTrim(byte[] ba, int len, Charset cs, boolean isTrusted) - Arrays.copyOf(byte[] original, int newLength) - CharsetEncoder.encode(CharBuffer in, ByteBuffer out, boolean endOfInput) - CharsetEncoder.flush(ByteBuffer out) - equals(Object anObject) - 为什么“==”不行呢? - contentEquals(StringBuffer sb) - contentEquals(CharSequence cs) - equalsIgnoreCase(String anotherString) - regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) - regionMatches(int toffset, String other, int ooffset, int len) - compareTo(String anotherString) - CASE_INSENSITIVE_ORDER - compareToIgnoreCase(String str) - startsWith(String prefix, int toffset) - startsWith(String prefix) - endsWith(String suffix) - hashCode() - indexOf(int ch) - indexOf(int ch, int fromIndex) - lastIndexOf(int ch) - lastIndexOf(int ch, int fromIndex) - indexOf(String str) - indexOf(String str, int fromIndex) - indexOf(char[] source, int sourceOffset, int sourceCount, String target, int fromIndex) - indexOf(char[] source, int sourceOffset, int sourceCount, char[] target, int targetOffset, int targetCount, int fromIndex) - lastIndexOf(String str) - lastIndexOf(String str, int fromIndex) - lastIndexOf(char[] source, int sourceOffset, int sourceCount, String target, int fromIndex) - lastIndexOf(char[] source, int sourceOffset, int sourceCount, char[] target, int targetOffset, int targetCount, int fromIndex) - substring(int beginIndex) - substring(int beginIndex, int endIndex) - subSequence(int beginIndex, int endIndex) - concat(String str) - getChars(char dst[], int dstBegin) - replace(char oldChar, char newChar) - matches(String regex) - contains(CharSequence s) - replaceFirst(String regex, String replacement) - replaceAll(String regex, String replacement) - replace(CharSequence target, CharSequence replacement) - split(String regex, int limit) - split(String regex) - join(CharSequence delimiter, CharSequence... elements) - join(CharSequence delimiter, Iterable<? extends CharSequence> elements) - StringJoiner - StringJoiner(CharSequence delimiter) - StringJoiner(CharSequence delimiter, CharSequence prefix, CharSequence suffix) - setEmptyValue(CharSequence emptyValue) - toString() - add(CharSequence newElement) - merge(StringJoiner other) - prepareBuilder() - length() - toLowerCase(Locale locale) - toLowerCase() - ConditionalSpecialCasing - toLowerCaseEx(String src, int index, Locale locale) - toUpperCaseEx(String src, int index, Locale locale) - toLowerCaseCharArray(String src, int index, Locale locale) - toUpperCaseCharArray(String src, int index, Locale locale) - lookUpTable(String src, int index, Locale locale, boolean bLowerCasing) - Entry - entry - entryTable - toUpperCase(Locale locale) - toUpperCase() - trim() - toString() - toCharArray() - format(String format, Object... args) - format(Locale l, String format, Object... args) - valueOf - valueOf(char data[]) - valueOf(char data[], int offset, int count) - copyValueOf(char data[], int offset, int count) - copyValueOf(char data[]) - valueOf(boolean b) - valueOf(char c) - valueOf(int i) - valueOf(long l) - valueOf(float f) - valueOf(double d) - intern() **适用人群**:有一些 Java 基础的人群。
草宝虫草宝虫 · 架构师
预订中 · 5 订阅

Hyperledger indy 的使用

Hyperledger Indy是一个专门用于去中心化身份管理的分布式账本技术平台。它提供基于区块链或其他分布式账本技术的工具、代码库和模块化组件用于独立的数字主权身份,真正实现跨账本、跨区块链应用的不同身份之间的互操作。 在本场 Chat 中,会讲到如下内容: 1.去中心化的概念。 2.共识机制。 3.ubuntu部署indy。 4.DID,schema,credential等概念。 5.indy身份管理流程。 5.indy使用案例(java)。 适合人群: 对indy 技术有兴趣的技术人员
兴趣互联兴趣互联 · 工程师
预订中 · 2 订阅

Spring boot 集成dwr

本char会讲到如下内容: 1:dwr是什么,会应用到那种场景 2:dwr工作原理 3:dwr配置 4:springboot集成dwr 5:实现dwr推送服务 适用人群:需要实现服务端往客户端推送信息。在线聊天。等。
LiuzhiBoyLiuzhiBoy · 工程师
预订中 · 5 订阅

Linux系统下安装文件存储服务器

FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。 FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。 在本chat中会讲到如下内容: 1. Linux 下安装部署 FastDFS、Nginx-FastDFS-Module 2. 安装 FastDFS 中 Storage、Tracker 3. Nginx 创建软连接以及实现负载均衡 4. 设置防火墙策略以及开机自启动
LiuzhiBoyLiuzhiBoy · 工程师
预订中 · 2 订阅

逐行解读Hikari连接池原理

几年前,我最开始接触的数据库连接池是 C3P0,后来工作后用的是阿里的 Druid,但随着 Springboot 2.0 选择 HikariCP 作为默认数据库连接池之后,HikariCP 作为一个后起之秀出现在大众的视野中,以其速度快,性能高等特点受到越来越多人青睐。 在实际开发工作中,数据库一直是引发报警的重灾区,而与数据库打交道的就是 Hikari 连接池,分析 Hikari 报警日志并定位异常原因,是日常工作中必不可少的技能! 本文以 Hikari 2.7.9 版本源码进行分析,带大家理解 Hikari 原理,学会处理线上问题! 在本场 Chat 中,会讲到如下内容: - Hikari 配置校验与矫正 - Hikari 连接池初始化 - Hikari 连接获取流程 - Hikari 空闲线程原理 - Hikair 存活时间原理 - Hikari 连接泄露原理 - Hikari 连接池核心原理 - 线上报警实战分析两例 适合人群:使用或对 Hikari 连接池有兴趣的技术同学
薛师兄薛师兄 · 高级研发工程师
预订中 · 18 订阅

不知道如何分库分表,看完这篇文章,轻松应对工作面试

在互联网公司中,随着业务量逐渐增大,数据量随之剧增。当单表数据量超过5千万条,任何SQL优化技巧都无法起作用,这时候需要进行分库分表。 所以无论是面试或者工作中,都需要学习如何分库分表。大家在平时或多或少了解一些分库分表相关的知识,不过都是零散不成体系的。导致工作中遇到分库分表的问题不知道如何下手,面试中回答分库分表相关问题,又是逻辑不清、回答不全。 本Chat通俗易懂,图文并茂,精心总结分库分表遇到的所有问题。 作者精心制作了大量插图,不枯燥,生动有趣,而且全是干货,细节满满。 本Chat你将会学到以下知识: - 为什么需要分库分表? - 什么情况下需要分库?什么情况下需要分表? - 分库分表有哪些拆分方式? - 如何进行分库?如何进行分表? - 垂直分库引入的问题如何解决? - 如何进行跨库join关联查询? - 同时操作多个库,如何实现事务? - 垂直分表引入的问题如何解决? - 如何一次查询出多张表的数据? - 水平分表引入的问题如何解决? - 当where中没有分片键的时候,如何实现分页、排序的功能? - 出现数据倾斜如何解决? - 分库分表,具体如何编码实现?每种框架有何优缺点? - 例如:Mybatis、TDDL、ShardingJDBC、MySQL Router、MyCat等。
一灯架构一灯架构 · Java开发专家
预订中 · 30 订阅

Go语言从入门到熟练使用

Go语言作为一门年轻的语言目前在大型互联网公司逐渐在核心业务实践方面占有一席之地,相对于Java被SpringBoot一统天下、Python执行效率优化空间着实有限、PHP的江河日下,Go语言作为一门年轻的语言最大的优点就是没有明显的缺点。另一方面,Go语言是一个入门简单、代码简洁、原生支持语言级并发和性能分析、拥抱云原生方面具有不可比拟的优势。 Go语言在各个生态方面目前处于百家争鸣的局面,如果之前没有了解过Go语言,可以先初步学习感受下Go语言带来的魅力。学习Go语言可以在工作中业务需求在技术选型方面多一个选择;另一方面互联网达大厂求职岗位多为Go语言,也为职业生涯多一份选择的可能。 ## 通过本次课程你将学习到 ### GO语言从HelloWorld到熟练掌握语法层面的基础操作 1、变量和常量 2、循环与条件分支 3、数组与Slice 4、Map使用 5、遍历数组和Map 6、函数与方法 7、指针和结构体 8、接口 9、错误处理 10、协程的使用 11、通道 12、通道缓冲和同步 13、通道方向和选择器 14、超时处理 15、非阻塞通道操作 16、通道的关闭 17、通道遍历 18、定时器和打点器 19、Panic和Defer 20、组合函数 ### GO语言常见的场景及最佳实践 1、并发相关 2、性能优化相关
SQL拼接工程师SQL拼接工程师 · 字节跳动后端开发工程师兼任日常SQL拼接工程师
预订中 · 16 订阅

接口调用之质量保障指标评估体系

该文章提供全面的接口调用的质量保障,掌握该评估体系在工作上能避免很多问题的发生,同时也能提高工作效率。 1、明确接口含义 2、安全性 3、性能 4、容量 5、可靠性 5、数据时效性
小码小码 · 资深工程师
预订中 · 17 订阅

如何快速排查处理Java线上故障?我总结了全套的方案流程

一个合格的程序员,不但写得一手好代码,更重要的是能快速定位处理线上问题,充当救火队长角色。 团队出了线上问题,JVM频繁Full GC报警,用户无法下单了,不解决的话,马上就会上升故障等级,年终奖岌岌可危。 领导急的抓耳挠腮,同事也都大眼瞪小眼。 这时候如果你跳出来,快速定位,并顺利解决了线上问题,升职加薪不给你给谁? 现实情况最好不要是: - 我先百度一下“Full GC是什么意思?” - “什么情况会触发Full GC?” - “Full GC该怎么解决?” 等到你百度出来解决方案,黄花菜都凉了,毕业证都给你发下来了。 所以赶紧未雨绸缪,学一下这篇精心制作的Java线上故障解决方案全教程,保证在工作中遇到任何线上问题,都能轻松化解。 别问我为什么总结的这么全,比一篇专栏还全,定价还这么低? 问就是“雷锋精神”。 本Chat你将会学到以下知识: JVM内存知识介绍: 1. JVM内存结构是什么样的? 2. 对象有什么构成? 3. Java8为什么用元空间替换永久代? 4. 创建对象的流程是什么样的? 5. 对象什么时候进入老年代 6. 什么情况会触发Young GC 7. 什么情况会触发Full GC 8. 怎样判断一个对象是否可回收? 9. 常见的垃圾收集算法 10. 不同垃圾收集器的优缺点和应用场景 线上故障处理流程: 1. 保留现场 - 摘除问题机器 - 保存堆栈信息 - 保存GC日志 - 保留业务日志 - 查看JVM运行状况 2. 重启或者回滚服务 线上常见问题及处理方案: 1. 频繁Full GC 2. 抛出OOM异常(java.lang.OutOfMemoryError) 2. 线程数过多报警 2. 堆内存溢出报警 2. 元空间不足报警 3. CPU利用率过高 4. 内存利用率过高 4. 磁盘利用率过高 排查问题工具介绍: 1. JVM自带工具介绍 - jps - jinfo - jstat - jstack - jmap 2. 日志查询工具介绍 - grep - find - awk 3. 性能分析工具介绍 - top - btrace - JProfiler - MAT
一灯架构一灯架构 · Java开发专家
预订中 · 34 订阅

Intellij IDEA 十倍提升开发效率教程

Intellij IDEA是当今最流行的编辑器,能否高效使用,对日常开发效率有着举足轻重的作用。 熟练使用Intellij IDEA不但可以提升开发效率,还有助于养成良好的编码习惯。让研发同学更专注于业务逻辑开发,减少bug,减轻开发工作量。 我结合自己多年的工作实战经验,全面系统的整理了这篇Intellij IDEA高效使用教程,全方位无死角介绍Intellij IDEA,保证学完之后开发效率提升十倍,一天的开发量2小时做完。 每个功能都有详细讲解和配图,对于复杂使用更有精美GIF动图,教程生动有趣、不枯燥。 对于常用快捷键,Windows和Mac系统都有介绍,满足不同平台用户。 本Chat你将会学到以下知识: 1. Intellij IDEA的高效配置 - 优化自动导包,自动删除无用的包,多个相同层级包用星号替换 - Tab页多行展示 - 让双斜杠注释紧跟代码头 - 无需全部选中,即可复制多行内容 - 代码联想,取消匹配大小写 - 优化版本控制的目录颜色 - 自定义文件头部信息 - 显示行号和方法分割线 2. Intellij IDEA高效使用 - 无需选中即可复制整行 - 水平/垂直打开多个tab页 - 妙用收藏夹,收藏常用文件方法 - 快速查看代码变更历史 - 自带模拟请求工具使用教程 - 自定义TODO 3. Intellij IDEA高效快捷键 - 选中多列 - 快速复制当前行 - 快速移动当前行 - 快速向上/向下跳转 - 跳转到指定行 - 查看最近浏览的文件 - 万能快捷键 Alt+Enter详细介绍 - 搜索文件/类/方法/变量 - 批量重命名变量名 - 提取变量/方法 - 快速复制/移动文件 - 查看类结构/类关系图 - 找出历史复制记录 4. Intellij IDEA高效插件 - 自动格式化代码插件 - 代码规范检查插件 - 代码潜在bug检查插件 - 快捷键提示插件 - 热部署插件 - JSON转成实体类插件 - Maven 辅助插件 - Mybatis 辅助插件 - Git 辅助插件 - 打印SQL日志插件 - 中英文翻译插件 - 成对儿括号用不同颜色展示插件 - 驼峰式命名和下划线命名转换插件 - 代码统计插件 - 代码缩略图插件 - 各种DTO属性快速转换插件 5. 代码智能提示插件(人工智能写代码?) - 四款总流行的代码智能提示插件介绍 - Codota - aiXcoder - Copilot - Alibaba Cloud AI Coding Assistant 6. Intellij IDEA界面美化插件 - 漂亮主题插件 - 高大上的Icon图标插件 - 全屏背景插件 - 卡哇伊加载进度条插件 - 动效带感的代码插件 6. 高效使用实时代码模板(Live Templates) - Live Templates的使用教程 - 30个常用的Live Templates介绍 - 玩转自定义Live Templates 7. 高效使用后缀完成代码模板(Postfix Completion) - Postfix Completion的使用教程 - 30个常用的Postfix Completion介绍 - 玩转自定义Postfix Completion
一灯架构一灯架构 · Java开发专家
预订中 · 27 订阅

如何成为一个好的Java程序员

笔者:王某 工作履历:8年开发经验(4年全栈 + 4年java) Java 是当今最流行和最受喜爱的开发语言之一,如果加入个人情感,可以去掉“之一”。 有人总结过许多应该学习Java的理由,包括“高薪(实在~)”,“易学”,“强大的社区”,“丰富的API”,“平台独立”,“免费”,等等。而其最诱人的地方主要在于“高薪” “易学”,就像一样商品同时满足了“物美” “价廉”一样,实属难得。 如今Java 越来越受到欢迎,尤其是在网站开发和移动端,可谓万物生长,这就需要感谢高司令(创始人),感谢Sun(创始公司),感谢Oracle(收购者),感谢安卓......对于我而言还要感谢这些年就职过的公司,感谢XX,感谢XXX,感谢XXXX(保密O(∩_∩)O),感谢Java赏饭吃,感谢这一切的一切。 回到正题,如何成为一个好的Java程序员 1. 夯实基础(合抱之树,起于毫末~) 现在有很多的入门教程,各种视频,尤其是各种公开课(慕课网,腾讯课堂,阿里云课程......)。我们当初也是看过马某某,韩某某等视频的。看视频可以更快的入门,更容易上手,有个感性的认识。但是视频毕竟是老师教的,自己也要勤加思考和动手,而看书也是不可少的。 笔者不建议那种“21天从入门到精通~”之类的,个人推荐永不落幕的《Java编程思想》。还有一些生动有趣的书,比如《Head First Java》,"Head first 系列" 活泼易懂又深入浅出。当然了, 最好是结合官网(官网链接:https://docs.oracle.com/javase/tutorial/)。官网是英文的,看起来可能有点头大,如果能坚持下去效果会很好(配合翻译词典)。 老老实实打好基础是以后成为程序员真正的的捷径,而一上来东一下西一下,堆砌各种框架,感觉很厉害而不了解其本质以后走不远。所以花时间慢慢打好基本功,一点一点来(勿欲速欲速则不达~),基础牢固后学习就会快起来了。 后续会陆陆续续总结相关知识点出来~
大地不语大地不语 · 高级程序员
预订中 · 10 订阅

作为前端开发工程师,不管是做网站还是管理系统中,都会用到javascript

,所以作为前端开发的人员,学好javascript,基本上你在以后的前端开发工作中会事半功倍,所以我在这里分享一下我的前端开发心得和开发前端工作应该作重点学习前端技术的部分。 如果你是刚入行的全前端开发者:我想对你说,你应该首先学习好前端开发中的“三剑客”,即html,css, js,其中你刚学html和css的时候你会感觉很简单,的确如此,可能你在学习js的时候你就会感觉很痛苦, 当时我初学前端的时候,在学习到javascript(即js)中的dom的时候也很痛苦,所以在学习js中的dom操作 的时候,首先应该学习dom操作的一些属性或者方法,然后在写代码之前应该想一想实现这个功能的思 路,第一步应该写什么,然后写什么,最后写什么,只有这样分步骤的实现和执行,你才可能写的出来, 这是做为刚入前端开发的时候,这样效果挺好,随着你写的越来越多的时候,这些都会很快就能写出来。 所以我在这里向刚学习前端的人员介绍一下学习前端的路线: html- css-js(重点dom)-jquery-ajax-vue/react(框架)。
lordlylordly · 前端工程师
预订中 · 3 订阅

js 拖拽实现

1. 例如: html部分: <div class="box"> </div> css部分: .box{ background-color: pink; width:200px; height:200px; border-radius: 50%; position: absolute; top:20px; left:100px; } js部分: var box = document.getElementsByClassName('box')[0]; function drag (ele){ ele.onmousedown = function(e){ var e = e || window.event; //此处是为了兼容IE,因为IE中事件对象是作为全局对象( window.event )存在的; var pageX = e.pageX || e.clientX + document.documentElement.scrollLeft; var pageY = e.pageY || e.clientY + document.documentElement.scrollTop; //获取鼠标相对盒子的位置; var boxX = pageX - box.offsetLeft; var boxY = pageY - box.offsetTop; document.onmousemove = function(e){ var e = e || window.event; var pageX = e.pageX || e.clientX + document.documentElement.scrollLeft; var pageY = e.pageY || e.clientY + document.documentElement.scrollTop; //将鼠标当前的坐标值减去鼠标相对盒子的位置,得到盒子当时的位置并将其赋值给盒子,实现移动效果 box.style.left = pageX - boxX +'px'; box.style.top = pageY - boxY + 'px'; } }; document.onmouseup = function () { //清除盒子的移动事件; document.onmousemove = null; }; } ; drag(box)
lordlylordly · 前端工程师
预订中 · 6 订阅

SpringBoot导出PDF文档的解决方案

在实际的项目开发中,经常会遇到生成pdf的功能,并且对pdf的样式有很高的要求,本文章给出了一种生成pdf的解决方案。 技术要求: 1、freemarker 2、itext7 方案思路: 1、通过freemarker定制pdf样式模板 2、模板填充数据后生成html文档 3、通过itext7把html转换为pdf文档 4、多个pdf文件压缩成zip 5、zip文件下载
星空星空 · 资深软件工程师
预订中 · 26 订阅

MySQL进阶系列:索引底层原理剖析

开发中我们常常用到MySQL,却对MySQL的底层原理不了解,导致对很多MySQL知识点也是一知半解。 比如: 为什么建议表一定要加主键? 索引底层为什么使用B+树做数据结构? 为什么联合索引比普通索引查询效率更高? select a from table where b=1 order by c; 这条SQL该怎么建联合索引? 为什么联合索引有最左匹配原则? 为什么覆盖索引能加快查询效率?怎么才能用到覆盖索引? 索引下推是对索引做了哪些改进? 如果不了解索引的底层原理,那么任何SQL调优都是纸上谈兵、人云亦云。 本Chat将带你深入浅出的学习MySQL底层原理,从理论到实践,让你少走弯路、彻底搞懂MySQL底层架构。 本Chat通俗易懂,图文并茂,作者精心制作了大量插图,不枯燥,生动有趣,而且全是干货,细节满满,期待早日和你见面。 本Chat你将会学到以下知识: 1. 什么样的数据结构适合做索引? 2. 平衡二叉树、红黑树、B树各自有什么优缺点? 3. B+相比较B树,做了哪些改进? 4. 聚簇索引与非聚簇索引底层实现有什么区别? 5. 联合索引的底层结构的实现原理,以及应用场景。 6. 覆盖索引、索引下推、回表在底层怎么加快了查询效率? 7. 面试中常见的索引面试题,以及解答。
一灯架构一灯架构 · Java开发专家
预订中 · 14 订阅

TDD两级拆分模版及案例实战

经过TDD实践及深入思考,作者提出了TDD两级拆分模版,并在该模版的指引下进行了大量的实战,证明了模版的有效性和高价值。本Chat以猜数字游戏为例,进行实战和讲解,希望读者可以融会贯通,从而高效落地TDD。 本Chat的主要内容为: - 两级TDD - 狭义TDD - BDD - 广义TDD - TDD两级拆分模版介绍 - 统一语言模版 - 故事级to do list模版 - 任务级to do list模版 - TDD两级拆分模版实战 - 案例介绍 - 统一语言实战 - 故事级to do list拆分实战 - 任务级to do list拆分实战 - 代码实现要点 - API设计 - 分层测试 - GWT格式表达测试 - TDD节奏与代码提交 - Mock与Fake
张晓龙张晓龙 · 架构师,DDD实践布道者
预订中 · 9 订阅

图书管理系统:基于django的用户协同过滤图书管理系统

功能 登录注册、搜索、全部书籍、具体书籍、新书速递、热门书籍、图书分类、猜你喜欢、借阅书籍、购买书籍、购物车、个人中心 使用范围 适合做课程设计、毕业设计。 提供 可远程部署、详细说明文档、代码注释、可讲解其中关键代码。 在本场chat中: 1、怎么从零开始构建一个Django项目 2、一个基本的图书管理系统功能 3、两种推荐算法:用户协同过滤、物品协同过滤 适合人群:学生、python小白
爱编程的小梁爱编程的小梁 · 轻松学编程
预订中 · 2 订阅

实战K8S容器调度,体会容器调度之美

在K8S环境下部署应用,掌握容器调度技巧至关重要。我们都知道容器调度方式有很多种,如何才能系统的掌握呢?本Chat 刚好就能帮你轻松解决这个问题。Chat 将通过实战演练的方式,通过举一系列的例子,让小伙伴轻松掌握 K8S 容器调度技巧,切身体会到 K8S 容器调度之美。Chat包括如下内容: - 最基本的调度方式:Node Name(根据节点名称调度) - 最实用的调度方式:Node Selector(节点筛选) - 最灵活的调度方式:Affinity(Node亲和度和Pod亲和度) - 最有意思的调度方式:Taints/Tolerations(污点/容忍) 适宜人群: - K8S技术爱好者
莫小钱莫小钱 · 研发工程师
预订中 · 9 订阅

稳定性体系化建设方法论

软件复杂性越来越高,稳定性的保障也越来越难,尤其随着服务规模越来越大,稳定性的重要性越发重要,可以说稳定压倒一切,如果系统不稳定,不能提供稳定的服务,小则造成用户一次很不好的使用体验,大则影响公司的生死存亡。本文是作者10多年在稳定性领域的积累,目前已形成一套体系化的方法论。如果你正在为稳定性问题困扰,感觉自己之前会的都是片面的点,以及曾经的面试中被问到稳定性问题,回答的东一句西一句没有重点,如果你有这方便的困惑,本文会为你一一解决。 本场Chat中,会讲到如下内容 ● 稳定性的本质认知 ● 事前防御体系建设 ● 事中快恢体系建设 ● 事后反哺体系建设 ● 稳定性的组织&文化 适合人群:所有互联网的技术同学
一休一休 · 架构师
预订中 · 8 订阅
-- 我们是有底线的 --