自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

王森的博客

王森出品必属精品

  • 博客(181)
  • 资源 (29)
  • 收藏
  • 关注

原创 利用 Chrome devTools Source Override 实现JS逆向破解案例

之前讲解 Chrome 一大强势技术 override 时,给的案例貌似没有给大家留下多深的印象其实这个超厉害的,任何一项小技术在 buffer 叠加的基础下才能发挥威力,若单单看到这一项技术,就局限了。

2025-04-01 23:26:32 888

原创 linux如何与windows进行共享文件夹开发,不用来回用git进行拉来拉去,这个对于swoole开发者来说特别重要

linux那边安装samba,此处不再赘述,百度一堆教程,设置一个最简单的共享文件夹,一般是放nginx运行代码的地方,我的是web,将web设置用户为samba(你创建的,直接用root不行),权限设置为777,要加-R,迭代设置。你可以用phpstorm打开这个盘中的文件夹,phpstorm操作文件代码时会自动同步到linux那边的服务器,非常爽。(补充):samba配置。

2025-04-01 14:27:11 282

原创 WSL 2 轻量级安装 Centos7 实现无缝衔接,hyperf 开发再也不用 window 映射共享文件夹了

在很久很久以前,如果想要开发 php 的 hyperf 框架,你需要先装个 virtualbox,然后再安装一个 centos,再在 centos 里面配置 ssh,然后 virtualbox 再来个桥接网络,最后再在 centos 安装一个 smb 共享文件夹服务,之后再在 windows 这边配置文件夹映射到 centos 中的 smb.service 服务共享的文件夹,实现代码同步,一阵操作猛如虎,把新人搞得头晕眼花,只要在这个环节中,卡住任何一点,新人就放弃了。启用 CEntOS7 系统。

2025-04-01 13:25:37 374

原创 【避坑指南】RAGFlow + Ollama + Deepseek 构建本地知识库

大模型在处理数据前会有一个前置数据分析,这个前置分析就像 JS 中的生命周期函数一样,可以以配置的方式,让大模型在前置分析时调用,前置分析本身算是一个 tokens 拆解匹配模型,叫 embedding(嵌入)顾名思义就是前置嵌入的意思。在这个前置模型中,如果能事先训练一些 token 出来,那么嵌入模型递交给大模型时就带着这些 token 过去了,这个过程就叫本地知识库微调。为何叫微调呢?因为前置嵌入模型可以容纳的上下文长度有限,所以就意味着 token 有限,所以能塞在前置分析的知识库也就有限,

2025-03-31 22:42:32 1165 1

原创 conda安装python 遇到 pip is configured with locations that require TLS/SSL问题本质解决方案

以前写了一篇文章,不过不是专门为了解决这个问题的,但是不能访问pip install 不能安装来自https 协议的包问题几乎每次都出现,之前解决方案只是治标不治本根本原因在于,你用conda安装不同版本的python时,如果没指定配套的openssl版本,那么python就会默认使用你系统安装的openssl版本因为你安装conda的时候,conda默认使用python12版本作为默认引擎,而python12使用的openssl版本较高,导致你创建一个python3.8版本时,就会报错。

2025-03-28 23:55:21 427

原创 【面试题】Promise在异步操作中到底扮演什么角色?若将其理解为状态管理器,有哪些更丰富的应用场景?

很多同学都不理解Promise的,Promise一度都是前端同学的摆设,基本都是封装一下Ajax请求就完了,其他的也就没用过了,这个面试题是一个启发式面试题,启发前端同学对知识有一种思考,真正理解知识,在理解的基础上,真正用起来。如果你仅仅知道这玩意解决了回调地狱的问题,那就优点太小瞧了Promise重要性,其实它比你想象的更重要,更强大,更不可或缺。

2025-03-27 19:23:35 675

原创 【面试题】利用Promise实现Websocket阻塞式await wsRequest() 请求

