<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[KeBo's Blog]]></title><description><![CDATA[个人技术博客]]></description><link>https://blog.csdn.net/k_runtu</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; k_runtu]]></copyright><item><title><![CDATA[通过 OpenAI Embedding 接口计算相似度]]></title><link>https://blog.csdn.net/k_runtu/article/details/141436992</link><guid>https://blog.csdn.net/k_runtu/article/details/141436992</guid><author>k_runtu</author><pubDate>Thu, 22 Aug 2024 20:18:02 +0800</pubDate><description><![CDATA[快AI：https://ikuaiai.com。]]></description><category></category></item><item><title><![CDATA[Nginx Proxy Manager 单机多Docker Compose 反向代理配置]]></title><link>https://blog.csdn.net/k_runtu/article/details/139036793</link><guid>https://blog.csdn.net/k_runtu/article/details/139036793</guid><author>k_runtu</author><pubDate>Sun, 19 May 2024 09:55:33 +0800</pubDate><description><![CDATA[单机下部署多个docker-compose, 并用nginx proxy manager 反代其他docker compose的流量，出现连不上其他docker compose 下的container的问题。]]></description><category></category></item><item><title><![CDATA[anaconda 始终报 CondaHTTPError]]></title><link>https://blog.csdn.net/k_runtu/article/details/88672914</link><guid>https://blog.csdn.net/k_runtu/article/details/88672914</guid><author>k_runtu</author><pubDate>Tue, 19 Mar 2019 20:54:18 +0800</pubDate><description><![CDATA[win10, 请在anaconda prompt下执行命令！
https://github.com/ContinuumIO/anaconda-issues/issues/2760

]]></description><category></category></item><item><title><![CDATA[JS  生成uuid(v4)]]></title><link>https://blog.csdn.net/k_runtu/article/details/87713126</link><guid>https://blog.csdn.net/k_runtu/article/details/87713126</guid><author>k_runtu</author><pubDate>Tue, 19 Feb 2019 15:41:56 +0800</pubDate><description><![CDATA[function uuidv4() {
    return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
        var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r &amp;amp; 0x3 | 0x8);
        return v.to...]]></description><category></category></item><item><title><![CDATA[JS 重复字符串]]></title><link>https://blog.csdn.net/k_runtu/article/details/87712511</link><guid>https://blog.csdn.net/k_runtu/article/details/87712511</guid><author>k_runtu</author><pubDate>Tue, 19 Feb 2019 15:33:23 +0800</pubDate><description><![CDATA[在python中很简单：
'x' * 8

在js中：
String.prototype.repeat = String.prototype.repeat || function(num) {
    return new Array(num + 1).join(this);
};

repeat是ES2015(也就是ES6)新增的方法, Array的join方法为 将数组中的所有元素拼成一个字符...]]></description><category></category></item><item><title><![CDATA[python format 格式化百分号]]></title><link>https://blog.csdn.net/k_runtu/article/details/86712844</link><guid>https://blog.csdn.net/k_runtu/article/details/86712844</guid><author>k_runtu</author><pubDate>Thu, 31 Jan 2019 11:40:48 +0800</pubDate><description><![CDATA[格式化字符串为什么都要写一大堆呢
&quot;{:.1%}&quot;.format(0.4)
'40.0%'


]]></description><category></category></item><item><title><![CDATA[Java 实现聊天室]]></title><link>https://blog.csdn.net/k_runtu/article/details/85345632</link><guid>https://blog.csdn.net/k_runtu/article/details/85345632</guid><author>k_runtu</author><pubDate>Sat, 29 Dec 2018 21:55:18 +0800</pubDate><description><![CDATA[效果:

源码地址https://github.com/ikebo/SimpleChat
客户端安装包下载地址https://download.csdn.net/download/k_runtu/10886345
客户端代码-Client.java
package main;

/*省略引入的包*/
import java.awt.EventQueue;

