韩槑槑

韩槑槑

it's better to burn out than to fade away

Ant Design Upload 通过后端预生成 URL 上传大文件到 AWS S3
本文概括首先前端方面使用的是 React 以及 Ant Design,后端使用 PHP 以及 AWS-SDK通过后端与 AWS 进行交互创建多段上传,拿到后续所需的 Key 和 ID然后前端将 File 文件进行 slice 分片,并在每次分片后取调用后端接口此时后端通过之前的 Key 和 ID 来获取当前分片的上传地址(由 AWS 返回)前端不同分片拿到各自的上传地址后,各自异步上传到相应的 URL 即可当上传完毕后调用后端接口,后端再调用 AWS 的完成上传接口,让 AWS 对分片进行合并即可 拦截 Ant Design Upload 采用自己的上传在 Upload 组件的 befo...
macOS Mojave 没有 /usr/include 目录导致编译安装 PHP7.4 失败
PHP7.4PHP7.4 的尝鲜版已经可以编译成功了项目地址 https://github.com/php/php-src.git, 有兴趣的可以自己编译安装啦 MacOS 报错我在安装的过程中遇到一个 MacOS Mojave 的问题,错误信息看下图👇 错误信息显示找不到 libxml/parser.h 头文件信息我们都知道头文件信息一般都保存在 /usr/include/ 目录下而且错误信息中也标示出在编译的过程中,确实是去 /usr/include/libxml2 寻找头文件此时我们会发现我们的 /usr 目录下并没有 include经过查询发现 Apple 已经弃用 /usr/...
编码 摘要 加密
摘要摘要的目的是为了校验信息的完整性,保证信息在传输过程中不被篡改。例如你在网络上需要下载一个非官方论坛软件,但又担心软件被第三方篡改,可以将该软件的md5值和官方下载的md5值进行对比,如果一致,则可放心使用。摘要算法有如下几个特点: 输入相同时,输出一致 输入不同时,输出不同 通过输出,不能计算出输入 对输入的任何细微修改,都会导致完全不同的输出 由于以上特性,摘要也常被用来给密码加密,不过由于计算机运算能力的提升以及越来越丰富的破解手段,已不建议使用摘要算法来给密码加密。 通过摘要信息不能还原原始信息 例子:md5, sha系列 编码编码本质上是信息形式的转化。编码的目的不...
Swoole 启用 openssl
为什么要启用 openssl ?当我使用 Swoole 的 Http 客户端时,需要访问 HTTPS 的接口,此时报错告诉我没有开启 openssl 扩展。 so,通过 pecl 安装的 Swoole 扩展是没有开启 openssl 的。想知道有没有开启可以通过 php --ri swoole 命令来查看 如何开启 openssl ?首先,需要通过自己手动编译来开启这个扩展。通过 Swoole 官方文档配置项可知 https://wiki.swoole.com/wiki/page/437.html Let’s Go 我使用的是 OSX 系统 先下载 releases 版本的 Swool...
剑指offer 二进制中1的个数
题目 二进制中1的个数 解法一12345678910// 在按位与当中0 & 1 = 00 & 0 = 01 & 1 = 188 = 0101 100066 = 0100 0010& = 0100 0000 由此题可设 m = 1 (0000 0001),则1n & m = 1 或 0(取决于 n 的最后一位是 1 还是 0) 判断结果并记数 count接着将 n 向左位移 n << 1 = 0000 0010,此时1n & m = 1 或 0(取决于 n 的倒数第二位是 1 还是 0) 依次类推,判断 m 的每一位是否为 ...
LeetCode 70 爬楼梯(剑指 offer 矩形覆盖)
题目该题在 LeetCode 被称为 爬楼梯在 剑指 offer 中被称为 跳台阶而 剑指 offer 中的另一道题 矩形覆盖 也可理解为跳台阶 题目要求:假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 解题思路设 n 阶跳法的结果是 f(n)假设第一次跳了 1 阶,那么还剩下 n - 1 个台阶假设第一次跳了 2 阶,那么还剩下 n - 2 个台阶则 f(n) = f(n - 1) + f(n - 2) 这里跳1还是跳2都不算是一种跳法,最终的结果是从这两个分支到终点才算一种跳法,因此这里的1或2跟后面的跳法是一...
安利一个浏览器的扩展「Octotree」
介绍「Octotree」 是一个应用在 gayhub 上的浏览器扩展插件,目的是为了更好的展示当前浏览的开源项目的目录结构,并快速导航过去,避免繁琐的多目录的点击文件跳转的过程 无图无真相1.先是未使用扩展时的 gayhub 项目界面 大家都很清楚,你需要看某个具体文件的代码的时候需要多层级的跳转到那个代码的文件所在地这是一件非常繁琐的事,你不仅需要记录那个文件的具体位置还要等待网页的频繁加载如果找错了还需要重新来过 2.再来是使用 「Octotree」 扩展时的界面 还是在项目首页,但是很明显我能在首页就看完整个项目的目录结构我能快速的定位到想要知道的代码位置甚至连不同的文件 i...
求两个集合的交集 要求时间复杂度为 O(m+n) 或 O(m*n)
为什么会写这个平时比较爱逛论坛,有一天发现一篇文章原网址为:https://www.v2ex.com/t/466422这篇文章吐槽一个三年经验的 PHP 不会写这个算法题为了避免三年后我也被挂在论坛吐槽所以就先练习下 -_-!! O(m*n)这个比较简单就是两个循环嵌套遍历判断是否相同即可12345678910111213$m = [1, 2, 3, 4];$n = [1, 4, 7, 9];$intersection = [];foreach ($m as $m_v) { foreach ($n as $n_v) { if ($m_v === $...
LeetCode 常用结构之 链表
常用的数据结构LeetCode 刷题的时候有几个常见的数据结构其中最常用的是 树 和 链表所以我把这两个数据结构单独写了两个包上篇文章已经介绍了树这篇文章说链表 代码仓库:https://github.com/Han-MeiM/leetCode/tree/master/structure 链表结构12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152package ListNodeimport ( "fmt" "strconv" ...
avatar
Han-MeiM
PHP Golang JavaScript