自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

代码研究院

专注996 007写代码

  • 博客(22)
  • 问答 (1)
  • 收藏
  • 关注

转载 聊聊我的7年系统重构经历

蓦然回首,我已经工作七年了。在这七年的时间里,做过了无数个项目,但要说大的重构,只有三个。第一个是在我工作三年时,重构公司的聊天 IM 系统。第二个是我在现在的这个公司,重构了整个业务线的业务架构。第三个是现在我正在做的,重构消息中台的技术架构。IM 系统重构2017 年的我,毕业三年了,但是从来没有重构过一个系统,就连一个模块也没有。而刚好就在这个时候,公司考虑到原有聊天功能不太友好,决定对原有聊天功能进行重构。于是组件了一个项目组,有两个架构师再加上我去做这个事情。由于当时的我并不清楚如..

2021-06-29 09:30:56 365

原创 朴素贝叶斯算法概率相关概念

贝叶斯原理是英国数学家托马斯·贝叶斯于18 世纪提出的,当我们不能直接计算一件事情(A)发生的可能性大小的时候,可以间接的计算与这件事情有关的事情(X,Y,Z)发生的可能性大小,从而间接判断事情(A)发生的可能性大小。在介绍贝叶斯原理之前,先介绍几个与概率相关的概念。1,概率相关概念概率用于描述一件事情发生的可能性大小,用数学符号P(x)表示,x表示随机变量,P(x)表示x的概率。随机变量根据变量取值是否连续,可分为离散型随机变量和连续型随机变量。联合概率由多个随机变量共同决...

2020-11-18 15:12:09 773

原创 python怎么读?如何正确的发音?

Python已经成为了最受欢迎的语言,入门门槛也比较低,初学者可以很快入手。但是好多小伙伴都不知道这门编程语言 python 如何正确发音。python 发音音标 英 [ˈpaɪθən] 美 [ˈpaɪθɑːn] 参考发音:https://fanyi.baidu.com/?aldtype=85#en/zh/pythonpython中文读音如果非要用中文来表达可这样读:派森当然你最好发音一定英文一点,否则感觉就太外行了。加油吧!程序员!!!...

2020-10-23 17:30:55 11386

原创 阿里云发布第一台云电脑《无影》,只需连接一块屏幕,就可以进入专属云电脑桌面

9月17日,2020年云栖大会在线上开幕。这是云栖大会首次线上举办。此次大会上,阿里云正式官宣进入2.0时代,飞天云这个“超级计算机”,将装上一个数字原生操作系统,提供类似Windows窗口式的界面,让不懂代码的人也能用上“云”的能力。阿里云智能总裁、达摩院院长张剑锋表示,过去10年,阿里云自研飞天云平台,造了一台“超级计算机”。据悉,阿里云2.0等于飞天云平台+数字原生操作系统,让更多企业组织,不需要看懂代码,就能具备云化、数据化、智能化、移动化、IoT的能力。大会上,阿里云发布了第一..

2020-09-17 15:18:00 4902 1

转载 这次代码评审,差点让我过不了试用期!

一、前言好的代码往往也很好看代码是给机器运行的,但同样也是给人看的,并且随着上线还需要由人来运维。那么写出可扩展、易维护、好读懂的代码就显得非常重要。对于新人来说,互联网大厂项目开发与平常自己学习的代码还是有很大的差别的。日常学习时候通常只要能运行出结果即可,并不会有其他的要求。也不会说有;PRD评审、研发设计评审、代码开发、代码评审以及中间一些列的提交物,直到测试完成,上线验证,开量对外等等。所以很多新人刚从学校毕业或者从小公司进入大厂,在规范制约下会有一些不习惯,甚至犯错误。那么为了让大

2020-09-15 10:08:54 326 1

原创 SpringBoot架构组件:基于shard-jdbc中间件,实现数据分库分表

一、数据库水平分割1、水平分库1)、概念:以字段为依据,按照一定策略,将一个库中的数据拆分到多个库中。2)、结果每个库的结构都一样;数据都不一样;所有库的并集是全量数据;2、水平分表1)、概念以字段为依据,按照一定策略,将一个表中的数据拆分到多个表中。2)、结果每个表的结构都一样;数据都不一样;所有表的并集是全量数据;二、Shard-jdbc 中间件1、架构图2、特点1)、Sharding-JDBC直接封装JDBC API,旧代码迁移成本几乎为零。2)、适用于任何

2020-09-09 08:26:22 321

原创 机器学习学习提纲

