<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[forknows的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/forknows</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; forknows]]></copyright><item><title><![CDATA[Spock Test Framework 入门]]></title><link>https://blog.youkuaiyun.com/forknows/article/details/115012085</link><guid>https://blog.youkuaiyun.com/forknows/article/details/115012085</guid><author>forknows</author><pubDate>Fri, 19 Mar 2021 17:40:31 +0800</pubDate><description><![CDATA[Spock Test Framework 入门
Spock 是使用 Groovy 进行单元测试，用于替代 JUnit 的单元测试框架
Groovy
Advantages

Easy to learn
Java: syntax and integration
Optionally typed and dynamic
Static typing and static compilation capabilities (静态类型)

Spock

Grovvy based
BDD structure (Behav]]></description><category></category></item><item><title><![CDATA[网络编程之TCP, UDP, I/O 小记]]></title><link>https://blog.youkuaiyun.com/forknows/article/details/91358129</link><guid>https://blog.youkuaiyun.com/forknows/article/details/91358129</guid><author>forknows</author><pubDate>Sun, 09 Jun 2019 22:05:38 +0800</pubDate><description><![CDATA[文章目录引言OSI 七层模型传输层协议TCP 是如何做到可靠性？建立连接：三次握手断开链接：四次挥手TIME_WAIT状态I/O 多路复用I/O 模型POSIX 定义的同步/异步
引言
这两天学习了 《 UNIX 网络编程 》的 chapter1,2,6， 简要总结一下。
OSI 七层模型
七层网络模型，前三层为用户相关，后四层为系统内核相关。


应用层


表示层


会话层


传输层 TC...]]></description><category></category></item><item><title><![CDATA[动态规划之钢条切割]]></title><link>https://blog.youkuaiyun.com/forknows/article/details/90268560</link><guid>https://blog.youkuaiyun.com/forknows/article/details/90268560</guid><author>forknows</author><pubDate>Thu, 16 May 2019 17:45:24 +0800</pubDate><description><![CDATA[动态规划之钢条切割
动态规划的入门级问题，规则如下




长度i
1
2
3
4
5
6
7
8
9
10




加个p
1
5
8
9
10
17
17
20
24
30


给定长度n，计算出如何分割能获得最大值。
拆分子问题
f(n)=MAX[f(n),f(n−1)+f(1)⋅⋅⋅f(n−k)+f(k)]
f(n)= MAX[f(n), f(n-1) + f(1)··· f(n-k)+ ...]]></description><category></category></item><item><title><![CDATA[分治之快速排序]]></title><link>https://blog.youkuaiyun.com/forknows/article/details/89668506</link><guid>https://blog.youkuaiyun.com/forknows/article/details/89668506</guid><author>forknows</author><pubDate>Mon, 29 Apr 2019 09:35:01 +0800</pubDate><description><![CDATA[分治之快速排序
分治的基本思想是将问题划分为子问题，递归的进行求解子问题，最后组合起来。
套公式：


Divide
划分子问题：选取基准，找到基准的正确位置，left&lt;=pivot right &gt;= pivot，


Conquer
基准划分左右两个子问题，两个子问题进行递归quicksort， (left, pivot)  (pivot+1, right)


Composite：...]]></description><category></category></item><item><title><![CDATA[node-rsa加解密、签名以及验签]]></title><link>https://blog.youkuaiyun.com/forknows/article/details/82746244</link><guid>https://blog.youkuaiyun.com/forknows/article/details/82746244</guid><author>forknows</author><pubDate>Mon, 17 Sep 2018 17:39:46 +0800</pubDate><description><![CDATA[本文围绕参数加密以及签名验证等。


签名防止参数篡改
加密防止参数敏感信息泄漏






步骤


双方都维护一套公私钥, 发送方（a，b）-&amp;gt; 接收方 （c，d） 
 a. 自己的私钥签名 
 b. 对方的公钥加密 
 c. 私钥解密 
 d. 公钥验证签名，参数是否被篡改 &amp;amp;&amp;amp; 调用方是否是期望的






node-rsa示例




const NodeRSA ...]]></description><category></category></item><item><title><![CDATA[ELK5.x->6.x升级踩坑记录]]></title><link>https://blog.youkuaiyun.com/forknows/article/details/80649164</link><guid>https://blog.youkuaiyun.com/forknows/article/details/80649164</guid><author>forknows</author><pubDate>Mon, 11 Jun 2018 11:09:17 +0800</pubDate><description><![CDATA[背景

基于docker搭建的ELK系统，filebeat负责收集传到redis中。镜像升级从5.x-&amp;amp;gt;6.x，升级之后发现原来在kibana建立的索引全都失效了。最后在排查的过程中，发现filebeat的一个字段document_type被废弃，导致logstash的grok在过滤的过程中不能进行动态的添加index，以至于index在kibana中失效。

解决办法

把原来filebe...]]></description><category></category></item><item><title><![CDATA[记录一次联通cdn劫持的请求响应报文]]></title><link>https://blog.youkuaiyun.com/forknows/article/details/80191881</link><guid>https://blog.youkuaiyun.com/forknows/article/details/80191881</guid><author>forknows</author><pubDate>Fri, 04 May 2018 10:46:07 +0800</pubDate><description><![CDATA[背景


  七牛云存储的一个js文件，很长时间没有个更新。（仅限于联通的网络）最近发现已经被替换，替换之后大概的结构类似于 
     
    1. load 之前的文件 
    2. 加载一个第三方的js（混淆之后的并没有看懂） 
   
    然而，在第一步的过程中使用http请求，从而导致请求失败，才得以发现这次的劫持。


请求头

