<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[fishjam的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/fishjam</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; fishjam]]></copyright><item><title><![CDATA[使用 AI 对 QT应用程序进行翻译]]></title><link>https://blog.youkuaiyun.com/fishjam/article/details/151935313</link><guid>https://blog.youkuaiyun.com/fishjam/article/details/151935313</guid><author>fishjam</author><pubDate>Sun, 21 Sep 2025 21:59:41 +0800</pubDate><description><![CDATA[之前应朋友要求，帮其对进行二次开发，其中一个要求是“汉化”。看了一下，虽然官方也有翻译，但还有很多没有翻译，如果要人工来做的话，纯属体力劳动。不如让 AI 帮着翻译。经过一番调查和测试，找到了翻译QT的.ts文件的方法和流程。总共不到两天时间就将95%以上的文字翻译成功。大大节省我的工作量。。之后虽然因为朋友有其他的解决方案，最后没有采用QGC。因此我也就不再需要对其保密，因此将相关信息共享并开源。]]></description><category></category></item><item><title><![CDATA[Scratch 消灭字母小游戏]]></title><link>https://blog.youkuaiyun.com/fishjam/article/details/144382171</link><guid>https://blog.youkuaiyun.com/fishjam/article/details/144382171</guid><author>fishjam</author><pubDate>Tue, 10 Dec 2024 20:47:34 +0800</pubDate><description><![CDATA[最近尝试一边自学Scratch，一边尝试教给小孩，看他打字时在键盘上乱打一气，想起来自己小时候玩过的学习机打字母游戏，就想给他下载一个。结果网上看到的代码，要么质量太差（有26个字母就要写 26 个判断，会把小孩水平教坏 😦 ），要么还要收钱才能下载。就决定自己写一个。]]></description><category></category></item><item><title><![CDATA[[开源重构]Search(Elasticsearch/OpenSearch) Sync Tool]]></title><link>https://blog.youkuaiyun.com/fishjam/article/details/143836573</link><guid>https://blog.youkuaiyun.com/fishjam/article/details/143836573</guid><author>fishjam</author><pubDate>Tue, 19 Nov 2024 07:32:34 +0800</pubDate><description><![CDATA[在不同的 Elasticsearch/OpenSearch 集群之间同步数据]]></description><category></category></item><item><title><![CDATA[[Go]通用的 MapReduce 工具函数]]></title><link>https://blog.youkuaiyun.com/fishjam/article/details/142024194</link><guid>https://blog.youkuaiyun.com/fishjam/article/details/142024194</guid><author>fishjam</author><pubDate>Sun, 08 Sep 2024 12:21:11 +0800</pubDate><description><![CDATA[在 Go 语言中实现基于泛型的 map-reduce 和纤程池]]></description><category></category></item><item><title><![CDATA[Go父类调用子类方法(虚函数调用)]]></title><link>https://blog.youkuaiyun.com/fishjam/article/details/141726351</link><guid>https://blog.youkuaiyun.com/fishjam/article/details/141726351</guid><author>fishjam</author><pubDate>Fri, 30 Aug 2024 20:58:13 +0800</pubDate><description><![CDATA[Go中实现虚函数调用(父类调用子类)]]></description><category></category></item><item><title><![CDATA[[GO]使用 CSTD(Code Self Test Development) 技术方式处理 error]]></title><link>https://blog.youkuaiyun.com/fishjam/article/details/135921226</link><guid>https://blog.youkuaiyun.com/fishjam/article/details/135921226</guid><author>fishjam</author><pubDate>Mon, 29 Jan 2024 21:44:28 +0800</pubDate><description><![CDATA[背景知识

在以前使用 VC 开发代码时，微软提供了 ASSERT 和 VERIFY 宏，其在调试环境下能比较方便的发现问题。我基于此设计了 CSTD(Code Self Test Development) 和 API_VERIFY , COM_VERIFY 等宏帮助我开发了几乎 0bug 的 C/C++ 代码.
在使用 go 语言开发时, 发现系统也是采用返回 error 的方式进行错误的处理, 而且不像 java, python 等使用异常。因此被戏称为 一半时间写代码,一半时间处理错误。

