小豪
小豪

小豪

All Posts


没有静态公网ip如何稳定访问家里的设备

如何在没有静态公网IP的前提下构建一条通往家庭网络的稳定隧道?这需要一场关于动态DNS的智慧博弈——利用Cloudflare的API接口与Docker容器技术的协同效应,将不断漂移的公网IP转化为可预测的域名入口。通过精心设计的JSON配置文件与自动化脚本,这套系统实现了每五分钟的自我更新机制,让家庭设备的访问路径始终指向最新的网络入口。当传统路由器在动态IP的海洋中随波逐流时,这种基于云端的动态映射方案却开辟出一条永不偏离的导航路线。这种解决方案是否暗示着更多可能性?比如能否将同样的技术框架应用于物联网设备集群的远程管理?又或者如何在自动更新机制中植入更智能的异常检测逻辑?当IP地址的瞬时性成为常态,我们是否正在见证一种全新的网络拓扑思维的诞生?或许答案就藏在那些被成功映射的域名背后,等待着每个探索者去发现。--Qwen3

DDNS IP Cloudflare Docker Docker Compose Dynamic DNS

如何创建属于自己的博客

本文记录了从依赖第三方平台到自主搭建博客的探索过程揭示了数字内容管理中的核心矛盾——便捷性与自主权的平衡问题。当有道云笔记的同步故障与博客园的平台限制共同作用时创建者开始思考如何构建真正属于自己思想疆域的数字空间。在博客园实践过程中图片托管的碎片化难题(有道云分享链接与AiurDrive的稳定性困境)和功能扩展的桎梏凸显了平台架构对内容生态的制约独立域名的缺失更映射出创作者对数字身份的深层诉求。转向自建博客后GitHub Pages与Hexo的组合提供了技术自由度而Cloudflare与GoDaddy的协作则构建出完整的域名管理体系。Heroku Vercel和Google Cloud三个部署方案的对比暗含了开发者生态的多元选择——从后端服务的Heroku到前端友好的Vercel再到云原生的GCP每个选项都折射出不同的技术哲学。当代码转化为可访问的网页当域名成为思想的坐标创作者是否真正拥有了数字主权?在图片托管与域名解析的细节中是否隐藏着内容创作的新范式?当博客从单一记录工具进化为个性化数字空间时它又将如何重塑我们对知识共享的认知?你是否也在寻找属于自己的数字空间?--Qwen3

Blog Creation Hexo Deployment Cnblogs Experience GitHub Pages Setup Domain Management Cloud Services

远程连接linux桌面的几种方式

远程连接Linux桌面的探索之旅中,不同方案在稳定性与便捷性之间展开较量。花生壳映射虽能突破无公网IP限制,但1M带宽与1GB流量的天花板让日常使用捉襟见肘。xrdp通过3389端口映射实现远程桌面,却因画面卡顿暴露出协议适配的深层矛盾。TeamViewer在Linux端遭遇频繁掉线,反向连接机制与系统兼容性之间的技术博弈尚未找到最佳平衡点。 VNC方案通过配置ubuntu-budgie桌面环境展现定制化可能,但vncserver的启动参数与xstartup文件修改过程,暗示着远程桌面服务对底层系统的深度依赖。ZeroTier构建虚拟局域网的跨平台优势令人瞩目,其通过简单指令就能完成网络拓扑重组的能力,是否预示着未来远程协作的新范式?SSH代理转发方案在Windows端的实践未竟全功,却揭示了端到端加密隧道技术与内网穿透的复杂交互关系。而NATBypass工具的尝试,则在P2P穿透领域开辟了新思路,其基于UDP协议的优化方案能否突破传统NAT限制? 当各种方案在带宽限制、协议兼容、系统资源消耗等维度展开角逐,技术选择背后折射出更深层的思考:在远程办公常态化趋势下,如何构建既能保障安全性又不失操作流畅性的连接体系?哪种方案能在不同网络环境下实现性能与成本的最优解?当传统方案遭遇瓶颈时,底层网络协议的革新是否能带来破局新机?这些问题的答案或许就藏在对每种方案的技术细节与实际应用场景的深度剖析中。--Qwen3

Linux Ubuntu Remote Remote Desktop Network Setup Port Forwarding

如何减少代码中的if else,设计模式实战

本文通过一个实际开发场景展示了如何通过设计模式重构代码结构并消除冗余的if else逻辑。在处理流程回调接口时开发者发现原始代码存在开闭原则违背、面向对象特征缺失和代码耦合度高等问题。通过引入适配器模式将通用逻辑抽象化并解耦具体实现类,初步实现了代码结构的优化但未彻底解决策略选择的硬编码问题。继而运用策略模式将不同流程的处理逻辑封装为可替换的独立策略类通过环境类统一调度使系统具备了良好的扩展性但环境类的策略注册仍需修改代码。最终结合单例模式构建无状态的策略注册中心利用静态Map实现策略自动注册和动态获取完全解耦了新增流程与原有代码的依赖关系。这种渐进式优化过程揭示了设计模式在软件开发中的实际价值——它不仅是代码结构的组织工具更是应对需求变化的思维框架。当面对类似场景时你是否思考过:如何在保证系统灵活性的同时避免过度设计带来的复杂度?如果策略数量持续增长是否还有更高效的管理方式?或许这些思考正是推动代码质量持续演进的关键所在。--Qwen3

