在电商领域,存在着典型的秒杀业务场景,那何谓秒杀场景呢。简单的来说就是一件商品的购买人数远远大于这件商品的库存,而且这件商品在很短的时间内就会被抢购一空。比如每年的618、双11大促,小米新品促销等业务场景,就是典型的秒杀业务场景。
在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究竟有什么坏处?
Spring Boot是最流行的用于开发微服务的Java框架。在本文中,将与你分享自2016年以来我在专业开发中使用Spring Boot所采用的最佳实践。
相信大家都用过事务以及了解他的特点,如原子性(Atomicity),一致性(Consistency),隔离型(Isolation)以及持久性(Durability)等。今天想跟大家一起研究下事务内部到底是怎么实现的,在讲解前我想先抛出个问题: 事务想要做到什么效果?
既然在项目中使用了MQ,那么就不可避免的需要考虑消息丢失问题。在一些涉及到了金钱交易的场景下,消息丢失还是很致命的。那么在RocketMQ中存在哪几种消息丢失的场景呢?
据悉,每年软件Bug会让美国经济面临近600亿美元的损失。我们都知道,软件Bug很烦人的,会对我们的工作、生活带来很多毁灭性的影响。现在,就让我们按时间顺序来盘点下史上最具有毁灭性的20个软件Bug。
生活中用到的锁,用途都比较简单粗暴,上锁基本是为了防止外人进来、电动车被偷等。但生活中也不是没有BUG的,比如加锁的电动车在「广西 - 窃·格瓦拉」面前,锁就是形同虚设。那在编程世界里,「锁」更是五花八门,多种多样,每种锁的加锁开销以及应用场景也可能会不同。
最近又赶上跳槽的高峰期(金九银十,招聘旺季),好多读者都问我要有没有最新面试题?于是,我找华为朋友整理了一份内部资料 《第6版:互联网大厂面试题》并分类4份PDF,累计 926 页!
最近想倒腾一下博客,看了很多现成的比较成熟的开源博客系统,自己也简单从下面几个维度总结对比了一下:star 数量、技术选型、社区生态。当然,好东西不能独享,下面简单分享一下我所做的笔记。
C中大多数缓冲区溢出问题可以直接追溯到标准 C 库。最有害的罪魁祸首是不进行自变量检查的、有问题的字符串操作strcpy、strcat、sprintf 和 gets。大部分程序员仍然会使用这些函数,因为从来没有人教开发人员避免使用它们。某些人从各处获得某个提示,但即使是优秀的开发人员也会被这弄糟,下面就来分析一下。
The GNU Compiler Collection通常简称GCC,是一套由GNU开发的编译器集,为什么是编辑器集而不是编译器呢?那是因为它不仅支持C语言言编译,还支持C++、Ada、Objective C等许多语言。可以所无所不在,它不仅支持 X86处理器架构, 还支持 ARM, Motorola 68000, Motorola 8800,AtmelAVR,MIPS 等处理器架构。
啥是PID?PID就是“比例(proportional)、积分(integral)、微分(derivative)”,是一种很常见的控制算法。
最近,Ruby编程语言的创始人兼主设计师、云平台即服务公司Heroku的Ruby首席架构师松本行弘在一次演讲中表示,由松本行弘领导的Ruby社区对该编程语言的发展进行了深入思考。此次30分钟的演讲中还提到了该编程语言即将迎来激动人心的新发展。 松本表示:“在过
曾经我一直以为自己C语言学的还挺好的,直到看到这几个例子……
缺点:语法正确,逻辑错误;死板的语法;需要子函数来处理分支。
今天主要是跟大家分享几个交换两数的宏,他们的实现或许会给你带来新的启发和收获!
线程存在于进程当中,是操作系统调度执行的最小单位。说通俗点线程就是干活,多线程也就是同时可以干不同的活而且还不会互相打扰,线程并没有自己的独立空间。
我们在学习C语言时,通常认为浮点数和小数是等价的,并没有严格区分它们的概念,这也并没有影响到我们的学习,原因就是浮点数和小数是绑定在一起的,只有小数才使用浮点格式来存储。其实,整数和小数可以都使用定点格式来存储,也可以都使用浮点格式来存储,但实际情况却是,C语言使用定点格式存储整数,使用浮点格式存储小数,这是在 “数值范围” 和 “数值精度” 两项重要指标之间追求平衡的结果。
「代码写得好」是对机器学习研究者及开发者最好的赞扬。其第一层意思是说,你的模型非常好,有自己的理解与修正;第二层意思是说代码的结构、命名规则、编写逻辑都非常优秀。我们曾经将写代码比喻成写文章:不仅需要有一个主旨,告诉别人代码的作用是什么,同时还应该在精炼与易读之间做权衡。
代码版本控制对于我们嵌入式软件开发岗是一项基础、必备的技能,需要熟练掌握。实际工作中常用的版本控制系统有:Git(分布式版本控制系统)与SVN(集中式版本控制系统)。本文分享了Git在实际工作中的基本使用方法。