小豪

小豪

All Posts


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

本篇博客详细介绍了如何远程连接Linux桌面的几种方式。首先,为了解决无公网IP的问题,可以使用花生壳进行端口映射,但是它的网络速度和总流量有限制。其次,可以在Linux上安装xrdp并在花生壳开启3389端口映射,但是实际体验并不理想,画面卡断,操作不流畅。另一种方式是使用TeamViewer,但是在Linux端经常会掉线。还有一种方式是使用VNC进行远程连接,相应的操作步骤和命令在文章中有详细介绍。此外,文章还介绍了如何使用ZeroTier建立内部局域网,包括Linux端和Windows端的操作方法。然而,使用openssh for Windows作为代理转发内网的尝试并未成功。最后,文章介绍了使用Windows端口转发工具NATBypass的方法。这些方式各有优缺点,具体选择哪种方式需要根据实际情况和需求来决定。文章的最后提出了一个问题,那就是如何优化这些远程连接方式以提高效率和稳定性?这是一个值得读者深入思考和探索的问题。--GPT 4

Linux Remote

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

本文详细介绍了如何通过设计模式来减少代码中的if else,以实现更优的编码形式。首先,文章指出了过多的if else可能造成的问题,如不符合开闭原则,不符合面向对象编程,代码耦合度过高等。然后,文章提出了通过适配器模式和策略模式对代码进行优化的解决方案,通过将每一种流程抽取到单独的一个类里面,并使用依赖注入来注入所有实现,统一使用抽象类来调用。最后,文章通过单例模式进一步优化了代码,实现了每个流程都能自己注册到环境类中,增加新流程完全不用修改原来的代码,同时代码之间的耦合性也大大降低。但是,是否所有的优化都适合每种情况呢?或者说,我们是否有更好的方法来减少if else?这些都值得我们深入思考。--GPT 4

Java

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

这篇博客详细介绍了如何使用batch脚本自动更新部署构建系统,以解决项目开发过程中频繁重复的部署操作所带来的时间消耗。文章首先抽象出了部署过程,然后通过两个优化步骤简化了这个过程。初始优化阶段,作者通过将远程服务器的svn仓库拉到本地,然后本地构建完成后直接将文件移动到远程svn仓库,省去了登录服务器和复制文件的操作。进一步优化阶段,作者提出了自动触发运维平台的构建,包括配置Jenkins用户token和触发事件,从而避免了手动操作。最后,作者展示了优化后的自动化部署流程,并强调了这种方式可以大大节约部署运维时间,使开发人员能更专注于业务开发,提高开发效率。那么,对于你来说,如何将这种自动化部署流程应用到你的项目中呢?又如何进一步优化这个流程以适应你的特殊需求呢?--GPT 4

DevOps Batch

docker开启代理

在国内网络环境下,使用docker拉取DockerHub仓库的镜像可能会非常慢,但镜像加速器并不始终能有效解决这个问题。这篇博客介绍了如何通过配置Docker代理来解决这一问题。首先,博客指出Docker守护进程在启动环境中使用HTTP_PROXY, HTTPS_PROXY和NO_PROXY环境变量来配置HTTP或HTTPS代理行为,但这些环境变量不能通过daemon.json文件配置。然后,博客提供了一个详细的步骤来创建和配置代理,包括创建docker.service.d文件夹,创建http-proxy.conf文件,编写文件内容,重启docker以及验证代理是否成功配置。此外,如果在拉取镜像时遇到报错,博客也提供了一些解决方案,如重置DNS解析服务器,检查http-proxy.conf配置文件。那么,如果你在使用docker时遇到了类似的问题,为什么不尝试下这篇博客提供的方法呢?它会帮助你更有效地使用docker,提高你的工作效率。--GPT 4

Proxy

Gitlab CI/CD全自动部署实战

本篇博客详细阐述了如何使用Gitlab CI/CD实现全自动部署。首先,文章介绍了如何创建一个简单的web服务和部署Gitlab Runner执行器,包括下载执行器、赋予文件夹权限、新建操作用户、添加docker用户组等步骤。然后,文章详细解释了如何注册Runner执行器,并展示了部署的整体效果和实际结果。 接下来,文章深入讨论了Gitlab CI/CD的作用,包括提高开发人员效率、及时更新整改、满足条线在更新服务器之前先进行单元测试的要求,以及一键部署到生产、仿真系统。这些功能可以让开发人员专注于系统设计和开发,加快客户响应速度,同时也可以保证服务器的代码是通过完整测试的。 最后,博客提出了下一个目标规划,包括部署harbor镜像仓库、docker-compose多容器部署,以及利用ssh部署到远程服务器。 这篇博客是关于如何利用Gitlab CI/CD实现全自动部署的详细指南,对于希望提高工作效率的开发人员来说,是一篇极其有价值的参考资料。那么,你是否已经准备好利用Gitlab CI/CD来提升你的开发效率了呢?--GPT 4

DevOps Java

2021年终总结

这篇博客是关于博主在2021年的工作、学习和生活的总结。博主在华中地区的一所二本院校毕业后,很幸运地在2020年9月入职到国泰新点,开始了他的程序员生涯。尽管刚开始的时候他感到压力很大,但在公司组织的一次旅游中,他意识到不需要给自己太大的压力,工作是永远做不完的。在学习方面,博主认识到使用英语搜索可以极大地提高排查问题和查找资料的效率。他也分享了他的学习方法,主要是通过项目和书籍进行学习,而不是看视频。在生活方面,博主购买了一些电子设备,包括27寸2k显示器、任天堂switch和华硕无畏pro14笔记本,但他发现他并没有多少时间去使用这些设备。他也参加了一些活动,如小聚和相亲会,但并没有收获很多。回顾这一年,博主感到他学到了很多东西,但也意识到自己还有很多需要改进的地方。他希望在新的一年里,能在编程世界有所收获。那么,你对于新的一年有什么期待呢?你又是如何看待博主的学习方法和生活态度的呢?--GPT 4