- 博客(250)
- 资源 (36)
- 问答 (5)
- 收藏
- 关注
原创 《大型网站技术架构》读书笔记
作者:李智慧简介:https://www.zhihu.com/people/li-zhi-hui-87/activities 概述 第一章:大型网站架构演化 大型软件的特点,需要解决的几个重要问题: 高并发、大流量 高可用 用户分布广泛,网络复杂 安全性 可扩展性、迭代开发 ...
2019-12-05 14:41:21
1168
原创 JDK8源码分析之-concurrenthashmap
ConcurrentHashMap主要的核心设计有:* 数据结构方面:相对于1.7,采用了单元素segment,采用了链表+红黑树德存储结构* 并发安全方面:读取时采用CAS乐观锁,读取时采用Synchronized悲观锁。从两个函数看源码:添加函数:putVal/** * @param key * @param value * @param onlyIfA...
2019-04-27 16:04:53
1068
原创 分治递归-贪心算法
贪心者,若不犯人,远甚奉献;奉献者,受困于感,舍大为小;分治递归:递归是一种方法调用方式,深度调用,形式类似于栈的进出。分治的思想最简单的形式就是归并排序,同归讲一个问题拆分为多个问题来求解。分治和递归之所以有联系,是因为大多数场景下,分治的算法,都是同归递归调用来求解的。这样的问题往往也可以通过动态规划来求解常见题型:归并排序、求平方根、指数pow计算恢复IP地址:25525511...
2019-04-17 23:10:22
1539
原创 《深入理解Java虚拟机》读书笔记
世间万物皆系于四剑之上尽管这本书是一本讲述Java的书籍,但是这本书的内容却并不只是针对Java而言。而是针对计算机整个底层的规划,如何通过底层的设计来创造出合理便捷的语言。底层开发人员需要了解上层的应用而设计合理的底层结构,上层开发人员需要连接底层的结构来更好的理解程序的内部逻辑。程序的运行流程:编写好的Java文件,首先通过编译器编译为class字节码文件,在这个过程中,虚拟机会对...
2019-04-12 12:47:33
991
原创 一句话总结设计模式-《大化设计模式》读书笔记
设计模式并不是一种算法,而是一种思想,一种软件开发思想;这种思想便于开发的维护、扩展。基于创建型单例模式:通过锁机制或者单一加载机制,确保程序只创建一个对象。工厂模式:将对象的实例化交给第三者-工厂类抽象工厂:在工厂模式的基础上继续加一层,有多个工厂类。通过一个工厂接口,将所有的工厂统一起来基于结构型装饰器:通过继承同一个接口对功能进行增强适配器:对功能不同的接口进行聚...
2019-04-11 17:33:44
916
原创 算法再回顾-动态规划
f(n) = f(n-2) + f(n-1)上面是一道编程题的原型,菲波拉契数列;往往,我们需要求解函数f(n)的结果。一般有以下几种解法:* 递归算法分;即通过递归调用进行计算,但是这种方法计算了过多的重复值,因而效率低下* 记忆搜索算法:算法思路还是采用递归思想。不同的是,为了解决重复计算的问题,引入了一个记忆数组array[n],用来记录之前已经计算的结果,防止重复计算。* 动...
2019-04-09 22:48:41
903
原创 《Java并发编程的艺术》读书笔记
君子谋道不谋食,恍惚半载被忧贫第一章:并发编程的问题多线程是为了解决效率问题,尽可能使用处理器资源,同时保持线程共享资源安全。2. 1. 上下文切换:多个线程之间,频繁的切换,浪费调度资源2. 死锁:由于死循环或者互斥等造成的线程无法继续进行,永久等待的情况3. 资源限制的挑战:读入速度大于写入速度第二章:java并发机制的底层实现和主要工具轻量锁:volatile-单词的意思...
2019-04-07 17:54:42
958
原创 一千公里
山随平野尽,江入大荒流。按理说,过去的两天是如此地劳累,以至于我今天应该提前下班,早早收场,大睡他一番。但是,突然之间,我总觉得需要做点什么,需要写点什么去记录两天的美好时光,需要再去回味一下两天里的情情景景。但是,突然提笔,才发现,心里想的和肚子里的墨水不在一个水平,粗鄙的词句完全无法畅快的表达我此刻的心情,更不用说是优美的文采,华丽的乐章。但是,我还是要写点什么的,就像一个人的成长一样,...
2018-10-29 22:47:28
1928
转载 Linux中查看各文件夹大小命令du -h --max-depth=1
**du [-abcDhHklmsSx] [-L <符号连接>][-X <文件>][–block-size][–exclude=<目录或文件>] [–max-depth=<目录层数>][–help][–version][目录或文件]常用参数:-a或-all 为每个指定文件显示磁盘使用情况,或者为目录中每个文件显示各自磁盘使用情况。-b或-byt...
2018-10-25 19:59:17
1137
原创 再学概率论-蒙特卡罗和拉斯维加斯
对于喜欢看片的人来说,拉斯维加斯是再熟悉不过了,这座以赌城闻名的城市几乎出现在很多的赌类电影中,而蒙特卡罗也是一个赌城。这里之所以和算法相关联,主要在于概率论最早的使用领地就是赌场之中,而蒙特卡罗算法和拉斯维加斯算法就是其中两种算法的核心原理。蒙特卡罗为了更加形象的说明两个算法的原理,我们先举一个例子,以防迷失在过多的公式之中。蒙特卡罗:假如你是一个赌徒,你经常去玩转轮盘游戏,轮盘有...
2018-10-24 20:16:47
1833
原创 深度学习20-限制玻尔兹曼机RBM
title: 深度学习20-限制玻尔兹曼机RBMtags: 新建,模板,小书匠grammar_cjkRuby: true玻尔兹曼机来源于玻尔兹曼分布,而玻尔兹曼分布的创立者是路德维希·玻尔兹曼,这个原理来源于他首次将统计学用于研究热力学,即物质的状态概率和它对应的能量有关。比如,我们常用熵来形容物体的混乱程度,同时如果我们的定义足够好,任何物质其实都有它的一个“能量函数”,这个能量函数表...
2018-10-24 20:16:01
2598
原创 分类器的评价指标
分类器的评价指标主要作用是根据应用场景的不同,来评价不同的分类器性能。比如,癌症诊断中,宁可错判一个未患病患者,也不能遗漏一个真实癌症患者;食品检测中却不同,对于不合格的食品,尽可能的一个不漏。而对于一般的图像分类,就需要总和考虑,哪一方面判断错了都是不好的。分类矩阵:分类目标只有两类,计为正例(positive)和负(negtive):True positives(TP): 被正确...
2018-09-28 14:22:56
1877
原创 Seq2Seq模型
seq2seq模型即通过序列预测序列,但是相对于传统单一深度学习系统,如CNN或者RNN,这些模型的输入输出都是固定的长度,比如图像识别中图像的大小。但是对于机器翻译或者语音对话而言,由于输入的序列文本大小可变,预测输出也是可变的,因而这种单一的格式很难适应。因此提出了seq2seq模型,这是一种编解码架构模型(encoder-decoder)大体原理个人解释:对于输入序列,假设序列长...
2018-09-28 14:22:33
1456
原创 tensorflow-seq2seq知识点梳理
title: tensorflow-seq2seq知识点梳理tags: 新建,模板,小书匠grammar_cjkRuby: true接触python已有两年之久,零散地使用tensorflow也将近一年。但是是指今日,如果让我重新建立一个项目,我仍是无能为力。有时候,我会有一种感觉,python这种语言就像是一个无底洞,你永远不知道它在不同的场景中有多少不同的变化,更可怕的是,你无法知晓...
2018-09-27 17:35:15
974
原创 语音合成系统WORLD-原理和简单使用
最近在做语音合成相关的一个东西,其中后期需要做一个声音转换系统,但是真正的声音转换系统还挺复杂,因为我们的目的是希望能够将一个声音完全地变为另一个已知的WORLD通过获取三个语音信号相关的参数信息来合成原始语音,这三个参数信息分别是:基频F0、频谱包络、非周期信号参数(英文分别为:Fundamental Frequency、spectral envelope、aperiodic parame...
2018-09-25 11:25:15
8365
5
原创 语音合成综述
title: 语音合成综述tags: 新建,模板,小书匠grammar_cjkRuby: true语音相关基础知识点:时域信号:一维原始信号傅里叶变换:得到频域特征短时傅里叶变换:傅里叶变换得到了频域信号,但是丢失了时域信号,所欲通过STFT得到时频信号梅尔频谱倒谱系数:单单频率信号表达不足,为了更加和人的耳朵听觉相符,我们使用了mel窗滤波,得到人耳的频率段幅度系数梅尔声谱...
2018-09-25 10:01:04
7476
原创 深度学习优化器Optimizer总结-tensorflow-1原理篇
单纯以算法为论,深度学习从业者的算法能力可能并不需要太大,因为很多时候,只需要构建合理的框架,直接使用框架是不需要太理解其中的算法的。但是我们还是需要知道其中的很多原理,以便增加自身的知识强度,而优化器可能正是深度学习的算法核心本文基本完全参考一下连接:原理简化讲解篇:https://morvanzhou.github.io/tutorials/machine-learning/ML-i...
2018-09-19 20:19:17
3209
1
原创 linux下非root用户安装软件-pyaudio、sounddevice
title: linux下非root用户安装软件-pyaudio、sounddevicetags: 新建,模板,小书匠grammar_cjkRuby: true最近在配置一个深度学习框架,由于服务器是公用的,导致并没有root权限,所有对于许多的软件安装,都无法直接使用apt-get安装,因此需要采取编译安装的方式,暂且先记下来,以后作为参照。主要的负载点并不在于安装步骤,而在于如何处理...
2018-09-19 18:51:39
2581
原创 Linux与脚本编程-1
很多东西不是学了再去用,而是用时才去学,特别是对于linux而言,这句话显得更加实用。对于不是非系统开发人员,linux的应用场景往往只是作为一种服务,因而它只是一个服务工具,并不需要系统的去学习内部的原理。参看《Linux命令行与shell脚本编程大全》第3版 (前5章)第一章 初始linux四大组成部分: * linux内核 作为系统的核心,内核相当于计...
2018-08-27 09:19:31
856
原创 电影感悟-豆瓣TOP3
物质基础决定上层建筑。而是多年的时间里,我慢慢认识到这句话的内在含义,也慢慢开始懂得,一个人的价值不仅仅是由其本身创造,还附带他所有的一起资源,即便是家庭背景、社会阅历、周边朋友,都是其价值的体现,所以,有时候,这个社会很多不公平其实是公平的,因为每个人都会不同,别人有的你没有,你有的别人也会没有,完全靠之后的努力,是否可以弥补。就像别人有背景,你没有,你有才华智力,别人可能第一点。如果找女...
2018-08-20 19:48:50
1084
原创 机器学习-激活函数总结
激活函数就相当于人体的神经元,它的主要作用就是对输入的信号进行转换,比如将疼痛转化为疼痛信号。但是疼痛的来源有很多种,也就是可能来自于很多的上一个层的神经细胞,比如敲打、拉扯、针刺等等,但是归根结底,它就是一个痛。但是为什么会存在这么多的激活函数?原因在于,当前的计算机并不能很好地模拟人体的神经元,比如,敲打可以加重疼痛,但是药物也可以缓解疼痛,但是对于Sigmoid函数,它的输出并不是以0...
2018-08-20 17:49:18
2318
原创 mysql必知必会-基础再复习笔记1
在大部分场景下,基本的curd操作就已经满足要求。而且对于不是专门从事数据库开发的人而言,数据库其实应该遵从“用时即查”的方式。并不需要太过于系统的学习。但是,接触的实际操作太少,使得我门并不能很好地练习数据库。另外,数据库并不是单单的数据库,这其中的技术不仅仅设计复杂的数据结构的应用,还涉及到各种工程化的技术,多线程优化,等等。基本上,数据库的很多构建逻辑,已经包含了很多实际用到的其他技术...
2018-08-07 17:18:36
3553
原创 mysql数据库进阶-leetcode-10道2
其他题目需要money解锁-.-196. Delete Duplicate Emails解析:删除重复值邮箱 答案:DELETE P1 FROM Person p1,Person P2 WHERE P1.Email = P2.Email AND P1.Id > P2.Id197. Rising Temperature解析:查找温度相对于前一天上升的数据;需要...
2018-08-06 11:07:16
1592
原创 mysql数据库进阶-leetcode-10道
数据库练习链接:https://leetcode.com/problemset/database/175. Combine Two Tables解析:问题为联合查询两个表Person和Address的数据,无论address中是否有person对应的数据。即输出所有的person数据,address中没有的数据显示为空 考察:内连接、外连接(左连接、右连接) 内连接:join on...
2018-08-04 21:04:31
1360
原创 学期总结-2018年上
从现在开始,我需要养成一个写作的好习惯,之所以培养这个习惯,是因为:我开始发现我的一个重大缺陷——语言表达能力的欠缺。这种能力,在一般生活中并不会有太大的作用,而且很多时候,大部分人都体会不到其所带来的“破坏”,这种破坏,会让你的交际陷入阻塞,职场陷入瓶颈,生活面临窘境。我不太会写总结,每次写给导师的月报也都是在最后的几天草草完事。而且有时候,总结总得去找些有趣的、或者有意义的事,来丰...
2018-07-22 11:15:13
980
原创 Redis实战:第五章-使用Redis构建支持程序
本章主要讲解redis的使用案例,相对于以往的技术,redis在这些领域将大大简化或者提高程序的便利和稳定。比如日志记录,相对于以往的文件记录方式将更加灵活,便于数据操作, 日志记录 以往的日志记录采用本地文件存储的方式,这种方式有一种弊端,由于是文本存储,各个服务器之间很难协调,很难对多个数据文件进行聚合,导致之后的数据分析,将显得很不方便,相对而言,由于redis数据库...
2018-07-12 17:36:41
1245
原创 Redis实战:第四章-数据安全与性能保障
redis不提供严格的锁机制,即不保证数据的完全正确性,所以需要用户自己去严格检查。为了保证数据的安全,需要将数据及时的存储到硬盘上,redis提供两种持久化的方式:快照-批量写入;追加-单条追加。另外为了保证数据库的安全,防止数据丢失和为了负载均衡,redis也提供了分布式情况下的复制策略,可以对多个服务器数据进行同步。另外,根据不同的场景,我们需要合理的判断形势,在性能和安全上达到一个平...
2018-07-05 21:27:46
1542
原创 Redis实战:第三章-redis命令练习
redis有5种数据结构,分别为字符串、列表、集合、散列、有序集合;相当于java中的String、list、set、hashmap、sortset(z);另外redis不仅仅只有有序集合提供排序,对于另外四种结构,redis还提供了sort命令,可以更具指定的格式进行排序;redis也支持事务处理、发布和订阅功能,并且可以设置过期时间。import redis.clients.j...
2018-06-30 18:55:58
2049
原创 Redis实战:第二章-使用redis构建web应用
对于一个高并发电商网站,如果使用传统的关系型数据库,由于关系型数据库在并发量达到100万时,效率将大大降低,比如对于一个电商网站,用户登录浏览商品,在很短的时间内,用户可能会浏览很多商品,而这些商品就是用户的兴趣点,为了分析用户的潜在需求,我们需要记录所有的访问数据,难点在于,如果有100万个用户都在这样操作,传统的关系型数据库将很难处理这么多的请求,将造成大量的数据丢失,所以,为了快速响应...
2018-06-30 18:55:28
1043
1
原创 Redis实战:第一章-初识Redis案例-文章投票
redis全称REmote DIctionary Server,即远程字典服务,是一个由Salvatore Sanfilippo写的key-value存储系统。Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它通常被称为数据结构服务器,因为值(value)可以是 字符串(String),...
2018-06-30 18:54:52
1222
转载 Zookeeper-Zookeeper leader选举
转载自:https://blog.csdn.net/zhanghongjie0302/article/details/77145978原计划在介绍完ZK Client之后就着手ZK Server的介绍,但是发现ZK Server所包含的内容实在太多,并不是简简单单一篇Blog就能搞定的。于是决定从基础搞起比较好。那么ZK Server最基础的东西是什么呢?我想应该是Paxos了。所以本文会...
2018-05-22 09:48:40
884
原创 hadoop集群简化安装-CDH的安装和使用
hadoop大数据开发环境,由于牵扯到太多的部件,而且这些部件之间联系复杂,独立的安装往往错误百出,即浪费时间又浪费精力,还不讨好,而且这些往往还不是真正开发做的事(可能)。另外对于大数据而言,机器往往动不动就上万台,像这样一台一台的安装,只能把猴子给累死。所以,为了便于继承搭建,hadoop出了一个实用版的CDH用来管理所有的部件,相当于集成。这样就可以慧姐在控制台搭建管理集群,大大解放生...
2018-05-17 22:46:42
1881
原创 hadoop-hbase几个错误记录
集群这东西,就是各种文件配置,太过于杂乱导致,如果你不是特别细心,总是会错误百出,以致于精神萎靡而无法向前。但是,有时候,即便你细心得像个暖男,最后还是会出现问题,很多时候,这并不是你的错,而是机器的错,但是,如果你不能够在短时间内找到“问题”的真正原因,背锅的还是你自己几个浪费时间的问题 * 1还是防火墙问题:把防火墙全部给永久封停# 关闭iptables/etc/ini...
2018-05-12 16:45:32
1179
原创 Hadoop-HBase集群搭建
随着数据的增大,传统的关系型数据库对于上千万或者上亿的数据处理,效率会迅速下降。同样是为了解决大数据处理问题,hbase也是基于分布式,这种依靠列存储的方式,使得数据处于非结构化或者半结构化,便于数据的大量操作。hadoop生态架构 数据提取工具:flume:收集日志,从日志中提取数据sqoop:从结构化存储器中提取数据数据处理工具:mahout:数据挖掘/机器学习开...
2018-05-11 18:45:02
960
原创 hadoop-mapreduce基于物品的协同推荐算法ItemCF
推荐算法作为一种大数据分析最早的应用,如今已经得到的大量的普及,特别是新进崛起的头条,抖音,更或是早前的网易云音乐,其中的最吸引支出无不是人性化的推荐系统,实际上也正是这些使得BAT三巨头始终无法将其击倒。尽管如今的推荐系统算法已经变得“面目全非”,但是其中的主要精髓还是基于协同过滤算法,只是在其中进行了适当的优化或者改进,以适应不同的场景和数据。更加详尽的推荐算法请参照项亮的《推荐系统实践...
2018-05-09 12:06:20
2166
翻译 基于深度循环神经网络的单通道人声与音乐的分离-论文翻译
SINGING-VOICE SEPARATION FROM MONAURAL RECORDINGS USING DEEP RECURRENT NEURAL NETWORKS 主体内容:作为当前的一大热门,语音识别在得到快速应用的同时,也要更适应不同场景的需求,特别是对于智能手机而言,由于元器件的微型化导致对于语音处理方面的器件不可能很大,因此单通道上的语音分离技术就显得极为重要,而语音分离...
2018-05-08 11:14:38
5186
4
原创 hadoop-hive初始化
围绕大数据、数据挖掘、人工智能有很多名词,这些名词都互相关联,不太懂的人可能只是把他们当做高级码农的一个分支,但是,其中的真正技术却并不是一半码农能够做的,或者这些领域可能就不是码农干的事,即便做这些的人可能是个java或者python开发者,但是编程只是他们的副业而已,他们的主业却是数据科学。但是,有一个问题,既然是副业,也就是说这些数据科学家并不是太会编程,然而,不会编程,数据处理时很艰...
2018-05-06 23:16:26
2730
原创 推荐系统-计算用户关联度fof(hadoop计算)
场景:无论是qq,还是微博、头条等带有社交属性的平台,为了黏住用户,往往会给用户推荐好友,这种好友一般都是更具自己的兴趣或者自己好友的好友得来,比如qq中“可能认识的人”。fof关系:对于任何一个用户A,用户A的好友集合为B,B中的任何两个用户之间的关系如果不是好友关系,则就为fof关系推荐系数需要排序,排序的依据就是整个用户组的fof关系的多少,同样的fof关系越多,表明两个用户...
2018-05-04 11:43:04
1440
原创 微信公众号平台搭建连接javaweb
先决条件:一个本地可运行的javaweb:我的是一个网上git的springboot项目 注册一个微信公众号申请链接配置前的准备-内网穿透 由于项目搭建在本地电脑上,外网无法访问,所以需要使用工具将本地地址映射到公网。免费工具使用:natapp natapp下载网址 natapp配置教程 注意:这里只能使用80端口,因为微信公众号只开放80端口使用免...
2018-05-03 12:12:25
3340
原创 hadoop计算框架shuffle-计算每个月最高三个温度出现的时间
MapReduce主要由两部分组成,map和reduce,但是这两部分如何连接?比如对于单词计数,原始数据为java hadoop java,map的作用是对单条数据进行处理,划分格式便于处理计算,处理后为java 1 hadoop 1 java 1,而reduce是对map的类型进行统一计算,输出为java 2 hadoop 1。如果只是这样简单地逻辑,shuffle就不用了,shuffl...
2018-05-03 10:37:23
1392
An_Introduction_to_Voice_Computing_in_Python
2019-01-24
风控算法大赛解决方案
2017-10-31
Adaboost 算法的原理与推导
2017-10-31
技术之瞳+阿里巴巴技术笔试心得
2017-09-22
sqljdbc4.jar
2017-07-14
opencv_python-3.2.0+contrib-cp35-cp35m-win_amd64.whl
2017-06-15
统计自然语言处理
2016-09-30
JAVASCRIPT实例自学手册
2016-09-30
jsp中连接跳转丢失项目名
2018-05-10
Java中如何动态修改JFrame的内容?
2017-05-06
Java中如何根据我点击的按钮呈现不同的JTable样式(一个JFrame中)?
2017-04-28
TA创建的收藏夹 TA关注的收藏夹
TA关注的人