import javax.swing.J...]]></description><category></category></item><item><title><![CDATA[货币拼面值问题]]></title><link>https://blog.csdn.net/k_runtu/article/details/84729630</link><guid>https://blog.csdn.net/k_runtu/article/details/84729630</guid><author>k_runtu</author><pubDate>Sun, 02 Dec 2018 23:30:01 +0800</pubDate><description><![CDATA[现有n1+n2种面值的硬币，其中前n1种为普通币，可以取任意枚，后n2种为纪念币，每种最多只能取一枚，每种硬币有一个面值，问能用多少种方法拼出m的面值？
m面值的货币，若分给n1的面值为n，则剩下的m-n面值让n2去拼，两种方法数相乘为此次分配的方法数。所以最终的方法数为f(0)*g(m-0) + f(1)*g(m-1) + … + f(m) * g(m-m)。 f 和 g 为两个动态规划问题。f...]]></description><category></category></item><item><title><![CDATA[求数组若排好序后相邻两数的最大差值 O(N)]]></title><link>https://blog.csdn.net/k_runtu/article/details/84678835</link><guid>https://blog.csdn.net/k_runtu/article/details/84678835</guid><author>k_runtu</author><pubDate>Sat, 01 Dec 2018 21:36:59 +0800</pubDate><description><![CDATA[给定一个数组，求如果排序之后，相邻两数的最大差值。要求时间复杂度O(N)，且要求不能用非基于比较的排序。
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;此题用了桶排序的思想，但是没有真正排序。 假设数组中有N个数，则开一个N+1大小的数组表示有N+1个桶，确保最大差值中的两个数一定在不同的桶中。在数进桶的过程中记录每一个桶的最大值，最小值及是否进来过数。最后的最大差值为所...]]></description><category></category></item><item><title><![CDATA[Java中的比较器（自定义比较）]]></title><link>https://blog.csdn.net/k_runtu/article/details/84677859</link><guid>https://blog.csdn.net/k_runtu/article/details/84677859</guid><author>k_runtu</author><pubDate>Sat, 01 Dec 2018 20:00:19 +0800</pubDate><description><![CDATA[大部分语言中应该都有自定义比较的方法，如重载运算符，lambda表达式等。Java中是通过实现Comparator接口达到此目的。
import java.util.Arrays;

public class Comparator {
    public static class Student {
        public String name;
        public int i...]]></description><category></category></item><item><title><![CDATA[浏览器后退不刷新问题]]></title><link>https://blog.csdn.net/k_runtu/article/details/84652960</link><guid>https://blog.csdn.net/k_runtu/article/details/84652960</guid><author>k_runtu</author><pubDate>Fri, 30 Nov 2018 15:10:00 +0800</pubDate><description><![CDATA[最近在写博客，当从文章也返回时页面中的浏览次数没有更新（后端数据已更新）， 因为浏览器有缓存，如果是整个页面，可添加几个meta标签。如下
&amp;amp;lt;META HTTP-EQUIV=&amp;quot;pragma&amp;quot; CONTENT=&amp;quot;no-cache&amp;quot;&amp;amp;gt; 
&amp;amp;lt;META HTTP-EQUIV=&amp;quot;Cache-Control&amp;quot; CONTENT=&amp;quot;n]]></description><category></category></item><item><title><![CDATA[排序（二）]]></title><link>https://blog.csdn.net/k_runtu/article/details/84572085</link><guid>https://blog.csdn.net/k_runtu/article/details/84572085</guid><author>k_runtu</author><pubDate>Tue, 27 Nov 2018 19:38:24 +0800</pubDate><description><![CDATA[快速排序
&amp;amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;amp;nbsp;经典快排中，每次选择区间的最后一个数进行partition过程，这个跟数据状态是有关系的，如果]]></description><category></category></item><item><title><![CDATA[荷兰国旗问题]]></title><link>https://blog.csdn.net/k_runtu/article/details/84556897</link><guid>https://blog.csdn.net/k_runtu/article/details/84556897</guid><author>k_runtu</author><pubDate>Mon, 26 Nov 2018 21:30:05 +0800</pubDate><description><![CDATA[&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;给定一个数组arr，和一个数num，请把小于num的数放在数组的左边，等于num的数放在数组的中间，大于num的数放在数组的右边。相当于快排的partition过程
public class Flag {
    public static int[] flag(int[] arr, int l, int r, int p) ...]]></description><category></category></item><item><title><![CDATA[小和问题和逆序对问题]]></title><link>https://blog.csdn.net/k_runtu/article/details/84538008</link><guid>https://blog.csdn.net/k_runtu/article/details/84538008</guid><author>k_runtu</author><pubDate>Mon, 26 Nov 2018 13:29:25 +0800</pubDate><description><![CDATA[&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;数组中每个数的左边所有比这个数小的数累加起来，为这个数组的小和。当然可以每个数遍历所有左边的数，复杂度为O(N^2)。这是一个典型的归并排序的应用，整个数组的小和为左边组内的小和加右边组内的小和加整体组间的小和。