Java Strategy Pattern Singleton Pattern Factory Pattern Map Structure Dependency Injection

用batch脚本自动更新部署构建系统

在软件开发中手动重复的部署流程往往成为效率的枷锁——当生产环境与测试环境的SVN地址不一致时开发人员需要经历Maven构建登录服务器文件复制SVN提交再到运维平台构建的复杂操作这种机械劳动是否可以通过技术手段实现突破?本文展示了如何通过批处理脚本将原本需要人工干预的多环节流程转化为自动化链条。从最初的本地构建文件拷贝到服务器的初级方案开始逐步演进为包含SSH免密登录SCP远程传输SVN提交Jenkins触发的完整自动化体系。通过将nginx反向代理与Jenkins token结合实现远程触发构建的关键转折点不仅解决了多开发人员协作时的脚本配置问题更突破了物理服务器的限制。当代码更新自动触发部署流水线时开发者的精力得以从繁琐的操作中解放转向核心业务创新。这种自动化思维是否能延伸到其他运维场景?在追求极致效率的过程中又该如何平衡自动化与人工干预的边界?当技术手段不断降低部署成本时是否意味着对系统稳定性的要求将面临新的挑战?--Qwen3

DevOps svn Batch Maven Jenkins Automation Deployment

docker开启代理

Docker在国内环境下的镜像拉取体验长期受制于网络延迟与稳定性问题,而镜像加速器的不可靠性促使开发者探索更稳定的替代方案。本文通过系统级代理配置方案,揭示了如何将本地代理服务(如127.0.0.1:7890)与Docker守护进程深度绑定的技术路径——这一过程需要通过创建docker.service.d文件夹、编写http-proxy.conf配置文件、重启系统服务等五个关键步骤实现。值得注意的是,这种配置方式突破了传统daemon.json配置的局限,直接作用于Systemd的环境变量体系,为开发者提供了更底层的控制能力。文章特别指出当出现EOF错误时,除了检查配置文件格式,重置DNS解析服务器可能是更隐蔽的解决方案。这种代理配置不仅适用于DockerHub镜像拉取,更可扩展至私有仓库的访问优化。当镜像加速器失效时,系统级代理能否提供更稳定的解决方案?在代理工具的选择上,是应该优先考虑性能还是兼容性?读者或许会思考:当代理配置完成后,实际的网络性能提升是否达到了预期目标?而配置过程中环境变量的传递机制,是否还存在更优化的实现方式?这些开放性问题或许能启发开发者从服务架构的维度重新审视容器网络优化策略。--Qwen3

Proxy troubleshooting Docker Proxy Docker Configuration Mirror Accelerator dns resolution

Gitlab CI/CD全自动部署实战

本文通过一次从手动部署到Gitlab CI/CD自动化实践的转变,揭示了传统部署模式与现代开发流程的效率鸿沟。当开发者面对重复的服务器操作时如何突破?Gitlab Runner的部署与Pipeline配置展示了从代码提交到生产环境的无缝跃迁,其核心价值在于将部署逻辑转化为可复用的配置文件。自动化流程不仅消除了人工干预的误差,更通过构建失败即时通知机制构建了风险防控网。当月度整改成为可自动触发的持续过程,当单元测试成为部署前的强制关卡,开发效率的跃升与质量保障形成了动态平衡。而Docker容器化与多环境一键部署的能力,更让软件交付突破物理服务器的限制。在自动化部署的浪潮中如何应对更复杂的微服务架构?如何在速度与安全之间寻找最优解?当镜像仓库的版本回溯与远程SSH部署成为可能,开发者是否准备好重新定义软件交付的边界?--Qwen3

DevOps Java Docker GitLab Runner CI/CD Automation

2021年终总结

2021年的总结中一位刚毕业的二本院校学生以程序员身份开启职场生涯从最初对职业的忐忑不安到逐步承担项目负责人角色经历了从维护期BUG排查到独立开发的蜕变。在高压工作与技术成长的双重挑战下他意外发现旅游反而成为释放压力的契机这种反直觉的职场智慧揭示了现代工作环境中张弛有度的重要性。技术学习层面他打破了传统视频学习的桎梏通过英语搜索与开源项目实践构建出全新的学习体系从Docker容器化到Spring Boot源码解析从DevOps理念到GitLab CI/CD部署形成了以实践为导向的技术认知框架。消费生活中的2K显示器与Switch游戏机折射出年轻人对工作与娱乐的矛盾心态而苏州微软的参观经历则暗示着开源社区对个体职业发展的潜在影响。当作者坦言"程序始终是我喜欢的东西之一"时不禁让人思考:在职业焦虑与技术热爱之间是否存在更优雅的平衡方式?当传统学习模式遭遇瓶颈时英语搜索与开源实践真的能成为破局的普适解法吗?那些吃灰的游戏设备与闲置的笔记本电脑是否预示着当代青年在物质消费与精神成长之间的微妙博弈?这些未解之谜或许正是2022年值得探索的新起点。--Qwen3

DevOps Docker career-growth spring boot Programmer Journey Work Pressure Management