<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[haofangkiller的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/haofangkiller</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; haofangkiller]]></copyright><item><title><![CDATA[Winform集成http服务]]></title><link>https://blog.youkuaiyun.com/haofangkiller/article/details/155575248</link><guid>https://blog.youkuaiyun.com/haofangkiller/article/details/155575248</guid><author>haofangkiller</author><pubDate>Thu, 04 Dec 2025 17:04:03 +0800</pubDate><description><![CDATA[最近有个需求是上位机对接PLC,第三方软件与上位机通过API方式对接，发送命令使上位执行一些操作，于是做了一个winform集成http服务的模块，供大家参考。]]></description><category></category></item><item><title><![CDATA[一键变更远程桌面端口号]]></title><link>https://blog.youkuaiyun.com/haofangkiller/article/details/148257347</link><guid>https://blog.youkuaiyun.com/haofangkiller/article/details/148257347</guid><author>haofangkiller</author><pubDate>Tue, 27 May 2025 14:46:47 +0800</pubDate><description><![CDATA[【代码】一键变更远程桌面端口号。]]></description><category></category></item><item><title><![CDATA[redis windows 后台运行]]></title><link>https://blog.youkuaiyun.com/haofangkiller/article/details/146524261</link><guid>https://blog.youkuaiyun.com/haofangkiller/article/details/146524261</guid><author>haofangkiller</author><pubDate>Wed, 26 Mar 2025 11:32:58 +0800</pubDate><description><![CDATA[通常在windows环境下运行redis命令：redis-server.exe  redis.windows.conf，这样会有一个控制台窗口，如果不小心关掉了，redis服务就会中断。其中redis.windows.conf是你的Redis配置文件（如果有的话），RedisServiceName是你希望为服务命名的名称，配置一下环境变量，就可以任意路径下使用以下命令。安装Redis：首先，确保你已经在Windows上安装了Redis。可以从Redis官方网站下载适用于Windows的版本。]]></description><category></category></item><item><title><![CDATA[PostgreSQL 自动创建表分区]]></title><link>https://blog.youkuaiyun.com/haofangkiller/article/details/144697843</link><guid>https://blog.youkuaiyun.com/haofangkiller/article/details/144697843</guid><author>haofangkiller</author><pubDate>Tue, 24 Dec 2024 16:41:28 +0800</pubDate><description><![CDATA[每当函数被调用时，它将检查是否需要创建新的分区，如果需要，则会创建一个新的分区表。接下来，您需要创建一个函数，该函数将根据当前日期创建新的分区。在实际生产环境中，建议增加更多的错误处理逻辑，以处理可能出现的问题。扩展来定时执行这个函数。确保执行这些命令的用户拥有足够的权限来创建表和使用。中，您可以创建一个函数来自动创建分区，并使用。这样，您就创建了一个自动分区的函数，并通过。当数据量增大时，请注意分区的数量和性能。这条命令将在每个月的第一天的午夜执行。创建函数来自动创建分区。首先，您需要确保您的。]]></description><category></category></item><item><title><![CDATA[浏览器文字转语音播放]]></title><link>https://blog.youkuaiyun.com/haofangkiller/article/details/144612020</link><guid>https://blog.youkuaiyun.com/haofangkiller/article/details/144612020</guid><author>haofangkiller</author><pubDate>Fri, 20 Dec 2024 15:21:47 +0800</pubDate><description><![CDATA[语音播放示例]]></description><category></category></item><item><title><![CDATA[Oracle表分区管理]]></title><link>https://blog.youkuaiyun.com/haofangkiller/article/details/142411304</link><guid>https://blog.youkuaiyun.com/haofangkiller/article/details/142411304</guid><author>haofangkiller</author><pubDate>Sat, 21 Sep 2024 10:24:13 +0800</pubDate><description><![CDATA[以前公司使用的是数据库是Oracle，最近几年都已经切换成Postgresql了，最近突然想起来以前做oracle 数据库开发时候写过一个关于表分区管理的代码，写这些代码的原因是，开始数据量比较少，一些历史表都是delete+where删除，后来单天的数据量越来越大，删除效率极低，甚至失败，于是就把表设计成分区表形式，满足了当时的需求。现在心血来潮把它扒出来晒一下，也供有需要的人参考。]]></description><category></category></item><item><title><![CDATA[Windows服务器端口转发]]></title><link>https://blog.youkuaiyun.com/haofangkiller/article/details/139698871</link><guid>https://blog.youkuaiyun.com/haofangkiller/article/details/139698871</guid><author>haofangkiller</author><pubDate>Sat, 15 Jun 2024 17:21:00 +0800</pubDate><description><![CDATA[2.VM02上添加双网卡，分别配置为eth01：10.10.1.242 连接outerSw，eth02：192.168.1.100，eth02连接innerSw；最近想搞一个rocky Linux试玩一下，无耐分的几服务器段的IP已经用完了，我就考虑使用端口转发来远程rocky linux。3.VM03上安装rocky linux 9.4配置IP为：192.168.1.111，网络适配器连接innerSw。4.windows powershell上以管理员人身执行。]]></description><category></category></item><item><title><![CDATA[记一次IIS优化]]></title><link>https://blog.youkuaiyun.com/haofangkiller/article/details/134738062</link><guid>https://blog.youkuaiyun.com/haofangkiller/article/details/134738062</guid><author>haofangkiller</author><pubDate>Sun, 03 Dec 2023 11:01:40 +0800</pubDate><description><![CDATA[这次问题出在了IIS的“最大工作进程数”参数上，原来数量为1，session都在一个进程中，设置为4后，登陆时候session在第1进程中，中转其他页面时再去读取session时候可能是第2进程返回的数据，无法读取到1进程中session数据。调优第三阶段，朝着怎样让IIS共享状态的方向调参。调优第一阶段，在网上找了很多资料说是调大队列长度65535，设置过期时间等等，满心欢喜，观察一下服务器状况，过了一天没有挂掉，第三天早上还在说是不是问题解决了，结果没过一小时又挂掉了，一声叹气，继续找资料试配置。]]></description><category></category></item><item><title><![CDATA[datetimePicker]]></title><link>https://blog.youkuaiyun.com/haofangkiller/article/details/132839337</link><guid>https://blog.youkuaiyun.com/haofangkiller/article/details/132839337</guid><author>haofangkiller</author><pubDate>Tue, 12 Sep 2023 19:57:45 +0800</pubDate><description><![CDATA[最近在项目中需要用到datetimePicker，无奈原生的组件中不包含秒，在网上找的插件运用到项目，当窗口缩小时或者需要上下滑动时，导致弹窗错位。于是，我决定自己开发一个datetimePicker组件。分为三个文件js，样式，代码示例。1.js代码命名为：datetimePicker.js。2.样式，命名为：datetimePicker.css。]]></description><category></category></item><item><title><![CDATA[PostgreSQL及TimescaleDB插件安装过程]]></title><link>https://blog.youkuaiyun.com/haofangkiller/article/details/129219736</link><guid>https://blog.youkuaiyun.com/haofangkiller/article/details/129219736</guid><author>haofangkiller</author><pubDate>Mon, 27 Feb 2023 22:14:01 +0800</pubDate><description><![CDATA[之前集团内基本上使用的数据库都是Oracle，随着Oracle退出中国市场，也为了节省成本，要求去Oracle，并使用开源免费的PostgreSQL。由于集团内部服务器使用的都是内网，无法在线安装pg及timescaledb插件。所以需要先装pg及timescaledb插件下载下来，再复制到内网服务器上进行安装。]]></description><category></category></item><item><title><![CDATA[特殊字符的锅]]></title><link>https://blog.youkuaiyun.com/haofangkiller/article/details/127970551</link><guid>https://blog.youkuaiyun.com/haofangkiller/article/details/127970551</guid><author>haofangkiller</author><pubDate>Mon, 21 Nov 2022 19:35:33 +0800</pubDate><description><![CDATA[最近在开发新功能时候遇到了一个问题，接口可以返回数据，直接使用查询语句也能在pg中返回数据，只是前端调用后端方法转换成对象数组时候出错。这样基本可以判定问题所在，就是返回的数据里边包含特殊字符，转换异常。最终，找到了一些记录里边包含了单引号，双引号，换行...接下来要做的事情就是替换掉值里边的特殊字符，自然想到了一个“大招”-正则表达式。本想直接使用regexp_replace直接实现功能，整了半天整不好，就换种思路，先获取到想要替换的字符，然后使用translate替换掉这些字符，也算是达到了预期效果。]]></description><category></category></item><item><title><![CDATA[select 多选联动]]></title><link>https://blog.youkuaiyun.com/haofangkiller/article/details/127376053</link><guid>https://blog.youkuaiyun.com/haofangkiller/article/details/127376053</guid><author>haofangkiller</author><pubDate>Tue, 25 Oct 2022 20:50:54 +0800</pubDate><description><![CDATA[比如：select1选项内容为[123,345],"123"触发select2为["A","B","C"] ,"345"触发select2为["B","C","D","E"],同时选中"123"，"345"时，则select2应为["A","B","C","D","E"]；废话不多说，直接上代码。刚开始找了两个mutipleSelect库，要么是方法说明不全，要么是select不能被二次赋值更新，不过最终还是找到一个可用，样式简单的多选库，链接在最下边。]]></description><category></category></item><item><title><![CDATA[关于ElementUI select弹窗在特定场合错位问题]]></title><link>https://blog.youkuaiyun.com/haofangkiller/article/details/122880409</link><guid>https://blog.youkuaiyun.com/haofangkiller/article/details/122880409</guid><author>haofangkiller</author><pubDate>Fri, 11 Feb 2022 16:03:09 +0800</pubDate><description><![CDATA[由于某种原因，开发页面使用的框架要从jQuery转用Vue，组件库很自然的就选 用了ElementUI。当我把ElementUI整合到我的前端项目时，遇到了一些问题，比如常用的select组件。在某种场合下弹窗会出现错位问题。



