一背景 在提交代码执行gitpushoriginHEAD:refs/for/master命令时,报如下错误: remote:Resolvingdeltas:100%(9/9) remote:Processingchanges:refs:1,done remote:ERROR:commit01fa6cb:missingChange-Idinmessagefooter remote: remote:Hint:toautomaticallyinsertaChange-Id,installtheh...

  qbian   2天前   14   1   0 git

一背景 go项目中执行./build.sh下载依赖时,报如下错误: bzrbranch--use-existing-dir-https://launchpad.net/mgo/v2.inxxx:exec:"bzr":executablefilenotfoundin$PATH 二解决方案 在go.mod文件中添加如下配置: replace( labix.org/v2/mgo=github.com/go-mgo/mgov0.0.0-20160801194620-b6121c6199b7 launchpad.net/gocheck=github.com/go-check/checkv...

  qbian   14天前   38   0   0 golanggo

一背景 在golandidea里debug方式启动golang项目时,报如下错误: VersionofDelveistoooldforthisversionofGo(maximumsupportedversion1.13,suppressthiserrorwith--check-go-version=false) 二报错原因 golandidea内集成了golangdebug工具delve,但是集成的delve版本太低。 三解决方法 将goland编辑器升级到最新版本就好了 !...

  qbian   16天前   28   0   0 golanggo

一当我们谈领域驱动设计的时候,到底在谈论什么? 当我们接触到一块未知的业务时,要想搞清楚它,首先需要把问题的边界定义好,针对一个没有边界的问题去找解决方案时无从下手的。这里问题的边界对应到DDD就是领域的边界。 对于某些业务场景的时候,需要不同的角色、不同的事件和命令一起配合才能完成,这里就需要在领域内找到所有的角色(领域实体)、所有的事件(领域事件)、所有的命令(领域服务); 还需要做更进一步的子问题的拆分,这样可以将问题具体化、更聚焦,对需要找的解决方案也可以更有落地实施的可能性。这里拆分...

  qbian   2021年01月20日   310   3   1 java-eedubbojava领域驱动设计

一数据量大了后为什么count()会变慢? 在系统开发时,我们经常会有统计表数据量的需求,例如无条件分页查询时就需要count下得到数据总量去计算总页数。但是当数据量越来越大后count()也会变得越来越慢。 count()的实现方式(无查询条件): mysqlMyISAM会记录每个表的总行数,在查询的时候直接读取返回就好了; mysqlInnoDB在每次执行count()时,会去做全表扫描将数据读出来,然后做统计计算得到结果; 为什么InnoDB不像MyISAM一样维护一个总行数呢?因...

  qbian   2021年01月14日   223   3   2 mysqlb+树sql数据库

一背景 软件开发的很多场景下都有唯一性要求,例如:判断手机号是否已经注册过(需要对手机号做唯一性校验)、判断某个用户是否已经关注过某个话题(需要对用户ID+话题ID做唯一性校验)。 二设计 针对上述的业务唯一校验,可以有多种不同的设计实现,例如: 在数据库层设计唯一索引限制(针对定制系统的实现方案); 在应用层通过分布式锁做校验(针对通用系统的实现方案,通常用于业务中台); 为什么需要分布式锁:如果只是在应用层做了查询数据库是否存在,不存在就保存。当出现并发时,两个线程同时查询都没查询到,然后两个线程都去做保存操作,数据库层又没有唯一索引约束,就会出现两个都保存成功,也就打破了业务唯...

  qbian   2021年01月08日   179   2   0 并发锁数据库

一背景 软件开发初期,需求相对简单和明确,开发出来的应用只需要满足需求能够快速上线就好,这个时候的应用在代码和业务逻辑上都比较清晰。 随着业务的不断增长,各种各样的需求也接踵而至。有倒排需求(时间紧,项目周期根据上线时间点往前推)、紧急需求(可能是某个业务逻辑漏洞需要立刻修复上线)、定制化需求(为了某种特殊场景提出的定制化功能),当这些需求不断在应用上实现,应用内会存在大量ifelse的代码,就算引入了良好的设计模式,也会使应用越来越臃肿,最后难以维护。 随着时间的推移,公司人员的变动也是...

  qbian   2020年12月09日   358   3   5 java-eejavaspring