目标:实现一个类似 HTTP 请求的阻塞式调用接口(如 await wsRequest(...)),让开发者无需手动处理 WebSocket 的事件回调,而是通过 Promise 和 async/await 获得同步体验。onmessage:解析收到的消息,提取 requestId 和 data,通过 requestMap 找到对应的 Promise 并完成它。用 Promise 封装请求,监听 onmessage 时根据 requestId 完成对应的 Promise。

2025-03-27 17:53:54 890

原创 【面试题】在 CSS 中,实现一个 div 中的子 div 水平垂直居中

兼容性较 Flexbox 更差(IE11 需要前缀)。特点:类似 Flexbox,但更强大,适合复杂布局。7. 使用 line-height(单行文本居中)需要额外调整子元素为 inline-block。特点:手动计算偏移量,适合固定尺寸场景。只适用于单行内容,多行或复杂内容不适用。特点:简单、直观,现代浏览器支持良好。兼容性稍差(IE9 及以下不支持)。兼容性好(支持老浏览器)。特点:利用表格特性,较老式方法。兼容性极佳(支持老旧浏览器)。特点:适合单行文本或简单内容。简单,适合文本居中。

2025-03-27 17:45:35 508

原创 Git Bash 设置Notepad++作为默认编辑器

最简单的方式就是重新安装git,然后在选择编辑器的时候,勾选notepad++即可。网上搜的时候发现别人搞得有点复杂。

2025-03-26 17:33:22 454

原创 V8引擎源码编译踩坑实录

d8.exe 是 V8 引擎编译生成的一个可执行文件,作为调试壳(debug shell)存在,其作用总结如下:运行 JavaScript:提供一个独立的 JavaScript 执行环境,可直接运行代码或脚本文件。调试工具:用于分析 V8 的字节码、优化过程、内存布局等,帮助开发者调试和研究。研究 V8:适合探索 V8 的编译、执行和垃圾回收机制。轻量实验:无标准库和 DOM,专注于 V8 核心功能,适合教育和底层实验。

2025-03-24 22:40:33 951

原创 【含代码】逆向获取 webpack chunk 下的__webpack_require__ 函数,获悉所有的模块以及模块下的函数

Webpack 打包后的代码是不会直接暴露 __webpack_require__ 函数,目的是为了避免污染全局变量同时也为了保护 webpack 的打包后的模块都隐藏在闭包函数里,达到数据的安全性。而有时我们为了测试某个函数,想直接获取这个内置函数,同时保证这个内置函数能使用其所带的上下文,若单独构建这个函数,创建上下文,难度非常之大,因为这个函数的上下文都在闭包函数里。而__webpack_require__.m 则可以提取所有的模块,所以拿到 __webpack_require__ 是关键。

2025-01-21 18:36:11 1564

原创 Webpack 5 混淆插件terser-webpack-plugin生命周期作用时机和使用注意事项

Terser(简要的/简短的) 混淆依据混淆是发生在代码已经 bundle 之后的事情变量或者函数在被引用或赋值时才能被混淆孤立的函数或者变量可能会被移除,但不会被混淆,要通过显式地引用

2025-01-14 19:10:37 885

原创 Electron-Vue 开发下 dev/prod/webpack server各种路径设置汇总

在实际开发中,我发现团队对于这几个路径的设置上是纯靠猜的,通过一点点地尝试来找到可行的路径,这是不应该的,我们应该很清晰地了解这几个概念,以下通过截图和代码进行细节讲解。

2024-12-19 20:25:29 1107

原创 【附源码】Electron Windows桌面壁纸开发中的 CommonJS 和 ES Module 引入问题以及 Webpack 如何处理这种兼容

在尝试让 ChatGPT 自动开发一个桌面壁纸更改的功能时,发现引入了一个 wallpaper 库,这个库的入口文件是 index.js,但是 package.json 文件下的 type:"module",这样造成了无论你使用 import from 还是 require,都会报 ES Module 引入错误,针对于这个问题,让 GPT 给了很多方案,但是都没有解决实质问题,最终,经过多次测试,发现必须借助打包工具 webpack 才能搞定这个事情。

2024-12-18 17:41:54 1323 1

