<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Wblog</title>
    <link>http://blog.wangsy.me</link>
    <description>Wblog,talk about golang,java and so on.</description>
    <managingEditor>wangsy0129@qq.com (wangsy)</managingEditor>
    <pubDate>Thu, 16 Apr 2026 02:31:19 +0800</pubDate>
    <item>
      <title>博客迁移</title>
      <link>http://blog.wangsy.me/post/53</link>
      <description>博客之路&#xA;&#xA;&#xA;2013年，我在CSDN开设了博客账号，主要用于记录编程过程中遇到的问题以及解决方法，陆续写到了2017年。&#xA;2017年，我开始学习Go语言，基于gin+gorm编写了wblog程序，一直沿用至今。由于wblog结构复杂、页面风格落后，在上面没什么写作的欲望。&#xA;2023年，在充分对比了几个静态博客引擎后，我决定使用hugo作为新的博客引擎，也就是您现在看到的这个站点。&#xA;&#xA;&#xA;工具选型&#xA;&#xA;&#xA;选择hugo主要原因有：&#xA;&#xA;&#xA;静态博客对服务器要求低、响应快&#xA;主题丰富，随意切换&#xA;博文与主题分离，专注内容创作&#xA;使用Go语言模板语法，方便进行简单修改&#xA;&#xA;&#xA;主题方面，经过对比选择了unknwon大...</description>
      <guid>http://blog.wangsy.me/post/53</guid>
      <pubDate>Thu, 16 Apr 2026 02:31:19 +0800</pubDate>
    </item>
    <item>
      <title>一些看似奇怪的代码</title>
      <link>http://blog.wangsy.me/post/52</link>
      <description>&#xA;github.com/jumpjumpbean/go-activiti-rest&#xA;&#xA;// NewRequest constructs a request&#xA;// Convert payload to a JSON&#xA;func (c *ActClient) NewRequest(method, url string, payload interface{}) (*http.Request, error) {&#xA;var buf io.Reader&#xA;if payload != nil {&#xA;    var b []byte&#xA;    b, err := json.Marshal(&amp;amp;payload)&#xA;...</description>
      <guid>http://blog.wangsy.me/post/52</guid>
      <pubDate>Thu, 16 Apr 2026 02:31:19 +0800</pubDate>
    </item>
    <item>
      <title>Navicat使用ssh隧道连接数据库问题</title>
      <link>http://blog.wangsy.me/post/51</link>
      <description>一、现象&#xA;&#xA;在跳板机上连接MySQL服务器可以正常连接，在客户机上使用Navicat通过ssh隧道连接，一直处于连接状态，也未出现报错信息。&#xA;&#xA;&#xA;二、环境&#xA;&#xA;&#xA;客户机&#xA;&#xA;&#xA;Windows 10&#xA;Navicat Premium 11.0.8&#xA;&#xA;跳板机&#xA;&#xA;&#xA;Centos 7&#xA;OpenSSH_7.4p1&#xA;&#xA;MySQL服务器&#xA;&#xA;&#xA;ubuntu0.18.04.1&#xA;5.7.37-0ubuntu0.18.04.1&#xA;&#xA;&#xA;&#xA;三、解决办法&#xA;&#xA;# 跳板机服务器，使用 SSH 通道 需要在 sshd_config 中加入以下配置&#xA;[root@mysql ~]# vim /etc/ssh/sshd_config&#xA;Kex...</description>
      <guid>http://blog.wangsy.me/post/51</guid>
      <pubDate>Thu, 16 Apr 2026 02:31:19 +0800</pubDate>
    </item>
    <item>
      <title>Java中的char类型</title>
      <link>http://blog.wangsy.me/post/50</link>
      <description>&#xA;昨天妹妹发来下面这段代码，问[2]处代码为什么输出的是99，不符合预期输出c，且类型也变了。&#xA;&#xA;public class Test {&#xA;&#xA;    public static void main(String[] args) {&#xA;        char[] array = new char[] { &amp;#39;a&amp;#39;, &amp;#39;b&amp;#39;, &amp;#39;c&amp;#39; };&#xA;        System.out.println(array[0]);&#xA;        System.out.println(array[1]);&#xA;        System.out.println(array...</description>
      <guid>http://blog.wangsy.me/post/50</guid>
      <pubDate>Thu, 16 Apr 2026 02:31:19 +0800</pubDate>
    </item>
    <item>
      <title>&lt;Ormer.QueryTable&gt; table name: `xxx` not exists</title>
      <link>http://blog.wangsy.me/post/48</link>
      <description>一、前言&#xA;&#xA;群里的兄弟提问，如果不使用beego/orm（下文使用orm代替）自动建表功能，能否使用orm的功能，答案肯定是可以的。接着这位兄弟发上来报错代码：&#xA;&#xA;panic: &amp;lt;Ormer.QueryTable&amp;gt; table name: `treasury` not exists&#xA;&#xA;goroutine 1 [running]:&#xA;github.com/astaxie/beego/orm.(*orm).QueryTable(0xc000004540, 0x75bb00, 0x8032a0, 0x661758, 0x7b7bbd)&#xA;    E:/Workspace/GoProject/...</description>
      <guid>http://blog.wangsy.me/post/48</guid>
      <pubDate>Thu, 16 Apr 2026 02:31:19 +0800</pubDate>
    </item>
    <item>
      <title>使用Golang计算App Store Connect API jwt token</title>
      <link>http://blog.wangsy.me/post/47</link>
      <description>一、背景&#xA;&#xA;QQ群里一位兄弟问到生成苹果开发平台API token的方法，我一看jwt我知道啊，不就是header、payload再用算法、秘钥签个名拼起来不就完了？&#xA;&#xA;二、碰壁&#xA;&#xA;&#xA;先阅读官方文档，得知计算jwt的步骤&#xA;&#xA;&#xA;创建header，包含alg（签名算法）、typ（token类型）、kid（苹果后台获取到的私钥id），示例：&#xA;&#xA;&#xA; {&#xA; &amp;#34;alg&amp;#34;: &amp;#34;ES256&amp;#34;, // 签名算法&#xA; &amp;#34;kid&amp;#34;: &amp;#34;2X9R4HXF34&amp;#34;, // 苹果后台获取到的私钥id&#xA; &amp;#34;typ&amp;#34;: &amp;#34;JWT&amp;#34; /...</description>
      <guid>http://blog.wangsy.me/post/47</guid>
      <pubDate>Thu, 16 Apr 2026 02:31:19 +0800</pubDate>
    </item>
    <item>
      <title>2019年开工大吉</title>
      <link>http://blog.wangsy.me/post/44</link>
      <description>  其实昨天就开始上班了，但是还是蹭个“开工大吉”的热度。&#xA;  早在去年10月份就收到七牛云发来的测试域名回收邮件，但是由于懒一直没处理。今年1月8号想起来处理迁移七牛云上的图片文件，由于测试域名已回收，文件无法直接下载，花了点时间才把图片下载下来。具体下载过程随后会单独记录一篇文章。&#xA;  现在图片服务器有七牛云更换为sm.ms，再次对sm.ms表示感谢！七牛云上的所有图片均已迁移到了sm.ms上（说是迁移，实际就是手动一张张替换的，还好我的图片不算多），终于可以对挂了近三个月的图片说拜拜了！&#xA;  现在对controller代码做了大量改进，当然也还遗留了一些问题，我会进一步完善。&#xA;  新的一...</description>
      <guid>http://blog.wangsy.me/post/44</guid>
      <pubDate>Thu, 16 Apr 2026 02:31:19 +0800</pubDate>
    </item>
    <item>
      <title>Go常见问题记录</title>
      <link>http://blog.wangsy.me/post/43</link>
      <description>&#xA;局部变量未成功赋值到全局变量&#xA;&#xA;var engine *xorm.Engine&#xA;&#xA;func init(){&#xA;    engine, err := xorm.NewEngine(&amp;#34;sqlite3&amp;#34;, &amp;#34;./test.db&amp;#34;)&#xA;}&#xA;&#xA;&#xA;由于init方法内使用:=符号，所以engine和err均为新定义的局部变量，engine并未成功赋值到全局变量，修改方法如下：&#xA;&#xA;var engine *xorm.Engine&#xA;&#xA;func init(){&#xA;    var err error&#xA;    engine, err = xorm.NewEngine(&amp;#34;sqlite3...</description>
      <guid>http://blog.wangsy.me/post/43</guid>
      <pubDate>Thu, 16 Apr 2026 02:31:19 +0800</pubDate>
    </item>
    <item>
      <title>MySQL保存emoji表情</title>
      <link>http://blog.wangsy.me/post/42</link>
      <description>emoji表情需要使用utf8mb4&#xA;1. 需要修改数据库服务器编码格式&#xA;&#xA;[mysqld]&#xA;character-set-server = utf8mb4&#xA;&#xA;&#xA;&#xA;修改数据库对应字段为utf8mb4编码&#xA;&#xA;ALTER TABLE `wechat_user`&#xA;MODIFY COLUMN `NICKNAME`  varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT &amp;#39;昵称&amp;#39; AFTER `OPENID`;&#xA;&#xA;&#xA;...</description>
      <guid>http://blog.wangsy.me/post/42</guid>
      <pubDate>Thu, 16 Apr 2026 02:31:19 +0800</pubDate>
    </item>
    <item>
      <title>解决Eclipse Plugin-in项目无法右键添加扩展点的问题</title>
      <link>http://blog.wangsy.me/post/41</link>
      <description>闲来无事，学习下开发Eclipse插件的方法，参照博客园eclipse插件编写按部就班地学习。但是到了第二步添加扩展点时右键点击无效&#xA;    &#xA;    仔细查看页面上的内容，发现有警告信息&#xA;    &#xA;    依据警告信息找到了解决办法no-schema-found-for-the-org-eclipse-ui-menus-extension-point&#xA;    &#xA;    &#xA;    最终顺利解决问题，感谢分享。&#xA;...</description>
      <guid>http://blog.wangsy.me/post/41</guid>
      <pubDate>Thu, 16 Apr 2026 02:31:19 +0800</pubDate>
    </item>
    <item>
      <title>MySQL升级记录</title>
      <link>http://blog.wangsy.me/post/37</link>
      <description>&#xA;最近公司项目运行的服务器被扫描出MySQL Server漏洞，部分漏洞如下 &#xA;解决办法是获取厂商提供过的补丁，我看漏洞大多描述在5.7.x版本前存在这个问题，所以我简单粗暴处理，升级MySQL。&#xA;下载MySQL安装包，打开官网，MySQL都到8.0.x了。因为之前没做过相关调研，所以仍然使用5.7，下载地址&#xA;关闭web服务器，备份数据（不重要的数据可以不备份，版本升级不会导致数据丢失）&#xA;&#xA;关闭mysql服务&#xA;&#xA;service mysqld stop&#xA;&#xA;&#xA;查看已安装mysql&#xA;&#xA;rpm -qa | grep mysql&#xA;&#xA;&#xA;根据顺序从特殊到一般卸载软件，使用命令&#xA;&#xA;rpm -e –-nodep...</description>
      <guid>http://blog.wangsy.me/post/37</guid>
      <pubDate>Thu, 16 Apr 2026 02:31:19 +0800</pubDate>
    </item>
    <item>
      <title>解决Android7共享文件编辑后无法保存的问题</title>
      <link>http://blog.wangsy.me/post/34</link>
      <description>一、问题来源&#xA;&#xA;&#xA;最近项目上有个需求，需要使用Adobe Acrobat Reader打开PDF文件。文件可以正常打开，但是如果对文件进行批注，则无法保存至原文件路径。文件被保存到Acrobat软件内部：&#xA;&#xA;&#xA;&#xA;二、解决思路&#xA;&#xA;&#xA;使用file://方式打开PDF文件，可以正常打开和保存，前提条件是Android编译版本要在Android N(24)以下。示例代码：&#xA;&#xA;public void openPDF(){&#xA;    File targetFile = new File(Environment.getExternalStorageDirectory().getPath()+&amp;#34;/ynA...</description>
      <guid>http://blog.wangsy.me/post/34</guid>
      <pubDate>Thu, 16 Apr 2026 02:31:19 +0800</pubDate>
    </item>
    <item>
      <title>MySQL常见问题记录</title>
      <link>http://blog.wangsy.me/post/32</link>
      <description>&#xA;数据库字段设置为double类型，但是插入数据后只显示整数部分，不显示小数部分&#xA;&#xA;&#xA;将字段长度设置为0&#xA;&#xA;&#xA;...</description>
      <guid>http://blog.wangsy.me/post/32</guid>
      <pubDate>Thu, 16 Apr 2026 02:31:19 +0800</pubDate>
    </item>
    <item>
      <title>datagrid加载完成后查询框被重新加载</title>
      <link>http://blog.wangsy.me/post/29</link>
      <description>一. 问题描述&#xA;&#xA;&#xA;当datagrid数据加载完成后查询框的日期会被重置&#xA;首先确定没调用过重置查询框代码；仅发送post请求，没有重新请求页面；数据加载完后未刷新页面。&#xA;&#xA;&#xA;二. 问题代码&#xA;&#xA;&#xA;&amp;lt;div id=&amp;#34;crud_datagrid_toolbar&amp;#34;&amp;gt;&#xA;    &amp;lt;div class=&amp;#34;query-arae&amp;#34;&amp;gt;&#xA;        &amp;lt;form id=&amp;#34;query_form&amp;#34; method=&amp;#34;post&amp;#34; novalidate style=&amp;#34;display:inline-block&amp;#34;&amp;gt...</description>
      <guid>http://blog.wangsy.me/post/29</guid>
      <pubDate>Thu, 16 Apr 2026 02:31:19 +0800</pubDate>
    </item>
    <item>
      <title>解决无法修改ionic $http content-type的问题</title>
      <link>http://blog.wangsy.me/post/27</link>
      <description>一、问题描述&#xA;&#xA;&#xA;当我在使用ionic发送post请求时，无论是设置全局Content-Type还是单个请求的Content-Type在发送请求时均不会带Content-Type信息。&#xA;ionic版本：v1.3.3&#xA;&#xA;我的代码：&#xA;&#xA;$http({&#xA;  method: &amp;#34;POST&amp;#34;,&#xA;  url: &amp;#34;http://localhost:8080/api/v1/listfile&amp;#34;,&#xA;}).success(function(result) {&#xA;&#xA;}).error(function(error) {&#xA;&#xA;});&#xA;&#xA;&#xA;二、原因&#xA;&#xA;如果post请求未设置请求参数，Content...</description>
      <guid>http://blog.wangsy.me/post/27</guid>
      <pubDate>Thu, 16 Apr 2026 02:31:19 +0800</pubDate>
    </item>
    <item>
      <title>vue-electron-music项目运行记录</title>
      <link>http://blog.wangsy.me/post/24</link>
      <description>vue-electron-music&#xA;&#xA;$ node -v&#xA;v8.9.4&#xA;$ npm -v&#xA;5.6.0&#xA;&#xA;&#xA;项目安装&#xA;&#xA;&#xA;下载项目&#xA;&#xA;$ git clone https://github.com/eugeneCN/vue-electron-music&#xA;&#xA;&#xA;&#xA;运行API服务&#xA;shell&#xA;$ cd vue-electron-music/api&#xA;$ npm install&#xA;$ npm start&#xA;&#xA;&#xA;&#xA;运行客户端&#xA;&#xA;$ cd vue-electron-music&#xA;$ cnpm install&#xA;$ npm run dev&#xA;&#xA;&#xA;&#xA;Module not found: Error: Can’t resolv...</description>
      <guid>http://blog.wangsy.me/post/24</guid>
      <pubDate>Thu, 16 Apr 2026 02:31:19 +0800</pubDate>
    </item>
    <item>
      <title>Result Maps collection already contains value for xx.xx.xx.XrElectionResultDao.BaseResultMap</title>
      <link>http://blog.wangsy.me/post/21</link>
      <description>问题描述&#xA;&#xA;在使用mybatis编写自定义sql是报Result Maps collection already contains value for xx.xx.xx.XrElectionResultDao.BaseResultMap错&#xA;&#xA;&#xA;解决办法&#xA;&#xA;&#xA;返回值类型不正确&#xA;使用&#xA;&#xA;&amp;lt;select id=&amp;#34;xxx&amp;#34; resultType=&amp;#34;BaseResultMap&amp;#34;&amp;gt;&amp;lt;/select&amp;gt;&#xA;&#xA;&#xA;改为&#xA;&#xA;&amp;lt;select id=&amp;#34;xxx&amp;#34; resultMap=&amp;#34;BaseResultMap&amp;#34;&amp;gt;&amp;lt;/...</description>
      <guid>http://blog.wangsy.me/post/21</guid>
      <pubDate>Thu, 16 Apr 2026 02:31:19 +0800</pubDate>
    </item>
    <item>
      <title>使用Freemarker显示datatime-local控件</title>
      <link>http://blog.wangsy.me/post/17</link>
      <description>&#xA;使用Freemarker显示时间有很多种方式&#xA;&#xA;${reachTime?date!}&#xA;${reachTime?datetime!}&#xA;${reachtime?string(&amp;#34;yyyy-MM-dd HH:mm&amp;#34;)!}&#xA;&#xA;&#xA;&#xA;datetime-local所需要的时间格式是yyyy-MM-ddThh:mm:ss&#xA;那简单了，直接${reachtime?string(“yyyy-MM-ddTHH:mm”)!}。但是后台无情地报错了，&#xA;原因很简单，Freemarker不知道“T”是个什么东东。&#xA;&#xA;直接给出解决办法吧&#xA;先将Freemarker时间转为时间戳，前端转化为yyyy-MM-ddTh...</description>
      <guid>http://blog.wangsy.me/post/17</guid>
      <pubDate>Thu, 16 Apr 2026 02:31:19 +0800</pubDate>
    </item>
    <item>
      <title>[项目部署]使用Shell脚本简化部署操作</title>
      <link>http://blog.wangsy.me/post/15</link>
      <description>&#xA;先说下部署Java项目的一般操作&#xA;&#xA;&#xA;停掉tomcat服务器&#xA;使用新的的ROOT.war，替换旧的ROOT.war&#xA;启动tomcat&#xA;&#xA;&#xA;接着说下我遇到的问题&#xA;&#xA;&#xA;环境变量繁多，有开发环境、本地环境、测试环境、生产环境。每次部署需要手动将正在使用的环境变量换为正式环境，太麻烦！&#xA;有一个40M+的zip说明文档几乎没变过，然而我的所有代码也才60M+，每次上传说明文档浪费资源&#xA;&#xA;所以我的一般操作就是&#xA;&#xA;# cd /opt/apache-tomcat/webapps&#xA;# service tomcat stop&#xA;# rm -rf /opt/apache-tomcat/webapps/*&#xA;# cp ...</description>
      <guid>http://blog.wangsy.me/post/15</guid>
      <pubDate>Thu, 16 Apr 2026 02:31:19 +0800</pubDate>
    </item>
    <item>
      <title>搬瓦工的购买及基本使用(多图慎入！)</title>
      <link>http://blog.wangsy.me/post/13</link>
      <description>搬瓦工的购买&#xA;&#xA;&#xA;访问http://banwagong.cn/，找到合适的主机&#xA;&#xA;选择付费方式及机房位置&#xA;&#xA;填入优惠码BWH1ZBPVK，这个是在搬瓦工中文网上看到的&#xA;&#xA;如果没有搬瓦工账号需要注册一个，有就直接登录&#xA;&#xA;付款。选择Alipay，直接支付宝支付&#xA;&#xA;坐等一大波邮件轰炸。支付成功后系统会发邮件通知购买成功，并告知服务器IP、端口、密码&#xA;&#xA;&#xA;...</description>
      <guid>http://blog.wangsy.me/post/13</guid>
      <pubDate>Thu, 16 Apr 2026 02:31:19 +0800</pubDate>
    </item>
    <item>
      <title>git学习笔记</title>
      <link>http://blog.wangsy.me/post/12</link>
      <description>&#xA;忽略文件夹，保留文件夹中的某个文件。*一定不能省&#xA;&#xA;/vendor/*&#xA;!/vendor/vendor.json&#xA;&#xA;&#xA;&#xA;&#xA;...</description>
      <guid>http://blog.wangsy.me/post/12</guid>
      <pubDate>Thu, 16 Apr 2026 02:31:19 +0800</pubDate>
    </item>
    <item>
      <title>golang项目部署到到linux系统</title>
      <link>http://blog.wangsy.me/post/11</link>
      <description>&#xA;编译&#xA;通常情况下使用golang的交叉编译就能搞定，设置GOARCH、GOOS变量。&#xA;如果项目使用了cgo，就必须回到目标平台进行编译了，因为cgo不是跨平台的。比如wblog就是这样进行编译的。&#xA;部署&#xA;将1中编译得到的可执行文件上传到服务器指定目录&#xA;chmod 777 wblog&#xA;./wblog&#xA;&#xA;&#xA;如果需要后台运行，使用nohup ./wblog &amp;amp;&amp;gt;wblog.log&amp;amp;&#xA;&#xA;部署成功&#xA;&#xA;...</description>
      <guid>http://blog.wangsy.me/post/11</guid>
      <pubDate>Thu, 16 Apr 2026 02:31:19 +0800</pubDate>
    </item>
    <item>
      <title>beego动态注册路由的实现</title>
      <link>http://blog.wangsy.me/post/10</link>
      <description>...</description>
      <guid>http://blog.wangsy.me/post/10</guid>
      <pubDate>Thu, 16 Apr 2026 02:31:19 +0800</pubDate>
    </item>
    <item>
      <title>自动化部署JavaWeb项目到服务器</title>
      <link>http://blog.wangsy.me/post/9</link>
      <description>&#xA;如果能用代码实现的，我绝不动手。如果同一件操作你干了很多遍，那真该考虑下写程序了。&#xA;&#xA;主要原理&#xA;&#xA;&#xA;编程程序将需要部署的代码打包，并且通过sftp客户端将部署包上传的服务器指定路径，然后使用ssh客户端执行部署脚本。&#xA;如果需要与服务器进行交互的，比如&#xA;&#xA;需要经过Server A进行中转，这个时候涉及到服务器之间的文件拷贝，我们需要用到expect。不知道expect的请自行Google&#xA;&#xA;&#xA;...</description>
      <guid>http://blog.wangsy.me/post/9</guid>
      <pubDate>Thu, 16 Apr 2026 02:31:19 +0800</pubDate>
    </item>
    <item>
      <title>使用archiver.Zip在Windows上压缩的文件上传到Linux上，解压文件丢失</title>
      <link>http://blog.wangsy.me/post/8</link>
      <description>...</description>
      <guid>http://blog.wangsy.me/post/8</guid>
      <pubDate>Thu, 16 Apr 2026 02:31:19 +0800</pubDate>
    </item>
    <item>
      <title>记一次Golang代码重构</title>
      <link>http://blog.wangsy.me/post/7</link>
      <description>重构之前：&#xA;&#xA;func Upload(c *gin.Context) {&#xA;    file, _, err := c.Request.FormFile(&amp;#34;file&amp;#34;)&#xA;    if err != nil {&#xA;        c.JSON(http.StatusOK, gin.H{&#xA;            &amp;#34;message&amp;#34;: err.Error(),&#xA;        })&#xA;    } else {&#xA;        //filename := header.Filename&#xA;        //fmt.Println(filename)&#xA;        key, ...</description>
      <guid>http://blog.wangsy.me/post/7</guid>
      <pubDate>Thu, 16 Apr 2026 02:31:19 +0800</pubDate>
    </item>
    <item>
      <title>golang截取字符串</title>
      <link>http://blog.wangsy.me/post/6</link>
      <description>//截取字符串 start 起点下标 length 需要截取的长度&#xA;func Substr(str string, start int, length int) string {&#xA;    rs := []rune(str)&#xA;    rl := len(rs)&#xA;    end := 0&#xA;&#xA;    if start &amp;lt; 0 {&#xA;        start = rl - 1 + start&#xA;    }&#xA;    end = start + length&#xA;&#xA;    if start &amp;gt; end {&#xA;        start, end = end, start&#xA;    }&#xA;&#xA;    if s...</description>
      <guid>http://blog.wangsy.me/post/6</guid>
      <pubDate>Thu, 16 Apr 2026 02:31:19 +0800</pubDate>
    </item>
    <item>
      <title>JavaScript通过key对map值进行排序</title>
      <link>http://blog.wangsy.me/post/5</link>
      <description>&#xA;我们知道map是无序的，想对map进行排序，就得进行相应的转化。&#xA;&#xA;function sortMap(){&#xA;    var hashmap = {&amp;#34;2&amp;#34;:&amp;#34;javascript&amp;#34;,&amp;#34;1&amp;#34;:&amp;#34;java&amp;#34;,&amp;#34;5&amp;#34;:&amp;#34;golang&amp;#34;,&amp;#34;8&amp;#34;:&amp;#34;lua&amp;#34;};&#xA;    console.log(hashmap);&#xA;    var keys = new Array();&#xA;    for(var key in hashmap){&#xA;            keys.push(key)...</description>
      <guid>http://blog.wangsy.me/post/5</guid>
      <pubDate>Thu, 16 Apr 2026 02:31:19 +0800</pubDate>
    </item>
    <item>
      <title>使用inputStream.available()导致下载图片不完整的解决办法</title>
      <link>http://blog.wangsy.me/post/4</link>
      <description>由于项目需要从文件服务器下载图片，然后导出word文件。比如下载这张图片：&#xA;&#xA;&#xA;public class ImageDownloader {&#xA;&#xA;    public static void main(String[]args) throws IOException{&#xA;        &#xA;        URL url = new URL(&amp;#34;http://img4.duitang.com/uploads/item/201504/25/20150425H4628_NHPX8.jpeg&amp;#34;);&#xA;        InputStream inputStream = url.openStrea...</description>
      <guid>http://blog.wangsy.me/post/4</guid>
      <pubDate>Thu, 16 Apr 2026 02:31:19 +0800</pubDate>
    </item>
    <item>
      <title>关于golang中间件的理解</title>
      <link>http://blog.wangsy.me/post/3</link>
      <description>其实只是测试文章归档啦~&#xA;...</description>
      <guid>http://blog.wangsy.me/post/3</guid>
      <pubDate>Thu, 16 Apr 2026 02:31:19 +0800</pubDate>
    </item>
    <item>
      <title>Bad Smell Code</title>
      <link>http://blog.wangsy.me/post/2</link>
      <description>&#xA;无用代码&#xA;&#xA;public XrCadre findUpdate(String id) {&#xA;ServiceResult&amp;lt;String&amp;gt; ret = new ServiceResult&amp;lt;String&amp;gt;();&#xA;XrCadre xrCadre = xrCadreMapper.selectByPrimaryKey(id);&#xA;if (xrCadre != null) {&#xA;    return xrCadre;&#xA;} else {&#xA;    return null;&#xA;}&#xA;}&#xA;&#xA;&#xA;&#xA;方法名、参数名语义不明确&#xA;java&#xA;public List&amp;lt;XrCandidateFamily&amp;gt...</description>
      <guid>http://blog.wangsy.me/post/2</guid>
      <pubDate>Thu, 16 Apr 2026 02:31:19 +0800</pubDate>
    </item>
  </channel>
</rss>