自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

王森的博客

王森出品必属精品

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

原创 Node.js 20+ 单文件打包终极方案:彻底抛弃 pkg,用 nexe 5分钟打出完美 exe(亲测 Electron 29 + Node 20.9.0 零报错)

pkg 已彻底放弃 Node 20+ 支持,Electron 29 强制内置 Node 20.9.x,继续用 pkg 必炸。唯一活路是 nexe,它支持到 Node 24,可本地编译任意版本。Windows 11 环境准备:安装 Chocolatey → choco install nasm → 手动装 Miniconda → conda create -n node-build python=3.11 openssl=1.1.1w → npm i -g nexe。配置 nexe.config.js:指

2025-11-18 17:53:31 251

原创 Vue 为什么天生不利于SEO?Nuxt 从根上是怎么把这事儿彻底翻盘的(深度硬核原理)

摘要 本文深入解析Nuxt与Vue框架的本质区别。传统Vue SPA模式导致搜索引擎难以收录内容,因为爬虫只能获取空HTML模板。Nuxt通过服务端渲染(SSR)解决了这个问题,它在Node.js环境中预渲染页面内容,使搜索引擎能直接获取完整的HTML结构。文章还探讨了静态生成(SSG)与动态渲染的选择策略,指出应根据网站规模决定采用预生成HTML或Nuxt服务器方案。最终,Nuxt实现了对SEO友好的同时,保留了Vue的开发体验。

2025-11-18 17:31:26 649

原创 水车帝国:揭秘 JavaScript 事件循环的河上狂想曲

本文通过水车与河流的生动比喻,揭示了JavaScript事件循环的核心机制。文章构建了一个"水车剧场"全景:事件源如湍急河流,宏任务像载着小水车(微任务引擎)的船只,事件循环则是转动的大水车。核心铁律是大水车每轮只处理一艘船(宏任务),并清空其所有微任务(小水车转动)。通过代码示例展示了宏任务和微任务的执行顺序,并总结了事件循环的三句心法:同步代码优先、每轮处理一个宏任务并清空其微任务、新任务排队等待。最终,读者将掌握事件循环的运行逻辑,成为能精准预测异步代码执行顺序的"水车帝

2025-11-06 19:23:56 859

原创 银行大厅的秘密:协程与线程,谁才是高并发之王?

摘要:本文以银行服务为喻,生动对比了线程与协程的并发机制。线程如多柜台独立服务,适合CPU密集型任务但资源消耗大;协程则如单柜台智能切换,轻量高效支持高并发I/O操作。关键硬件限制在于内存容量(决定协程数量上限)和文件描述符数量(制约I/O通道),而非CPU频率。协程在Web服务等I/O密集场景优势显著,而CPU密集任务更适合多线程。通过银行场景,清晰揭示了不同并发模型的特点及适用场景。(149字)

2025-11-06 19:03:01 437

原创 ⚡ 震惊!1000个协程同时加数字,Go 狂丢 5000,Python 却一个都不少!

摘要:本文对比Go与Python协程在高并发累加任务中的表现差异。Go的goroutine由于多核并行执行,共享变量会导致竞态条件,可能造成数据丢失;而Python的asyncio因单线程特性天然线程安全。文章通过代码示例展示了Go的三种同步方案(Channel/Mutex/Atomic)和Python的两种优雅实现(Queue/Gather),并从性能和安全角度给出适用场景建议:Go适合高吞吐CPU密集型服务,Python更适合I/O密集型任务。最后强调Go开发需强制竞态检测,Python则需注意避免同步

2025-11-06 18:49:47 838

原创 Promise 的 6 大“黑魔法”高级用法:99%的前端都不知道的架构级神技(异步操作系统级别的玩法

Promise的6个高级用例展示其不可替代性:1)利用微任务链控制并行/串行队列;2)将WebSocket封装为可await的RPC接口;3)通过reject注入实现通用取消机制;4)闭包+缓存实现惰性链式调用;5)纯Promise构建异步互斥锁;6)Promise队列驱动异步状态机。这些方案依赖Promise核心语义(微任务调度、状态传播、thenable链),在并发控制、实时通信、资源共享等场景具有独特优势,无法被async/await或Observable完全替代,体现了Promise作为底层异步原语

