如何进行站点网络优化

<p>站点的网络访问速度受到用户所在地区、网络运营商等多种因素的影响。针对这些差异,我们可以通过选择合适的 CDN 和机房来有针对性地优化特定地区、特定运营商下的访问速度。与此同时,客户端可以对不同域名进行测速,根据测速结果动态选择延迟最低的线路。</p> <p>网络优化大体上可以分为两个方向:<strong>静态资源加速</strong>和<strong>动态资源加速</strong>。</p> <h2 id="静态资源加速"><a href="#静态资源加速" class="headerlink"

2026/4/19
阅读更多

使用Elasticsearch分析腾讯云EO日志

<p>腾讯云EO可以查看一些指标信息,但是更加详细的信息需要我们下载离线日志自行分析。</p> <h2 id="获取日志下载链接"><a href="#获取日志下载链接" class="headerlink" title="获取日志下载链接"></a>获取日志下载链接</h2><p>腾讯云会将日志打包为<code>.gz</code>格式,解压后文件会包含多行,每一行都是一个JSON格式的数据,对应一条EO的请求日志,日志格式可以参考<a

2025/12/27
阅读更多

XXL-JOB的部署、搭建与使用

<p>XXL-JOB是一个分布式任务调度平台,它可以很方便的实现分布式的任务调度。</p> <h2 id="部署"><a href="#部署" class="headerlink" title="部署"></a>部署</h2><p>首先我们下载XXL-JOB的源码</p> <pre><code>git clone

2025/8/22
阅读更多

使用NGINX的auth_request进行统一jwt鉴权

<p>NGINX的<code>auth_request</code>模块提供了一种统一的认证机制,可以在NGINX层面进行JWT鉴权,而不需要在每个后端服务中重复实现认证逻辑。</p> <p>首先我们定义一下nginx的配置,它的配置如下</p> <figure class="highlight plaintext"><figcaption><span>flat</span></figcaption><table><tr><td class="gutter"><pre><span class="line">1</span><br><span

2025/7/24
阅读更多

使用APISIX解析jwt并获取payload信息

<p>APISIX支持获取jwt的信息,并且将这个信息进行解码并转发给后端服务。</p> <h3 id="1-启动服务"><a href="#1-启动服务" class="headerlink" title="1. 启动服务"></a>1. 启动服务</h3><p>首先我们根据<a href="https://docs.api7.ai/apisix/getting-started">官方脚本</a>来启动APISIX服务</p> <pre><code>~ curl -sL

2025/7/11
阅读更多

《推荐系统实践》

