<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[程序人生]]></title><description><![CDATA[分享技术、广泛交友]]></description><link>https://blog.youkuaiyun.com/xuejunling</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; xuejunling]]></copyright><item><title><![CDATA[分享一个自动检测网站在线状态的python程序]]></title><link>https://blog.youkuaiyun.com/xuejunling/article/details/168975708</link><guid>https://blog.youkuaiyun.com/xuejunling/article/details/168975708</guid><author>xuejunling</author><pubDate>Sat, 24 Oct 2026 18:57:19 +0800</pubDate><description><![CDATA[本文介绍一款基于Python的网站可用性监控工具，可定时检测多个网站状态。程序每2分钟执行一次，支持多站点独立配置，连续3次失败后发送告警邮件，恢复后自动通知，避免重复推送。结合宝塔计划任务实现自动化，具备DNS、SSL、状态码及关键字校验功能，稳定可靠，适用于Ubuntu服务器环境。]]></description><category></category></item><item><title><![CDATA[python写一个30天内到期的SSL证书会自动续签的代码 自动续签Let‘s Encrypt证书]]></title><link>https://blog.youkuaiyun.com/xuejunling/article/details/168858401</link><guid>https://blog.youkuaiyun.com/xuejunling/article/details/168858401</guid><author>xuejunling</author><pubDate>Fri, 23 Oct 2026 11:38:08 +0800</pubDate><description><![CDATA[本文分享了在宝塔面板中手动实现Let's Encrypt证书自动续签的解决方案。由于原计划任务无法正常续签，作者编写了auto_letsencrypt_v2.py脚本，支持按过期天数（默认30天）自动检测并续签证书，可过滤指定域名，每日夜间执行。脚本包含日志管理、失败跳过、成功后重载Nginx与宝塔面板等功能，有效解决证书过期问题。建议根据实际环境调整路径和排除域名，提升稳定性。]]></description><category></category></item><item><title><![CDATA[网站备案中我见过的最快的网站备案审核速度]]></title><link>https://blog.youkuaiyun.com/xuejunling/article/details/142494621</link><guid>https://blog.youkuaiyun.com/xuejunling/article/details/142494621</guid><author>xuejunling</author><pubDate>Tue, 24 Sep 2024 17:10:04 +0800</pubDate><description><![CDATA[这是我备过的最快的网站备案，现在备案都这么快了吗，网站备案在以前 ，是我最头疼的事，慢长的等待，每个网站大概要等待20天左右，最主要这20天的时间，网站是不能打开的，煎熬 的度过]]></description><category></category></item><item><title><![CDATA[Jquery写一个小小的游戏代码分享]]></title><link>https://blog.youkuaiyun.com/xuejunling/article/details/124014641</link><guid>https://blog.youkuaiyun.com/xuejunling/article/details/124014641</guid><author>xuejunling</author><pubDate>Wed, 13 Apr 2022 00:00:00 +0800</pubDate><description><![CDATA[要求：

将15根牙签

分成三行

每行自上而下（其实方向不限）分别是3、5、7根

安排两个玩家，每人可以在一轮内，在任意行拿任意根牙签，但不能跨行

拿最后一根牙签的人即为输家

代码分享：


&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;