原创 Electron-Vue 主进程远程调试 & Webpack/Webstorm 打包配置细节记录

很多人应该都不会electron主进程调试,electron-vue 框架给了一种node调试的一种方法,这里记录下来,对很多人应该都有用,另外,对于webstorm对electron的支持,这里也记录一下,方便大家提高开发效率

2024-12-17 01:00:25 985

原创 Webpack 5 @babel/preset-env 与 @babel/polyfill && core-js:3 regenerator-runtime 之间的关系

最早有 Babel polyfill 的概念是接触 ES6 语法时,大概是 2016 年,被 polyfill 坑的时候是 2021 年开发谷歌插件时,经过 webpack 打包的代码中,我竟然看到有东西在重写 Promise,导致了原生的 Promise 不可用,后来我就开始对 Polyfill 进行了解,本文主要还是想彻底搞明白 Babel 怎么针对不同版本下的 ES 高级语法的支持和转化问题,怎么让自己的代码尽可能地少被 Babel 转化,从而利用浏览器原生 API 来提高代码运行速度,以及缩短打包时

2024-12-13 17:40:31 1002

原创 Electron-Vue 框架的构成拆解 & 动态 Webpcak 5 打包

在学习 Chromium 源码时发现,Electron 就相当于在 Chromium 源码的基础之上,又追加了 Node.js 的运行环境,并且使得 Node.js 和 Chromium 网页环境可以互相通信,互相取用各自的 API,形成了一个新的浏览器应用,也即 Electron 是 Chromium 浏览器的一个超集,而且 Electron 和 Chrome 内核的对应关系可能更为复杂,并不是很轻易就替换新的 Chromium 内核打造出来新的 Electron 衍生版本的。那是肯定可以执行的。

2024-12-12 16:44:46 1316

原创 WADesk 升级 Webpack5 一些技术细节认识5和4的区别在哪里

因为注入脚本是一整套塞进去的,字体,css,html 都应该打包在一个 js 里面,以 base64 方式注入,其中 dataUrlCondition 这个配置非常棒,只要将 maxSize 设置得足够大,就可以将字体文件也打包到 js 文件里面去,这样就特别方便 DOM 的注入和挂载。因为我们设定了 babel 的兼容 ES12,所以下面这些转化基本都用不到,因为 Chrome 能支持,所以也不需要这些插件,你可以直接用最新的语法,如?批量移除它们,proposal 这些都已经被作为正式版包使用了。

2024-12-11 23:08:53 892

原创 【2024-12】VS2022 编译 Chromium浏览器源码坑点汇总

探索浏览器参数开发时,发现第一步 Chromium 源码编译这块就坑点很多,这里统一记录下,以便未来碰到类似的 Visual Studio 编译时,会遇到同样的问题。遇到问题的关键点,主要还是对于 VS IDE 的不熟练,以及对 C++相关知识的欠缺导致。基于 B 站 Up 主的这个 Chromium 源码编译视频合集进行整理。

2024-12-06 15:17:08 1044

原创 【附源码】Electron-Vue 老版脚手架升级Webpack到5 Babel7 Vue2 填坑过程 & Webpack 批量载入配置实现自动化规范化打包过程

结尾遗留的 Webpack 升级到 5 的问题继续开展,在独立构建 Webpack5+Vue2 脚手架成功的前提下,理论上 Electron-Vue 升级到 Webpack5 不应该有任何问题,本文重新整理思路,以肯定可以升级成功的结论前提下,继续探索问题所在,同时打算在解决问题后,重新整理 Webpack 批量构建过程。

2024-12-03 00:14:44 649

原创 Webpack5+Babel7+Vue2 初始脚手架构建Demo(附Webpack起源解说)

很多前端同学总是模糊地知道这就是个打包的工具,再深了就不知道它到底怎么打包的,这里简要说下它是怎么打包的。要从 js 模块化说起,什么叫模块化?模块化的意思就是我们如果要想让代码具有可维护性,而不是将全部代码都塞在一个文件里一次性读入内存,那么我们就必须搞一种动态/静态引入的机制,静态引入顾名思义,就是将代码分门别类放在不同的文件夹下下面,在最后打包的时候,通过运行打包脚本,将原来不同文件目录的代码都追加在一个文件里面,这种叫静态引入。

