go 协程操作map导致的数据竞争及解决方法

2023-05-04
阅读 2 分钟
1.7k
有个查询结果集的操作,无可避免的需要在循环获取数据,然后将结果集放到 map 中,这个操作在压测的时候,没出现问题,发布到生产环境之后,开始偶现 fatal error: concurrent map read and map write 错误,导致容器重启了。

MySQL distinct 和 order by 排序混淆的替代方案

2022-12-30
阅读 1 分钟
1.8k
如果列为 a 的数据有很多条,就会发现最终取到的那条数据可能不是 updated_at 最近的那条数据,因为 distinct 有一次默认的排序,然后生成一个临时表,然后 order by 无法从最开始的原始数据中进行排序,仅排序中间表,无法得出正确结果。改成 distinct a, updated_at 的话,实际上又失去了 distinct 的意义了。

Centos 系统简单排查流量异常问题

2021-09-10
阅读 1 分钟
4.4k
需要提前安装 iftop 这个工具,用来分析网络实时流量。Mac 系统下可能需要 iftop -i en0 指定网卡,然后进入界面后 p 键打开展示端口。更多精确参数和使用,参考 iftop 流量监控

PHP 实现简单多路归并排序大文件

2021-07-07
阅读 2 分钟
3.2k
原文链接:何晓东 博客算是一道常见的面试题引来的,有些大厂也喜欢把这个题当做面试题。题目:例如有一个 1g 的文件,里面存放这乱序不唯一的数字,如果利用 100m 完成整体排序?实现过程就是:先将大文件逐行读取,每 10000 行为一组,然后排序后写入文件中,文件名称类似 t1.txt, t2.txt ... 这样的名称,直至读取和...

2021年php常见面试题

2021-05-08
阅读 1 分钟
3.8k
主要是2021年4-5月本人面试准备和面试中不断完善的知识点,更多是八股文,能应对基础知识类的考察,深入的研究需要日常的积累了,算法类的没有体现在文档中,基本算法类的能在LeetCode上看到,我遇到的除了一线大厂,其他不是很在乎算法的考核,能有思路或者学习过,就可以带过这个问题了。

一些不常用的PHP字符类型检测函数

2021-02-22
阅读 2 分钟
1.8k
主要是 Ctype 扩展所提供的函数,用来检测在当前的区域设定下,一个字符或者字符串,是否仅包含指定类型的字符。此类函数用来替代简单的正则验证,效率高于正则验证。参数为字符串,如果给出一个 -128 到 255 之间(含)的 int, 将会被解释为该值对应的 ASCII 字符 (负值将加上 256 以支持扩展 ASCII 字符). 其它整数将会...

LeetCode 从滑动窗口到初级动态规划解决一类题

2020-12-23
阅读 4 分钟
3.9k
原文链接:何晓东 博客剑指 Offer 57 - II. 和为s的连续正数序列输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。示例 1: {代码...} 示例 2: {代码...} 限制:1 <= target <= 10^5来源:力扣(LeetCode)链接:...

[LeetCode 面试题01.05]一次编辑

2020-12-16
阅读 2 分钟
2.4k
原文链接:何晓东 博客面试题 01.05. 一次编辑字符串有三种编辑操作:插入一个字符、删除一个字符或者替换一个字符。 给定两个字符串,编写一个函数判定它们是否只需要一次(或者零次)编辑。 示例 1: {代码...} 示例 2: {代码...} 来源:力扣(LeetCode)链接:[链接]解题思路 1暴力破解,都从开始到结尾查找字符,如果遇...

程序员买房流程与经验

2020-12-07
阅读 2 分钟
7.6k
第一个也是最关键的是你确定自己的想法和心理预期,例如你想要学区房,现房或者期房,位置,价格,楼层等因素,同时保留 ±10% 左右的差别区间,现实情况会和理想有所偏差,不是那么完美契合的,确定之后不要轻易改变,一分钱一分货,切记不要被销售人员牵着鼻子走。

[LeetCode 34]PHP 求解在排序数组中查找元素的第一个和最后一个位置

2020-12-02
阅读 3 分钟
1.6k
原文链接: 何晓东 博客在排序数组中查找元素的第一个和最后一个位置给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1, -1]。进阶:你可以设计并实现时间复杂度为 O(log n) 的算法解决此问题吗? 示例 1: {代码...} ...

PhpStorm中两个提升生产力的插件

2020-11-18
阅读 1 分钟
6.1k
Php Inspections ​(EA Extended)一个代码优化和安全提示的插件主要功能:与架构有关的问题弱类型控制和可能的代码构造简化性能问题非最佳,重复和可疑的“如果”条件验证魔术方法的使用常用表达兼容性问题各种耗时的错误PHPUnit API用法安全问题提示场景:TabNine智能自动补全插件,不会自己写代码的 IDE 不是好的 IDE,那...

[LeetCode 15]PHP求解三数之和问题

2020-11-07
阅读 2 分钟
2k
给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。

[LeetCode 491]PHP 求解有效的山脉数组

2020-11-04
阅读 2 分钟
1.1k
原文链接:何晓东 博客有效的山脉数组给定一个整数数组 A,如果它是有效的山脉数组就返回 true,否则返回 false。让我们回顾一下,如果 A 满足下述条件,那么它是一个山脉数组:A.length >= 3在 0 < i < A.length - 1 条件下,存在 i 使得:A[0] < A[1] < ... A[i-1] < A[i]A[i] > A[i+1] > ......

[LeetCode 142/287]PHP 快慢指针的进阶题

2020-10-10
阅读 3 分钟
2.2k
为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。

PHP 和 Go 实现环路链表检测