随着2016年Alpha Go在围棋击败李世石,2017年初卡内基梅隆大学人工智能系统Libratus在长达20天的鏖战中,打败4名世界顶级德州扑克玩家,这标志着人工智能技术又达到了一个新的高峰。人工智能已经不再是在各大公司幕后提供各种智能推荐、语音识别算法的工具,它已经慢慢走向台前进入到平常百姓的视野之中。曾经有人描述人工智能就向一列缓缓开向人们的火车,一开始非常遥远而且看起来非常缓慢,它慢慢接近,直到人们清楚看到它的时候,它已经呼啸而过,把人远远抛在身后。现在似乎就是人们可以远远看到人工智能的时...

2020-08-17 15:42:34 259

原创 免费CDN加速 jQuery、Bootstrap、Vue、React 等JS库

BootJS 提供同支持并维护的前端开源项目免费 CDN 服务,致力于为 Bootstrap、jQuery、React、Vue.js 一样优秀的前端开源项目提供稳定、快速的免费 CDN 加速服务。BootJS 所收录的开源项目主要同步于cdnjs开源项目仓库。jQuery CDN加速地址jQuery 是一个高效、精简并且功能丰富的 JavaScript 工具库。它提供的 API 易于使用且兼容众多浏览器,这让诸如 HTML 文档遍历和操作、事件处理、动画和 Ajax 操作更加简单。jQuery其

2020-08-16 23:07:14 714

原创 SpringBoot如何实现数据分库分表? shard-jdbc中间件介绍

一、水平分割1、水平分库1)、概念:以字段为依据,按照一定策略,将一个库中的数据拆分到多个库中。2)、结果每个库的结构都一样;数据都不一样;所有库的并集是全量数据;2、水平分表1)、概念以字段为依据,按照一定策略,将一个表中的数据拆分到多个表中。2)、结果每个表的结构都一样;数据都不一样;所有表的并集是全量数据;二、Shard-jdbc 中间件1、架构图2、特点1)、Sharding-JDBC直接封装JDBC API,旧代码迁移成本几乎为零。2)、适用于任何基于Java的OR

2020-08-09 21:33:35 697

原创 如何快速提高自己的Java技术能力?

  我们相信努力学习一定会有收获,但是方法不当,既让人身心疲惫,也没有切实的回报。高中时代,我的同桌是个漂亮女同学。她的物理成绩很差,虽然她非常勤奋的学习,但成绩总是不理想。为了巩固纯洁的同学关系,我亲密无间地辅导她的物理,发现她不知道题目考什么。我们的教科书与试题都围绕着考试大纲展开,看到一道题,应该先想想它在考哪些定理和公式的运用。  不少朋友每天都阅读技术文章,但是第二天就忘干净了。工作中领导和同事都认可你的沟通和技术能力,但是跳槽面试却屡屡碰壁。面试官问技术方案,明明心里清楚,用嘴说出来却前言不

2020-06-20 13:00:37 583

转载 为什么 K8s 在阿里能成功?

作者:曾凡松 阿里云云原生应用平台高级技术专家张振 阿里云云原生应用平台高级技术专家导读:本文描述了阿里巴巴在容器管理领域的技术演进历程,解读了为什么 K8s 最终能够大获成功的原因,以及到今年 双11 阿里巴巴内部的 K8s 应用情况。内容着重描述了阿里巴巴基于 K8s 的云原生改造实践过程的三大能力升级,在对应能力升级过程中沉淀的技术解决方案,以及通过这些能力升级所取得的业务价值。从 2015 年 Google 牵头成立 CNCF 以来,云原生技术开始进入公众的视线并取得快速的发展,到

2020-06-07 16:55:40 198

原创 MySQL更新语句是怎么执行的?

