分类:博客

  • 【博客】并发编程(003):基础知识之进程的PCB

    Processing Control Block被译为进程控制块,简称为PCB。从字面上来理解进程控制块,它是进程的控制模块。但在操作系统里,它是一种专门用来管理进程设置的一种数据结构,也是用来记录进程的外部特征,描述进程的运动变化过程。

    阅读全文

  • 【博客】泛化调用实战,Dubbo入门你必须学会的技能

    阅读过上一篇《Dubbo一直都很好用的功能,你或许蒙在鼓里》,有经验的同学早已驾轻就熟,但对于刚涉入Dubbo的同学而言或许苦不堪言。然而,Dubbo泛化调用在实际应用场景中有举无轻重的作用。所以,觉着将泛化这个知识点切碎嚼烂是一件非常有意义的事儿。便有了这一篇关于Dubbo泛化的实战。

    阅读全文

  • 【博客】Dubbo一直都很好用的功能,你或许蒙在鼓里

    Dubbo是阿里巴巴开源的基于 Java 的高性能 RPC(一种远程调用) 分布式服务框架(SOA),致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。在微服务如火如荼的互联网当下,Dubbo是人尽皆知,也是技术Leander与架构师在架构设计时一直被作为优先选型。虽是如此,仍然会有百密一疏的时候,今天我就给推荐Dubbo一直都很好用的功能,希望能帮助你查缺补漏。 一、延迟暴露 dubbo的provider在启动时可能会遇到这样的问题: 在service中需要spring注入的bean还没有初始化完全,service就已经注册到了 ...

    阅读全文

  • 【博客】揭秘阿里巴巴、腾讯、字节跳动在家办公的区别(多图)

    这几天,互联网精英们已经开始在家远程办公了。作为国内互联网三家大厂,阿里、腾讯、字节跳动在家办公有什么区别呢?一起来看—— 返岗时间 - 阿里:2月3日-7日在家办公,原本计划10日返岗可能会推迟到17日; 腾讯:2月3日起多个部门开启了远程办公,2月10日-14日在家办公,2月17日返岗; 字节跳动:2月3日在家办公,2月10-13日返回工作地,在家中隔离14天后,确认没事,2月25日-27日返岗。 家到工作地的距离 - 阿里:爬起床打开笔记本电脑就开工,目测0.5米; 腾讯:走到电脑桌前就开工,目测1.5米; 字节跳动:拿起手机就开工,目测0.2米。 ...

    阅读全文

  • 【博客】Hacking,约不约!

    对于hacker来说,最有趣的事情莫过于破坏软件设计者的原有规则,重新建立属于自己的规则了。姑且不论这个行为是否合法或违规,单就技术本身而言,矛与盾、攻与防、破坏与重建的过程中,为了达到最终目的而衍生出来的奇妙技术,再配上天马行空的想像和创造足以让人着迷不已。 开篇 尽管Linux内核开源,升级或替换内核十分方便,但仍有一些特殊场景,需要在不替换内核的前提下给内核“动手术”。考虑如下两种场景: 24小时不能停机的服务器,因为某些扩展性原因需要升级到新版本Linux内核; 不能二次烧录的嵌入式设备,需要修复其内核安全漏洞。 对于前一种场景,Linux有已一 ...

    阅读全文

  • 【博客】如何优雅处理代码中 Null 值引起的 Bug?告别 Null 恐惧症!

    写在前面  在笔者几年的开发经验中,经常看到项目中存在到处空值判断的情况,这些判断,会让人觉得摸不着头绪,它的出现很有可能和当前的业务逻辑并没有关系。但它会让你很头疼。 有时候,更可怕的是系统因为这些空值的情况,会抛出空指针异常,导致业务系统发生问题。 此篇文章,总结了几种关于空值的处理手法,希望对读者有帮助。  业务中的空值  场景 存在一个 UserSearchService用来提供用户查询的功能: public interface UserSearchService{ List<User> listUser(); User get(In ...

    阅读全文

  • 【博客】从项目分层开始,让Java代码更优秀

    1.背景 什么样的代码才是优秀代码?或者说让代码看起来优秀什么方式? 本文讲得就是从项目分层开始,让Java代码更优秀。 说起应用分层,大部分人都会认为这个不是很简单嘛 就controller,service, mapper三层。 看起来简单,很多人其实并没有把他们职责划分开,在很多代码中,controller做的逻辑比service还多,service往往当成透传了。 这其实是很多人开发代码都没有注意到的地方,反正功能也能用,至于放哪无所谓呗。 这样往往造成后面代码无法复用,层级关系混乱,对后续代码的维护非常麻烦。 的确在这些人眼中分层只是一个形式,前 ...

    阅读全文

  • 【博客】日志中的用户隐私安全

    与“中国人愿意用隐私交换便利性”的心态完全不同,欧美国家在个人隐私保护方面明显走得更早也更远一些。在2018年5月GDPR发布前后的一段时间里,保护个人隐私相关的需求被迅速提高了优先级,而像我这样一个开发涉及欧美产品的普通程序员,日常工作也因此受到影响,我们放下手中的业务需求卡(Story),转而去做GDPR相关的安全需求。 一般在医疗保健或金融行业中,限制访问客户的敏感数据有着非常严格的规定,尤其欧洲GDPR颁布之后,公司泄露个人数据的后果也非常严重。在个人隐私保护方面,国内目前在法律和意识方面处于滞后的状态,但是许多人或多或少都感受到个人信息泄露给自 ...

    阅读全文

  • 【博客】更好的开卡,来聊聊非功能性需求

    工作这么几年来,见得最多的场景是 QA 小伙伴满办公室追着开发报 bug,有时候开发会不乐意,“当时可没说要 XXX,要做 XXX。” 好像 QA 小伙伴永远比开发多一点心眼,即使单元测试覆盖率达到 80%,QA 还是变着法都能找出问题。 这其中很大一部分原因都来自于“需求背后的需求”,BA、QA 小伙伴以为你考虑到了,或者默认开发需要考虑到。 比如 CMS 系统中一个新建文章的需求,不太可能写出需要防止表单二次提交的 AC(Acceptance Criteria,验收条件),然而如果没人提出来谁会知道呢? 最终 QA 或者线上的用户会通过报 bug 告 ...

    阅读全文