2025-11-06 16:16:44 256

原创 JavaScript 黑魔法:Map 为什么能碾压 Array + Object?5 大硬核案例让你彻底服气

Map 在现代 JavaScript 中具备不可替代的优势,尤其在处理复杂键值、内存管理和性能优化方面。Object虽然能勉强实现类似功能,但会导致代码复杂度激增、性能下降和内存泄漏风险。React、Vue等主流框架深度依赖Map/WeakMap处理核心逻辑,证明了其在真实场景中的必要性。Map原生支持对象键、O(1)操作和弱引用等特性,使其成为处理DOM映射、缓存系统、图结构和事件管理等高级场景的最佳选择。开发者应优先使用Map而非强行用Object模拟,以获得更好的性能和可维护性。

2025-11-06 14:32:22 425

原创 windows11 利用 nexe 打包node.js 20.9 版本的代码 弥补 pkg 不匹配 node.js 20 版本的问题

本文记录了在Windows 11 PowerShell 7环境下使用nexe工具打包Node.js 20.9.0应用的全过程。由于pkg不支持Node 20版本,作者转向nexe方案,但需要本地编译环境。主要步骤包括:1)通过Chocolatey安装NASM;2)使用Miniconda创建包含Python 3.11和OpenSSL 1.1.1w的隔离环境;3)全局安装nexe并配置编译参数;4)首次编译耗时较长(10-45分钟),后续利用缓存可快速完成;5)提供了缓存共享和环境管理方法。文章详细说明了各环节

2025-08-01 19:26:24 654

原创 Claude Code 使用 uvx 执行 chroma-mcp 细节分析

摘要: uvx是类似npm中npx的Python工具,支持从Git仓库拉取代码并执行临时命令。其核心通过pyproject.toml配置入口脚本(如win-cmd-server = "win_cmd_server.server:main"),实现即用即弃的沙盒运行。uvx特性包括:自动安装依赖、跨平台运行(Windows/Linux)、不污染本地环境,适用于一次性工具场景(如uvx --from-git拉取Git代码执行命令)。配置文件需声明构建工具(如Hatchling)、Python

2025-07-31 14:29:54 1325

原创 怎么在 WSL CentOS8 与宿主机windows11 之间传递文件

本地传输Chroma向量知识库等文件时,可通过Xftp软件实现。需先在CentOS8安装SSH服务:1) yum安装openssh-server;2) 生成密钥对;3) 修改sshd_config配置文件,开启22端口并允许root密码登录;4) 设置root密码后手动启动sshd服务。连接时需获取CentOS内网IP,在Xftp中配置该IP地址即可建立传输通道。

2025-07-30 19:35:11 307

原创 Claude Code 必装代码辅助分析器 Serena

摘要:本文介绍了Serena工具如何优化Claude AI在代码开发中的使用体验。Serena通过语义代码检索、精准编辑和项目上下文管理等功能,解决了传统开发中的两大痛点:1) 避免无效的上下文积累,建议按需求创建新对话;2) 通过LSP协议实现符号级代码检索,取代低效的文件遍历。文章详细讲解了uvx命令的一键式项目部署流程,以及Serena的智能代码阅读策略——仅读取必要符号,避免全文件扫描。最后强调了正则表达式在精准代码修改中的应用技巧,提倡使用通配符来提高替换效率。Serena作为开源工具,能显著降低

2025-07-29 22:45:09 1960

原创 Claude Code 安装向量数据库Chroma MCP 服务

摘要:文章介绍了使用Chroma向量数据库优化大型项目文档管理的方案。相比传统数据库,Chroma能通过语义联想(如"苹果"关联手机和水果)提高搜索灵活性。提供了Chroma的两种安装方式:直接运行服务或通过claudemcp脚本自动部署。后者集成了Chroma核心功能,无需手动启动服务,支持持久化存储。这种方案能有效减少AI模型处理文档时的token消耗,仅在需要时检索相关代码片段。

2025-07-29 20:04:29 767

原创 更换Claude Code Model 解决overload报错 & NVM 安装冲突导致的 Claude Code 无法自动升级

