验证客户端链接的合法性 分布式系统中实现一个简单的客户端链接认证功能 #_*_coding:utf-8_*_ from socket import * import hmac,os secret_key=b'linhaifeng bang bang bang' def conn_auth(conn) ...
分类:
编程语言 时间:
2018-01-30 21:21:11
阅读次数:
249
Spring的两种代理方式:JDK动态代理和CGLIB动态代理 JDK动态代理 若目标对象实现了若干接口,spring使用JDK的java.lang.reflect.Proxy类代理。 优点:因为有接口,所以使系统更加松耦合 缺点:为每一个目标类创建接口 CGLIB动态代理 若目标对象没有实现任何接 ...
分类:
编程语言 时间:
2018-01-30 21:21:30
阅读次数:
266
由于公司很多底层的SDK,都是C++开发,上层的应用软件却是C# Winform程序。在实际工作的过程中,就经常碰到了C# 程序调用C++ 动态库的问题。最近一直在和C++ 打交道,C# 怎么调用C++ 类库函数。也遇到了一些问题,所以就来总结总结C#程序调用C++动态库时的各种坑。 1. 可能遇到 ...
分类:
编程语言 时间:
2018-01-30 21:22:08
阅读次数:
264
现在还有些开源模块还没有更新到python3 ,不了解版本区别,无法对不合适的地方进行更改。 由于只追求向Python3靠近,所以对于python2的特别用法不探究。 此文不补全所有版本区别,仅作档案记录我遇到的版本区别. print函数: 在 Python 2 中, print 被视为一个语句而不... ...
分类:
编程语言 时间:
2018-01-30 22:48:01
阅读次数:
166
读了《Spring Cloud 微服务实战》第151-154页, 总结如下: Hystrix存在两种Command,一种是HystrixCommand,另一种是HystrixObservableCommand。 对于HystrixCommand,有四种执行方式: 1、同步执行:execute,同步, ...
分类:
编程语言 时间:
2018-01-30 22:49:23
阅读次数:
1697
假设你现实中没有对象。至少你在java世界里会有茫茫多的对象,听起来是不是非常激动呢? 对象,引用,类与现实世界 现实世界里有许很多多的生物,非生物,跑的跳的飞的,过去的如今的未来的,令人眼花缭乱。我们编程的目的,就是解决现实生活中的问题。所以不可避免的我们要和现实世界中各种奇怪的东西打交道。 在现 ...
分类:
编程语言 时间:
2018-01-30 22:51:47
阅读次数:
195
一、Kmeans算法流程: 1.选取K个类中心(首次随机选取) 2.计算每个点到K个类中心的距离 3.把数据点分配给距离最近的一个类中心 4.计算新的类中心(对该类中的所有点取均值) 5.重复234,直至满足终止条件后终止迭代 不再有重新分配 最大迭代数 所有类中心移动小于某一阈值 二、Kmean算 ...
分类:
编程语言 时间:
2018-01-30 22:52:33
阅读次数:
199
Java加解密与数字签名 2016-08-30 蕊蕊 java编程 ** Java加解密 ** 实现方式:JDK实现,CC,BC JDK提供比较基础的底层的实现;CC提供一些简化的操作;BC提供补充 一、Base64加密 非常简单,加密解密就一个函数。 代码如下: 二、消息摘要算法加密————主要用 ...
分类:
编程语言 时间:
2018-01-30 22:54:00
阅读次数:
173
import hashlib # 这个相比起php的一句话MD5是不是有点累赘?不过有个优势如果文件过大,可以分片进行update,最后结果是一样的。 md5 = hashlib.md5() md5.update('How to use md5?'.encode('utf-8')) print(md... ...
分类:
编程语言 时间:
2018-01-30 22:55:21
阅读次数:
210
今日题目: 今天的题目都比较简单,但是前三道题都有不同的解法,4,5两题就不在这边讨论了,其中第五道题大家可以了解一下floyd判圈算法。 1. 二进制中1的个数 解法一: 解法二,这个解法要由于解法一,循环的次数为1出现的次数: 2. 数值的整数次方 解法一,递归: 解法二,迭代: 3.调整数组顺 ...
分类:
编程语言 时间:
2018-01-30 22:55:53
阅读次数:
237
数组和矩阵问题,这些做得比较多。 未排序正整数数组中累加和为给定值的最长子数组长度 java public class CircleDynamic { public static void main(String [] args){ int [] m= {1, 2,3,5, 2,6, 1}; max ...
分类:
编程语言 时间:
2018-01-30 22:56:02
阅读次数:
219
time模块 datatime模块 random模块 os模块 提供对操作系统进行调用的接口。 r:以字符原意思输出。 sys模块 hashlib模块 用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD ...
分类:
编程语言 时间:
2018-01-30 22:56:51
阅读次数:
232
程序最怕出错的方式就是直接闪退 编程应该以这种方式进行,保证结构不出错,数据可容错的方式 比如 fungetsonmfrominternet(){变量 a a=从网络返回数据 return a } 在fun use it(){变量 b=fungetsonmfrominternet()//这时候如果之 ...
分类:
编程语言 时间:
2018-01-30 22:59:28
阅读次数:
210
constexpr和常量表达式:指值不会改变并且在编译过程就能得到计算结果得表达式 1.auto一般会忽略 decltype类型指示符:目的是从表达式的类型推断出要定义的变量的类型,但是不想用该表达式的值初始化变量 1.如果decltype使用的表达式是一个变量,则decltype返回该变量的类型。 ...
分类:
编程语言 时间:
2018-01-30 22:59:37
阅读次数:
204
集合: 集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的。以下是集合最重要的两点: 去重,把一个列表变成集合,就自动去重了。 关系测试,测试两组数据之前的交集、差集、并集等关系。 1,集合的创建。 2,集合的增。 3,集合的删。 ...
分类:
编程语言 时间:
2018-01-30 23:02:13
阅读次数:
205
17年的时候在HDU新生赛的时候遇到这样一道题目, 当时对于这种题目, 只会n^2去数左边比他大的个数 再相加一下 就是答案了。 无奈n是1e5 毫无疑问的T了。 后来学长说这个不就是归并排序吗, 你去学一下归并就可以做了, 然后我去学了归并, 又交了一发, 结果竟然还是T(这Y的不是耍我玩吗)。 ...
分类:
编程语言 时间:
2018-01-30 23:03:12
阅读次数:
272
spring学习(01)之IOC IOC:控制反转——Spring通过一种称作控制反转(IOC)的技术促进了低耦合。当应用了IOC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化 ...
分类:
编程语言 时间:
2018-01-30 23:04:14
阅读次数:
207
一、文件操作的基本流程 计算机系统分为:计算机硬件,操作系统,应用程序三部分。 我们用python或其他语言编写的应用程序若想要把数据永久保存下来,必须要保存于硬盘中,这就涉及到应用程序要操作硬件,众所周知,应用程序是无法直接操作硬件的,这就用到了操作系统。操作系统把复杂的硬件操作封装成简单的接口给 ...
分类:
编程语言 时间:
2018-01-30 23:05:34
阅读次数:
213
概述 对于web应用程序:用户浏览器发送请求,服务器接收并处理请求,然后返回结果,往往返回就是字符串(HTML),浏览器将字符串(HTML)渲染并显示浏览器上。 1、传统的Web应用 一个简单操作需要重新加载全局数据 2、AJAX AJAX,Asynchronous JavaScript and X ...
分类:
编程语言 时间:
2018-01-30 23:05:42
阅读次数:
195
Java的线程是通过java.lang.Thread类来实现的。VM启动时会有一个由主方法所定义的线程。可以通过创建Thread的实例来创建新的线程。每个线程都是通过某个特定Thread对象所对应的方法run()来完成其操作的,方法run()称为线程体。通过调用Thread类的start()方法来启 ...
分类:
编程语言 时间:
2018-01-30 23:06:33
阅读次数:
219