Error]]></description><category></category></item><item><title><![CDATA[[GO]使用 Multi Part上传超过4G的大文件(全球首创)]]></title><link>https://blog.youkuaiyun.com/fishjam/article/details/135732492</link><guid>https://blog.youkuaiyun.com/fishjam/article/details/135732492</guid><author>fishjam</author><pubDate>Mon, 22 Jan 2024 20:54:58 +0800</pubDate><description><![CDATA[go 使用 multi part 协议上传大文件(4G+)]]></description><category></category></item><item><title><![CDATA[华为商城秒杀时加密验证 device_data 的算法研究]]></title><link>https://blog.youkuaiyun.com/fishjam/article/details/135304213</link><guid>https://blog.youkuaiyun.com/fishjam/article/details/135304213</guid><author>fishjam</author><pubDate>Sat, 30 Dec 2023 13:47:34 +0800</pubDate><description><![CDATA[华为商城秒杀 device_data 数据的加解密算法]]></description><category></category></item><item><title><![CDATA[使用 curl multi interface 编写的高性能封装类和示例]]></title><link>https://blog.youkuaiyun.com/fishjam/article/details/128721030</link><guid>https://blog.youkuaiyun.com/fishjam/article/details/128721030</guid><author>fishjam</author><pubDate>Tue, 17 Jan 2023 21:42:49 +0800</pubDate><description><![CDATA[libcurl multi interface 的简单封装和demo, 使用 MultiPart 的 POST 上传 600+文件, 仅耗时 4~6 秒]]></description><category></category></item><item><title><![CDATA[一次"Connection Reset"的根因和修改方式调查]]></title><link>https://blog.youkuaiyun.com/fishjam/article/details/84259679</link><guid>https://blog.youkuaiyun.com/fishjam/article/details/84259679</guid><author>fishjam</author><pubDate>Wed, 21 Nov 2018 20:43:14 +0800</pubDate><description><![CDATA[在实际工作中遇到一次 Connection Reset 问题，确认了问题的根因和最佳修改方式，并编写了一些可以重用的检测工具]]></description><category></category></item><item><title><![CDATA[开源:通用的日志分析工具(LogViewer)]]></title><link>https://blog.youkuaiyun.com/fishjam/article/details/80861529</link><guid>https://blog.youkuaiyun.com/fishjam/article/details/80861529</guid><author>fishjam</author><pubDate>Fri, 29 Jun 2018 20:27:28 +0800</pubDate><description><![CDATA[工具介绍

本工具最早是制作出来查看我的 FTL(Fast Trace Log) 二进制日志文件的, 后来因为去做Java后台,经常看 SpringBoot, Tomcat 等的日志, 就简单重构了一下, 从而支持通过正则来通用的分析日志.





LogViewer


一个通用的日志查看器. 可以通过用户配置的正则表达式解析文本格式的日志文件(如 Spring-Boot, Android, ...]]></description><category></category></item><item><title><![CDATA[Java 线程池(ThreadPoolExecutor)的自动调整策略分析]]></title><link>https://blog.youkuaiyun.com/fishjam/article/details/79079781</link><guid>https://blog.youkuaiyun.com/fishjam/article/details/79079781</guid><author>fishjam</author><pubDate>Tue, 16 Jan 2018 22:13:07 +0800</pubDate><description><![CDATA[前言： 
  最近分析Java源码,对Java的线程池有一些疑惑，特提出来，希望大家能一起讨论确认一下。


Java提供了线程池, ThreadPoolExecutor 实现，可以在 corePoolSize 和 maximumPoolSize 中自动根据传入的任务数自动调整。
注释中有这样一段话:


