- 博客(144)
- 资源 (15)
- 问答 (4)
- 收藏
- 关注
原创 本地优先的分布式锁实现
详情和源码请参考:https://github.com/EvanMi/local-first-distribute-lock。
2025-02-10 17:51:03
99
原创 面向对象编程思想新解 第一章 编程的本质
https://mp.weixin.qq.com/s?__biz=MzkyMDY5NTYwNA==&mid=2247483738&idx=1&sn=cef0ff936df8ee5dd39782413c562426&chksm=c18fa701f6f82e17b317eece7fa436a13279588a4fe4722bd3d4864b5d35c9f2069d1fdc6fae#rd
2024-06-28 18:17:43
139
原创 不使用加法计算两个数的和
为了能够快速的理解最后的算法,这里先准备一些前置知识。这些所谓的前置知识可以理解为“点”,最后只要把这些“点”串联为“线”,就会得到最终的答案。
2022-10-28 16:07:53
502
原创 整数快速除以2并只保留整数部分
从输出结果可以看到,直接使用整数除以整数所得到的结果就是只保留整数部分的结果。这里特别需要注意的是,所谓的保留整数部分,对于正数是向下取整,对于负数则是向上取整。普通百姓觉得这样的功能已经实现,非常完美。但是对于大佬来说,不同语言底层除法实现的差异可能给自己写的功能带来性能影响,因此大佬融入到二进制的世界中,用位移来进行除法。
2022-10-13 19:21:35
1176
原创 解决跨域问题,看似简单的问题却是一步一坑
出于安全考虑,默认情况下浏览器会限制通过脚本向非同源的URL发起请求。上面定义中有两个关键词 “通过脚本” 和 “非同源”。通过脚本是指通过javascript来发起请求,因此在页面上的form表单和img的src是不受跨域限制的。因此我们可以很轻松的盗链其他网站好看的图片(当然前提是被盗的网站没有进行防盗链)。同源只的是协议、域名、端口号要完全相同,因此以上三个条件只要有一个不满足,就是非同源。当前页面url被请求页面url是否跨域原因否同源,协议、域名、端口一致是非同源,协议不同。
2022-10-02 21:04:12
2054
原创 面向对象那么好,为什么贫血模型如此流行?
2.面向对象那么好,为什么贫血模型如此流行?2.1我们身边真的没有面向对象吗?我们总是在强调我们的身边都是贫血模型,但是当我们仔细观察我们所引用的jar包时,我们会惊讶地发现,原来面向对象开发一直在我们身边。就拿Java开发者最熟悉的Sprin框架来说,其中充满着有血有肉的对象,这些对象在Spring的童话世界中相互协作,彼此调用构建出了一套功能复杂而完善的功能系统。应该说正式良好的面向对象设计,让Spring在5个大版本的迭代过后还没有变成一个无法维护的焦油坑——当然些许的修改是在所难免的,因为没有
2022-04-19 20:38:05
580
2
原创 从机器码到面向对象
1.从机器码到面向对象本章节主要从可维护性、可重用性和可扩展性三个方面来探讨计算机编程模式的发展历史。通过这段对发展历史的简单介绍进一步了解我们为什么要使用面向对象的开发模式。机器码在真正的电子计算机诞生初期,没有有效的编程语言。在这个时期的计算机提供了最基础的由0和1组成的机器指令来供初代的程序员进行编码。用机器码写的程序如示例-1-1所示。在8086机器上完成“s=768+12288-1280”的数字运算,对应的机器码为:10110000000000000000001100000101000
2022-04-13 14:54:50
236
原创 吴恩达深度学习编程作业汇总
以下列表为吴恩达的深度学习课程所对应的编程作业列表,都直接指向了github的连接地址;这些作业也是我在网上购买,可能与官方的内容有所出入;同时由于有的训练集和测试集以及预训练好的参数过大,不便上传,所以直接clone项目是无法运行的。如果是只看代码,完全可以满足使用的要求;需要完成版的可以留下邮箱,我单独发送给你。第一部分-第二周1.assignment2_1.ipynb --> P...
2019-12-05 19:01:33
7623
51
原创 JVM笔记
目录环境准备安装JDK(略)JDK、JRE和JVM的关系了解JAVA语言Java技术体系虚拟机内存结构程序计数器Java虚拟机栈本地方法栈堆内存方法区(JDK 1.8 元数据区)对象的创建给对象分配内存的方式线程安全性问题(内存分配)探究对象的结构对象的访问定位垃圾回收机制概述判断对象是否存活垃圾回收算法标记-清除算法性能监控工具认识类的文件结构类加载机制字节码执行引擎虚拟机编译及运行时优化jav...
2019-10-16 12:00:53
2266
原创 Kaggle-自行车租赁人数预测
目录前言和感谢正题前言和感谢机器学习本人还是一个新手,现在处在练习阶段。在网上找到了很多免费的比较老旧kaggle比赛讲解的python代码,在这里自己亲在体验并跟着过了一遍。在运行的过程中加入了自己的一些改动并且修改了一些存在的BUG,同时将代码中过时的方法还成了新的方法。所以并非整个文章均为我的想法和实践,如果侵犯了您的权益请及时联系我。同时感谢原作者的无私分享。正题由于代码已经完全可...
2019-09-04 18:33:58
627
原创 Kaggle-泰坦尼克号
目录前言和感谢正题前言和感谢机器学习本人还是一个新手,现在处在练习阶段。在网上找到了很多免费的比较老旧kaggle比赛讲解的python代码,在这里自己亲在体验并跟着过了一遍。在运行的过程中加入了自己的一些改动并且修改了一些存在的BUG,同时将代码中过时的方法还成了新的方法。所以并非整个文章均为我的想法和实践,如果侵犯了您的权益请及时联系我。同时感谢原作者的无私分享。正题由于代码已经完全可...
2019-08-31 14:59:36
316
1
原创 朴素Bayse新闻分类实践
目录1、信息增益(互信息)介绍(1)西瓜书中的信息增益[^1](2)PRML中的互信息[^2](3) 其实他们是一个东西2、朴素Bayse新闻分类[^3](1)常量及辅助函数(2)特征提取(3)训练模型(4)预测(5)测试(6)测试结果1、信息增益(互信息)介绍由于在最终的bayse算法中只使用了部分的特征,而特征的选择使用到了信息增益,所以在这里做一个简单的介绍。(1)西瓜书中的信息增益1...
2019-08-24 12:03:53
366
原创 深度学习优化算法实现(Momentum, Adam)
目录Momentum初始化更新参数Adam初始化更新参数除了常见的梯度下降法外,还有几种比较通用的优化算法;表现都优于梯度下降法。本文只记录完成吴恩达深度学习作业时遇到的Momentum和Adam算法,而且只有简要的代码。具体原理请看深度学习优化算法解析(Momentum, RMSProp, Adam),比较具体的说明了吴恩达版本的三种优化算法的讲述!Momentum初始化def init...
2019-08-19 16:48:39
3099
原创 inverted dropout示例
目录1、前向传播2、后向传播这里是完成的吴恩达的深度学习课程作业中的一个inverted dropout的作业题,是一种很流行的正则化方式。这里做一个记录,重点记录了如何实现前向和后向的inverted dropout,都是代码片段,无法运行;完整的代码请参见吴恩达的第二课的第一周的作业。1、前向传播def forward_propagation_with_dropout(X, parame...
2019-08-16 16:25:28
987
原创 《吴恩达深度学习》第一课第四周任意层的神经网络实现及BUG处理
目录一、实现1、吴恩达提供的工具函数sigmoidsigmoid求导relurelu求导2、实现代码导包和配置初始化参数前向运算计算损失后向运算更新参数组装模型3、问题及思考一、实现1、吴恩达提供的工具函数这几个函数这里只是展示一下,这是吴恩达写好的工具类,在实现的部分会导入;具体查看提供的附件sigmoiddef sigmoid(Z): A = 1/(1+np.exp(-Z))...
2019-08-13 14:06:29
751
原创 从头开始建立神经网络翻译及扩展
目录翻译从头开始建立神经网络-简介导包和配置生成一个数据集实现用来展示决策边界的辅助函数Logistic Regression训练一个神经网络我们的神经网络如何进行预测学习神经网络的参数实现神经网络训练一个隐层有3个神经元的神经网络验证隐层神经元个数对神经网络的影响练习练习题解答1. Minibatch gradient2.Annealing learning rate3.其他激活函数Sigmoi...
2019-07-30 10:33:40
1394
原创 推荐系统浅浅的例子
对于推荐系统,有很多的很强大的算法。这里作为练习,只介绍基本的协同过滤算法(userbased)和FM(通过梯度下降的角度,还可以通过交替优化的角度来看)。 这里的例子是在七月算法的视频中看的,分析的内容基于自己的理解并对代码做了部分的勘误。(一)简单的user-based协同过滤算法 先来看一眼数据:userss = {"小明": {"中国合伙人": 5.0, "太平轮...
2019-05-28 14:41:12
537
原创 机器学习基石-作业四-代码部分
这次的作业内容主要就是对带正则化项的线性规划的闭式解做各种操作:选择、把数据分成训练集和交叉验证、k-折交叉验证。完全套公式就可以了,这里唯一的一个问题就是偏移量参不参加正则化;在林老师的课程中,最后的闭式解的公式为:按照这个公式,线性得分函数中的b也参加了正则化。而在吴恩达的课程,以及很多其他的地方得到的经验是,b一般是不参加正则化的。按照这样的理解,假设w0=b,那么公式为:...
2019-01-09 17:57:56
374
原创 机器学习基石-作业三-代码部分
梯度下降迭代和牛顿迭代,gradient_and_newton.py# -*- coding:utf-8 -*-# Author: Evan Miimport numpy as np"""作业三中使用梯度下降和牛顿法进行迭代"""def update(u, v, eta): u_tem = u - eta * (np.exp(u) + v * np.exp(u*v)...
2018-12-26 09:18:33
354
原创 机器学习基石-作业三-第2题分析以及通过H证明EIN的讨论
题目: 这是机器学习基石作业三种的第二小题,额,在网上看了很多解答(解答也不多)感觉都没有说清楚为什么,所以励志清楚滴解决一下这个问题,经过努力,自认为得到了详细的解答,内容如下:(一)解决选项(e):当t=1时:当t>=2时,假设,则有 所以,,即H为幂等矩阵,那么最终就必然成立了。所以选项(e)是正确的。 (二)解决选项(c)(d):...
2018-12-22 12:40:37
880
原创 机器学习基石作业二中的DECISION_STUMP实现
概要:在林老的题目描述中,DECISION_STUMP(其实就是“决策桩”,也就是只有一层的决策树)。题目中提到了的选去是把属性(一维的)按照从小到大的顺序排列以后取两个挨着的值的平均值,网上有人的实现会在开头和结尾的值手动去加一个小于最小的值,一个大于最大的值;添加的两个值的大小是多大合适,这是个问题。带来的另外一个问题就是,解释性变差了;就像《西瓜书》上说的,我们按西瓜的甜度区...
2018-12-18 15:26:43
2297
原创 机器学习基石-作业二-第10题分析
题目如上图所示,答案是:;在网上看到的答案中有一个很好的解释就是说在一个n纬的欧几里德空间里,分别按照参数做一个垂直于每个轴的超平面,这些超平面能够打散这么多个点。首先我承认这个事实,具体的证明还没做过。这篇博文的主要作用是把题目转换成前面的描述,也就是说明两个问题是等价的。不想太简单,也不想太复杂,就拿二维平面来举例子了。一下的讨论都在二维空间中进行:首先来看S 是一个的向量的集合,...
2018-12-14 19:54:14
384
原创 机器学习基石作业一中的PLA和POCKET_PLA实现
前提:文中使用的数据是本人下载下来以后自己处理过的,就是把文件中的所有分隔符都换成了空格。所以load_data方法只能加载我自己的数据,想要加载原生数据的话需要自己写load_data方法。 两个算法的关键地方都需要判断当前的w在某个样本点x上是否犯错,而对于犯错的判断有两个版本,第一个版本就是直接使用 wx*y <= 0 就表...
2018-12-12 09:46:27
2093
原创 pyton3 反射相关的一些操作
# -*- coding:utf-8 -*-# Author: Evan Miclass Dog(object): def __init__(self, name): self.name = name def eat(self, food): print('%s is eating ... %s' % (self.name, food)...
2018-07-17 17:41:37
180
原创 python3 一些常用的数学函数
# -*- coding:utf-8 -*-# Author: Evan Miimport math# 返回数字的绝对值,如abs(-10)返回10print(abs(-10))# 返回数字向上取整的结果print(math.ceil(1.3))# 比较两个数import operatorprint(operator.eq(1, 1))print(operator.ne(1,...
2018-06-14 15:59:25
3936
原创 python3 多继承搜索__init__方法的两种策略
继承情形一:测试代码如下:class A(object): def __init__(self): print('A')class B(object): def __init__(self): print('B')class C(A): def __init__(self): print('C')cla...
2018-05-29 15:58:47
2061
原创 软件设计师--判定覆盖,判定条件覆盖,条件组合覆盖--一个栗子
针对上图的一个判断条件,在这里将分别讨论判定覆盖、判定条件覆盖、条件组合覆盖的情况:设T1=A>3,T2=B>3;为该判定节点的两个子条件。(一)判定覆盖: 所谓的判定覆盖就是让判定的真分支和假分支各执行一次,只要列出的子条件能够满足真假分支各一次就可以了:例如: A=4,B=3(T1=True,T2=False)走了真分支,A=3,B=3(T1=False,...
2018-05-25 10:38:43
26026
2
修改后的pushlet的jar包和js
2016-04-07
跨AP的三层漫游
2015-12-24
建立开放式的无线接入服务
2015-12-24
RIP路由协议基本配置
2015-12-24
网络课程工程案例实验报告
2015-12-22
Nginx负载均衡upstream这样配置对不对
2017-12-12
m安装了clojure插件counterclockwise
2016-11-17
stoem trident中无法理解的一段代码
2016-10-26
请大家帮我解释一下这个mysql语句是什么意思呢
2016-09-20
TA创建的收藏夹 TA关注的收藏夹
TA关注的人