本文记录了Claude Code升级冲突的解决过程。首先发现版本更新异常(1.0.61显示为1.0.51)和重复安装问题。通过检查Node.js版本、清理冗余安装(删除/root/.claude/local)、重新全局安装Claude Code,最终解决了版本冲突。建议将NVM的bin目录优先于Windows路径,并在.bashrc中设置Node.js 18为默认版本,避免同时使用本地和全局安装。全文提供了详细的诊断步骤和解决方案,确保用户能正确使用最新版Claude Code。

2025-07-26 10:50:10 1159

原创 如何让Claude Code 实现自助 MCP 服务,突破WSL沙盒环境直接操作 Windows 系统的各种指令

《Windows11下解锁ClaudeCode编程潜力的实践指南》摘要: ClaudeCode作为当前最强代码生成模型,在Windows系统运行时存在Linux沙盒限制。本文通过MCP模型上下文协议实现三大突破:1)搭建本地MCP服务打破沙盒隔离,支持rg快速搜索等系统指令调用;2)利用playwright-mcp实现Windows环境浏览器操作;3)通过structure/docs双知识库体系增强上下文记忆。文章详细解析了MCP服务的配置方法(需注意斜杠路径问题),对比了ClaudeCode与Cursor

2025-07-14 17:03:46 1535

原创 Windows 11 下如何使用吊炸天的 Claude Code 编程

摘要:ClaudeCode版本现已支持Mac和Windows平台,Windows需通过WSL运行。推荐安装PowerShell 7提升兼容性。WSL默认安装Ubuntu,但可选择更熟悉的CentOS 8。因CentOS已停更,需手动配置阿里云/腾讯云镜像源并更新yum。安装git、nvm和Node.js后,通过npm安装@anthropic-ai/claude-code。首次运行时需在Windows浏览器获取token进行验证。注意要设置代理解决网络访问问题,并启用AllowLAN和TUN模式。

2025-06-27 14:30:21 1610

原创 Webstorm 中 terminal 中 cmd/powershell v1/powsershell v7 三种终端中文乱码修正方法

如何在WebStorm终端中支持中文输出?微软系统默认使用GB2312/GBK编码,而现代开发需要UTF-8。解决方法:1)对于CMD终端,需修改注册表添加Autorun项,值为"chcp 65001";2)对于PowerShell V1/V7,编辑profile.ps1配置文件,设置UTF8编码和Tab自动补全功能。这些设置解决了WebStorm终端中文乱码问题,同时保留命令行提示功能。

2025-06-17 16:21:27 604

原创 UTF-8 编码如何在一众 UTF-16/GB2312/GBK 编码中脱颖而出?

GB2312、GBK 和 UTF-8/UTF-16 是为处理中文及多语言文本设计的字符编码。GB2312(1980年)是中国首个汉字编码标准,收录6763个汉字和682个符号,使用固定2字节编码,解决ASCII无法表示汉字的问题,满足1980年代中文信息化需求(如出版、电信)。GBK(1995年)扩展GB2312,收录约21,886个字符,兼容GB2312,支持Windows中文版,填补罕见汉字需求,作为Unicode普及前的过渡方案。UTF-8(1992-1993年)是变长编码(1-4字节),兼容ASCI

2025-06-17 15:52:05 840

原创 Node.js Conf 配置库要点分析 和 使用注意事项

electron-store 是一个基于 Node.js 配置库 Conf 的 Electron 封装,简化了主进程和渲染进程间的配置通信。它支持文件监听、加密存储、嵌套属性访问等功能,并通过 JSON Schema 确保配置格式正确。electron-store 在渲染进程中通过 IPC 通信获取配置,而在主进程直接访问。关键特性包括:版本迁移、配置默认值、实时监听文件改动等。使用时需注意文件权限和性能开销,适合需要跨进程共享配置的 Electron 应用。

2025-06-12 00:14:13 825

原创 Electron 防脱壳转二进制 JSC 打包过程以及踩坑记录