&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;meta http-equiv="X-UA-Compatible" content="IE=edge"&gt;]]></description><category></category></item><item><title><![CDATA[SQLServer数据库的发布订阅读写分离主从复制对新增表的自动同步深究]]></title><link>https://blog.youkuaiyun.com/xuejunling/article/details/107122266</link><guid>https://blog.youkuaiyun.com/xuejunling/article/details/107122266</guid><author>xuejunling</author><pubDate>Sat, 04 Jul 2020 11:55:24 +0800</pubDate><description><![CDATA[SQLServer数据库的发布订阅读写分离主从复制对新增表的自动同步深究此文背景、场景SQLServer数据库的主从复制时遇到的问题先说说发布订阅后手动新增表的操作方案一、只同步主库中的中间表，到了从库在这张表上建立触发器来分发到设备详细表。方案二、使用程序执行SQL语句来代替人工重新启动复制监视器的代理。以下有关数据库发布订阅的积累的问题也分享于此一、主库数据表中含有单引号‘ 引发的不同步的问题二、 主库表会经常增加，新增表后如何操作？三、如何避免频繁的新增表操作？四、如何根据事务序列号查找SQL语句？五]]></description><category></category></item><item><title><![CDATA[Mysql基本的查询方法总结：mysql创建表、索引及创建用户权限常用操作,读了这篇后从建库建表到删库的操作你都会了]]></title><link>https://blog.youkuaiyun.com/xuejunling/article/details/95454157</link><guid>https://blog.youkuaiyun.com/xuejunling/article/details/95454157</guid><author>xuejunling</author><pubDate>Thu, 11 Jul 2019 10:40:00 +0800</pubDate><description><![CDATA[Mysql基本的查询方法总结：mysql创建表、索引及创建用户权限常用操作,读了这篇后从建库建表到删库的操作你都会了Mysql创建数据库Mysql创建表Mysql创建用户Mysql查看用户Mysql用户授权Mysql查看权限MySQL删除权限Mysql删除用户Mysql创建索引Mysql常用查询Mysql删库跑路(开个玩笑,职业道德使然千万不能,哈哈~~)
Mysql创建数据库
CREATE DA...]]></description><category></category></item><item><title><![CDATA[锚点编辑器]]></title><link>https://blog.youkuaiyun.com/xuejunling/article/details/91492696</link><guid>https://blog.youkuaiyun.com/xuejunling/article/details/91492696</guid><author>xuejunling</author><pubDate>Wed, 12 Jun 2019 11:43:26 +0800</pubDate><description><![CDATA[今天在制作单页面时，有锚点需要添加 ，我还在一个一个锚点的设置，然后锚点的链接添加，弄了半天，才制作了一个网页，偶然找到了一款可以生成锚点页面的编辑器，老省心了，这里记录一下。

我们在添加文章的时候，如果是某个单页面，需要用到页内锚点，比如有目录形式的单个页面，如百度百科里的这种形式



这种页面的编辑，你是不是还在一个一个添加锚点，然后再给文字添加锚点链接呢？现在不用了，制作这样的页面，给你...]]></description><category></category></item><item><title><![CDATA[asp.net mvc 文件上传,正在投入使用]]></title><link>https://blog.youkuaiyun.com/xuejunling/article/details/80007249</link><guid>https://blog.youkuaiyun.com/xuejunling/article/details/80007249</guid><author>xuejunling</author><pubDate>Thu, 19 Apr 2018 16:47:28 +0800</pubDate><description><![CDATA[先引入文中所用的文件，下载地址为：https://download.youkuaiyun.com/download/xuejunling/10360702引入两个js, 一个样式View:@{
    Layout = null;
}

&amp;lt;!DOCTYPE html&amp;gt;

&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta name=&quot;viewport&quot; content=&quot;...]]></description><category></category></item><item><title><![CDATA[node.JS问题集锦]]></title><link>https://blog.youkuaiyun.com/xuejunling/article/details/77519619</link><guid>https://blog.youkuaiyun.com/xuejunling/article/details/77519619</guid><author>xuejunling</author><pubDate>Thu, 24 Aug 2017 07:12:01 +0800</pubDate><description><![CDATA[1. 下载nodejs，官网：http://nodejs.org/download/，我这里下载的是node-v0.10.28-x86.msi


安装时出现error 2503和2502的解决





解决：进入下载文件后的路径 ，也就是安装原文件的文件夹，

以管理员身份运行CMD把小黑框弹出。