2024-12-02 22:18:56 1050

原创 Electron-vue 框架升级 Babel7 并支持electron-preload webapck 4 打包过程记录

这种新式 ES 语法不支持打包,如若支持的话,又发现新版的 babel 插件又依赖于 babel7,导致出现 babel 版本冲突,最后的解决方案,则是全面升级 babel 至 babel7,并且适配好 webpack4(目前 electron-vue 框架正在用的),现将整个升级过程记录,同时也完善下.babelrc 配置文件在代码中如何生效的。这些东西虽然不需要记忆,但是的确在以后的打包过程中动态地处理一些东西时非常有用,包括引用路径,引用的资源,甚至定义的不同变量都是能用到的。

2024-12-02 12:38:59 1179

原创 git flow 相关知识 & git rebase 与 merge 合并差异比较

Rebase 冲突:发生在每个提交应用到目标分支的过程中,冲突粒度较小但可能多次出现。Merge 冲突:发生在两个分支合并的整体过程中,冲突粒度较大但只出现一次。两者的冲突处理并没有本质的优劣,关键是根据场景选择合适的合并策略:选择 Rebase:当需要整理历史、保持线性记录时。选择 Merge:当需要保留分支结构、避免篡改历史时。

2024-11-25 12:24:02 1128

原创 axios proxy 和 httpsAgent 的使用差异案例详解

因为 wadesk 开发了本地 http 服务,http 本地服务是运行在 electron-main 的纯 node 环境中的,这个之前探讨了 node 下怎么使用 fetch 时就提到了一个 https-proxy-agent 库,这次使用 axios,发现 axios 自带 proxy 配置项,就没有多想,造成了 4 个小时的时间浪费,此次排查应该作为一个反思例子对待。

2024-09-26 12:37:07 1227

原创 webpack 的打包target讲解 & node环境打包下的文件存储造成不易察觉的坑点

背景electron 主渲进程的打包,以及 preload 的打包,还有注入脚本的打包,这些东西 webpack 本身是自带的,这里主要讲一下 target: node 模式

2024-09-25 22:51:58 448

原创 webpack4 target:“electron-renderer“ 打包加速配置

electron-vue npm run build 打包超级慢的原因不是最终electron-builder环节的问题,而是webpack打包渲染进程的问题,今天经过与ChatGPT一起优化,终于把速度降了大概5倍左右,直接让文件打包速度快了很多。

2024-09-20 16:05:10 1108

原创 Electron-vue asar 局部打包优化处理方案——绕开每次npm run build 超级慢的打包问题

因为组员对于 Electron 打包过程存在比较迷糊的状态,且自己也没主动探索 Electron-vue 打包细节,导致每次打包过程都消耗 5-6 分钟的时间,在需要测试生产打包时,极其浪费时间,为此针对 Electron-vue 打包的几个环节进行拆解,来减少打包时间,提高开发效率。

2024-09-19 16:59:26 1649

原创 Electron 安装包 asar 解压定位问题实战

在开发 Electron 过程中,我们想知道 Electron 打包的最终形态是什么样的,以便我们能更好的理解 Electron 打包的过程,以及逆向来快速追踪一些问题,例如下面这个报错,以前这类报错都是靠猜,现在则可以快速定位,找到源码问题发生点

2024-09-19 16:58:01 936

原创 Electron 集成谷歌扩展实现原理,相关知识点汇集,line插件集成demo,gitee代码,坑点解析

目前谷歌扩展有 50W 之多,覆盖面比较广,而 Electron 又是基于谷歌浏览器内核开发的,如果将两者结合,那么就能大大节省很多开发时间,开发出来的客户端功能却更加丰富,不过 Electron 并没有完美支持谷歌扩展,尤其是谷歌扩展 MV3 版本中提供的大量的 API,Electron 本身都是不支持的,这就给开发者一种误导,Electron 不支持 MV3 的扩展。