本文探讨了JavaScript代码加固方案,重点分析了.jsc二进制文件的保护机制。相比传统混淆工具,二进制打包通过V8引擎将代码转换为字节码,破坏源代码结构,极大提高了反编译难度。文章详细介绍了利用bytenode库和webpack插件实现代码二进制化的技术方案,包括关键步骤:通过vm.Script接口生成字节码、确保Node.js版本一致性、在webpack构建流程中插入字节码转换等。作者分享了实践中的踩坑经验,如解决webpack插件依赖冲突问题,并指出未来可迁移到electron-vite等成熟框架

2025-06-09 23:34:38 1410

原创 Express 集成Sequelize+Sqlite3 & 默认开启WAL & 进程间通信 Conf & 打包成可执行 exe 文件

本文介绍了在Express中集成Sequelize操作Sqlite3数据库的技术实现方案。主要内容包括:1) 通过SequelizeCollector类集中管理数据库连接,实现模型同步和WAL模式开启;2) 采用单例模式封装模型创建过程,优化数据库操作;3) 解决跨平台打包问题,包括CentOS环境配置和macOS路径处理。技术亮点在于通过WAL模式实现读写并发,以及主进程与Express服务的底层通信机制。文中提供了关键代码实现,涵盖模型定义、连接管理和服务层操作,并分享了跨平台打包的实践经验

2025-06-03 18:51:46 1287

原创 ELectron 中 BrowserView 如何进行实时定位和尺寸调整

BrowserView 是继 Webview 后推出来的高性能多视图管理工具,与 Webview 最大的区别是,Webview 是一个 DOM 节点,依附于主渲染进程的附属进程,Webview 节点的崩溃会导致主渲染进程的连锁反应,会引起软件的崩溃。而 BrowserView 可以理解为比主渲染窗口更简洁的窗口,砍掉了一些窗口没必要的功能,只保留渲染视窗,且这个视窗是独立于主渲染进程的,但其所处层次和相对位置,取决于其追加进来的主渲染窗口。

2025-05-27 12:15:57 1495

原创 安装软件找不到下载目录,报Failed to get ‘downloads‘ path 简单处理方法

用户在删除下载目录后,无法找到下载文件。解决方法是在用户的电脑目录下查找或新建一个名为“Downloads”的文件夹。如果该文件夹已存在,可以通过文件资源管理器找到“下载”快捷方式,右键点击属性,选择“位置”并点击“还原默认值”,系统会自动将路径定位到新建的Downloads文件夹。此方法简单有效,能够快速恢复下载功能。

2025-05-22 10:37:00 892

原创 Electron 主进程中使用Worker来创建不同间隔的定时器实现过程

为了优化主进程中的定时任务执行,避免setInterval阻塞主线程,本文提出了一种基于Worker线程的定时任务管理方案。通过将定时任务封装在独立的Worker线程中,实现了任务的隔离性、可靠性和可管理性。主进程通过HeartbeatClock类与Worker通信,注册和注销定时事件,Worker则负责定时触发事件并通知主进程执行相应的回调函数。这种设计不仅提高了定时任务的执行效率,还简化了主进程的代码结构,便于扩展和维护。具体实现包括HeartbeatClock类的定义、Worker线程的初始化与通信机

2025-05-15 17:57:46 709

原创 FastAPI 实现 Express 框架的 p-limit(1) 防并发操作

本文将Electron主进程中的CURD逻辑从Express迁移到FastAPI,确保主进程与子进程解耦且稳定运行。技术选型上,使用FastAPI替代Express,并利用asyncio.Semaphore(1)进行并发控制。实现步骤包括创建FastAPI实例、定义请求处理函数、启动服务以及编写客户端代码进行测试。注意事项包括Python版本与openssl的兼容性问题,建议使用Python 3.11及以上版本以避免异步支持问题。此外,提供了conda创建基于openssl 3的Python 3.11环境的

2025-05-15 11:30:59 506

原创 利用 Promise 实现消息队列入库,利用内置事件循环来保证事务提交