流程图这是在网上找到的一张流程图,写的比较好,大家可以先看图,然后看详细阅读下面的各个步骤。执行流程:1.连接验证及解析客户端与MySQL Server建立连接,发送语句给MySQL Server,接收到后会针对这条语句创建一个解析树,然后进行优化,(解析器知道语句是要执行什么,会评估使用各种索引的代价,然后去使用索引,以及调节表的连接顺序)然后调用innodb引擎的接口来执行语句。2.写undo loginnodb 引擎首先开启事务,对旧数据生成一个UPDATE的语句(如果是INS

2020-06-05 12:32:39 223

原创 SpringBoot 服务不重启的情况下,执行调试代码

@Spring Boot程序员,我们一起给程序开个后门吧:让你在保留现场,服务不重启的情况下,执行我们的调试代码阅读目录前言 效果展示: api中大致的步骤 步骤1:编译java文件为class文件 步骤2:定义一个类加载器,加载为Class对象 步骤3:反射class,生成对象 步骤4:对autowired field,注入bean 获取要注入的字段 注入字段 步骤5:万事俱备,只欠东风 完整代码 总结前言这篇其实是对一年前的一篇文章的补坑。@J.

2020-05-30 10:31:55 899

原创 SpringCloud实现原理图面试必备(Eureka,Zuul,Ribbon,Hystrix,Sleuth)

引言面试中面试官喜欢问组件的实现原理,尤其是常用技术,我们平时使用了SpringCloud还需要了解它的实现原理,这样不仅起到举一反三的作用,还能帮助轻松应对各种问题及有针对的进行扩展。以下是课程讲到的部分原理附图,现在免费开放给大家,让大家轻松应对原理面试题。服务注册发现组件Eureka工作原理服务网关组件Zuul工作原理跨域时序图Eureka与Ribbon整合工作原理解决分布式一致性级联故障流程断路器组件Hystrix工作原理分布式追

2020-05-29 14:23:47 301

原创 Linux 软连接和硬连接 Hard/Soft Link ln -s

软链接(Soft Link)软链接又叫符号链接,这个文件包含了另一个文件的路径名。可以是任意文件或目录,可以链接不同文件系统的文件。和win下的快捷方式差不多。--在 /usr/bin 目录下创建一个软连接指向 /usr/local/java/jdk1.8/bin/javaln -s /usr/local/java/jdk1.8/bin/java /usr/bin硬链接(Hard Link)硬链接说白了是一个指针,指向文件索引节点,系统并不为它重新分配inode。--在 /.

2020-05-28 17:35:00 355

原创 Java SpringBoot 生成复杂的图片验证码 Hutool

由来随着攻击防护做的越来越全面,而图形验证码又是一种简单有效的防攻击和防抓取手段,因此应用越来越广。而Hutool中抽象了验证码的实现,也提供了几个简单的验证码实现,从而大大减少服务端开发成本。由于对验证码需求量巨大,且我之前项目中有所积累,因此在Hutool中加入验证码生成和校验功能。引入Hutool了解Hutool的更多信息请访问:http://hutool.cn/<dependency> <groupId>com.xiaoleilu</gro

2020-05-27 17:53:59 1320

转载 SpringCloud分布式架构 Eureka Zuul Consul Hystrix Ribbon

基于SpringCloud分布式架构为什么要使用分布式架构Spring Cloud 专注于提供良好的开箱即用经验的典型用例和可扩展性机制覆盖 分布式/版本化配置 服务注册和发现 路由 Service-to-Service 调用 负载均衡 断路器 分布式消息传递这是分布式的优点,这样看起来可能比较抽象,举个例子来说,对于单体服务来说,如果我想更新订单中的某个功能,我是不是需要重启整个服务。这个时候就会导致整个项目都处于不可用状态,或者在处理订单的时候由于程序代码写的有问题,导致死锁

2020-05-23 14:55:51 420

原创 【原创】OpenResty Lua 中使用 Nginx 正则表达式

Lua 自带的正则表达式确实有点另类,不支持 “|” 而且正则语法不好适应,想用Nginx原生的正则表达式就需要在Lua中借助Nginx内置对象 ngx.re 正则在 nginx.conf 文件中错误的使用方法: # nginx.conf  ? location /test {  ? content_by_lua '  ? ...

2015-08-12 20:03:20 684

原创 Javascript 中的逗号操作符

 今天看到Javascript传说中的逗号操作符,实际上我们平时也很难遇到特殊的用法和语法结构,如果面试的时候遇到就傻眼了的确有点刁钻,适合技术狂人们去深造。 运算规则:逗号运算符,它将先计算左边的参数,再计算右边的参数值。然后返回最右边参数的值。 &lt;script&gt;var a = 10, b = 20;function foo(){ return a++...

2013-10-30 14:30:06 177

原创 【原创】jQuery单击事件和双击事件相互不影响实现

使用方法 第一个参数 单击事件处理,第二个参数 双击事件处理 $("#mm").onClick(function(e){ console.debug("单击事件."); },function(e){ console.debug("双击事件."); }); jQuery组件实现代码 //鼠标单击和双击事件组件$.fn.onClick = fun...

2013-09-27 14:14:57 326

jQuery EasyUI1.3.2 comobotree 组件弹出后自动滚动到选择的节点

  jQuery EasyUI1.3.2  comobotree 组件弹出后自动滚动到选择的节点  在加载完成Easyui JS加载完成后,添加默认事件:弹出后自动滚动到对应的节点。 &lt;script type='text/javascript' src='/js/jquery.easyui-1.3.2.js'&gt;&lt;/script&gt;&lt;scri...

2013-07-15 12:06:33 243

jQuery EasyUI1.3.2 弹出层在IE下被ActiveX控件遮挡解决方案

 最近项目在使用jQuery EasyUI1.3.2 ,但是也面临了各种难堪的情况,还是只有一个一个的解决了。解决combo组件弹出层被控件遮挡的问题。 需要解决问题: 这个得找到源代码段: var _12 = $("&lt;div class=\"combo-panel\"&gt;&lt;/div&gt;").appendTo("body"); 代码混淆后变...

2013-04-18 20:54:45 290

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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