<blockquote> <p>从某种意义上说,推荐系统和搜索引擎对于用户来说是两个互补的工具。搜索引擎满足了用户有明确目的时的主动查找需求,而推荐系统能够在用户没有明确目的的时候帮助他们发现感兴趣的新内容。</p> </blockquote> <blockquote> <p>基于用户行为分析的推荐算法是个性化推荐系统的重要算法,学术界一般将这种类型的算法称为协同过滤(Collaborative

2025/6/22
阅读更多

《上瘾:让用户养成使用习惯的四大产品逻辑》

<p><em><a href="https://www.amazon.com/Hooked-How-Build-Habit-Forming-Products/dp/1591847788">Hooked: How to Build Habit-Forming Products</a></em></p> <p>如何卖出更多的产品:产能 -&gt; 营销&#x2F;渠道 -&gt; 产品设计</p> <p><strong>上瘾</strong>如何设计产品:触发 -&gt; 行动 -&gt; 多变的酬赏 -&gt;

2025/6/18
阅读更多

Kotlin与Java对照手册

<h2 id="1-基本类型"><a href="#1-基本类型" class="headerlink" title="1. 基本类型"></a>1. 基本类型</h2><table> <thead> <tr> <th>类型</th> <th>Kotlin 写法</th> <th>Java 写法</th> <th>简要说明</th> </tr> </thead> <tbody><tr> <td>数字</td> <td><code>Int</code>, <code>Long</code>, <code>Float</code>,

2025/4/24
阅读更多

ComfyUI的操作与使用

<p><em>简单起见,又或者是没有N卡或者显卡的配置比较低,可以使用<a href="https://console.cloud.tencent.com/hai">腾讯云HAI</a>直接搭建ComfyUI服务。</em></p> <h3 id="入门使用"><a href="#入门使用" class="headerlink"

2025/3/31
阅读更多

ComfyUI简介

<p><strong>ComfyUI</strong> 是一个基于节点工作流的现代化 Stable Diffusion 图形用户界面。与传统的WebUI不同,ComfyUI采用节点连接的方式来构建图像生成工作流,让用户能够更精确地控制整个生成过程。</p> <p><strong>Stable Diffusion</strong> 是一款开源的 AI 图像生成技术,基于扩散模型构建。用户可以通过 <strong>Stable Diffusion WebUI</strong> 或 <strong>ComfyUI</strong>

2025/3/30
阅读更多

利用whisper为视频自动生成字幕

<p><a href="https://github.com/openai/whisper">whisper</a>是一个由openai开发的通用语言识别模型,我们可以使用它来为视频自动创建字幕。</p> <h2 id="环境安装"><a href="#环境安装" class="headerlink" title="环境安装"></a>环境安装</h2><p>为了加速,我们需要使用GPU来进行计算,因此需要安装基于CUDA的pytorch。首先我们需要安装<a

2025/1/2
阅读更多

ffmpeg笔记

<h5 id="合并一个文件夹内的所有视频"><a href="#合并一个文件夹内的所有视频" class="headerlink" title="合并一个文件夹内的所有视频"></a>合并一个文件夹内的所有视频</h5><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span

2024/6/18
阅读更多

如何参与Apache顶级开源项目

<p>我们在日常工作中经常会使用到很多的开源项目,开源也是一个在工作和学习中都离不开的内容。一般来说,开源项目可以选择直接开源,也可以选择捐赠给某些基金会,例如<a href="https://www.linuxfoundation.org/">Linux Foundation</a>、<a href="https://www.cncf.io/">CNCF</a>和<a href="https://www.apache.org/">ASF</a>等等。以ASF为例,如果一个项目想要成为<a

2024/1/24
阅读更多

使用frp实现内网ssh穿透

<p>最近需要远程访问一台虚拟机内的Linux,因为虚拟机没有公网IP,因此选择使用frp转发ssh流量的方式来实现远程访问。首先访问<a

2024/1/5
阅读更多

安装并使用zsh

<p>首先我们安装zsh,并切换默认的shell为zsh,之后重启进入zsh</p> <pre><code>sudo apt-get install zsh chsh -s /bin/zsh sudo shutdown -r now </code></pre> <p>之后我们安装oh-my-zsh,因为网络的原因所以设置了代理</p> <pre><code>wget -e https_proxy=192.168.65.100:7890

2023/10/18
阅读更多

APISIX的使用

<p>APISIX是一款基于Openresty的动态、实时、高性能API网关,它提供了负载均衡、服务熔断等丰富的功能。</p> <h3 id="安装服务"><a href="#安装服务" class="headerlink" title="安装服务"></a>安装服务</h3><p>在<a

2023/10/12
阅读更多

自己动手实现一个可以运行在JVM上的编程语言

<p>众所周知,JVM虚拟机被设计为可以执行栈式指令的机器。因此任何一个语言只要编译之后得到的字节码符合JVM的标准,就可以在JVM上执行,例如Kotlin、Groovy、Scala、Clojure。</p> <p>我们自己设计一款语言,并命名为Jinx,它支持类定义、变量定义、变量打印。它的语法解析逻辑如下</p> <figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span

2023/9/6
阅读更多

使用ANTLR4格式化JSON

<p>JSON由对象和数组组成,对象是一个Key和Value的关系映射,数组则是由多个value组成。对象使用大括号<code>&#123;&#125;</code>表示,数组则使用中括号<code>[]</code>表示。因此我们可以得到对象和数组的表达式</p> <pre><code>object: &#39;&#123;&#39; &#39;&#125;&#39; | &#39;&#123;&#39; kv (&#39;,&#39; kv)* &#39;&#125;&#39;; array: &#39;[&#39; &#39;]&#39; |

2023/9/2
阅读更多

ANTLR4从入门到实践

<p><a href="https://www.antlr.org/">ANTLR</a>(ANother Tool for Language Recognition)是一个强大的解析器生成器,用于读取、处理、执行或翻译结构化文本或二进制文档。它被广泛用于构建语言、工具和框架。ANTLR根据语法定义生成解析器,解析器可以构建和遍历解析树。</p> <h2 id="安装"><a href="#安装" class="headerlink" title="安装"></a>安装</h2><p>以Linux系统为例,我们首先<a

2023/8/26
阅读更多

ShardingSphere-JDBC介绍

<p>ShardingSphere-JDBC是一款可以将JDBC操作进行封装,然后实现数据分片、分布式事务、读写分离、高可用、数据加密和数据脱敏等功能的模块。它的原理是实现JDBC的接口,随后将收到的JDBC操作进行改写和处理,再将操作命中到真正的数据库之上。因为它实现了JDBC接口,因此现有的Java项目都可以100%兼容使用,只需要依赖ShardingSphere-JDBC并提供相关的配置即可。</p> <h2 id="JDBC数据分片的简单使用"><a href="#JDBC数据分片的简单使用" class="headerlink"

2023/6/23
阅读更多