phpstorm配置php项目debug
读书人必须不加指导而能独立思考,他必须多多少少是个思想家,而不是模仿者。——塞涅卡 前两天配置 phpstorm debug 时,发现网上一堆教程都不好使,主要是要注意自己的 Xdebug 版本 这是官方的文档: Configure Xdebug | PhpStorm Documentation 然后我们首先查看版本 12345GithubIireAchao:open-fortune achao$ php --versionPHP 5.6.40 (cli) (built: Feb 29 2024 21:08:25) Copyright (c) 1997-2016 The PHP GroupZend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies with Xdebug v2.5.5, Copyright (c) 2002-2017, by Derick Rethans 可以看到这里是 2.5.5 版本,因此我们需要使用 2.x 的配置 我们执行命令查看配置文件路径: 12345678910111213G...
php集成环境servbay
此处果有可乐,我即别无所思。——林语堂 https://www.servbay.com/zh-CN 为什么要使用ServBay我们知道,喜欢一件东西从来不需要理由。但出于对开发环境的严谨性考虑,我们还是为你提供了四个无可辩驳的理由。 快速一个APP,两步,三分钟,马上就可以进入写代码的开发阶段。无需依赖Docker或者使用homebrew进行源代码编译。可随时在各个版本的开发语言或者数据库之间自由切换,并且支持同时运行多个版本的PHP、Node.js。 全面包含了Caddy, PHP, Node.js, MySQL, MariaDB, PostgreSQL, Redis, memcached, email server, DNS, 反向代理等常用Web开发套件。可以自由选择安装最新版本或者历史版本。 高性能没有组件依赖,独立运行环境,不污染操作系统,干干净净。原生支持arm64和x86_64架构的macOS,并且分别进行了适配以及优化。非虚拟化方式运行,不过多消耗系统资源。 安全软件包、组件均与官方版本同步更新,可以随时一键升级至最新版本。同时还合入了最新的安全补丁,并且针...
phpenv安装php8.x
对你帮助最大的书籍,是使你想得最多的书籍。——伯克 首先是用homebrew安装phpenv 1brew install phpenv 然后安装php,大概过程如下: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112GithubIireAchao:bison-2.7 achao$ cat ~/.bash_profileexport NVM_DIR="$HOME/.nvm" [ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/n...
sdkman
读书仅仅是向大脑提供知识原料,只有思考才能把所学的知识变成我们自己的东西。——洛克 https://sdkman.io/ 可以用 sdkman 管理、下载、切换 java 版本 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158Last login: Tue May 14 21:03:08 on ttys0...
js解析JWT
懂得生命真谛的人,可以使短促的生命延长。——西塞罗 代码如下: 1"token".split(".").slice(0,2).map(i=>JSON.parse(atob(i))) 当我在解析 jwt 的 token 时,发现 token 中附带的用户 id 存在精度丢失问题,然后用正则改进解析 JWT 的代码: 1const tokenParse = token => token.split(".").slice(0, 2).map(i => JSON.parse(atob(i).replace(/:\s*([-+]?\d+(\.\d+)?([eE][-+]?\d+)?)/g, (match, p1) => Math.abs(p1) > Number.MAX_SAFE_INTEGER ? `:"${p1}"` : `:${p1}`))); 但是还存在 base64 解码时无法正确解码中文问题,继续改进 1const tok...
js解决base64编码问题
地利不如人和,武力不如文德。——恒宽 主要是在解析 JWT 时发现 1atob(base64) 存在编码问题,我们如果想要将 base64 解码为 utf-8: 123456789101112function parseBase64ToJSON(base64) { const binaryString = atob(base64); const len = binaryString.length; const bytes = new Uint8Array(len); for (let i = 0; i < len; i++) { bytes[i] = binaryString.charCodeAt(i); } const decoder = new TextDecoder('utf-8'); return decoder.decode(bytes);} 然后就可以正确解析中文了
处理js的JSON.parse中Number太长导致精度丢失问题
大自然的真实和单纯,常是重要艺术极点的基础。——恩格斯 代码如下: 1"token".split(".").slice(0,2).map(i=>JSON.parse(atob(i))) 这里主要是 JSON.parse 导致的,我简单复现一下 1JSON.parse('{"id":9052710354240385291}') 得到的是 1{id: 9052710354240385000} 可以看到后面的 291 变为 000 了 解决方式这里使用正则匹配 /:\s*([-+]?\d+(\.\d+)?([eE][-+]?\d+)?)/g 例如: 123456JSON.parse('{"id":9052710354240385291}'.replace(/:\s*([-+]?\d+(\.\d+)?([eE][-+]?\d+)?)/g, (match, p1) => { ...
MilvusPlus
得意淡然,失意泰然。——弘一大师 MilvusPlus: 🔥🔥🔥使用MyBatisPlus的方式,优雅的操作向量数据库 Milvus MilvusPlus 是一个功能强大的 Java 库,旨在简化与 Milvus 向量数据库的交互,为开发者提供类似 MyBatis-Plus 注解和方法调用风格的直观 API。 目录 特性 快速开始 应用场景 [自定义注解特性 注解式配置:采用与 MyBatis-Plus 类似的注解方式配置实体模型。 直观的 API:直接的 API 设计简化数据库操作。 易于扩展:核心设计注重可扩展性。 类型安全:利用 Java 类型安全减少错误。 快速开始自定义扩展支持: 12345<dependency> <groupId>io.github.javpower</groupId> <artifactId>milvus-plus-core</artifactId> <version>2.4.0-SNAPSHOT</version></dep...
jackson范型注意
放弃不难,但坚持一定很酷。——《解忧杂货店》 今天使用 Jackson 有个疑问,就是带范型的对象,Jackson 序列化后,范型会怎样处理: 就比如说{"data":{"data":1}},以及下面这个类: 1234@Datapublic static class Foo<T> { private T data;} 这个外层的 data 会反序列化出来什么类型呢? 实际上反序列化出来 LinkedHashMap 1234var obj = mapper.readValue(""" {"data":{"data":1}} """, Foo.class);Assertions.assertEquals(LinkedHashMap.class, obj.getData().getClass()); 如果我们需要继续解析成具体的类型,则...
nginxproxymanager
开成花灾的玫瑰不是灿烂,而是荒凉。——严歌苓 https://nginxproxymanager.com/ 该项目作为预构建的 docker 映像提供,使您能够轻松转发到在家或其他地方运行的网站,包括免费的 SSL,而无需了解太多有关 Nginx 或 Letsencrypt 的信息。 快速设置 完整设置 截图 基于 Tabler 的美观且安全的管理界面 无需了解 Nginx 即可轻松创建转发域、重定向、流和 404 主机 使用 Let’s Encrypt 免费 SSL 或提供您自己的自定义 SSL 证书 主机的访问列表和基本 HTTP 身份验证 超级用户可用的高级 Nginx 配置 用户管理、权限和审核日志 快速设置 安装 Docker 和 Docker-Compose Docker 安装文档 Docker-Compose 安装文档 创建一个与此类似的 docker-compose.yml 文件: yml 123456789101112version: '3.8'services: app: ima...