2024-08-19 21:37:14 813 1

原创 virtualbox 安装 win7 系统注意事项

virtualbox 安装 win7 系统坑点汇总

2024-08-16 18:30:15 535

原创 http/sse/websocket 三大协议演化历史以及 sse协议下 node.js express 服务实现打字机案例 & 负载均衡下的广播实现机制

自从2022年底chatgpt上线后,sse就进入了大众的视野,之前是谁知道这玩意是什么?但是打字机的效果看起来是真的很不错,一度吸引了很多人的趋之若鹜,当然了这个东西的确挺好用,而且实现很简单,之前我用python的demo讲了一下SSE的概念,看起来有很多人看,但是并没有说明白这个原理,这次再彻底把这个原理给说明白,而且我发现通过node.js 的Express框架来说明这个概念更加简洁,所以今天就用Express框架来说明SSE概念,这样对前端同学更加友好。

2024-08-15 18:49:47 1370

原创 Express 单一线程下的协程调度为何还会出现数据库写锁?

在实际开发中发现,通过预测认为 Express 编写的异步框架是基于协程的调度,因为脑补中的协程调度的颗粒度精确到一次请求,也即一次性请求处理完毕后,协程才会切换到另外一个请求,这种想法是幼稚的,原因就是没有彻底理解基于协程编程的概念。转换思维之后,也即任何一个地方都可以创建一个 Promise,然后使用协程调度逻辑,那么就意味着在整个 web 开发过程中,无论是请求的处理,还是数据库的处理,还是其他各种逻辑的处理,都可以做成异步的,并用 Promise 进行封装,然后等待执行结果的返回。在上述这种

2024-08-15 15:37:12 840

原创 Promise 一个基于协程下的任务队列状态管理任务包 解决复杂的异步转同步问题

一直都想写关于Promise的东西,Promise解决的问题特别多,而普通前端就把这东西结合ajax来做一个,如果仅仅作为这样一种东西使用那就太可惜了。

2024-08-15 00:21:41 1178

原创 Electron 集成 Express + p-limit + SQlite WAL读写模式解决并发锁库的问题

经过通信层面的优化后,我们不再走 Electron 提供的内置进程间通信 IPC,改为利用 Express 提供的 Http 本地服务来进行多处直达通信机制,同时利用本地 Sqlite 来保存大量数据,但 Express 提供的本地服务是支持并发请求的,而 Sqlite 是不支持行锁的机制,一旦有写入操作,Sqlite 都是直接锁库,除了采用单表单库减少锁库问题外,另外就是走队列的方式来逐个入库,避免写锁问题。

2024-08-13 16:31:30 502

原创 将浏览器拆成代码,从代码实现层面再聊cookie和session

这个东西可能是我十几年前最开始接触的东西,第一次web开始,就是要做登录注册的功能,当时就涉及到cookie和session,用的还是Java,Java 来做Web本身就够晦涩难懂的了,跟更古老的C做Web开发差不了多少(已C语言的方式做了一个Html的字符串输出的模板引擎),即使现在有了SB好了很多, 但也高度封装了底层代码,甚至好多现在Java开发连servlet是啥东西都不知道了。这篇文章是写给新人的,当然很多老开发者看似懂了,其实也只不过是唯手熟尔,对于底层到底发生了什么,自己能否手敲实现相关的

2024-08-13 13:48:00 928

原创 大前端通用知识学习 - 从抽象层面来汇总整体知识框架,利用AI快速掌握新知识【未完待续】

大前端的学习,结合自己多年开发学习的经验,发现前端都具有几个特征,而这几个特征,很多人只能用具体的表象来描述,比如用安卓方式来说明,用IOS的方式来说明,或者QT的方式来说明等等。我用比较简单的语言概括就是:前端应该就是学习配置,外加用指定的语言来实现具体的行为。实现具体的行为这个事情,在AI时代,已经不算一件难事,目前ChatGPT-4o已经能够通读代码上下文,给出合理的逻辑代码,只要你表达准确,一行代码都不需要写,目前我们的团队,正在改变着开发习惯,而所有程序员的改变,也估计就在这两年了。

