分类: 编程语言
-
本文介绍了在Go语言入门练习中,利用闭包实现斐波那契数列生成器的方法。文章详细说明了实现需求,即编写一个返回闭包的函数,该闭包每次被调用时返回数列的下一个值。通过在闭包外部定义变量来捕获并保留状态,利用并行赋值更新数值,最终实现了连续生成斐波那契数列的功能,并验证了运行结果。
-
本文记录了Go语言单词计数练习的实现过程。通过使用strings.Fields函数分割字符串,并利用for range循环遍历切片,实现了将字符串中单词出现次数存入map的逻辑。文章详细解析了map的初始化与默认值特性,展示了代码实现与wc.Test测试验证过程,适合初学者巩固Maps用法及相关标准库函数的应用。
-
本文记录了在 WSL 与 Docker 环境下本地运行 Go Tour 切片练习时遇到的依赖问题。由于国内代理未缓存 golang.org/x/tour 包,导致安装依赖时出现 502 报错。通过分析发现是系统 GOPROXY 环境变量限制所致,最终采用临时取消环境变量并直接访问官方源的方式成功安装依赖。文章详细梳理了从报错排查到成功运行并生成图片的完整解决过程。
-
本文基于 Go 官方教程练习,介绍了利用牛顿迭代法实现 Sqrt(x) 的三种方式。文章演示了从固定 10 次循环,到通过误差控制自动停止迭代的优化过程。最终实现将结果与 math.Sqrt 进行对比,验证了算法的准确性,并通过统计迭代次数展示了该方法仅需 5 次循环即可获得高精度的收敛效率。
-
在 VS Code 中按下 Ctrl + S 时文件内容被还原至上一步,经检查发现开启了 Editor: Format On Save 功能。该现象并非保存操作触发了撤销,而是 Go 语言的自动格式化工具在保存时将代码修正为合法状态。修正代码中的命名规范后,Ctrl + S 即可正常保存文件。
-
在 VS Code 中编写 Go 代码时遇到 main redeclared in this block 报错,原因是目录下存在多个 main 函数。通过重新整理 A Tour of Go 的练习目录结构,将文件名作为目录名并统一文件名为 main.go,确保每个练习都能独立运行且互不干扰。最终解决了重复声明的问题。
-
本文记录了使用 Go 和 Gin 构建 RESTful API 的全过程,涵盖了 WSL 与 Docker 的环境配置。文章首先尝试了 GoLand 配合 Docker,但因路径映射和 GOROOT 配置的复杂性,最终转向 VS Code 结合 Dev Containers。通过配置 devcontainer.json 和 docker-compose.yml,实现了在容器内挂载代码、安装依赖及运行服务。文章还解决了 Go 版本不兼容导致的依赖获取问题,并完成了代码向 GitHub 仓库的提交与托管配置。
-
个人博客出现 504 Gateway Timeout,排查发现服务器因恶意扫描和分布式爬虫导致严重过载。内存被过多的 PHP-FPM 进程耗尽,引发负载飙升。通过降低 PHP-FPM 进程数以适配硬件配置,在 Nginx 层面封禁恶意扫描 IP 及爬虫 IP 段,并重启 ECS 清理积压进程,最终解决了资源耗尽问题,恢复了服务正常响应。
-
针对同一段代码在本地 Windows 环境生效而在 Linux 环境无效的问题,经排查发现是因为页面元素列表的查询方法与设置排序时的查询条件不一致,导致排序逻辑无法正确执行。通过打印日志分析,确认排序方法本身无误,问题出在获取字段列表的接口中存在元素缺失。调整列表查询方法以保持条件一致后,数据符合预期,排序恢复正常。
-
针对前端页面在移动端与桌面端分离的需求,文章介绍了在 PHP 7.4 环境下检测移动设备并渲染不同模板的方法。受限于 PHP 版本,选用了 Mobile-Detect 3.* 系列轻量级类库,而非要求 PHP 8 的 4.* 版本或长期未更新的 Yii2 扩展。通过配置 composer.json 安装 mobiledetect/mobiledetectlib 依赖后,文章展示了在控制器中实现的具体逻辑。