一完整流程概览 1.1概述 本文讲述浏览器域名解析获取IP、请求静态资源时cdn工作原理、获取IP后请求服务端页面时IP是怎么寻址的、请求到达服务器后应用从都有哪些方式获取请求数据、应用层和系统内核之间的数据copy方式、以及浏览器获取到响应页面后,是怎么将html+css+js内容渲染为一个缤纷多彩的页面的。 1.2DNS/CDN ![image.png](https://static.developers.pub/84498652190549f2a019c6a60d1c9d62) ...

  qbian   2020年11月21日   372   3   3 tomcathtmllinux缓存java

一背景 为了控制疫情,春节期间一直在家闭关刷抖音,看到大家都在做凉皮,于是兴起也跟着尝试下(先给大家看一下效果图)。 ![先给大家看一下效果图](https://static.developers.pub/483210fd649f48529040bcd0b22c8ebf.png) 二材料 1.面粉; 2.凉水; 3.烧熟的食用油; 三步骤 3.1和面+醒面 面粉+凉水揉成面团,放盆中醒面半小时; ![image.png](https://static.developers.p...

  qbian   2020年02月10日   533   2   4 其他

本书讲述的故事涵盖350多年的历史:人类经济活动的主体从使用铁犁的农民变成了使用电脑的白领;人类对外层空间的观察工具,从伽利略手工制造的两英寸望远镜变成了半径10米的成对凯克天文望远镜,观察视野也从尚不能清晰辨认土星的光环,扩展到了距地球120亿光年的太空;人类的信息从以马车的速度传递发展到以光速传播。因此,这是一部时间跨度巨大的历史,而这样的一部历史,其内容必然只能涉及伟大的人物、伟大的主题,以及世界强国。 ![image.png](https://static.developers.pub...

  qbian   2020年02月10日   182   0   0 读书

正如“富爸爸”在书中所说,世界变了,金钱游戏的规则也变了。对于读者和创业者来说,也要应时而变,理解金钱的语言、学会金钱的游戏。只有这样,你才能玩转金钱游戏、实现财务自由。-汤小明 ![image.png](https://static.developers.pub/8c2c6c2f1b9d43ce94a47d2c3c34319b.png) 第1章富爸爸穷爸爸 第2章第一课:富人不为钱工作 富爸爸继续说:“如果你是那种没有勇气的人,生活每次推动你,你都会选择放弃。如果你是这种人,你的一生会...

  qbian   2020年01月19日   351   1   0 读书

一背景 同一个项目中不同业务线模块的主题色不同,在切换业务模块的时候就需要改变主题色。 二实现 2.1定义变量 在业务线模块加载的入口处定义css变量。 html <style .body-box{ --themeColor:660066; --themeHeadColor:1a1818; } </style <template <divclass="body-box"ref="mytheme" <router-view/ </div </template <script exportdefault{ data(){ return{ //业务线主题配置 theme:this.$co...

  qbian   2020年01月09日   198   2   0 html5javascriptcsscss3vue.js

一背景 在构建网关应用时,为了快速响应客户端,一般我们会将业务中台接口响应内容压缩后返回给客户端调用者。 二方案 2.1判断客户端是否支持压缩流 根据客户端请求头的accept-encoding是否包含gzip来判断客户端是否支持压缩流的读取。 java publicBooleanisGzipRequested(){ Collection<Stringvalues=headers.get("accept-encoding"); if(ObjectUtils.isEmpty(values)){ returnBoolean.FALSE; } for(Stringvalue:values)...

  qbian   2020年01月07日   130   2   0 tomcatjava-eejava

本书是关于Kafka的全面教程,主要内容包括:Kafka相对于其他消息队列系统的优点,主要是它如何完美匹配大数据平台开发;详解Kafka内部设计;用Kafka构建应用的最佳实践;理解在生产中部署Kafka的最佳方式;如何确保Kafka集群的安全。 ![封面](https://static.developers.pub/0ebb9e5e06264ba69462793dadf75125.png) 一初始Kafka 1.1初始Kafka 1.1.1消息与批次 Kafka的数据单元被称为消息。...

  qbian   2020年01月02日   133   2   0 kafka读书大数据java

后端提供出去的接口很多都是dubbo的,用命令去调用测试不是很方便(参数多的情况下),所以就写了个http接口,传入beanName/methodName,然后body传入json格式的方法参数就可以调用到某个bean的某个方法了,测试起来很方便。 java @RequestMapping("/test") @RestController publicclassTestControllerimplementsApplicationContextAware{ privateApplicationContextcontext; @PostMapping("/{beanName}/{metho...

  qbian   2019年12月30日   105   2   0 tomcatjava-eejavaspring

一上半年 换了家新公司,认识了一群新朋友👬; ![image.png](https://static.developers.pub/6e8ee7cddc474369b9dedbe3eedb8380.png) 玩了三年多的农药打上了王者🏆; ![image.png](https://static.developers.pub/36f43872913d445eafa6bf03c0eced3f.png) 上半年过去的总是那么快,还没来得及安排转眼就到了下半年😂。 二下半年 2.1定...

  qbian   2019年12月30日   211   3   0 其他

有赞的圣诞节礼物,发给媳妇看后她说是恐龙🦕,我说是小牛🐂,想了下明年是鼠年🐭,看着又不像老鼠🐭。 ![image.png](https://static.developers.pub/d1138a1a254a41f9bedfe14c7828af45.png) 不管了,一会尝尝味道怎么样。

  qbian   2019年12月25日   216   1   2 其他

一裙子和手捧花 ![image.png](https://static.developers.pub/9e0599db3b1b408d9c9d0cf65945fd80.png) ![image.png](https://static.developers.pub/8d80c1fb25af42d8998757300783fce0.png) ![image.png](https://static.developers.pub/63ada165e4cb4bff9ab34fb75e6d1d56.p...

  qbian   2019年12月25日   161   4   5 其他

一背景 之前和媳妇一直在追海贼王,都算是OP粉。上周双十二,看到有朋友买乐高拼着玩,就和媳妇一起看了下,第一眼就都看中了这艘桑尼号,做为草帽团的伙伴,也算是草帽团梦想的载体,和媳妇一致决定就拼ta了。 周六中午吃完饭就收到货了,于是迫不及待的开启了这段伟大航程!!! 二筑基 ![image.png](https://static.developers.pub/fca492cde0ad49a19d6659897e01e658.png) 三搭边框 ![image.png](https:/...

  qbian   2019年12月17日   231   6   8 其他

Netty是一款异步的事件驱动的网络应用程序框架,支持快速地开发可维护的高性能的面向协议的服务器和客户端。 ![封面](https://static.developers.pub/e1f80a9980c841899325b88fbdfaa155.png) 一异步和事件驱动 1.1阻塞io(bio) ![阻塞io](https://static.developers.pub/fd6ea1e6531f49e492c859dd980f37c8.png) 每个网络请求都需要独立的线程完成数据的...

  qbian   2019年11月27日   235   3   0 nettyjava-ee读书