2024-08-06 18:43:18 510

原创 Electron 集成SQlite FTS5 实现百万级数据的倒排索引

在产品迭代时,个人版产品已经将联系人和消息实时备份到本地,而消息的备份的目的仍然是为了快速查询对自己有用的上下文,并能快速定位到这些用户以及这些有用的信息。另外包括未来喂给 chatgpt-4o 的数据也是需要调用搜索获取的,也不是全量喂,以减少无用信息的资源浪费。

2024-08-06 16:57:49 717

原创 当你启动一个server.listen(‘8080‘) 时操作系统底层都做了什么?为何比while死循环节省计算机性能?

在网上看了很多帖子,也一直没有时间去看操作系统底层设计,之前一直想不通监听端口这个概念到底在程序层面怎么实现的,今天将我的猜想总结在这里,如有不对,欢迎拍砖,这里纯属记录下自己的整体构想。

2024-08-01 14:37:40 433

原创 VirtualBox 安装Centos 7 避坑指南 SSH连不上 镜像失效 静态网络配置等

几乎每次安装Centos 7 时,都会遇到各种各样的问题,毕竟每次安装动辄就是半年几年,几乎都是在换工作时,有了新机器才会倒腾一次,时间久远,就会忘记一些细节,这次整理一下,避免以后再浪费时间。找到这两篇,发现刚装的centos没办法安装wget,有点恶心,又不想源码安装,也不行xfpt,后来问chapgpt curl也可以,选择腾讯更靠谱些,必定更有钱,能熬得更久。记得网卡别选错了,如果既有wifi,又有有线的笔记本,就会找不到的问题,建议还是关闭其中一个网,然后这里选择有线网比较好。

2024-07-25 18:27:39 568

原创 Electron 企业级开发通信与本地存储实用解决方案

之前写了一篇Electron通信的方式,讲述了一下三者之间的通信机制,比较恶心,后来发现有个@electron/remote,可以让渲染进程直接访问主进程,但遗憾的是,preload.js无法使用这个库,webview更是不可能直接触达主进程,总要通过preload.js绕一圈才能找到渲染进程。为此,我们需要一个新的方式,来解决所有通信链路的问题。

2024-07-22 19:27:13 1339

Python打包独立的mitmproxy.exe,可在任意机器直接运行

Python打包独立的mitmproxy.exe,可在任意机器直接运行

2024-05-05

phpstorm远程调试基于swoole的hyperf框架.docx

新增了官方推荐的yasd调试工具,将使用过程中的坑全部记录下来 phpstorm 远程调试基于swoole扩展开发的swoft,easyswoole,hyperf等框架 必须部署在linux环境下的代码库 并且给与了 利用virtualbox 来安装虚拟机,以及使用虚拟机的共享文件夹机制,来达到同步开发的方式方法,即在windows下面进行开发,在linux环境调试和运行,却不用来回切换,拉取代码,一旦代码测试ok,就可以直接上传git,此外,在centos环境下,直接使用composer安装库,也不会因为composer自动检测swoole没有安装而不能装库的麻烦,创造了一个极其简单的swoole开发环境

2020-07-31

centos7 rpm快速安装rabbitmq3.8.5 php安装amqp扩展 添加延迟队列扩展 避开坑

rabbitmq3.8.5 和下面版本都有一切区别,首先就是erlang语言版本的区别,但还好用的是openssl1.0,不然升级openssl又是一个恶心的事情,相反rabbitmq3.7.2x版本虽然用来erlang22,但是openssl用了1.1,造成不兼容性,一般centos7都是装的openssl1.0版本,该压缩包,给了详细的安装文档,稍微区别于3.7和3.6,已经增加了延迟队列扩展

2020-07-27

centos7 rpm快速安装rabbitmq3.6.5 php安装amqp扩展 避开坑 一步到位安装流程