代码
// 归并排序

import java.util.Arrays;

public class ]]></description><category></category></item><item><title><![CDATA[排序（一）]]></title><link>https://blog.csdn.net/k_runtu/article/details/84504534</link><guid>https://blog.csdn.net/k_runtu/article/details/84504534</guid><author>k_runtu</author><pubDate>Sun, 25 Nov 2018 23:50:22 +0800</pubDate><description><![CDATA[冒泡排序  O(N^2)
每次将最大的数冒到最右边
    public static void bubbleSort(int[] arr) {
        if (arr == null || arr.length &amp;lt;= 0) {
            return;
        }
        for (int e = arr.length-1; e &amp;gt;= 1; --...]]></description><category></category></item><item><title><![CDATA[对数器]]></title><link>https://blog.csdn.net/k_runtu/article/details/84502754</link><guid>https://blog.csdn.net/k_runtu/article/details/84502754</guid><author>k_runtu</author><pubDate>Sun, 25 Nov 2018 21:20:27 +0800</pubDate><description><![CDATA[&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;我们写算法类笔试题或者竞赛题时，无法通过几个有限的样本确定写的完全正确。这个时候我们可以用对数器生成足够多的随机样本进行测试，如果都正确，基本可以确定我们写的正确，若出现错误，再分析错在哪里。

例子
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;]]></description><category></category></item><item><title><![CDATA[爬取京东数据]]></title><link>https://blog.csdn.net/k_runtu/article/details/83592015</link><guid>https://blog.csdn.net/k_runtu/article/details/83592015</guid><author>k_runtu</author><pubDate>Wed, 31 Oct 2018 22:36:21 +0800</pubDate><description><![CDATA[import re
from selenium import webdriver
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from seleni...]]></description><category></category></item><item><title><![CDATA[python 装饰器 & 可同时接受有参数与无参数的装饰器]]></title><link>https://blog.csdn.net/k_runtu/article/details/83021704</link><guid>https://blog.csdn.net/k_runtu/article/details/83021704</guid><author>k_runtu</author><pubDate>Fri, 12 Oct 2018 09:06:32 +0800</pubDate><description><![CDATA[昨天下午仔细学习了装饰器的内容，算是比较明白了。标题的题目来源于这里
from functools import wraps
def log(ft):
    if not isinstance(ft, str):
        @wraps(ft)
        def wrapper(*args, **kwargs):
            print('wrapper')
      ...]]></description><category></category></item><item><title><![CDATA[python 参数收集]]></title><link>https://blog.csdn.net/k_runtu/article/details/83010212</link><guid>https://blog.csdn.net/k_runtu/article/details/83010212</guid><author>k_runtu</author><pubDate>Thu, 11 Oct 2018 11:41:06 +0800</pubDate><description><![CDATA[了解python的参数收集蛮久了，但一直不理解很多第三方库源码中的使用，今天在读flask源码的时候突然明白了。比如：
    def run(self, host='localhost', port=5000, **options):
        from werkzeug.serving import run_simple
        if 'debug' in options:
  ...]]></description><category></category></item><item><title><![CDATA[uwsgi概念和作用]]></title><link>https://blog.csdn.net/k_runtu/article/details/82991561</link><guid>https://blog.csdn.net/k_runtu/article/details/82991561</guid><author>k_runtu</author><pubDate>Wed, 10 Oct 2018 09:03:42 +0800</pubDate><description><![CDATA[WSGI
WSGI是一种WEB服务器 == 网关接口 ==。 是一个Web服务器（如nginx）与应用服务器（如uWSGI）通信的一种规范（协议）。
在生产环境中使用WSGI作为python web的服务器。Python Web服务器网关接口，是Python应用程序或框架和Web服务器之间的一种接口，被广泛接受。WSGI没有官方的实现, 因为WSGI更像一个协议，只要遵照这些协议，WSGI应用(A...]]></description><category></category></item></channel></rss>