在Electron中使用Webview进行多开时,多个Webview向渲染进程发送数据可能导致数据库的“脏读”问题。为解决此问题,提出了两种策略:不使用Promise和使用Promise。不使用Promise的方案通过维护点击顺序队列和结果存储来处理异步请求,而使用Promise的方案则通过Promise链来确保请求按顺序处理,代码更加简洁直观。此外,针对本地SQLite的并发锁问题,提出了开启WAL模式、读写分离、单库多表并行写以及使用p-limit进行限流等解决思路。这些方法有效提升了数据处理的顺序性和

2025-05-14 09:32:18 266

原创 从 JIT 即时编译一直讲到CGI|FastGGI|WSGI|ASGI四种协议的实现细节

本文深入探讨了JIT(即时编译)技术及其在不同编程语言中的应用,特别是PHP、Java和Python。JIT通过在程序运行时将频繁执行的代码编译成机器码来提升性能,尤其适用于常驻内存的应用,如Java服务和PHP的Swoole/Workerman。文章还对比了CGI和FastCGI协议,解释了它们在Web服务器中的应用场景和性能差异。此外,文章详细介绍了Python的WSGI和ASGI服务器,如Gunicorn和Uvicorn,以及它们如何与通用Web服务器(如Nginx)协同工作,以优化Python We

2025-05-12 19:46:04 1110

原创 Windows11 VS code 安装 Cline 调用 Github MCP 配置过程坑点汇总

为了调研 MCP 在 windows 上如何使用本地的命令执行一些操作而实现自动化的过程,在 B 站视频的指导下,进行相应填坑过程,最终运行起来,并实现 github 自动化编程并提交代码的过程。

2025-05-05 18:42:36 2091

原创 大前端开发——前端知识渐变分层讲解 & 利用金字塔原理简化前端知识体系

看似非常复杂的大前端开发,最终无非就是在解决两个问题:解决不同层级下的通信问题同页面下的通信,例如 vue 的父子通信,或者 vuex不同页面下的通信,例如谷歌插件不同页面的 chrome.runtime.sendMessage不同进程下的通信,例如 electron 的 ipcRenderer.invoke不同服务下的通信,例如 electron 的 main.js 和本地 http.exe解决数据的存储问题同页面下的数据存储,例如 vuex 和 localStorage。

2025-04-29 21:53:30 1160

原创 Python 环境管理工具使用差别比对文档

Python 环境管理工具是现代 Python 开发中不可或缺的组成部分,用于隔离项目依赖、确保环境可重现性和管理不同 Python 版本。随着 Python 生态的扩展,环境管理工具的功能和设计理念差异显著。本报告调研了主流 Python 环境管理工具,包括 uv、conda、venv、virtualenv、Poetry、Pipenv 和 pdm,并重点分析 conda 在环境管理中的独特性和与其他工具的差异。报告基于功能、性能、存储效率、隔离机制和适用场景进行对比,旨在为开发者选择合适的工具提供参考。

2025-04-29 12:29:55 1254

原创 Papermark(多人共享文档开源代码) 和 TinyBird (类似阿里云日志)部署踩坑实录

​因为对 papermark (文档共享开源代码),这个代码所用的第三方库较多,构建起来也比较复杂,部署期间发现 tinybird 这个服务,类似于阿里云日志,这里讲讲它的特点和注意事项。

2025-04-25 11:19:29 1074

原创 Electron 中引入MessageChannel 大大缩短不同渲染进程和 Webview 各组件 1o1的通信链路

Webview 和 Renderer 是同级的,两者只有一个关联关系,也即 Webview 在那个 Renderer 中展现的,Webview 所有运行方式以及通信方式,均与 Renderer 没有任何差别,Webview 可以直接与主进程通信,这个概念特别重要,否则就会绕一大圈,Electron 官网给了一个 sendToHost API,误解性很大,让我们误以为只有 sendToHost 才能与 Webview 依附的渲染通信,然后再中转给其他渲染进程或者 webview 等,实际上完全不需要。

2025-04-17 17:09:05 1113

原创 纯用Grok 实现一个多 iframe 互聊对话框 利用父子框架通信和MessageChannel 实现 n 个 iframe 的动态创建——通用编码习惯

