小豪
小豪

小豪

All Posts


利用Svn Hooks触发自动部署流水线

这篇文章探讨了如何利用 SVN Hooks 实现自动部署流水线,旨在优化开发流程并提高效率。作者从实际需求出发,分析了在提交代码后自动触发集成开发平台更新的可能性,并详细调研和设计了一套解决方案:通过编写 Wscript 脚本实现svn 提交后的自动化通知,进而触发构建过程。文章重点介绍了如何配置TortoiseSVN的Post-Commit Hook,详细展示了脚本实现及测试结果。同时,作者也指出当前方案存在的问题,如IDE提交不触发钩子、缺乏构建完成的通知等,并提出了改进方向。这一实践不仅为团队节省了手动操作时间,也为其他开发者提供了参考价值。 你是否也在寻找优化开发流程的方法?或者对如何将类似方案扩展到其他版本控制系统感兴趣?欢迎与作者一起探讨更多可能性!--DeepSeek

svn automatic ci cd svn hooks webhooks

SQL Server 死锁问题排查

这篇文章详细讲解了SQL Server死锁问题的排查与解决过程。从问题日志出发,通过分析系统存储过程和动态管理视图,展示了如何定位导致死锁的具体进程及资源。文章还介绍了使用sp_who、sp_lock等系统存储过程来获取相关锁定信息,并结合实际案例演示了如何逐步排查死锁原因,最终通过杀死阻塞进程的方式解决了问题。这篇文章不仅为数据库管理员提供了实用的排查技巧,还启发我们思考如何优化事务设计和锁管理策略以预防类似问题的发生。你是否也遇到过类似的死锁问题?又该如何预防死锁再次发生呢?--DeepSeek

SQL Server troubleshooting Deadlock Database Management Locks Deadlock Handling

shell proxy via proxychains-ng

通过proxychains-ng在Shell中实现代理访问:文章介绍了如何利用proxychains-ng快速配置Shell代理以加速外部网站访问,尤其是针对git、wget等工具。详细步骤包括下载源码并编译安装,随后的配置过程展示了如何设置socks5和http代理服务器,并通过编辑.zshrc文件添加别名以简化命令使用。文章最后强调了这一配置在提升网络操作效率方面的优势,同时邀请读者思考如何将此方法扩展到更多场景,例如结合其他工具或实现动态端口转发等高级功能。你是否也在寻找一种更高效的方式来管理Shell的代理访问?这篇文章或许能为你提供灵感和解决方案!--DeepSeek

Proxy Linux Shell git proxychains ng compile

NFS Filesystem Mount

这篇文章介绍了如何使用NFS文件系统实现跨平台文件共享,并详细讲解了Linux服务器端和Windows客户端的具体配置步骤。文章首先展示了如何在Linux上安装NFS服务、创建共享目录以及编辑`/etc/exports`文件进行权限设置;接着指导读者在Windows环境中启用NFS服务并通过命令行挂载远程目录。此外,文章还解答了常见的问题,包括网络连接失败(错误代码53)、Windows创建文件无权访问等,并提供了详细的解决方法和注意事项。最后,文章提到了验证NFS服务状态的方法,帮助用户确认配置是否生效。通过这篇文章,读者可以轻松掌握如何在Linux与Windows之间搭建高效的文件共享环境。你是否也在为跨平台文件共享而苦恼?不妨尝试一下NFS,看看它如何成为你的理想选择!--DeepSeek

Linux NFS Windows linux server configuration windows client setup nfs troubleshooting

Linux 部署clash的三种方式

Clash for Windows 是一款功能强大的代理软件,支持网络自动切换、局域网设备连接及游戏模式等功能。本文详细介绍了在 Linux Ubuntu 系统上部署 Clash 的三种方法:常规安装、Docker 部署以及通过 Flatpak 安装。 第一种方法是常规安装,包括下载压缩包、解压文件、配置订阅文件并设置启动脚本以实现自启动。第二种方法借助 Docker,通过编写 docker-compose 文件快速搭建容器化环境,并支持配置文件挂载及端口映射。第三种方法则利用 Flatpak 包管理器一键安装 Clash for Windows。 每种部署方式各有特点:常规安装适合对 Linux 系统熟悉的用户;Docker 部署适合需要容器化管理的场景;Flatpak 安装则以便捷性著称。这些方法不仅能满足个人需求,还能为家庭网络环境提供灵活的代理解决方案。通过本文提供的详细步骤和配置示例,读者可以轻松选择最适合自己的部署方式。 那么问题来了:在 Linux 上部署 Clash 时,你更倾向于哪种方式?是希望拥有更多自定义控制权的常规安装,还是追求便捷快速的容器化部署,亦或是希望通过 Flatpak 一键搞定?不妨根据你的需求和使用场景,尝试不同的方法,找到最适合自己的解决方案。--DeepSeek