2020-10-09
阅读 2 分钟
2.9k
给定一个链表,如果它是有环链表,实现一个算法返回环路的开头节点。有环链表的定义:在链表中某个节点的next元素指向在它前面出现过的节点,则表明该链表存在环路。

PHP 求解二叉树 - 二叉搜索树的最近公共祖先

2020-09-27
阅读 4 分钟
2.1k
百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”

MySQL解决 ONLY_FULL_GROUP_BY 错误的几个方法

2020-09-25
阅读 2 分钟
16k
在 MySQL 5.7版本以上进行一些 ORDER BY 或者 GROUP BY 时,会出现如下错误 [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column ‘information_schema.PROFILING.SEQ’ which is not functionally dependent on columns in GROUP BY clause; this is incompatib...

[LeetCode 78]PHP 回溯算法求解子集问题

2020-09-21
阅读 2 分钟
1.9k
原文链接:何晓东 博客子集给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例: {代码...} 来源:力扣(LeetCode)链接:[链接]解题思路 1直接参考 回溯算法团灭排列/组合/子集问题代码 {代码...}  解题思路 2 迭代法初始化结果为 二维空数组遍历给定数组中的...

[LeetCode 46/47]PHP 回溯算法求解全排列

2020-09-18
阅读 2 分钟
2.1k
原文链接: 何晓东 博客全排列给定一个 没有重复 数字的序列,返回其所有可能的全排列。示例: {代码...} 来源:力扣(LeetCode)链接:[链接]解题思路直接参考 回溯算法团灭排列/组合/子集问题代码 {代码...} 额外:LeetCode 47 全排列 Ⅱ,区别是 第一:加了一个sort,排序之后只有相邻元素才会相同 第二:判断去重条件,...

[LeetCode 977]PHP 实现有序数组的平方

2020-09-15
阅读 2 分钟
1.5k
原文链接: 何晓东 博客有序数组的平方给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。示例 1: {代码...} 示例 2: {代码...} 来源:力扣(LeetCode)链接:[链接]解题思路 1内置函数求解代码 {代码...} 解题思路 2双指针遍历,同时借助新数组,将计算平方之后的结果...

[LeetCode 121]PHP三种方式求解买卖股票的最佳时期

2020-09-02
阅读 4 分钟
1.9k
原文链接: 何晓东 博客买卖股票最佳时机给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。注意:你不能在买入股票前卖出股票。 示例 1: {代码...} 示例 2: {代码...} 来源:力扣(LeetCode)链接:[链...

[LeetCode 477]PHP 计算汉明距离总和

2020-08-28
阅读 2 分钟
2k
原文链接: 何晓东 博客PHP 计算汉明距离总和两个整数的 汉明距离 指的是这两个数字的二进制数对应位不同的数量。计算一个数组中,任意两个数之间汉明距离的总和。示例: {代码...} 注意:数组中元素的范围为从 0到 10^9。数组的长度不超过 10^4。来源:力扣(LeetCode)链接:477. Total Hamming Distance解题思路 1穷举...

Go 和 PHP 基于两组数计算相加的结果

2020-04-16
阅读 2 分钟
1.5k
给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:    输入:(2 -> 4 -> 3) + (5 -> 6 -&...

Go 和 PHP 根据目标值计算两数之和

2020-04-16
阅读 2 分钟
1.8k
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。示例:    给定 nums = [2, 7, 11, 15],target = 9    因为 nums[0] + nums[1] = 2 + 7 = 9    所以返回 [0, 1]来源:力扣

Go 和 PHP 实现计算最长公共前缀

2020-04-16
阅读 2 分钟
2.1k
编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。示例 1:  输入: ["flower","flow","flight"]  输出: "fl"示例 2:  输入: ["dog","racecar","car"]  输出: ""解释: 输入不存在公共前缀。说明:所有输入只包含小写字母 a-z 。来源:力扣

Go 和 PHP 基于一组数计算盛最多水的容器

2020-04-16
阅读 3 分钟
1.5k
给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况...

Jenkins 简单静态项目任务配置

2020-03-13
阅读 1 分钟
1.8k
原文链接: 何晓东 博客主要流程是:先确保生产环境及域名等已经准备好,然后再添加发布任务,让整个流程跑起来。生产环境配置需要线上有对应的目录,先配置 git 及 nginx,配置完毕之后访问对应域名,确认可以用,然后删掉测试文件,保留 git 配置就行。 {代码...} 配置仓库及编译脚本,直接发布的不需要仓库和脚本了,...

Laravel 手动开关 Eloquent 修改器

2019-12-29
阅读 1 分钟
3.9k
修改器的手动开关的场景就是差异化的返回数据,例如在后台管理的时候,图片地址要相对路径,然后 app 端期望返回全路径的地址,这个时候就需要手动开启和关闭了。

最近遇到的几个PHP小知识点

2019-12-19
阅读 2 分钟
2.1k
一个小需求是类似单词填空题,从单词中替换到几个字母,变成 _,然后给出一些选项,例如 ax n, au h, ab y这样的,将选项一一对应的替换 _,和原单词比较,如果一致就是正确选项,本以为事情很简单,str_replace 函数支持两个数组之间的替换,例如

Python3 实现 gif 倒放,多张图片生成 gif

2019-12-19
阅读 2 分钟
3.5k
原文链接 何晓东 博客一个娱乐代码,将表情包 gif 倒放很搞笑,当成自己的一个小玩具,操作就是将图片读取成帧,倒排合并一下,成为新的图片,完成。效果:翻转前 翻转后 代码如下: {代码...} 另外极简版更简单 {代码...} 将多张静态图片生成 gif 的代码,这个年底可以将每年的图片合并成一个大的 gif 以留作回忆,倒是...