• 一份完整的聚合支付中心设计方案!

    来源:https://blog.csdn.net/liuzhirou1/article/details/117649569一、项目目标支付中心架构将各业务的公共交易、支付、财务等沉淀到支付中心,并主要解决了以下三个主要问题:建立基础订单、支付、财务统一体系,抽象和封装公共处理逻辑,形成统一的基础服务,降低业务的接入成本及重复研发成本;构建安全、稳定、可扩展的系统,为业务的快速发展和创新需求提供基础支撑,解决业务「快」和支付「稳」之间的矛盾;沉淀核心交易数据,同时为应用端、物业公司、用户提供数据支撑。二、具体调用流程在目标的指导下,我向集采、o2o、收费易三个项目组的相关开发咨询了业务逻辑,再结...

    架构师社区
    2021-09-28
  • 系统架构设计:平滑发布和ABTesting

    平滑发布的介绍 背景 单位的云办公相关系统没有成熟的平滑发布方案,导致每一次发布都是直接发布,dll文件或配置文件的变更会引起站点的重启。 云办公系统的常驻用户有10000,即使短短半分多钟,也会收到一堆投诉。基于此,我们梳理了一套平滑发布的方案。实施方案1、跟nginx代理服务器约定了一个健康检查的接口2、通过接口返回的http状态码来让ngx是否分流用户请求(这个我们单位的技术部那边有标准的做法)3、根据提供的这个服务健康检查的接口:nginx判断只要某个实例的接口返回5xx的状态码,即把该实例下线(nginx不会把流量转发到该实例)   发布流程目的主要是为了发布的时候能够平滑发布,所以...

  • Jlink使用技巧之读取STM32内部的程序

    前言Jlink可以将Hex文件下载到单片机内,也可以将未加密单片机内部的程序文件读出。本篇文章介绍,如何使用JFlash来读取单片机的程序,学习单片机程序文件的读取,不是为了破解别人的程序,而是学习破解的原理,从而更好保护自己的程序不被破解,希望大家也能尊重他人的劳动成果。JFlash的下载和安装首先,安装JFlash软件,安装完成后,会默认安装JLink驱动程序,主要包含以下几个工具:JFlash,主要用于程序下载和读取。JFlashLite,JFlash的Mini版JFlashSPI,用于给SPI存储器下载程序,如W25Q128。JLinkGDBServer,用于第三方软件的调试器,如使用...

  • 用动图的方式,理解 CPU 缓存一致性协议!

    大家好,我是小林。我之前写过CPU缓存一致性MESI协议:10张图打开CPU缓存一致性的大门。然后期间挺多人对MESI协议的转换有疑问,其实我在文章中把MESI协议状态切换的各个过程都总结成了一个表格,可能内容太多,很多小伙伴没有仔细看。就在昨天,我发现个可以「在线体验 MESI 协议状态转换」过程的网站,地址如下:https://www.scss.tcd.ie/Jeremy.Jones/VivioJS/caches/MESIHelp.htm我先给大家复习下MESI协议,然后再跟大家讲一些这个网站怎么用。MESI协议MESI协议其实是4个状态单词的开头字母缩写,分别是:Modified,已修改...

    小林coding
    2021-09-28
    CPU
  • 漫画:什么是 “图灵测试” ?

    艾伦·麦席森·图灵(1912-1954)在一间小黑屋里,有这样三个角色:一个人类评审员,两个受试者A和B。其中一个受试者是计算机的人工智能程序,另一个受试者是人类。评审员无法直接看到受试者,只能通过打字的方式,与两名受试者进行提问沟通。经过多次的询问和回答,最后由评审员来判断:哪一个受试者是人类,哪一个受试者是计算机。如果评审员判断错误的几率超过30%,那就说明计算机成功地伪装成人类,骗过了受试者,从而可以认为这样的计算机已经具备了一定的思考能力。像这样六位整数的乘法运算,普通人类根本不可能在短时间内计算出来,如果受试者在一秒内就给出了正确结果,那就太不自然了,显然是计算机程序的回答。所以,要...

    程序员小灰
    2021-09-28
  • 为什么那么多高性能网络产品都是C语言开发的?

    什么是网络编程?用一句话概括,就是对网络协议的落地。 落地,意味着对实战的要求更高。所以,一些朋友更喜欢用类似Netty这种封装好的框架——快速,高效。确实,跟开发细节相比,我们常常更看重开发效率。 可日常的项目里,我们也不得不面对极端的网络性能考验。没人喜欢堵车,但应对大量请求时,如果网络性能处理不佳,数据、业务就会面临大塞车。 举个正向的例子,之前在绿盟有个信息安全产品,叫黑洞,是当时市场上最成功的DDOS过滤设备。这玩意最大的技术难点就在于:当攻击报文洪水到达时,每秒要过滤掉几十万攻击请求。在那之前,我从没想过通过程序代码,对网络报文的处理效率,竟然能达到如此强悍的地步。 早些年尚且如此...

    C语言编程
    2021-09-28
  • 值得学习的单片机菜单框架(附源码)

    点击上方“小麦大叔”,选择“置顶/星标公众号”福利干货,第一时间送达大家好,我是小麦,以前用单片机做用户交互的菜单的时候,都比较痛苦,如何写一个复用性高,方便维护,可扩展性高的GUI框架呢?当然可以自己动手写一个,这个过程充满了艰辛和挑战,现在我推荐一个很棒的框架,直接拿来用就行,也可以借鉴和学习其中的思路,一定会收获颇丰。知道有多少人折腾过液晶显示的菜单,我觉得很多人都应该搞过,我还记得以前大学参加电子设计竞赛获奖的作品,我就用到了一个12864,里面有菜单功能。以前可能觉得菜单高大上,其实并不是想象中的复杂,本文为大家分享一个用单色屏做的菜单框架。代码托管在github:https://g...

  • 内部群炸锅了,同事又删库了!

    事件起因我们的系统中有数据导入的功能,可以把特定的格式的excel数据导入到系统中来由于客户电脑的文件比较多,很多文件的名字也比较相近,客户在导入excel时选错了文件这个错误的excel文件的格式恰好能被系统解析,客户也没及时发现导错了文件,所以就将6万多条没用的数据导入到了系统中这6万多条数据对系统来说就是无用的数据,不会影响系统的运行,最多也就是占用一点数据库空间而已客户只需要把正确的excel重新导入,就可以继续完成他的业务了但是,客户是一个重度强迫症患者,他觉得在管理平台看到这6万多条没用的数据令他抓狂客户想要把这些数据删除,我们系统又没有提供批量删除功能,只能单个删除,这无疑是一个...

    小林coding
    2021-09-27
  • 三位朋友的年薪

    最近几位朋友一起吃饭,聊到尽兴时,谈起了一个大家都非常感兴趣的话题,薪资,就简单写篇随笔记录一下。工作以来,我感觉自己变得有些佛系了,很少去打探同龄人的薪水状况。每年的秋招季,不少同事都会抑制不住心情的好奇心,在各类互联网社区去查看应届生的薪资情况,以推测自己的薪资所处的位置。要是薪资比应届生还低,一些觉得薪资没有达到预期的同学,可能就会动了好好学习,年后跳槽的心思,而且这部分比例还不会太小。因此,每年如果应届生的薪资出现了较大幅度的增长,公司为了稳住人心,也会相应的提升今年的普调(一般指员工薪资每年的正常增长)幅度。征求了当事人的同意之后,这里简单的分享一下他们的薪资水准,也许对大家来说,会...

    小林coding
    2021-09-27
  • 我为看一张图片,跨过了 2600 公里!

    大家好,我是小林。我写技术文章画的图片是保存到GitHub的,没别的原因,就是因为免费,但是GitHub访问的速度大家都懂的,访问的速度很慢。所以我会用CDN来加速图片的访问,也就是我的图床的方案是GitHubjsdelivrCDN,使用很简单,只需要把域名地址替换一下就行。那为什么访问GitHub会很慢呢?GitHub离国内就近的服务器是在新加波,距离我这有2600公里,也就是说,访问GitHub上的一张图片,一个数据包就要走2600公里这么远!而且,互联网从逻辑上看是一张大网,但实际上是由许多小网络组成的,每个网络络中还存在许多的路由器、网关,数据每经过一个节点,都要处理一下,在二层、三层...

    小林coding
    2021-09-27
  • 面试官:代码执行 send 后,数据就发出去了吗?

    今天又是被倾盆的需求淹没的一天。有没有人知道,那种“我用3句话,就让产品为我砍了18个需求”的鸡汤课在哪报名,想报。"听懂掌声"的那种课就算了,太费手了。扯远了,回到我们今天的正题,我们了解下这篇文的目录。目录代码执行send成功后,数据就发出去了吗?回答这个问题之前,需要了解什么是Socket缓冲区。Socket缓冲区什么是socket缓冲区编程的时候,如果要跟某个IP建立连接,我们需要调用操作系统提供的socketAPI。socket在操作系统层面,可以理解为一个文件。我们可以对这个文件进行一些方法操作。用listen方法,可以让程序作为服务器监听其他客户端的连接。用connect,可以作...

    小林coding
    2021-09-27
    代码 se
  • 面试官 | 写if 时不带 else,你的代码会更好!

    来源:翻译自:NicklasMillard的文章《BetterSoftwareWithoutIf-Else》注:本文并不肯定或者否定哪一种写法,仅仅为大家提供一些其他的编码思路或者一些值得借鉴的点子,希望大家能在公众号的每一篇文章中都能有所收获,同时欢迎探讨!设计更好的软件,替换If-Else的5种方法。入门到高级示例让我直接说这句话:If-Else通常是一个糟糕的选择。它导致设计复杂,代码可读性差,并且可能导致重构困难。但是,If-Else已成为事实上的代码分支解决方案,这确实是有道理的。这是向所有有抱负的开发人员讲授的第一件事。不幸的是,许多开发人员从来没有前进到更合适的分支策略。有些人的...

  • Jlink使用技巧之读写SPI Flash存储芯片

    Jlink使用技巧系列教程前言大多数玩单片机的人都知道Jlink可以烧写Hex文件,作为ARM仿真调试器,但是知道能烧写SPIFlash的人应该不多,本篇文章将介绍如何使用JLink来烧写或者读取SPIFlash存储器,JLink软件包含的工具中,有一个是JFlashSPI工具,这就是一个烧写和读取SPI存储器的工具了。准备要烧写程序或读取程序的的Flash芯片:SPI协议的Flash都可以,如W25Q128。JFlashSPI软件工具:在Jlink系列软件的安装目录下JLinkV9仿真器要烧写的文件:如GBK字库文件,UNIGBK.BIN硬件连接Jlink内部集成了SPI协议,部分接口是作为...

  • 是IT培训班好,还是大学计算机专业好?

    程序员是一个很辛苦的职业,但也为出身普通的年轻人提供了一个改变命运的机会。因为相对其他行业,程序员的收入还算是比较可观。最近,有读者发信问小灰:“自己未来想做程序员,不知道学编程到底应该选择正规大学的计算机专业,还是选择IT培训班呢?”许多小伙伴,可能都多少有这方面的疑问,今天小灰就来说一说自己的看法。先说结论。如果你有的选,肯定是首选正规大学的计算机专业。好处有三点:第一,你在科班学到的内容更系统。你可以系统地学习计算机领域的底层知识,比如微机原理、通信原理、算法与数据结构等等,这些知识对你职业的长远发展有好处。第二,科班出身的人在社会上的认可度比较高。许多大公司,以及国企央企,都会优先招收...

  • 为什么年轻一代连操作系统的基本知识都不懂?

    编译|核子可乐褚杏娟策划|Tina计算机网络、编译原理和操作系统相关知识,肯定不会过时。文件夹与目录结构这些帮助前几代人理解计算机的基本理论,在很多年轻一代看来已经成了一种莫名其妙的“疯话”。两代人之间的碰撞天体物理学家CatherineGarland从2017年开始逐渐意识到这个问题。当时她正在教授一门工程课程,要求学生们使用仿真软件为喷气发动机中的涡轮机建模。虽然作业布置得很清楚,但她却不断接到学生们的求助电话,他们都说自己收到了同样的错误提示:程序找不到他们的文件(FilenotFoundError)。当Garland询问学生作业是保存在桌面上还是共享驱动器时,学生们好像完全听不懂。“您...

发布文章