在多iframe通信过程中,如果iframe层层嵌套的情况下,就如vue的组件一样,出现了父传子的回传地狱问题,Vue引入了Vuex来进行处理,而Vue只是单页面应用,所有的组件共享同一个环境,Vuex实现就有了基础,但是对于不在同一个环境下框架来说,又怎么能实现多iframe的互联互通,就成了一个比较复杂的问题,因此HTML5那群人也是这么想的,又回到了那句话,一切的开发问题,都源自于个人知识的不足,若你从未见过MessageChannel,又如何想起来去用,只会吭哧吭哧地自己在那传来传去。

2025-04-17 11:50:24 867

原创 Java NIO & Java 虚拟线程(微线程)与 Go 协程的运行原理不同 为何Go 能在低配机器上承接10万 Websocket 协议连接

Java NIO(New Input/Output) 是Java 1.4(2002年)引入的一种非阻塞、面向缓冲区的输入输出框架,旨在提升Java在高性能和高并发场景下的I/O处理能力。它相比传统的 Java IO(java.io包)更加高效,尤其在网络编程中,例如需要处理大量连接的服务器(如WebSocket、HTTP或TCP服务器)。Java NIO的核心组件Channel(通道):类似传统IO中的流,但支持非阻塞操作,例如SocketChannel和ServerSocketChannel。

2025-04-17 10:43:54 996

原创 window.postMessage使用第三参数transfer解决大数据传输中的内存溢出问题

普通 web 开发时,不会遇到大数据传输问题,因为不牵涉到大文件在多页面之间的通信,但是在开发 electron 产品时,我们会增强 web 页面的能力,同时多页面之间或者多进程之间我们需要数据传递,在早期开发中,我们就遇到这样的坑,用 window.postMessage 来传输大文件,导致内存不断上涨,最终导致内存溢出。既然如此,postMessage 应该如何使用,才是最佳实践呢?因此,我们需要先对window.postMessage做深入的学习和了解

2025-04-16 17:07:26 1224

原创 Webstorm 使用搜不到node_modules下的JS内容 TS项目按Ctrl无法跳转到函数实现

Webstorm 使用搜不到node_modules下的JS内容 TS项目按Ctrl无法跳转到函数实现

2025-04-09 17:42:49 461

原创 免费Deepseek-v3接口实现Browser-Use Web UI:浏览器自动化本地模拟抓取数据实录

browser use webui 快捷本地部署,采用pycharm + conda 创建python环境,避开python环境设置问题,通过设置pycharm创建运行环境,保证联网正常

2025-04-07 17:27:10 2486 1

原创 利用本地 Express Web 服务解决复杂的 Electron 通信链路的问题

我们在开发 Electron 时发现了 Electron 进程间通信(IPC)的弊端,弊端的主要来源是 webview 到 Main 的通信链路过长,需要从 page 发到 proload.js 文件,再从 preload 发到 render,再从 render 发送到 Main,这个过程中,需要反复定义类同命名的事件进行中转,大大降低了开发效率,还无意中增加了 render 进程的内存耗费。

2025-04-07 12:58:54 913

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

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

2025-04-01 23:26:32 1738

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

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

2025-04-01 14:27:11 350

原创 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 725 2

bat to exe converter 3.2 绿色安装包

可以将bat文件+上一个icon图标转化成一个exe文件,方便品牌传播

2025-04-14

海南大学信息检索作业

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

2011-12-18

pl/sqle学习笔记

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

2012-07-21

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

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

2019-11-06

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

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

2015-07-16

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

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

2024-05-05

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

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

2018-11-17

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

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

2019-03-27

swoole的远程debug调试.docx

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

2019-09-15

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

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

2020-07-31

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

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

2020-04-15

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

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

2018-12-30

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

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

2018-12-26

win10装PHP7.2的Imagick扩展.zip

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

2019-08-22

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

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

2018-11-17

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

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

2011-11-29

thinkphp5 console 调试启动脚本

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

2018-12-09

韩顺平坦克大战源码

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

2011-09-30

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

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

2020-07-25

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

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

2013-11-08

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

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

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

2018-11-17

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

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

2020-07-25

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

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

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

2018-12-28

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

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

2016-04-16

阿里云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

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

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

2012-02-03

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

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

2018-11-22

网页搜索引擎

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

2011-10-16

空空如也

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

TA关注的人

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