暂时未有相关云产品技术能力~
三观比五官更正,思想比套路更深。常用技术栈PHP、Go、Python,享受编程,平时爱好写点文章。V公主耗:「左诗右码」,欢迎关注交流。
微信清理僵尸粉工具利用Python和`uiautomator2`库,通过模拟转账操作自动检测并标记微信好友列表中被删除、被拉黑或账号存在问题的“僵尸粉”。工具支持开启调试模式、自动打开微信、获取好友信息、判断好友状态、管理标签等功能,最终将检测结果记录到文件中,便于用户管理和清理好友列表。此工具适用于Android设备,已在OPPO Reno4 Pro上测试成功。
在软件开发中,数据安全和隐私保护至关重要。`go-crypto` 是一个专为 Golang 设计的加密解密工具库,支持 AES 和 RSA 等加密算法,帮助开发者轻松实现数据的加密和解密,保障数据传输和存储的安全性。本文将详细介绍 `go-crypto` 的安装、特性及应用实例。
本文介绍了如何在 Go 语言中使用 Gin 框架实现 JWT 用户认证和安全保护。JWT(JSON Web Token)是一种轻量、高效的认证与授权解决方案,特别适合微服务架构。文章详细讲解了 JWT 的基本概念、结构以及如何在 Gin 中生成、解析和刷新 JWT。通过示例代码,展示了如何在实际项目中应用 JWT,确保用户身份验证和数据安全。完整代码可在 GitHub 仓库中查看。
在分布式系统中,确保每个节点生成的 ID 唯一且高效至关重要。Snowflake 算法由 Twitter 开发,通过 64 位 long 型数字生成全局唯一 ID,包括 1 位标识位、41 位时间戳、10 位机器 ID 和 12 位序列号。该算法具备全局唯一性、递增性、高可用性和高性能,适用于高并发场景,如电商促销时的大量订单生成。本文介绍了使用 Go 语言的 `bwmarrin/snowflake` 和 `sony/sonyflake` 库实现 Snowflake 算法的方法。
在现代编程中,网络请求是必不可少的部分。本文详细介绍 Python 的 requests 库,一个功能强大且易用的 HTTP 请求库。内容涵盖安装、基本功能(如发送 GET 和 POST 请求、设置请求头、处理响应)、高级功能(如会话管理和文件上传)以及实际应用场景。通过本文,你将全面掌握 requests 库的使用方法。🚀🌟
`pytesseract` 是一个基于 Google Tesseract-OCR 引擎的 Python 库,能够从图像中提取文字,支持多种语言,易于使用且兼容性强。本文介绍了 `pytesseract` 的安装、基本功能、高级特性和实际应用场景,帮助读者快速掌握 OCR 技术。
豆包 MarsCode 是一款 AI 编程助手,提供智能代码补全等功能,支持多种编程语言及 IDE,涵盖代码解释、审查与修复等辅助功能,旨在提升开发效率。其支持线上编辑器,无需搭建环境即可运行代码,体验接近本地 VS Code。尽管部分功能解释略显不足,但整体表现出色,可无缝替代 GitHub Copilot,适合希望提高开发效率的程序员使用。无论是在本地还是线上,MarsCode 都能显著提升编程体验。
在现代Web应用开发中,安全性至关重要。SQL注入是一种常见的攻击方式,攻击者可通过构造特殊SQL查询来非法访问或修改数据库数据。本文介绍如何利用Go语言中的预处理SQL语句来防范此类攻击。预处理不仅能提升安全性,还能提高性能并简化代码。通过使用`?`作为占位符,Go自动处理参数转义,有效避免SQL注入。此外,文章还提供了连接MySQL数据库、执行预处理查询以及最佳实践的示例代码。务必遵循这些指导原则,确保应用程序的安全性。
开发 Chrome 插件既有趣又具成就感。本教程将引导你从零开始,逐步创建一个简单的 Chrome 插件。首先了解 Chrome 插件是可增强浏览器功能的小程序。以一个基础示例开始,你将学习如何设置开发环境,包括安装 Chrome 和准备文本编辑器,并掌握 HTML、CSS 和 JavaScript 的基础知识。接着,我们将构建插件的基本结构,涉及 `manifest.json` 配置文件、`background.js` 后台脚本、`popup.html` 用户界面以及 `style.css` 样式表。
JSON Web Tokens(JWT)是一种开放标准,用于在网络上传输安全信息。它常用于身份验证场景,用户登录后,服务器生成JWT并返回给客户端。客户端在后续请求中携带此令牌,服务器验证其有效性来确认用户身份。JWT具有无状态、可扩展和安全的特点,支持跨域认证,但也有令牌大小、续期复杂等缺点。是否使用JWT取决于项目需求,多数公司在采用,除非有特殊理由避免。以下是Go语言中使用JWT的一个示例。
电子邮件仍是关键的通讯工具,利用编程语言自动化处理能显著提高效率。本文介绍使用Go语言从IMAP服务器读取、解析邮件及处理相关信息。首先概述POP3/IMAP/SMTP协议的作用,强调IMAP协议的优势及其在邮件客户端与服务器间双向同步的特点。接着,指导如何获取授权码以连接第三方服务。通过实战演示,展示使用`go-imap`库连接服务器、读取邮件详情(如主题、收件人等)、标记邮件为已读的过程。最后,对比`Store`与`UidStore`方法的区别,指出使用`UidStore`更安全可靠。本文提供了一段详细的Go语言示例代码,帮助读者快速上手。
使用Hugo快速搭建博客,Hugo是基于Go的静态站点生成器,以其简单、高效著称。[官网](https://gohugo.io/) 提供多种主题,如[m10c](https://themes.gohugo.io/themes/hugo-theme-m10c/)等。在Mac上可通过`brew install hugo`安装。创建站点`hugo new site ~/hugo-blog`,
在Mac上重装系统前,应备份`~/.gitconfig`, `~/.ssh`, `~/.config`等个人配置文件。推荐的软件包括有道云笔记、WPS Office、FastZip、XMind、网络调试助手、Chrome、Clash、iTerm2、oh-my-zsh、Homebrew、Git、wget、tree、telnet、Neovim、tldr、IDEs(如JetBrains产品)、GitHub Desktop、VS Code、
Markdown 摘要: --- 重装 **MacBook Pro (16", 2019)** 后,配置从简,侧重系统默认软件。首先在引导时联网、启用定位,登录 **Apple ID** 以实现跨设备同步。设置包括:启用触控板轻点、三指拖移,显示访达中的硬盘和常用边栏项,个性化输入法如双拼,并在控制中心显示键盘亮度。安装必要字体如 MiSans 和阿里妈妈数黑体。后续内容将涉及软件安装及编程相关配置。
Redis位操作用于高效存储分析,如用户签到。通过位操作,每个用户签到只需1位,节省空间。使用`setbit`设置签到状态,`getbit`查询,`bitcount`统计签到天数。适用于用户特征标记、系统功能开关和在线状态追踪。高效率、低空间占用,适合大数据场景。
Redis 3.2 引入Geo类型,支持地理位置数据存储和计算,如距离和范围查询。使用`GEOADD`将城市经纬度添加至`zset`中,通过`GEOPOS`获取坐标,`GEODIST`计算距离,`GEORADIUS`查找指定范围内的城市。Redis的Geo功能适用于快速的地理位置服务,如附近搜索和配送范围分析。利用`ZSET`操作可增删位置数据,简化地理空间应用开发。
**摘要:** 在微服务架构中,API网关Kong作为流行开源选择,提供身份验证、安全和流量控制等功能。通过Docker部署Kong简单高效。步骤包括:创建Docker网络,部署PostgreSQL数据库,初始化Kong数据库,启动Kong容器,并检查运行状态。此外,安装Konga管理界面便于直观管理Kong。使用Docker命令行,逐步设置环境变量和网络连接,即可完成安装。当不再需要时,可清理相关容器和网络。Kong结合Konga,为API管理提供强大且用户友好的解决方案。
在微服务架构中,Nginx 用于配置负载均衡,如示例所示,定义上游`pay-service`包含不同权重的服务节点。Kong API 网关则通过service和route进行服务管理和路由,与Nginx的upstream和location类似。通过Kong的命令行接口,可以创建upstream、target、service和route,实现对后端服务的负载均衡和请求管理。Nginx和Kong协同工作,提供高效、灵活的API管理和流量控制。
在Go语言中优化性能涉及数字字符串转换(如用`strconv.Itoa()`代替`fmt.Sprintf()`)、避免不必要的字符串到字节切片转换、预分配切片容量、使用`strings.Builder`拼接、有效利用并发(`goroutine`和`sync.WaitGroup`)、减少内存分配、对象重用(`sync.Pool`)、无锁编程、I/O缓冲、正则预编译和选择高效的序列化方法。这些策略能显著提升代码执行效率和系统资源利用率。
**Air**: 提升Go开发效率的利器!自动重载工具,监听文件变化,实时编译运行,无需频繁重启。安装:启用Go Module后,运行`GO111MODULE=on go install github.com/cosmtrek/air@latest`。启动项目:`air`,配置文件默认为`air.toml`。集成到项目,忽略`tmp/`目录。让代码更改即时生效,专注编码,告别手动重启。适用于开发环境,生产环境禁用。[更多详情](https://github.com/cosmtrek/air)
本文档通过示例代码详细介绍了如何在Go应用中使用`olivere/elastic`库,涵盖了从连接到Elasticsearch、管理索引到执行复杂查询的整个流程。
一起来了解下nginx的gzip压缩
**API安全关键在于验证和防刷。通过排序参数、生成签名和MD5加密确保请求合法性。使用Redis限制请求频率,防止接口被恶意刷取。验证和防刷策略结合,保护API免受攻击和滥用。**
作为静态服务器、反代和负载均衡器,Nginx 因高性能和灵活性广泛使用。
在多机部署教程中,了解如何配置分布式应用如Laravel以使用Redis同步用户状态。关键步骤包括:修改MySQL的`bind-address`至内网IP,重启服务;同样修改Redis的`bind`,重启服务;以及调整Elasticsearch的`network.host`和`discovery.seed_hosts`,并重启。通过这些步骤,确保服务间能内网通信,实现多服务器状态同步。
**Supervisor** 是一款Python编写的进程管理工具,用于类Unix系统,确保应用服务持续运行。常用命令包括:`reload`(重新加载配置)、`status`(查看进程状态)、`shutdown`(关闭所有进程)、`start`和`stop`(控制单个进程)。在CentOS上安装Supervisor用`yum install -y supervisor`,配置文件通常在`/etc/supervisord.conf`。
`Linux screen` 命令让多任务管理变得更简单,尤其在SSH连接远程服务器时。创建新会话如`screen -S backup`,查看会话`screen -ls`,退出`exit`。高级功能包括直接在会话中运行命令,如`screen vim memo.txt`,会话共享以协同工作,以及通过`screen -r`或`-D -r`重新连接或强制恢复断开的会话。提高效率,确保任务不间断运行。
`expect` 是Linux自动化神器,用于模拟键盘输入与交互式应用自动交互,常用于自动登录服务器、执行命令。安装 `expect`(CentOS: `yum -y install tcl expect`, Ubuntu: `apt-get -y install expect`) 后,编写脚本如SSH登录示例,自动发送密码和命令。通过结合shell命令,`expect` 可实现复杂任务,如获取IP、登录MySQL。支持多服务器管理,根据用户输入选择登录。学习 `expect` 提升自动化效率!
**SSH 概述**:SSH 是开发者必备工具,用于安全远程登录及文件传输。本文聚焦SSH的两大功能:**密钥登录**和**端口转发**。
这篇文章讨论了PHP开发中的最佳实践,包括使用最新稳定版(PHP 8.3)以提升性能和安全,利用`DateTime`类及Carbon库处理日期时间,确保使用UTF-8编码并用`mb_*`函数处理字符串,以及通过密码哈希和数据过滤来加强Web应用安全。文章提醒开发者始终保持对新技术和安全实践的关注。
**Shell脚本中,变量是核心元素,用于暂存数据。变量默认为字符串,赋值时等号两侧无空格。命名遵循:数字、字母、下划线,以非数字开头。常用特殊变量如 `$0` (脚本名),`$#` (参数个数)。定义变量可使用单引号(不解析变量)、双引号(解析变量)或不加引号(注意空格)。使用花括号明确变量边界,`readonly` 则可设定只读变量,`unset` 删除变量。实践这些概念以加深理解。**
在Shell脚本中进行数学计算需借助特定方法。`(())`用于高效整数运算,如`((1+1))`,而`bc`处理小数,如`echo "3.14 + 2.86" | bc`。`let`与`(())`相似,`expr`较繁琐,`declare -i`仅限基础整数运算。使用`bc`时,`scale`定义小数精度。通过这些工具,Shell脚本也能实现复杂的数学计算。
Markdown 是一种轻量级标记语言,以易读易写著称,常用于生成 HTML 页面。其简洁的语法加速了排版,尤其在写作、博客和文档领域广泛应用。虽然不擅长复杂排版,但能轻松实现字体大小调整、插入表格、图片和超链接等。Markdown 通过键盘快捷操作,避免了 Word 等软件的繁琐设置。本文将深入讲解 Markdown 语法,助你提升效率。Markdown 适合快速学习,兼容各种文本编辑器,支持导出多种格式,广泛应用于 GitHub 和多个在线平台。
ApacheBench (AB) 是一款用于 HTTP 性能测试的轻量级工具,可模拟多用户并发访问,评估应用在高负载下的表现。通过命令行参数 `-n` 和 `-c` 分别设置总请求数和并发数,例如 `ab -n 100 -c 2 http://larablog.test/`。
MacBook出现异常发热、风扇狂转、触摸板无响应,数分钟后自动关机。尝试开机显示错误信息。解决方案:重置SMC和NVRAM。重置SMC针对电源管理和散热问题,方法因芯片类型(Apple芯片或T2芯片)不同而异。重置NVRAM适用于Intel芯片的Mac。问题暂时解决,但不确定是否彻底修复。参考苹果官方文档进行操作。
该文介绍了PHP-FPM的性能配置优化,包括其工作原理和与Nginx的配合。FastCGI是一种提高CGI效率的协议,PHP-FPM是它的管理器。文章对比了CGI和FastCGI的区别,指出FastCGI更高效,能处理更多请求。接着讨论了php-fpm的进程数调优,包括ondemand(按需创建)、dynamic(动态创建)和static(固定数量)三种模式,以及各自适用场景和参数配置。
本文介绍了在 Mac 上使用的 HTTP 和 HTTPS 抓包工具 Charles 的配置方法。首先,强调了安装证书对于抓取 HTTPS 请求的重要性,涉及 PC 和手机端。在 PC 端,需通过 Charles 软件安装证书,然后在钥匙串访问中设置为始终信任。对于 iOS 设备,需设置 HTTP 代理,通过电脑上的 IP 和端口访问特定网址下载并安装证书,同时在设置中信任该证书。配置 Charles 包括设置代理端口和启用 SSL 代理。完成这些步骤后,即可开始抓包。文章还提及 Android 7.0 以上版本可能存在不信任用户添加 CA 证书的问题,但未提供解决办法。
Netstat 是 Linux 系统中的强大网络分析工具,用于查看网络配置和活动,如端口监听、网络连接和路由信息。通过基本命令 `netstat [options]` 可实现多种操作,例如 `-a` 显示所有端口,`-l` 显示监听端口,`-s` 展示协议统计信息。结合 `-p` 选项可查看占用端口的进程,而监控网络连接状态则可用 `-nt` 加 `grep ESTABLISHED` 查看已建立的连接。要深入了解和使用更多功能,可查阅 `man netstat`。
`lsof` 命令详解:用于列出系统中打开的文件,包括进程、网络连接、管道等。通过 `-p` 查看指定进程文件,`-u` 查看用户文件,`-i` 查看网络连接。还能定位占用端口的进程,显示已删除但仍在使用的文件,以及分析程序如何操作文件。是Linux用户问题定位和性能优化的得力助手。学习并熟练运用 `lsof` 可提升工作效率。
GVM,Go版本管理器,简化了在单机上切换不同Go版本的任务。
本文介绍了Go语言项目的打包和部署方法,包括使用`go run`、`go build`和`go install`命令进行编译,以及跨平台交叉编译。文章还提到了编译参数如`-x`、`-n`和`-race`等。此外,还讨论了如何利用第三方工具(如go-bindata)打包非Go文件,以及清理编译缓存和压缩二进制文件。最后,文中展示了如何使用supervisor和Docker进行部署,并提供了Nginx的反向代理配置示例。
Go Modules是Go 1.11引入的依赖管理标准,解决`GOPATH`的依赖冲突问题。