研究了一下生成的页面代码，发现了问题所在。整个页面使用了窗口自适应缩放功能，设置了


body style="transform: scale(0.807292, 0.618519);"

而elementUI的select生成的弹窗代码使用的是绝对定位


position]]></description><category></category></item><item><title><![CDATA[Oracle Dataguard配置（二）Dataguard配置]]></title><link>https://blog.youkuaiyun.com/haofangkiller/article/details/120394129</link><guid>https://blog.youkuaiyun.com/haofangkiller/article/details/120394129</guid><author>haofangkiller</author><pubDate>Mon, 20 Sep 2021 20:00:23 +0800</pubDate><description><![CDATA[上一篇时候，我们已经安装好了一台DB，接下来开始做DG配置，


			DB参数规划
			
		
			HOSTNAME
			
			
			IP
			
			
			DB_NAME
			
			
			DB_UNIQUE_NAME
			
			
			INSTANCE_NAME
			
			
			SERVICE_NAME
			
		
			mydb01
			
			
			192.168.110.138
			
			
			orcl
			
			
			dbprima...]]></description><category></category></item><item><title><![CDATA[Oracle Dataguard配置（一）oracle数据库安装]]></title><link>https://blog.youkuaiyun.com/haofangkiller/article/details/120391472</link><guid>https://blog.youkuaiyun.com/haofangkiller/article/details/120391472</guid><author>haofangkiller</author><pubDate>Mon, 20 Sep 2021 17:03:12 +0800</pubDate><description><![CDATA[背景：由于业务需要，我们这边需要使用主备库，可以满足读写分离，降低服务器的压力；还可以数据实时备份，如果主库挂掉，可以很快用备库顶上。我们以前都是在windows系统上安装oracle，现在服务器资源有限，将运行环境改为Centos7.7或7.9。实际使用环境中服务器无法连网安装，我是在测试环境中把依赖包下载完了之后，又传到服务器上手动安装依赖包。我自己安装时候遇到过不少坑，找的资料也是东拼西凑，没做过的还是真是得费一些时间，我自己记录一下整个过程，也是温故而知新，下面进入正题。

