

<feed xmlns="http://www.w3.org/2005/Atom">
  <id>/</id>
  <title>Ray</title>
  <subtitle>最好的种树时间是十年前，其次是现在</subtitle>
  <updated>2026-04-16T20:26:32+08:00</updated>
  <author>
    <name>ray.zhang</name>
    <uri>/</uri>
  </author>
  <link rel="self" type="application/atom+xml" href="/feed.xml"/>
  <link rel="alternate" type="text/html" hreflang="en"
    href="/"/>
  <generator uri="https://jekyllrb.com/" version="4.3.2">Jekyll</generator>
  <rights> © 2026 ray.zhang </rights>
  <icon>/assets/img/favicons/favicon.ico</icon>
  <logo>/assets/img/favicons/favicon-96x96.png</logo>


  
  <entry>
    <title>大模型本地部署测试</title>
    <link href="/posts/%E5%A4%A7%E6%A8%A1%E5%9E%8B%E6%9C%AC%E5%9C%B0%E9%83%A8%E7%BD%B2%E6%B5%8B%E8%AF%95/" rel="alternate" type="text/html" title="大模型本地部署测试" />
    <published>2026-03-10T10:29:20+08:00</published>
  
    <updated>2026-03-10T10:29:20+08:00</updated>
  
    <id>/posts/%E5%A4%A7%E6%A8%A1%E5%9E%8B%E6%9C%AC%E5%9C%B0%E9%83%A8%E7%BD%B2%E6%B5%8B%E8%AF%95/</id>
    <content src="/posts/%E5%A4%A7%E6%A8%A1%E5%9E%8B%E6%9C%AC%E5%9C%B0%E9%83%A8%E7%BD%B2%E6%B5%8B%E8%AF%95/" />
    <author>
      <name>ray.zhang</name>
    </author>

  
    
    <category term="AI" />
    
    <category term="大模型" />
    
  

  
    <summary>
      





      最近打算升级我的5080, 看5090很香。 但是不知道实际效果如何。于是突发奇想使用大模型测试一番看看效果

要看5090能干嘛，当然不能直接买，于是在AUTODL上面充值了100，试试水。

这里都是些主观性的测试，大家看看就好。主要测试的是酒馆的角色卡。

这里直接贴数据：

模型 qwen2.5:32b
首先是5090, 32gb的显存，虽然能用，但是上下文号称是32k, 但是实际拉到10K左右就爆内存了。

在酒馆方便，回答基本是不能用，毕竟加上世界书这些上下文太长了。经常答非所问

A100，80G显存

这个倒是上下文可以拉满，显存暂用约64GB， 但实际的回答还是显得有点脑残，感觉是理解能力不足。推理能力不够。玩不了酒馆

模型 qwen2.5:72b

这个5090不用想了，部署不了

A100可以部署，上下文拉满不可能，使用下来感觉是稍微能用的状态。实际情况还是由...
    </summary>
  

  </entry>

  
  <entry>
    <title>mybatis映射mysql_json字段</title>
    <link href="/posts/mybatis%E6%98%A0%E5%B0%84mysql_json%E5%AD%97%E6%AE%B5/" rel="alternate" type="text/html" title="mybatis映射mysql_json字段" />
    <published>2026-03-09T13:29:20+08:00</published>
  
    <updated>2026-03-09T22:21:20+08:00</updated>
  
    <id>/posts/mybatis%E6%98%A0%E5%B0%84mysql_json%E5%AD%97%E6%AE%B5/</id>
    <content src="/posts/mybatis%E6%98%A0%E5%B0%84mysql_json%E5%AD%97%E6%AE%B5/" />
    <author>
      <name>ray.zhang</name>
    </author>

  
    
    <category term="java" />
    
  

  
    <summary>
      





      阅读此文章可以解决的问题：


  mysql json 字段查询为null
  mybatis typehandler 查询返回为Null
  使用自定义 typehandler 查询返回 null


一个需求，很简单，需要储存图片，于是在 mysql 中我使用了 json 数据类型，想的是直接储存 List&amp;lt;String&amp;gt; ，很合理是吧。

所以先定义定义具体的typehandler转换器