本压缩包,包含了个人已手动测试验证的所有必备包,其中包括erlang语言,socat加解密包,rabbitmq安装包,及详细安装教程,只需要按流程,一步步往下走,可以一次性搞定php rabbitmq安装问题

2020-07-25

win10 协同centos7 共享文件夹方式 实现phpstorm下的swoole的远程debug调试

此文档为干活经过验证实操验证的文档,swoft项目实战开发中需要用到swoole扩展,但swoole扩展只能在linux机器上安装,因此如何灵活地结合linux内核和windows中phpstorm敏捷开发提供了一个项目的解决方案 并结局了php常驻内存服务启动后,远程调用接口时的监听调试问题

2020-07-25

windows10环境下php使用selenium+chromedriver来模拟浏览器抓取(坑已填完)

整个优快云都是写的python的,python抓取教程一大堆,没必要再传了,这里讲的是PHP的,但可惜的是,整个网络都没讲到最关键一点,导致一直尝试不成功,初始代码,配置参数和超时都已说明, 压缩包中有文档,填坑的关键点都说到了,软件也打包在里面,开箱即用

2020-04-15

阿里云点播URL鉴权处理流程

本文档图文并茂的讲解了阿里云点播的url鉴权问题,避免掉所有的坑,并给出了鉴权签名的php构建函数,阿里云点播url有四种鉴权方式,如果app用户采用的是原生开发则直接使用video_id的方式,如果使用的是uni-app包壳方式,那只有采用url鉴权了

2019-11-06

阿里云OSS ali-oss 6.0 npm代码包带案例修复版本 编译打包js,可以直接引入使用

官方的git代码库,给的example是5.x版本案例,并且官方使用npm run build-dist打不了包,可能代码太过来老旧; 案例中OSS.wrapper属于6.x以下版本,已改为OSS方式,采用实际子账户进行分片上传,发现没有问题; 操作步骤: 1,npm install 2,cd example 3,npm install 4,npm run server 5,npm run dev 别忘记配置example/server/config.js的accessId和accessKey以及其他,配置完成后即可使用,跨域问题,可以使用谷歌浏览器,去除跨域限制即可; 打包方式,在根目录运行: npm run build-dist 会在dist文件夹下面生成两个文件,压缩的和未压缩的

2019-11-02

swoole的远程debug调试.docx

phpstorm2019远程调试swoole4.4.5 centos详细配置讲解,win10环境下安装,排除了可能跳进去的坑

2019-09-15

win10装PHP7.2的Imagick扩展.zip

全面综合网上各种漏洞百出的安装文档,以及过滤掉网上众多反复抓取传播的错误方式,以正确的方式方法来安装window下的imagick扩展,并且配齐所需要的各种库文件和软件,让使用者一看就懂,一学就会,节省自己的大量时间

2019-08-22

phpstorm 远程调试,远程网页调试,使用远程php命令进行本地debug调试

phpstorm远程网页调试,解决线上的问题无法调试的问题,能够更好的在线调试代码 phpstorm远程debug,可以解决一些windows系统上无法安装的插件的调试,例如swoole,ffmpeg,imagick等

2019-03-27

PHP 分片下载大文件/视频兼容图片下载大文件迁移设计方案

如需实现大文件迁移到云存储应以四个脚本进程,两个表来处理: file表,记录文件md5,status file_chunk表,记录文件的分片开始位置start/分片结束位置end/status/文件的md5 1,第一个进程用来进行对需要下载的所有文件进行分片; 2,第二个进程根据file_chunk存储的分片内容进行分片下载; 3,第三个进程判断file中的文件在file_chunk是否已下载完毕,如下载完毕,则进行合并,合并完成后修改file的status为1 4,第四个进程判断file表的status=1的文件,然后调用阿里云的视频点播脚本,分片上传到阿里云点播系统里(后续开源阿里云点播系统的上传逻辑)

2019-03-21

阿里云OSS临时授权STS直传视频文件到OSS服务器教程(含所需的核心js代码)

