07-06

在高并发情况下我是这样解决单用户超领优惠券问题

问题抛出在近期的项目里面有一个功能是领取优惠券的功能,问题描述:每一个优惠券一共发行多少张,每个用户可以领取多少张:如:A优惠券一共发行120张,每一个用户可以领取140张,当一个用户领取优惠券成功的时候,把领取的记录写入到另外一个表中(这张表我们暂且称为表B)<!--减优惠券库存的SQL--...

06-30

Unicode 和 UTF-8 的关系与区别

0. 结论首先给出结论。Unicode 是“字符集”,UTF-8 是“编码规则”。其中,“字符集”的意思是:为每一个“字符‘”分配一个唯一的 ID(学名为码位 / 码点 / Code Point);“编码规则”的意思是:将“码位”转换为字节序列的规则(编码/解码 可以理解为 加密/解密 的过程)。广...

06-29

xlswriter扩展

文档:  pecl install xlswriter pecl装不上的用下边的方法: wget https://pecl.php.net/get/xlswriter-1.5.2.tgz tar -zxvf xlswriter-1.5.2....

10-22

面试字节,被操作系统问挂了

大家好,鄙人三某,不善面试。。。标题是真事,感觉凉了,难受,爬起来整理了一波操作系统面试题,下次一定……引论什么是操作系统?可以这么说,操作系统是一种运行在内核态的软件。它是应用程序和硬件之间的媒介,向应用程序提供硬件的抽象,以及管理硬件资源。操作系统是什么操作系统主要有哪些功能?操作系统最主要的功...

10-18

系统设计之路:如何设计一个URL短链服务

每当我们学习一门新的编程语言,做的第一件事情,就是写一个 “Hello world” 程序,先让它能 Run 起来,潘多拉魔盒打开之后,再深入学习语言的其他精髓。同样,我们在准备系统设计相关的面试时,“设计一个 URL 短链服务” 往往就是...

04-25

同样是工作5年,工资差距为何那么大?

同样的职场起点,为什么几年后大家差距很大?如果想快速升职加薪,有什么好方法吗?如何才能做到持续且快速的成长?这些疑惑都离不开一个本质问题:『职场价值』,因为企业用人的核心出发点是:你能否为企业创造价值?你的价值和薪酬职级是否匹配?你是否还有升值潜力?所以,当你想清楚了一个人的职...

08-27

其他人的BUG

在软件行业,经常看到有的公司管理让一个人修补另一个人代码里的BUG。有时候有人写了一段代码,扔出来不管了,然后公司管理让其他工程师来修复它。我想告诉你们,这种方法会很失败。首先,让一个人修复另一个人的BUG,是不尊重工程师个人技术的表现。久而久之会降低工程师的工作积极性,以至于失去有价值的员工。代码...

06-11

大话后端开发的奇淫技巧大集合

模块化设计根据业务场景,将业务抽离成独立模块,对外通过接口提供服务,减少系统复杂度和耦合度,实现可复用,易维护,易拓展项目中实践例子:Before:在返还购APP里有个【我的红包】的功能,用户的红包数据来自多个业务,如:邀请新用户注册领取100元红包,大促活动双倍红包,等各种活动红包,多个活动业务都...

11-07

字符编解码的故事(ASCII,ANSI,Unicode,Utf-8区别)

很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们认为8个开关状态作为原子单位很好,于是他们把这称为"字节"。再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出更多的状态,状态开始变来变去。他们看到这样是好...

09-24

2021年PHP程序员未来路在何方

PHP 从诞生到现在已经有 20 多年历史,从 Web 时代兴起到移动互联网退潮,互联网领域各种编程语言和技术层出不穷, Node.js 、 GO 、 Python 不断地在挑战 PHP 的地位。这些技术的推动者非常热衷于唱衰 PHP , PHP 语言的未来在哪里?

09-15

工作十年的程序员,却拿着毕业三年的工资,再不开窍就真晚了!

他有 10 年的编程经验,但是代码却写的很糟糕。因为他写代码就像工厂的操作工一样,只注重功能的实现,不注重优化和改进。所以他的代码看上去很粗糙,一点都不精致。

07-20

windows用docker轻松搭建nginx+php+mysql+redis环境

下载docker https://download.daocloud.io/Docker_Mirror/Docker_for_Windows_Mac  

05-05

浅析分布式系统

我们常常会听说,某个互联网应用的服务器端系统多么牛逼,比如QQ、微信、淘宝。那么,一个互联网应用的服务器端系统,到底牛逼在什么地方?为什么海量的用户访问,会让一个服务器端系统变得更复杂?本文就是想从最基本的地方开始,探寻服务器端系统技术的基础概念。

03-24

我送的不是外卖

送外卖的生活丰富多彩啊~

03-23

分布式Session存储方案

前言 本文主要探讨集群后不同Web服务器获取Session数据的问题解决方案。 Session Stick Session Stick 方案即将客户端的每次请求都转发至同一台服务器,这就需要负载均衡器能够根据每次请求的会话标识(SessionId)来进行请求转发,如下图所示。 session sti...

03-22

论docker中 CMD 与 ENTRYPOINT 的区别

Dockerfile 用于自动化构建一个docker镜像。Dockerfile里有 CMD 与 ENTRYPOINT 两个功能咋看起来很相似的指令,开始的时候觉得两个互用没什么所谓,但其实并非如此。

03-21

nginx返回413 Request Entity Too Large

413 Request Entity Too Large说明php上传文件或者Post内容大小超出限制 修改php配置 upload_max_filesize, post_max_size, 怕超时的话还需要修改max_execution_time 修改nginx配置 client_max_body...

01-12

curl简单使用

curl是一种命令行工具,作用是发出网络请求,然后得到和提取数据,显示在"标准输出"(stdout)上面。 它支持多种协议,下面举例讲解如何将它用于网站开发。 一、查看网页源码 直接在curl命令后加上网址,就可以看到网页源码。我们以网址 www.sina.com 为例 :   $ curl www...

01-12

解释器和编译器的区别与联系

菜鸟经常将编译器和解释器弄混淆,无奈之下,于是向高手请教。   高手说: > 解释器是一条一条的解释执行源语言。比如php,postscritp,javascript就是典型的解释性语言。 编译器是把源代码整个编译成目标代码,执行时不在需要编译器,直接在支持目标代码的平台上运行,这样执行效率比...

01-12

电子邮件

Email的历史比Web还要久远,直到现在,Email也是互联网上应用非常广泛的服务。 几乎所有的编程语言都支持发送和接收电子邮件,但是,先等等,在我们开始编写代码之前,有必要搞清楚电子邮件是如何在互联网上运作的。 我们来看看传统邮件是如何运作的。假设你现在在北京,要给一个香港的朋友发一封信,怎么做...