C:\windows\system32>CD C:\User]]></description><category></category></item><item><title><![CDATA[C#实现一个简单的定时任务]]></title><link>https://blog.youkuaiyun.com/xuejunling/article/details/60142283</link><guid>https://blog.youkuaiyun.com/xuejunling/article/details/60142283</guid><author>xuejunling</author><pubDate>Fri, 03 Mar 2017 17:03:17 +0800</pubDate><description><![CDATA[场景一：微博、微信、邮件等需要定时发送时，怎么办？

场景二：朋友明天过生日，我今天先把邮件写了，定时明天几点几分几秒发送，如何做？
基于以上问题，我们自己实现一个小小的定时器，现在分解一下，可以使用在WinForm、Web等程序中

首先建一个类TaskTime，继承于.net中的System.Timers.Timer， 再建一个带参数的构造函数TaskTime,如下：
（完整的源码]]></description><category></category></item><item><title><![CDATA[使用ASP.NET State Service保存Session]]></title><link>https://blog.youkuaiyun.com/xuejunling/article/details/49125815</link><guid>https://blog.youkuaiyun.com/xuejunling/article/details/49125815</guid><author>xuejunling</author><pubDate>Wed, 14 Oct 2015 15:35:21 +0800</pubDate><description><![CDATA[步骤：
一、首先开启asp.net状态服务，在运行里，输入services.msc 弹出服务窗口，开启ASP.NET State Service服务。
二、在Web.config里节点下写如下代码 ：
    


Person p = null;
            string str = "";
            if (Session["key"] != null)]]></description><category></category></item><item><title><![CDATA[(C#)使用队列(Queue)解决简单的并发问题]]></title><link>https://blog.youkuaiyun.com/xuejunling/article/details/46909111</link><guid>https://blog.youkuaiyun.com/xuejunling/article/details/46909111</guid><author>xuejunling</author><pubDate>Thu, 16 Jul 2015 13:04:36 +0800</pubDate><description><![CDATA[有一个场景：一个抢购的项目，假设有5件商品，谁先抢到谁可以买，但是如果此时此刻（这里的此时此刻假设是相同的时间），有100人去抢这个商品，如果使用平时的方法会出现什么情况呢？你懂的，这里所说是就是有关并发的问题。

平时我们去超市购物去结账的时候就是排队，这里我们先让抢购人排好队，按时间，谁先点击的抢购按钮谁就排在前面，这样就形成了一个队列，然后我们再对这个队列处理，这样就不会出现并发的问题了]]></description><category></category></item><item><title><![CDATA[iOS UIScrollView的代理的使用及缩放时代理监听的几个方法]]></title><link>https://blog.youkuaiyun.com/xuejunling/article/details/44996547</link><guid>https://blog.youkuaiyun.com/xuejunling/article/details/44996547</guid><author>xuejunling</author><pubDate>Sat, 11 Apr 2015 16:40:51 +0800</pubDate><description><![CDATA[必须至少有三个步骤：
一，实现协议
二，建立关系
三，设置缩放的范围
具体见代码：
#import "ViewController.h"

@interface ViewController ()  //一定要先遵守这个协议
@property (weak, nonatomic) IBOutlet UIScrollView *ScrollView;
@property (weak, no]]></description><category></category></item><item><title><![CDATA[IOS总结：UIScrollView不能滚动的几种可能性]]></title><link>https://blog.youkuaiyun.com/xuejunling/article/details/44923661</link><guid>https://blog.youkuaiyun.com/xuejunling/article/details/44923661</guid><author>xuejunling</author><pubDate>Tue, 07 Apr 2015 17:55:26 +0800</pubDate><description><![CDATA[UIScrollView不能滚动，请检查以下几点，当然还有更多，需要在不断的开发经验中总结：
1. 没有设置contentSize.
2. scrollEnabled =NO 了。
3. 没有收到触摸事件，因为UIScrollView继承自UIView，如果让UIView的 UserInteractionEnabled如果为NO，说明不可与用户交互，也是不可滚动的。
4. 没有取消auto]]></description><category></category></item><item><title><![CDATA[IOS 执行动画后想要调用某个方法]]></title><link>https://blog.youkuaiyun.com/xuejunling/article/details/44806067</link><guid>https://blog.youkuaiyun.com/xuejunling/article/details/44806067</guid><author>xuejunling</author><pubDate>Wed, 01 Apr 2015 14:11:32 +0800</pubDate><description><![CDATA[第一种方法:，使用监听
UIView beginAnimations
方法如下：

    [UIView beginAnimations:nil context:nil];
    //代理，监听对象
    [UIView setAnimationDelegate:self];    //removeCover 是动画执行完后要调用方法
    [UIView setAnimation]]></description><category></category></item><item><title><![CDATA[由简单三层到工厂模式]]></title><link>https://blog.youkuaiyun.com/xuejunling/article/details/44098147</link><guid>https://blog.youkuaiyun.com/xuejunling/article/details/44098147</guid><author>xuejunling</author><pubDate>Fri, 06 Mar 2015 12:48:16 +0800</pubDate><description><![CDATA[以ASP.NET为例，简单三层就是 DAL, BLL,Model 三层构成， DAL层处理数据，负责与数据打交道，比如SQL语句的书写等,DAL层处理完数据后的结果，交由BLL层，BLL层这时对数据进行逻辑整理。具体如下详细说明：
 
