- 博客(112)
- 资源 (6)
- 收藏
- 关注
原创 Program is zero,but zero is start.
前言化用特别喜欢的一句台词“Love is zero, but zero is start”。这是《名侦探柯南》第617集《福尔摩斯的启示录》中,新一向小兰表白的台词。网球比赛中,得分为0就用LOVE表示。所以网球运动员草地女王对小兰说:“Love就是0,即使再多的零分重叠,结果也只能是失败”。 爱积累的太多,却得不到相应的回报,最后也是付之于空,跟她所从事的网球事业有相似之处,而她的这个观点,也让有同样感受的小兰产生了共鸣“为什么偏偏深爱而不得”。新一为了让小兰重新振作,便想出了用“Love
2017-03-05 17:51:44 3277
原创 记录一个比较好的日志实现方式“挂钟实例”
在程序 boot 的时候挂一个钟表实例注册到 app 中,每隔一段代码就去问一下他,到目前为止过了多久了,并写到日志中。看到个比较好的日志实现方式,记录一下。定位程序中执行缓慢的位置。
2023-03-22 21:15:00 212 1
转载 消息中间件应用的常见问题与方案
多线程模型的语言,或者协程型语言,虽然可以通过自身的多线程 (或协程) 机制,来实现业务内部的异步处理,但是考虑到持久化问题以及管理难度,还是成熟的中间件更适合用来做异步数据通信,中间件还能实现分布式系统之间的数据异步通信。生产者可以选择接收不同类型的确认(ACK),比如在消息被完全提交时候(写入所有同步副本)的确认,或者在消息被写入首领副本时的确认,或者在消息被发送到网络时确认;在消息体上设计重试次数的属性,消费失败的消息增加重试次数后重新发送到中间件,等待下一次消费,本次消费成功发回消息直接 ACK。
2023-02-28 19:19:41 1438
原创 钱付了,订单还是未支付,用户炸了!——聊聊如何防止支付掉单!
这篇文章介绍了一个让用户炸毛,让客服恼火,让开发挠头的问题 —— 掉单,包括为什么会掉单,怎么防止掉单。
2022-10-17 21:34:35 401
原创 专门写坑,越改越浪费资源?
Model : 仅当成 Eloquent class。Repository : 辅助 model,处理资料库逻辑,然后注入到 service。Service : 辅助 controller,处理业务逻辑,然后注入到 controller。Controller : 接收 HTTP request,调用其他 service。Presenter : 处理显示逻辑,然后注入到 view。
2022-09-24 22:00:00 223
转载 如何保障 MySQL 和 Redis 的数据一致性?
实时一致性方案:采用“先写 MySQL,再删除 Redis”的策略,这种情况虽然也会存在两者不一致,但是需要满足的条件有点苛刻,所以是满足实时性条件下,能尽量满足一致性的最优解。最终一致性方案:采用“先写 MySQL,通过 Binlog,异步更新 Redis”,可以通过 Binlog,结合消息队列异步更新 Redis,是最终一致性的最优解。
2021-09-12 21:36:01 212
原创 为什么Laravel调试时谨慎使用dd()函数?这个问题成立否?
一直使用辅助函数dd()调试,没遇到过问题,但公司同事不建议使用,说有问题。今天研究了下,没想出个所以然来,道友们来讨论讨论!大体意思:dd函数是用来打印变量和结束脚本的运行的,如果不想结束脚本运行,请使用dump函数。是不是可以理解为 dd() = dump() + die() ,所以叫做dd()。区别就是结束脚本运行,但会有什么大的影响么?...
2021-07-16 14:58:38 426 2
原创 关于一个 Laravel 使用 cursor 占用内存问题
背景#我需要把一张表的所有数据查询出来,然后逐一查询出来进行逻辑处理。代码如下:
2021-03-03 21:00:15 2317 1
转载 如何在laravel中使用Repository Pattern(仓库模式)
来,这样做的好处有以下几点:把数据处理逻辑分离使得代码更容易维护 数据处理逻辑和业务逻辑分离,可以对这两个代码分别进行测试 减少代码重复 降低代码出错的几率 让 controller 代码的可读性大大提高如图所示 Repository 的分层关系然而,要独立一个操作层出来,那就会增加大量代码,非常繁琐。如果你是小项目,未必需要使用这一模式。但如果是 4-5 年以上的复杂大型项目,这种模式的好处就比较明显了。学习 Repository Pattern 的意义不只是为了使用它,更.
2021-02-25 20:28:48 609
转载 MySQL 规约(转自阿里巴巴开发手册)
最近一直在反思,感觉自身在规范化方面还是做得不好,最近也在看相关资料,努力充充电。一、建表规约 【强制】表达是与否概念的字段,必须使用 is_xxx 的方式命名,数据类型是 unsigned tinyint( 1 表示是,0 表示否),此规则同样适用于 odps 建表。 说明:任何字段如果为非负数,必须是 unsigned。 【强制】表名、字段名必须使用小写字母或数字;禁止出现数字开头,禁止两个下划线中间只出现数字。数据库字段名的修改代价很大,因为无法进行预发布,所以字段名称需要慎重考
2020-10-11 20:20:11 375
原创 自以为侦探,看太多柯南
今天收到一则私信。是位读者,私信问我“老哥,你也喜欢看柯南啊?我是柯南迷,看你的第一篇文章写到了《名侦探柯南》第617集,能坚持看这么多集的不多了”。说来惭愧,其实自己并没有完整的追过,算不上柯南迷,只是单纯的曾经喜欢看而已。凑巧的是,当我收到这则私信时,正好在微博热搜上看新闻“印度四面楚歌,解放军对印军播放歌曲”。不由自主地就联想到,周杰伦有首歌叫《四面楚歌》,其中有句值得回味的歌词“自以为侦探,看太多柯南”。又勾起了自己的“文字欲”,就想提笔写点什么。遥想,两年前,带 0 第一次去看
2020-09-20 20:37:59 622
原创 Docker安装、开发环境配置及项目搭建(二,Docker桌面应用)
其实上篇文章已经说清楚了,此文可以理解为其补充内容。主要区别是,上篇文章基于wsl子系统的docker,此文主要是docker桌面应用。注:搬运自公司大佬Haierspi为我们写的文档,版权为其所有,我只是大自然的搬运工和总结者0.0。一. Docker For Windows运行要求Windows 10 PROWindows 10 Home 升级 Pro升级密钥VK7JG-NPHTM-C97JM-9MPGT-3V66T下载地址https://hub.docker.com/ed
2020-09-13 18:25:02 899
原创 解决sudo apt-get update失败问题:GPG error:The following signatures couldn‘t be verified because the public
1. 执行 sudo apt-get update 命令时遇到这个错误,是服务器没有这个公钥的意思root@admin:~# sudo apt-get updateGet:1 https://download.docker.com/linux/ubuntu focal InRelease [36.2 kB]Err:1 https://download.docker.com/linux/ubuntu focal InRelease The following signatures couldn'
2020-09-12 15:05:55 7429 1
原创 Docker安装、开发环境配置及项目搭建(一,基于wsl子系统)
此文wsl基于上一篇https://blog.csdn.net/qq_35383263/article/details/107701198注:搬运自公司大佬Haierspi为我们写的文档,版权为其所有,我只是大自然的搬运工和总结者0.0。登陆 WSL,安装Docker执行 WSL进入WSL 虚拟机 执行 sudo su - ,输入密码,切换root权限执行命令 ./run.sh 执行所有启动服务sudo apt-get update //可能遇到的问题GPG error:The follow
2020-08-01 17:44:25 939
原创 Windows下Linux子系统的安装与使用 wsl
感受跳槽两月有余,已缓缓度过“阵痛期”,慢慢步入正轨,同时也意识到了自身技术方面的落后,没有赶上技术潮流,要加油了自己...犹记初入新公司第一天安装windows的linux子系统和docker时,因为网络不稳定、windows系统和docker版本等原因安装过程并不顺利。所以一直想要把这个过程记录下来。最近工作并不忙,空下心来好好梳理了一番。因为上家公司给配的惠普战99工作站笔记本流畅无比,就一直没有换电脑的心思。但既然离职,物归原主之后发现自己用了n多年的联想小Y已奇卡无比。所以趁最近空暇
2020-07-30 23:31:06 5904
转载 go语言基础之——iota的用法
iota 是go语言中的一个特殊常量,它的应用遵循以下五条规则,接下来将通过代码一一验证:- 不同const 定义块互不干扰- 所有注释行和空行全部忽略- 没有表达式的常量定义复用上一行的表达式- 从第一行开始,iota 从 0 逐行加一- 替换所有 iota1. 不同 const 定义块互不干扰const ( a = iota b c)const ( d = iota e...
2020-07-29 21:17:15 895
翻译 Laravel访问器与修改器妙用
当你在 Eloquent 模型实例中获取或设置某些属性值的时候,访问器和修改器允许你对 Eloquent 属性值进行格式化。例如,你可能想要使用 Laravel 加密器 来加密一个即将被保存在数据库中的值,当你从 Eloquent 模型访问该属性时,其值将被自动解密。除了自定义访问器和修改器之外,Eloquent 也会自动将日期字段类型转换成 Carbon 实例或将 文本字段类型转换成 JSON。访问器 & 修改器定义一个访问器若要定义一个访问器,则须在你的模型上创建一个 getFoo
2020-07-13 20:27:21 1345
转载 Laravel ORM 中你不知道的骚操作
append class User extends Model { protected $appends = ['is_adult']; public function getIsAdultAttribute() { return $this->attribute['age'] > 18; } }这个操作大家是不是都用过,在模型里新增一个数据库不存在的字段,非常方便。但是 $
2020-06-29 23:03:04 414
原创 钉钉接口
use EasyDingTalk\Application;$config = [ /* |----------------------------------------------------------- | 【必填】企业 corpId |----------------------------------------------------------- */ 'corp_id' => 'dingd3ir8195906jfo93', .
2020-06-22 02:18:26 1075
原创 归来必是少年,儿童节快乐!
2017年03月05日,写下第一篇博客,距今三年有余。这期间,断断续续,修修改改,“坚持”的确是件很难的事情。回首三年前的这篇文章,感触颇深。明知矫情是一种病,但还不得不犯,这是我,这是真实的我。都说“男人囚于心气,女人囚于感情”。的确,心高易折戟,但人还是要向前看的。最后,祝大家也祝自己:愿你出走半生,归来仍是少年。儿童节快乐!
2020-06-01 19:42:34 701
转载 高并发和 keepalived
很多 web 开发者都不会接触到高并发的项目,但是不代表高并发技术栈理论知识就不需要了解。就像欧洲没有互联网公司 (没人比我更了解欧洲互联网环境了),但依旧有程序员。中国自有国情在此,你做的任何一个 web 应用都有可能成为高并发项目。提到高并发就离不开负载均衡,负载可以理解为一个服务承受流量的工作状态,没有流量的时候是空载,有了点流量服务就运行起来,当流量超过了这个机器的上限,服务就是满载状态。面对一个流量打满了的服务,要么等,要么崩溃,要么等它崩溃。但机器是死的,我们程序员是活的,解决办法除了关机
2020-05-06 22:04:47 538
原创 'composer'不是内部或外部命令,也不是可运行的程序或批处理文件。
最近换了台电脑,下班后利用有限的晚上时间在新电脑上配置项目文件时,使用composer安装验证码类库,结果遇到了“ 'composer'不是内部或外部命令,也不是可运行的程序或批处理文件 ”的问题:
2020-05-06 21:53:08 14784 2
转载 Composer 工作原理 [源码分析]
PS: 篇幅有限详细说明可到 composer 仓库上下载源码库以及下载本人注解的仓库即可。composer 项目的控制台应用依赖于 Symfony 控制台组件,控制台组件本人在 laravel 相关版本已经大体说过,本篇仅是抽核心重点流程来梳理 composer 框架的运行流程。composer 安装文档首先下载 installer 文件 运行 installer 文...
2020-04-27 20:10:50 1350
转载 kafka 消费问题
请教大家一个问题:kafka生产没问题 消息能正常发送进队列 但消费始终得不到数据 一直在加载中,扩展"nmred/kafka-php": "v0.2.0.8"php:7.3.1 $config = \Kafka\ConsumerConfig::getInstance(); $config->setMetadataRefreshIntervalMs...
2020-04-22 20:15:41 734
原创 为什么PHP-fpm 会自动重启?
lnmp,经常报504错误,找不到原因。看网上说法,可能是进程满了,打log日志检查下,发现没有满。又有说法是“fpm 有 max_request 的 到达这个值了,就会自动平滑重启”!大神膜拜,果然是这个原因。
2020-04-06 23:34:58 1144
原创 phpunit 学习
单元测试是一个强大的功能,之前一直不会今日学习了一下,由于还在学习可能还存在问题。首先,需要先进行 phpuit 的安装,正常情况下安装好 laravel 之后是已经安装该扩展。安装phpunit 安装composer require --dev phpunit/phpunit这样就安装好测试扩展了编写测试案列测试代码的生成在 test 文件夹下面包含了两个文件 ...
2020-03-14 23:14:36 809
原创 Laravel 架构设计:在服务端应用中使用客户端渲染
现代 Web 应用开发有两种常见的架构方法: 服务端渲染应用 (Rails, Laravel, Django) 渲染:通过服务端模板 数据源:通过 ORM 访问数据库 路由:由服务端定义 单页面应用 (Vue.js, React, Angular, Ember) 渲染:通过 JavaScript 组件 数据源:通过 REST API 或 GraphQL 获取数据...
2020-02-28 20:43:59 1471
原创 《大型网站技术架构核心原理与案例分析》读后感
传统的企业应用系统主要面对的技术挑战是处理复杂凌乱、千变万化的所谓业务逻辑,而大型网站主要面对的技术挑战是处理超大量的用户访问和海量的数据处理;前者的挑战来自功能性需求,后者的挑战来自非功能性需求;功能性需求也许还有“人月神话”聊以自慰,通过增加人手解决问题,而非功能需求大多是实实在在的技术难题,无论有多少工程师,做不到就是做不到。IT系统应用于企业管理已有超过半个世纪的历史,人们在这方面积累了大...
2020-02-20 14:08:12 704
原创 机场候机反思
今晚的机票上海=>天津=>雄安此时候机ing无聊就提笔写点儿什么吧又是熟悉的行程因计划年后跳槽回北京很可能这是最后一次春运离沪了想想其实还蛮舍不得的但牛奶会有的面包会有的路还很长年后加油...
2020-01-22 21:05:55 636
原创 聊聊 Go语言 和 PHP语言
坐标上海,这 2 年互联网行业都不景气,大多公司都在亏损,赚钱的公司大多都是电商类脱淘的公司2020 年不知道 php 行业就业形势怎么样,大伙来吐槽吐槽讨论讨论,感觉现在两级分化比较严重,要么是需要初级程序员,要么就是需要顶级的,搁在中间的那部分人相对比较难受。初级便宜,顶级的大公司有这个需求,个人感觉是这样子的,大家觉得呢?本人2年7个月开发经验,年后想换坑,也不知道外面现在行情怎么样,哈哈哈
2020-01-14 20:26:49 814
原创 API集成测试问题2:Expected status code 200 but received 500. Failed asserting that false is true.
接上文,之前的错误消失了,出现了新的问题如下:PHPUnit 8.5.0 by Sebastian Bergmann and contributors. ...
2020-01-09 20:30:12 2273
原创 API集成测试问题1:could not find driver
进行API集成测试时,碰到如下问题:There was 1 error:1) Tests\Feature\ExampleTest::testBasicTestIlluminate\Database\QueryException: could not find driver (SQL: PRAGMA foreign_keys = ON;)......Caused byDoctrin...
2020-01-09 19:52:38 1244
原创 strtotime 踩坑记录
前言就在今早,代码写着写着就出现了一个奇怪的事情:echo date('Y/m/d', strtotime('-1 month'));// 2019/12/01见鬼了,还能不能好好让我当一条咸鱼了?echo date('Y/m/d', strtotime('-2 month'));...
2020-01-08 20:06:36 377
原创 Laravel 队列经常卡死
使用队列的原因:因为项目需要每天定时拉取多个 api 的数据,数据量大(每次上万个任务),所以选择使用队列拉取。工具:laravel 队列,supervisor 进程监控遇到的问题:队列在运行过程中会突然卡住不再运行,需要重启 horizon 和 supervisorctl,才会继续运行。(2020-01-03 15:31:00 补充)难点:手动运行正常!重启队列并观察,也正常!运行一...
2020-01-03 18:06:12 9725
Android蓝牙打印机开发源代码.rar
2019-09-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人