If there are more than corePoolSize but less t]]></description><category></category></item><item><title><![CDATA[最简单的调试学习Hadoop Examples的方法]]></title><link>https://blog.youkuaiyun.com/fishjam/article/details/52262808</link><guid>https://blog.youkuaiyun.com/fishjam/article/details/52262808</guid><author>fishjam</author><pubDate>Sat, 20 Aug 2016 20:35:39 +0800</pubDate><description><![CDATA[本文介绍了直接在IDE(Idea中进行，但适用于Eclipse)中调试Hadoop Examples中的一个简单方法，能轻松通过调试示例的方式来学习其使用方式]]></description><category></category></item><item><title><![CDATA[ssh免密码登录的最佳实践(Ubuntu 16.4 + CentOs 6 中验证通过)]]></title><link>https://blog.youkuaiyun.com/fishjam/article/details/52225796</link><guid>https://blog.youkuaiyun.com/fishjam/article/details/52225796</guid><author>fishjam</author><pubDate>Wed, 17 Aug 2016 22:47:27 +0800</pubDate><description><![CDATA[本文介绍了通过命令行脚本，批量配置集群中大量机器的ssh免密码登录的配置方式]]></description><category></category></item><item><title><![CDATA[命令行编辑XML的最佳实践(修改版xmlstarlet)]]></title><link>https://blog.youkuaiyun.com/fishjam/article/details/52215958</link><guid>https://blog.youkuaiyun.com/fishjam/article/details/52215958</guid><author>fishjam</author><pubDate>Mon, 15 Aug 2016 23:35:11 +0800</pubDate><description><![CDATA[本文介绍了通过修改后的 xmlstarlet 来在shell脚本中直接修改 XML（增加复杂的子节点，属性等）]]></description><category></category></item><item><title><![CDATA[搜索jar包(binary和sources)中的代码]]></title><link>https://blog.youkuaiyun.com/fishjam/article/details/52164808</link><guid>https://blog.youkuaiyun.com/fishjam/article/details/52164808</guid><author>fishjam</author><pubDate>Wed, 10 Aug 2016 21:25:53 +0800</pubDate><description><![CDATA[背景介绍       有的时候, 我们调试运行一个带了很多 jar 包的Java程序时,通过日志等方式发现一些感兴趣的信息，但无法定位具体的代码位置。比如我在维护一个转交过来的老项目代码(原有开发者都找不到了。。。)时遇到如下情况：xwork中通过 Interceptor 进行了登录拦截，因为是使用debug服务器，在访问任何页面时都会提示验证登录失败，并输出验证失败的日志，但不清楚具体是哪个jar]]></description><category></category></item><item><title><![CDATA[使用SWT+WinBuilder制作JavaDemo程序]]></title><link>https://blog.youkuaiyun.com/fishjam/article/details/50531594</link><guid>https://blog.youkuaiyun.com/fishjam/article/details/50531594</guid><author>fishjam</author><pubDate>Sun, 17 Jan 2016 13:26:42 +0800</pubDate><description><![CDATA[(代码下载地址：http://download.youkuaiyun.com/detail/fishjam/9407273)


最近在学习Java相关的知识，按照我学习的一贯做法，都是通过 UT + Demo 的方式来学习、测试和记录笔记。因此，希望能制作出一个比较容易增加测试项的GUI测试程序，方便测试各种学习点。
通过学习研究，发现参照Eclipse 自带的 ControlExample SWT]]></description><category></category></item><item><title><![CDATA[[Go语言学习]之一:搭建单元测试环境]]></title><link>https://blog.youkuaiyun.com/fishjam/article/details/9237467</link><guid>https://blog.youkuaiyun.com/fishjam/article/details/9237467</guid><author>fishjam</author><pubDate>Wed, 03 Jul 2013 21:20:54 +0800</pubDate><description><![CDATA[简单介绍Go中的测试环境搭建方法，大家在学习Go语言时可以一边写笔记，一边进行测试，从而加强理解。]]></description><category></category></item><item><title><![CDATA[服务程序性能优化之另辟蹊径]]></title><link>https://blog.youkuaiyun.com/fishjam/article/details/8975788</link><guid>https://blog.youkuaiyun.com/fishjam/article/details/8975788</guid><author>fishjam</author><pubDate>Sun, 26 May 2013 12:12:20 +0800</pubDate><description><![CDATA[前言：
    很久没写文章了，因为最近和朋友讨论问题时说到了性能优化这个话题，特将我之前解决一个linux下服务器性能问题的思路和方式共享一下。
背景：
    基本需求如下：在Linux下，有一台数据处理服务器，需要从网络上的很多节点获取信息，并按照管理员的要求进行分析和过滤，然后保存结果等待二次处理（从业务逻辑上，可以认为是网监部门从各位的QQ聊天中分析关键字，发现特别之处进行关注或请]]></description><category></category></item><item><title><![CDATA[一个可以重用的线程安全生产者消费者队列类]]></title><link>https://blog.youkuaiyun.com/fishjam/article/details/8832145</link><guid>https://blog.youkuaiyun.com/fishjam/article/details/8832145</guid><author>fishjam</author><pubDate>Sun, 21 Apr 2013 21:51:21 +0800</pubDate><description><![CDATA[生产者、消费者队列的代码和文档和例子，优快云或别的网站上已经有很多了，我就不再多说了。不过一般的文档中给出的例子往往只是“例子”，要用于实际的项目开发中差的很远，共享一下我以前写的一个线程安全的生产者消费者队列类。具有如下特点：
1.可以设置队列中的最大长度；
        2.线程安全；
       3.多线程想向队列中放入数据时，可设置等待队列有空位的超时时间，当有空位时，等待线程]]></description><category></category></item></channel></rss>