现有一个简单的需求，一个订单里可能包含几个产品，这时，我们一般这样处理，把订单写在主表，把具体的详细商品写在订单详细表，详细表中有一个主表的ID,用于关联二表。]]></description><category></category></item><item><title><![CDATA[代码就像女人的裙子，越短越好]]></title><link>https://blog.youkuaiyun.com/xuejunling/article/details/43700715</link><guid>https://blog.youkuaiyun.com/xuejunling/article/details/43700715</guid><author>xuejunling</author><pubDate>Tue, 10 Feb 2015 11:22:43 +0800</pubDate><description><![CDATA[写代码，越短越好，当然前提是保证程序的正确性。
记得小时写作文，每周都有一个下午留给作文课，有的两节，有的三节，老师说把题目布置下去，然后各个同学就埋头苦想啊，800字的作文还得一个下午去写，想来想去，半个小时过去了，也没有写出一行来，即使写出来了，标点符号都占用了一半。
现在轮到我们写程序了，写程序不能像写作文的去凑字数了，程序讲究速度与性能，所以如何使自己写出的程序具有很好的性能和速度呢？]]></description><category></category></item><item><title><![CDATA[要养成习惯懒加载数据]]></title><link>https://blog.youkuaiyun.com/xuejunling/article/details/43700291</link><guid>https://blog.youkuaiyun.com/xuejunling/article/details/43700291</guid><author>xuejunling</author><pubDate>Tue, 10 Feb 2015 10:45:54 +0800</pubDate><description><![CDATA[一般的数据，在从文件或数据库中读取后，会用到多次，这时候要养成懒加载数据的习惯，以提高程序的性能，其实你不使用懒加载，从使用者来说，如果数据量小，没什么影响，但如果数据量大，使用懒加载数据就有明显的优势了。
代码如下：
    if (_apps == nil) {
        // 初始化
        
        // 1.获得plist的全路径
        NSStrin]]></description><category></category></item><item><title><![CDATA[一个类在另一个类中以集合形式声明为属性时应该注意的问题]]></title><link>https://blog.youkuaiyun.com/xuejunling/article/details/43527819</link><guid>https://blog.youkuaiyun.com/xuejunling/article/details/43527819</guid><author>xuejunling</author><pubDate>Thu, 05 Feb 2015 15:21:58 +0800</pubDate><description><![CDATA[标题：一个类在另一个类中以集合形式声明为属性时应该注意的问题，先解释一下，看下面的代码吧

    [Serializable]
    public class MO_T_sj_quest
    {
        public List AnswerList { get; set; }

        public List IDList { get; set; }

        p]]></description><category></category></item><item><title><![CDATA[总结UIImageView和UIButton之间的区别]]></title><link>https://blog.youkuaiyun.com/xuejunling/article/details/43082955</link><guid>https://blog.youkuaiyun.com/xuejunling/article/details/43082955</guid><author>xuejunling</author><pubDate>Sat, 24 Jan 2015 08:28:13 +0800</pubDate><description><![CDATA[1. 从使用场合来说

 UIImageView:
如果仅仅是显示图片,不需要监听图片的点击事件时，最好使用UIImageView,相对于UIButton比较轻量，因为不牵涉到事件处理，当然没有事件处理，无疑减轻内存消耗。

 UIButton: 如果既要显示图片,又要监听图片的点击，这时就要考虑到UIButton了。




2. 相同:能显示图片




3. 不]]></description><category></category></item></channel></rss>