运行环境：

系统版本
]]></description><category></category></item><item><title><![CDATA[listagg结果去重]]></title><link>https://blog.youkuaiyun.com/haofangkiller/article/details/114335566</link><guid>https://blog.youkuaiyun.com/haofangkiller/article/details/114335566</guid><author>haofangkiller</author><pubDate>Wed, 03 Mar 2021 21:33:04 +0800</pubDate><description><![CDATA[最近在一个项目中用到了listagg方法，但是在组合结果中出现有重复的情况。默认的结果如下



于是我就写了一个方法对listagg的结果去重，也可以对该格式的字符串去重，方法如下

create or replace function listaggpure(targetStr varchar2,seperator varchar2:=',')
return varchar2 is
 Rslt varchar2(32767);
begin
 select listagg(str,seperator...]]></description><category></category></item><item><title><![CDATA[C#根据句柄改变窗体控件值]]></title><link>https://blog.youkuaiyun.com/haofangkiller/article/details/90514943</link><guid>https://blog.youkuaiyun.com/haofangkiller/article/details/90514943</guid><author>haofangkiller</author><pubDate>Fri, 24 May 2019 13:43:04 +0800</pubDate><description><![CDATA[http://www.cnblogs.com/kaoleba/p/6183151.html#autoid-2-3-0原文出處

阅读目录

一、引用
	二、方法
需求是这样，有个程序界面我们需要通过自己的程序持续输入数据，界面如图。



可以获得控件的句柄而用钩子写入值。这里需要用到spy++工具。在VS的工具下有个spy++工具，打开如下图



通过这个工具可以获得窗体的句柄，当然这里获得的...]]></description><category></category></item></channel></rss>