import com.alibaba.fastjson2.JSON;
import org.apache.ibatis.type.BaseTypeHandler;
import org.apache.ibatis.type.JdbcType;
import org.apache.ibatis.type.MappedJdbcTypes;
import org.apache.ib...
    </summary>
  

  </entry>

  
  <entry>
    <title>账单生成代码</title>
    <link href="/posts/%E8%B4%A6%E5%8D%95%E7%94%9F%E6%88%90%E4%BB%A3%E7%A0%81/" rel="alternate" type="text/html" title="账单生成代码" />
    <published>2026-02-02T10:29:20+08:00</published>
  
    <updated>2026-02-02T10:42:17+08:00</updated>
  
    <id>/posts/%E8%B4%A6%E5%8D%95%E7%94%9F%E6%88%90%E4%BB%A3%E7%A0%81/</id>
    <content src="/posts/%E8%B4%A6%E5%8D%95%E7%94%9F%E6%88%90%E4%BB%A3%E7%A0%81/" />
    <author>
      <name>ray.zhang</name>
    </author>

  
    
    <category term="java" />
    
  

  
    <summary>
      





      最近公司做一个租房项目，其中有一个逻辑是账单账期生成。

比如租房押一付三，压2付5， 这类的需要根据租借时间生成账单和账期， 这里备注下，以备后用。

package org.example;

import lombok.Data;

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.util.ArrayList;
import java.util.List;


public class BillUtil {

  public static final String yyyyMMSimple = "yyyyMM";


  /**
   *
   * 根据起始和结束日期生成账单，...
    </summary>
  

  </entry>

  
  <entry>
    <title>python操作mysql数据库代码模版</title>
    <link href="/posts/python%E9%93%BE%E6%8E%A5mysql%E6%95%B0%E6%8D%AE%E5%BA%93%E4%BB%A3%E7%A0%81%E6%A8%A1%E7%89%88/" rel="alternate" type="text/html" title="python操作mysql数据库代码模版" />
    <published>2025-11-11T17:29:20+08:00</published>
  
    <updated>2025-11-11T17:29:20+08:00</updated>
  
    <id>/posts/python%E9%93%BE%E6%8E%A5mysql%E6%95%B0%E6%8D%AE%E5%BA%93%E4%BB%A3%E7%A0%81%E6%A8%A1%E7%89%88/</id>
    <content src="/posts/python%E9%93%BE%E6%8E%A5mysql%E6%95%B0%E6%8D%AE%E5%BA%93%E4%BB%A3%E7%A0%81%E6%A8%A1%E7%89%88/" />
    <author>
      <name>ray.zhang</name>
    </author>

  
    
    <category term="python" />
    
    <category term="代码模版" />
    
  

  
    <summary>
      





      这里只是一个代码模版, 记录了一些常用代码片段，方便copy

pymysql 操作mysql

import os

def dataparse(db):
    cur = db.cursor()
    # 执行的都是原生SQL语句
    cur.execute("SELECT * FROM t_rent_info")
    orders = cur.fetchall()
    for row in orders:
        # print(row['id'])
        orderno = row['order_no']

        am = None
        adate = None
        cur.execute("SELECT * FROM t_pay_order where type = 2 and status=2 and o...
    </summary>
  

  </entry>

  
  <entry>
    <title>https免费证书获取方式</title>
    <link href="/posts/https%E5%85%8D%E8%B4%B9%E8%AF%81%E4%B9%A6%E8%8E%B7%E5%8F%96%E6%96%B9%E5%BC%8F/" rel="alternate" type="text/html" title="https免费证书获取方式" />
    <published>2025-11-06T10:29:20+08:00</published>
  
    <updated>2025-11-15T09:54:18+08:00</updated>
  
    <id>/posts/https%E5%85%8D%E8%B4%B9%E8%AF%81%E4%B9%A6%E8%8E%B7%E5%8F%96%E6%96%B9%E5%BC%8F/</id>
    <content src="/posts/https%E5%85%8D%E8%B4%B9%E8%AF%81%E4%B9%A6%E8%8E%B7%E5%8F%96%E6%96%B9%E5%BC%8F/" />
    <author>
      <name>ray.zhang</name>
    </author>

  
    
    <category term="docker" />
    
    <category term="tls证书" />
    
  

  
    <summary>
      





      一般来说，小项目确实没有https证书需求的。

但是，在某些场景中（比如docker registry使用），就需要默认使用http证书，不然就需要增加安全信任配置， 一个两个还好，多了就麻烦了。

所以这里记录两个很简单的https证书获取方式（两种证书都是从Let’s Encrypt中签发，支持泛域名，默认有效期3个月，会自动续期）:

1. 使用acme.sh脚本获取证书

acme.sh 官网

简单的来说，这就是个linux脚本，安装后配置一下，就会自动获取证书，并且也会自动更新。还是很方便的。

首先下载安装acme.sh, 记得修改下邮箱地址

执行curl https://get.acme.sh | sh -s email=my@example.com

我这里是阿里云dns

接着切换到用户根目录,/root/.acme.sh,使用以下命令即可生产证书。这里为两个...
    </summary>
  

  </entry>

</feed>