clash Linux Ubuntu Clash for Windows Proxy Configuration Docker Deployment

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

这篇博客详细介绍了如何通过Cloudflare动态DNS服务和Docker容器实现稳定访问家里设备的方法,特别适用于没有静态公网IP的用户。文章首先列出了所需的前置条件,包括Linux系统或支持Docker的路由器、域名以及Cloudflare账号。接着,作者一步步指导读者完成配置文件`config.json`的创建,并详细解释了各个参数的意义和获取方式。随后,通过编写`docker-compose.yaml`文件并运行容器,实现了动态DNS的自动更新功能。最终,用户能够在Cloudflare中看到每五分钟更新一次的IP域名映射记录,从而轻松使用自定义域名访问家中的设备。这种方法不仅解决了动态IP带来的访问问题,还提供了高效稳定的解决方案。你是否也在为动态IP无法稳定访问设备而烦恼?不妨试试这个方法,让远程访问变得更加简单和可靠!--DeepSeek

DDNS IP Cloudflare Docker Docker Compose Dynamic DNS

如何创建属于自己的博客

这篇博客探讨了从使用有道云笔记到创建个人博客的历程,并详细分享了在cnblogs上搭建博客的经验及遇到的问题,包括markdown图片插入的困扰、功能拓展的限制以及对独立域名的需求。随后,作者介绍了通过GitHub Pages自建博客的具体步骤,涵盖Hexo部署、域名申请与配置,以及使用Cloudflare优化访问体验的方法。此外,还推荐了三种适合博客部署的平台:heroku、vercel和Google Cloud Platform,并附上了相关资源链接以供参考。文章不仅展现了从依赖第三方平台到实现技术自主的过程,也为读者提供了多样化的博客搭建方案,激发对个人网站建设的兴趣与思考。您会选择哪种方式来构建自己的数字花园?在探索过程中,又会遇到哪些新的挑战?--DeepSeek

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

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

本文探讨了几种远程连接Linux桌面的方法,包括使用花生壳进行端口映射、xrdp、TeamViewer、VNC、ZeroTier、OpenSSH以及Windows的NATBypass工具。每种方法都有其优缺点:花生壳适合无公网IP但带宽有限;xrdp和TeamViewer在连接稳定性上存在问题;VNC提供详细配置步骤但操作复杂;ZeroTier通过虚拟局域网实现高效内网访问;OpenSSH在Windows上的端口转发尝试未果;NATBypass工具则依赖教程的分散性。这些方法为不同场景提供了灵活的选择,但也带来了诸多挑战和思考空间。你是否也在寻找远程控制Linux桌面的最佳方案?哪种方法最能满足你的需求?不妨阅读全文,探索更多可能性,并在实际操作中找到最适合你的解决方案。--DeepSeek

Linux Ubuntu Remote Remote Desktop Network Setup Port Forwarding

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

该文详细探讨了如何通过设计模式优化代码结构以实现低耦合和高扩展性。首先介绍了使用策略模式将不同业务逻辑封装为具体实现类并通过环境类调用,但发现每次新增业务仍需修改环境类违反开闭原则。接着引入单例模式构建注册中心,允许各具体实现类自行注册到环境类中,避免了对原有代码的修改,从而完美实现了"开闭原则",使系统具备更好的扩展性和维护性。--DeepSeek

Java Strategy Pattern Singleton Pattern Factory Pattern Map Structure Dependency Injection

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

在这篇博文中,我们探讨了如何通过Batch脚本实现自动化部署构建系统,以解决手动操作繁琐、耗时的问题。文章首先描述了传统手动部署流程的痛点,并提出通过脚本优化来提高效率。在初始优化阶段,我们将远程服务器的svn仓库拉取到本地,减少了登录服务器和文件复制的时间消耗。进一步优化中,我们实现了自动触发Jenkins构建,通过配置Nginx代理、设置Jenkins用户Token和触发事件,最终实现了一键式自动化部署流程。 整个过程中,我们不仅节省了大量时间,还降低了他人加入项目时的适应成本。最终的解决方案包括本地构建、文件传输、远程svn提交以及自动触发构建等步骤,极大提升了开发效率。文章最后提出了一个问题:在实际工作中,你是否也在为类似的重复性操作而烦恼?如果是,不妨尝试通过自动化脚本来优化你的工作流程,从而将更多精力集中在核心业务上。--DeepSeek

DevOps svn Batch Maven Jenkins Automation Deployment