VanJay's Blog

一个爱折腾工程师的全栈梦

前言

在开源的世界中,选择合适的代码托管平台是每个开发者和组织都会面临的选择。近年来,GitLab和Gitea都已经成为开发者社区的热门选择。而对于个人用户来说,是否有必要从GitLab迁移到Gitea呢?这篇博客旨在对比这两者的优劣,并提供一个简单的迁移指南。

阅读全文 »

背景

图像平均色提取是移动应用开发中的常见需求,广泛应用于音乐播放器的动态背景、图片墙的主题色匹配、UI界面的自适应配色等场景。然而,传统的平均色提取算法在处理大量图片时往往存在性能瓶颈,特别是在需要实时处理的场景中。本文将介绍几种高效的图像平均色提取算法,并通过实际性能测试对比分析各种优化策略。

阅读全文 »

背景

在现代移动应用中,图像主题色提取是一项常见的需求,广泛应用于音乐播放器的动态背景、图片墙的色调匹配、UI主题自动适配等场景。然而,传统的主题色提取算法在处理大量图片时往往存在性能瓶颈。本文将介绍一种高效的iOS图像主题色提取算法,并通过多种优化手段显著提升其性能表现。

阅读全文 »

背景

在iOS开发中,循环引用(Retain Cycle)是导致内存泄漏的主要原因之一。尽管ARC(自动引用计数)大大简化了内存管理,但开发者仍然需要警惕循环引用的风险。如果不及时处理,循环引用会导致对象无法被正常释放,最终造成内存泄漏和应用崩溃。本文将通过实际案例分析循环引用的成因、检测方法和预防策略。

阅读全文 »

背景

在平日生活和工作中,家庭网络环境的管理和维护始终是一个重要但容易被忽视的问题。智能家居设备越来越多,手机电脑电视等设备不断增多,对于网络的需求越来越高,比如数据同步,路由管理,电视观看内网高清影院等,这些都需要一个稳定且强大的家庭网络环境来支持。

阅读全文 »

前言与需求背景

在许多应用中,我们可能需要让多个服务共享同一端口。例如,你可能有一个Web服务器(如Nginx)和一个VPN服务器(如OpenConnect VPN,简称ocserv),你希望它们都使用443端口。这样做的好处是可以提高网络性能,因为操作系统通常会为443端口提供更高的处理优先级,从而得到更快的响应。此外,这种设置也可以简化防火墙的配置,因为只需要开放一个端口。

然而,实现这种配置并不简单。首先,Nginx和ocserv都需要独占443端口,因此不能直接将它们绑定到同一端口。其次,尽管Nginx可以使用其stream模块来实现TCP级别的反向代理,但这需要额外的配置,并且可能导致一些问题。例如,ocserv需要了解客户端的真实IP,但在Nginx的反向代理后,ocserv只能看到Nginx服务器的IP。

阅读全文 »

在当今的网络环境中,安全性是一个不容忽视的话题。尤其是对于那些暴露在公网的服务器来说,采取额外的安全措施变得尤为重要。SSH(Secure Shell)是一种广泛使用的远程登录协议,允许用户安全地访问和管理远程服务器。默认情况下,SSH支持两种认证方式:密码认证和基于密钥的认证。然而,密码认证方式较为脆弱,容易受到暴力破解攻击。为了增强安全性,推荐关闭SSH的密码登录,仅允许使用私钥登录。以下是在Linux和MacOS下实现此目的的步骤。

阅读全文 »

前言

前言
在现代的web开发中,我们通常会遇到一个很常见的场景,那就是需要在同一台服务器上运行多个服务。例如,你可能有一个API服务运行在3000端口,一个管理面板运行在4000端口,还有一个静态资源服务器运行在5000端口。这种情况下,一个非常实用的解决方案就是使用Nginx的反向代理功能,将这些服务都代理到同一个域名下的不同路径。

阅读全文 »

背景

Mac 上的快速预览功能能很大程度上提高工作效率,系统默认支持一些常规的文件预览,一些第三方的文件就需要自己安装插件,但有些文件名后缀不被插件识别,但我们有时仅仅只是想文本预览,此时可以往第三方插件里添加支持,写此篇文章做个备忘。

阅读全文 »

需求背景

随着微服务架构的流行,如何高效、快速地部署和管理各种服务成为了一个问题。传统的部署方式,如手动安装配置环境、手动部署和更新应用,不仅耗费人力物力,而且容易出错,且不易复制和扩展。

为了解决这个问题,Docker诞生了。Docker是一个开源的应用容器引擎,允许开发者打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows机器上,也可以实现虚拟化。容器是完全沙盒机制,相互之间不会有任何接口。

阅读全文 »
0%