阿里云对于临时授权这块和OSS上传这块,已经如何配合php和前端js这块,没有个系统的帮助文档,让人一开始找起来很崩溃,特将需要用到的js和文档打包放在一起,减少以后开发者的开发负担!

2018-12-30

腾讯课堂自建composer安装包图文详细教程升级版

腾讯课堂有个composer从入门到精通教程,但该教程时间已久,github已经不再需要packagist提供token了,packagist已直接与github连接,该教程避开多余步骤,增加真实截图,采用phpstorm来进行命令行执行,更直观

2018-12-28

php+html5(原代码改进)多进程实现大视频文件无刷新上传

《php+html5实现无刷新上传,大文件分片上传,断点续传 》这个代码的改进版本,采用了多队列同时上传模式,改进了进度条在大视频文件上传时卡死问题,尤其解决了原作者最大的BUG,ajax的的对象放错位置了,这个也坑了我 半天时间,目前已全部改进,PHP,将直接使用content拼接改成了文件追加模式,避免内存耗尽卡死

2018-12-26

thinkphp5 console 调试启动脚本

大部分都只是用php think test进行启动,但是对于想调试test控制器的中的逻辑,则没办法写参数,我看了源码,稍微改进一点点,可以用ide进行调试console

2018-12-09

emoji入库mysql注意事项除了更改utf8mb4最大的坑在这里

网上描述了很多解决这个问题的文章,然后一堆抄袭,并不能使得插入成功,实际上应该在php PDO链接时,制定utf8mb4即可

2018-11-22

个人总结搭建git服务器仓库采用无密登录方式以及TortoiseGit的用法

综合技术包,一个文档全面说明git的搭建,SSH登陆的原理和登录方式,以及如何配置tortoiseGit进行无密登录和PHPSTORM的git结合使用

2018-11-17

phpstorm常用操作完整说明文档图文word格式个人总结实战使用

本人长期开发PHP,在使用过程中总结出来的phpstorm常用功能,能帮你快速使用phpstorm,并且提升开发效率,这绝不仅仅是几个快捷键的事情

2018-11-17

集成IK中文搜索的elasticsearch1.7.4完整运行包直接放linux任意文件夹下即可运行

集成了搜狗搜索词库,集成了IK中文搜索引擎,配置好了IK搜索引擎,centos7,直接yum install java -y 就可以运行了 运行脚本./bin/elasticsearch -d

2018-11-17

爱之谷源代码升级修改版适配PHP5.6修复之前BUG

安装方法: 1、将整个程序文件传到您要安装的目录。 2、删除 data/install.lock 这个文件,访问 http://您的域名/install/index.php 执行安装 3、填写信息,注意表前缀一定要填ecs_,安装。 4、登陆后台,进入 数据库管理-数据备份-恢复备份 选择 最新备份文件执行导入。 5、恢复后的后台账号admin 密码admin888

2016-04-16

个人CSS设计兼容性问题总结教程

自己平时在公司上班,开发CSS时,经常遇到的一些问题汇总

2015-07-16

登录注册表单验证弹出框单元

自己写的简单的tab 以及formValiator使用,DOMWindow的使用,以及ajax调用验证登录和ajax注册,各种jquery操作

2013-11-08

pl/sqle学习笔记

剔除了oracle书上讲的多余的部分,只把重要的内容给记录下来,方便自己使用

2012-07-21

韩顺平php中xml教程笔记(自己写的)

电驴韩顺平php教程中xml内的笔记整理

2012-02-03

海南大学信息检索作业

海南大学信息检索作业,比较实用,几乎每学期布置的作业都不变,所以可以直接拿过来用

2011-12-18

点击文本域弹出日历框源码

自己从网站的html代码中剥离出来的功能,可以直接拷贝使用

2011-11-29

网页搜索引擎

用于模糊搜索使用,在网站制作过程中都有一个搜索框,这个可以给一些提示,希望爱学习的人,喜欢网站的人互相分享

2011-10-16

韩顺平坦克大战源码

完整的坦克大战的程序,只不过程序中的线程处理有些问题,可以下载自己修改一下

2011-09-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除