GET /statics/components/...]]></description><category></category></item><item><title><![CDATA[待整理]]></title><link>https://blog.youkuaiyun.com/forknows/article/details/78202714</link><guid>https://blog.youkuaiyun.com/forknows/article/details/78202714</guid><author>forknows</author><pubDate>Wed, 11 Oct 2017 13:38:15 +0800</pubDate><description><![CDATA[meta

http-equiv="Content-Security-Policy"

content="default-src 'self';
 img-src https://*; child-src 'none';">内容安全策略
 (CSP) 是一个额外的安全层，用于检测并削弱某些特定类型的攻击，包括跨站脚本 (XSS) 和数据注入攻击等。无论是数据盗取、网站内容污染还是散发恶]]></description><category></category></item><item><title><![CDATA[docker nginx jwilder/nginx-proxy]]></title><link>https://blog.youkuaiyun.com/forknows/article/details/74456647</link><guid>https://blog.youkuaiyun.com/forknows/article/details/74456647</guid><author>forknows</author><pubDate>Wed, 05 Jul 2017 17:15:00 +0800</pubDate><description><![CDATA[项目使用了jwilder/nginx-proxy这个镜像，想修改nginx配置来管理请求并发限制的。使用nginx是非常容易做到这个
但是。。使用这个镜像之后，default.conf是自动生成的。当然这个库也提供了server｛｝下的一些自定义配置，但是仍然不能满足我的需求＝＝干
最终把镜像里的nginx.tmpl文件挂在出来，修改这个模板文件，来完成需求。




总结，dock]]></description><category></category></item><item><title><![CDATA[nodejs  async parallel 函数传参数，执行不固定项函数]]></title><link>https://blog.youkuaiyun.com/forknows/article/details/53023991</link><guid>https://blog.youkuaiyun.com/forknows/article/details/53023991</guid><author>forknows</author><pubDate>Thu, 03 Nov 2016 18:04:56 +0800</pubDate><description><![CDATA[用到了bind函数，来进行绑定参数。 
  可以用来进行同步执行不定项函数，同时进行传参数
var async = require('async');
function test1(a,cb){
    cb(null,a);
}
function test2(b,cb){
    cb(null,b);
}
var a = 'a';
var b = 'b';
var funArr = {};
va]]></description><category></category></item><item><title><![CDATA[备忘录]]></title><link>https://blog.youkuaiyun.com/forknows/article/details/38097359</link><guid>https://blog.youkuaiyun.com/forknows/article/details/38097359</guid><author>forknows</author><pubDate>Thu, 24 Jul 2014 23:15:51 +0800</pubDate><description><![CDATA[引用来自“raydian_yuan”的答案


给点个人经验吧，个人认为学习任何东西基础很重要，因为应用和开源工具万变不离基础。《thinking in Java》第三版，重头开始读，读三遍，AWT的部分不看。第一遍开始有地方不理解看不懂没关系，就是混个眼熟。桌面上永远打开JDK文档，中英文随意，用到哪个类，就把哪个类过一遍，前期会影响你的编码速度，但对学习api很有必要。同时对应着《thi]]></description><category></category></item><item><title><![CDATA[反序列化中遇到的问题]]></title><link>https://blog.youkuaiyun.com/forknows/article/details/35256313</link><guid>https://blog.youkuaiyun.com/forknows/article/details/35256313</guid><author>forknows</author><pubDate>Fri, 27 Jun 2014 14:42:10 +0800</pubDate><description><![CDATA[An exception of type 'System.Runtime.Serialization.InvalidDataContractException' occurred in System.Runtime.Serialization.dll but was not handled in user code


Additional information: Type 'kuaidi]]></description><category></category></item><item><title><![CDATA[c sharp 异步编程]]></title><link>https://blog.youkuaiyun.com/forknows/article/details/34095293</link><guid>https://blog.youkuaiyun.com/forknows/article/details/34095293</guid><author>forknows</author><pubDate>Tue, 24 Jun 2014 13:19:52 +0800</pubDate><description><![CDATA[异步编程：


异步编程


一个异步过程调用发出后，调用者不能立刻得到结果。基于事件机制，实际处理这


个调用的部件在完成后，通过状态、通知和回调来通知调用者。比如，你现在要有


一批数据要大数据要入库，你又不想一边入库一边等待返回结果，你可以用异步，


将大数据推入一个队列，然后另外一个线程来操作这个队列里面的数据入库，入完


了，就通知一下主线程。]]></description><category></category></item><item><title><![CDATA[C sharp 泛型 lambda表达式学习笔记]]></title><link>https://blog.youkuaiyun.com/forknows/article/details/34094439</link><guid>https://blog.youkuaiyun.com/forknows/article/details/34094439</guid><author>forknows</author><pubDate>Tue, 24 Jun 2014 13:09:48 +0800</pubDate><description><![CDATA[C# 泛型 (Generics)编译机制
第一轮编译时，编译器只为Stack(栈算法)类型产生“泛型版”的IL代码与元数据-----并不进行泛型类型的实例化，T在中间只充当占位符
 JIT编译时，当JIT编译器第一次遇到Stack时，将用int替换“泛型版”IL代码与元数据中的T---进行泛型类型的实例化。
 CLR为所有类型参数为“引用类型”的泛型类型产生同一份代码；但如果类型参数为“值类]]></description><category></category></item><item><title><![CDATA[windows8.1体验]]></title><link>https://blog.youkuaiyun.com/forknows/article/details/30058941</link><guid>https://blog.youkuaiyun.com/forknows/article/details/30058941</guid><author>forknows</author><pubDate>Thu, 12 Jun 2014 20:14:43 +0800</pubDate><description><![CDATA[虽然使用win8.0 已经有半年左右了，除了刚刚安装win]]></description><category></category></item></channel></rss>