<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[SoundSlow的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/SoundSlow</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; SoundSlow]]></copyright><item><title><![CDATA[《大型网站技术架构》读书笔记]]></title><link>https://blog.csdn.net/SoundSlow/article/details/103404336</link><guid>https://blog.csdn.net/SoundSlow/article/details/103404336</guid><author>SoundSlow</author><pubDate>Thu, 05 Dec 2019 14:41:21 +0800</pubDate><description><![CDATA[作者：李智慧

简介：https://www.zhihu.com/people/li-zhi-hui-87/activities




	概述
	
  第一章：大型网站架构演化


	大型软件的特点，需要解决的几个重要问题：
	
	
	
		高并发、大流量
		
		
		高可用
		
		
		用户分布广泛，网络复杂
		
		
		安全性
		
		
		可扩展性、迭代开发
	...]]></description><category></category></item><item><title><![CDATA[JDK8源码分析之-concurrenthashmap]]></title><link>https://blog.csdn.net/SoundSlow/article/details/89602949</link><guid>https://blog.csdn.net/SoundSlow/article/details/89602949</guid><author>SoundSlow</author><pubDate>Sat, 27 Apr 2019 16:04:53 +0800</pubDate><description><![CDATA[ConcurrentHashMap主要的核心设计有：
* 数据结构方面：相对于1.7，采用了单元素segment，采用了链表+红黑树德存储结构
* 并发安全方面：读取时采用CAS乐观锁，读取时采用Synchronized悲观锁。
从两个函数看源码：
添加函数：putVal
/**
     * @param key
     * @param value
     * @param onlyIfA...]]></description><category></category></item><item><title><![CDATA[分治递归-贪心算法]]></title><link>https://blog.csdn.net/SoundSlow/article/details/89367258</link><guid>https://blog.csdn.net/SoundSlow/article/details/89367258</guid><author>SoundSlow</author><pubDate>Wed, 17 Apr 2019 23:10:22 +0800</pubDate><description><![CDATA[贪心者，若不犯人，远甚奉献；奉献者，受困于感，舍大为小；

分治递归：递归是一种方法调用方式，深度调用，形式类似于栈的进出。分治的思想最简单的形式就是归并排序，同归讲一个问题拆分为多个问题来求解。分治和递归之所以有联系，是因为大多数场景下，分治的算法，都是同归递归调用来求解的。这样的问题往往也可以通过动态规划来求解
常见题型：

归并排序、求平方根、指数pow计算
恢复IP地址：25525511...]]></description><category></category></item><item><title><![CDATA[《深入理解Java虚拟机》读书笔记]]></title><link>https://blog.csdn.net/SoundSlow/article/details/89232700</link><guid>https://blog.csdn.net/SoundSlow/article/details/89232700</guid><author>SoundSlow</author><pubDate>Fri, 12 Apr 2019 12:47:33 +0800</pubDate><description><![CDATA[世间万物皆系于四剑之上

尽管这本书是一本讲述Java的书籍，但是这本书的内容却并不只是针对Java而言。而是针对计算机整个底层的规划，如何通过底层的设计来创造出合理便捷的语言。底层开发人员需要了解上层的应用而设计合理的底层结构，上层开发人员需要连接底层的结构来更好的理解程序的内部逻辑。
程序的运行流程：
编写好的Java文件，首先通过编译器编译为class字节码文件，在这个过程中，虚拟机会对...]]></description><category></category></item><item><title><![CDATA[一句话总结设计模式-《大化设计模式》读书笔记]]></title><link>https://blog.csdn.net/SoundSlow/article/details/89216134</link><guid>https://blog.csdn.net/SoundSlow/article/details/89216134</guid><author>SoundSlow</author><pubDate>Thu, 11 Apr 2019 17:33:44 +0800</pubDate><description><![CDATA[设计模式并不是一种算法，而是一种思想，一种软件开发思想；这种思想便于开发的维护、扩展。


基于创建型

单例模式：通过锁机制或者单一加载机制，确保程序只创建一个对象。
工厂模式：将对象的实例化交给第三者-工厂类
抽象工厂：在工厂模式的基础上继续加一层，有多个工厂类。通过一个工厂接口，将所有的工厂统一起来


基于结构型

装饰器：通过继承同一个接口对功能进行增强
适配器：对功能不同的接口进行聚...]]></description><category></category></item><item><title><![CDATA[算法再回顾-动态规划]]></title><link>https://blog.csdn.net/SoundSlow/article/details/89164997</link><guid>https://blog.csdn.net/SoundSlow/article/details/89164997</guid><author>SoundSlow</author><pubDate>Tue, 09 Apr 2019 22:48:41 +0800</pubDate><description><![CDATA[f(n) = f(n-2) + f(n-1)

上面是一道编程题的原型，菲波拉契数列；往往，我们需要求解函数f(n)的结果。
一般有以下几种解法：
* 递归算法分；即通过递归调用进行计算，但是这种方法计算了过多的重复值，因而效率低下
* 记忆搜索算法：算法思路还是采用递归思想。不同的是，为了解决重复计算的问题，引入了一个记忆数组array[n]，用来记录之前已经计算的结果，防止重复计算。
* 动...]]></description><category></category></item><item><title><![CDATA[《Java并发编程的艺术》读书笔记]]></title><link>https://blog.csdn.net/SoundSlow/article/details/89072623</link><guid>https://blog.csdn.net/SoundSlow/article/details/89072623</guid><author>SoundSlow</author><pubDate>Sun, 07 Apr 2019 17:54:42 +0800</pubDate><description><![CDATA[君子谋道不谋食，恍惚半载被忧贫

第一章：并发编程的问题
多线程是为了解决效率问题，尽可能使用处理器资源，同时保持线程共享资源安全。
2. 1. 上下文切换：多个线程之间，频繁的切换，浪费调度资源
2. 死锁：由于死循环或者互斥等造成的线程无法继续进行，永久等待的情况
3. 资源限制的挑战：读入速度大于写入速度
第二章：java并发机制的底层实现和主要工具

轻量锁：volatile-单词的意思...]]></description><category></category></item><item><title><![CDATA[一千公里]]></title><link>https://blog.csdn.net/SoundSlow/article/details/83514768</link><guid>https://blog.csdn.net/SoundSlow/article/details/83514768</guid><author>SoundSlow</author><pubDate>Mon, 29 Oct 2018 22:47:28 +0800</pubDate><description><![CDATA[
山随平野尽，江入大荒流。

按理说，过去的两天是如此地劳累，以至于我今天应该提前下班，早早收场，大睡他一番。但是，突然之间，我总觉得需要做点什么，需要写点什么去记录两天的美好时光，需要再去回味一下两天里的情情景景。但是，突然提笔，才发现，心里想的和肚子里的墨水不在一个水平，粗鄙的词句完全无法畅快的表达我此刻的心情，更不用说是优美的文采，华丽的乐章。但是，我还是要写点什么的，就像一个人的成长一样，...]]></description><category></category></item><item><title><![CDATA[Linux中查看各文件夹大小命令du -h --max-depth=1]]></title><link>https://blog.csdn.net/SoundSlow/article/details/83385388</link><guid>https://blog.csdn.net/SoundSlow/article/details/83385388</guid><author>SoundSlow</author><pubDate>Thu, 25 Oct 2018 19:59:17 +0800</pubDate><description><![CDATA[**du [-abcDhHklmsSx] [-L &amp;lt;符号连接&amp;gt;][-X &amp;lt;文件&amp;gt;][–block-size][–exclude=&amp;lt;目录或文件&amp;gt;] [–max-depth=&amp;lt;目录层数&amp;gt;][–help][–version][目录或文件]
常用参数：
-a或-all 为每个指定文件显示磁盘使用情况，或者为目录中每个文件显示各自磁盘使用情况。
-b或-byt...]]></description><category></category></item><item><title><![CDATA[再学概率论-蒙特卡罗和拉斯维加斯]]></title><link>https://blog.csdn.net/SoundSlow/article/details/83349951</link><guid>https://blog.csdn.net/SoundSlow/article/details/83349951</guid><author>SoundSlow</author><pubDate>Wed, 24 Oct 2018 20:16:47 +0800</pubDate><description><![CDATA[
对于喜欢看片的人来说，拉斯维加斯是再熟悉不过了，这座以赌城闻名的城市几乎出现在很多的赌类电影中，而蒙特卡罗也是一个赌城。这里之所以和算法相关联，主要在于概率论最早的使用领地就是赌场之中，而蒙特卡罗算法和拉斯维加斯算法就是其中两种算法的核心原理。


蒙特卡罗

为了更加形象的说明两个算法的原理，我们先举一个例子，以防迷失在过多的公式之中。
蒙特卡罗：假如你是一个赌徒，你经常去玩转轮盘游戏，轮盘有...]]></description><category></category></item><item><title><![CDATA[深度学习20-限制玻尔兹曼机RBM]]></title><link>https://blog.csdn.net/SoundSlow/article/details/83349939</link><guid>https://blog.csdn.net/SoundSlow/article/details/83349939</guid><author>SoundSlow</author><pubDate>Wed, 24 Oct 2018 20:16:01 +0800</pubDate><description><![CDATA[
title: 深度学习20-限制玻尔兹曼机RBM
tags: 新建,模板,小书匠
grammar_cjkRuby: true

玻尔兹曼机来源于玻尔兹曼分布，而玻尔兹曼分布的创立者是路德维希·玻尔兹曼，这个原理来源于他首次将统计学用于研究热力学，即物质的状态概率和它对应的能量有关。比如，我们常用熵来形容物体的混乱程度，同时如果我们的定义足够好，任何物质其实都有它的一个“能量函数”，这个能量函数表...]]></description><category></category></item><item><title><![CDATA[分类器的评价指标]]></title><link>https://blog.csdn.net/SoundSlow/article/details/82882798</link><guid>https://blog.csdn.net/SoundSlow/article/details/82882798</guid><author>SoundSlow</author><pubDate>Fri, 28 Sep 2018 14:22:56 +0800</pubDate><description><![CDATA[
分类器的评价指标主要作用是根据应用场景的不同，来评价不同的分类器性能。比如，癌症诊断中，宁可错判一个未患病患者，也不能遗漏一个真实癌症患者；食品检测中却不同，对于不合格的食品，尽可能的一个不漏。而对于一般的图像分类，就需要总和考虑，哪一方面判断错了都是不好的。

分类矩阵：

分类目标只有两类，计为正例（positive）和负（negtive）：

True positives(TP): 被正确...]]></description><category></category></item><item><title><![CDATA[Seq2Seq模型]]></title><link>https://blog.csdn.net/SoundSlow/article/details/82882787</link><guid>https://blog.csdn.net/SoundSlow/article/details/82882787</guid><author>SoundSlow</author><pubDate>Fri, 28 Sep 2018 14:22:33 +0800</pubDate><description><![CDATA[
seq2seq模型即通过序列预测序列，但是相对于传统单一深度学习系统，如CNN或者RNN，这些模型的输入输出都是固定的长度，比如图像识别中图像的大小。但是对于机器翻译或者语音对话而言，由于输入的序列文本大小可变，预测输出也是可变的，因而这种单一的格式很难适应。因此提出了seq2seq模型，这是一种编解码架构模型（encoder-decoder）

大体原理个人解释：


对于输入序列，假设序列长...]]></description><category></category></item><item><title><![CDATA[tensorflow-seq2seq知识点梳理]]></title><link>https://blog.csdn.net/SoundSlow/article/details/82870549</link><guid>https://blog.csdn.net/SoundSlow/article/details/82870549</guid><author>SoundSlow</author><pubDate>Thu, 27 Sep 2018 17:35:15 +0800</pubDate><description><![CDATA[
title: tensorflow-seq2seq知识点梳理
tags: 新建,模板,小书匠
grammar_cjkRuby: true

接触python已有两年之久，零散地使用tensorflow也将近一年。但是是指今日，如果让我重新建立一个项目，我仍是无能为力。有时候，我会有一种感觉，python这种语言就像是一个无底洞，你永远不知道它在不同的场景中有多少不同的变化，更可怕的是，你无法知晓...]]></description><category></category></item><item><title><![CDATA[语音合成系统WORLD-原理和简单使用]]></title><link>https://blog.csdn.net/SoundSlow/article/details/82837170</link><guid>https://blog.csdn.net/SoundSlow/article/details/82837170</guid><author>SoundSlow</author><pubDate>Tue, 25 Sep 2018 11:25:15 +0800</pubDate><description><![CDATA[
最近在做语音合成相关的一个东西，其中后期需要做一个声音转换系统，但是真正的声音转换系统还挺复杂，因为我们的目的是希望能够将一个声音完全地变为另一个已知的

WORLD通过获取三个语音信号相关的参数信息来合成原始语音，这三个参数信息分别是：基频F0、频谱包络、非周期信号参数（英文分别为：Fundamental Frequency、spectral envelope、aperiodic parame...]]></description><category></category></item><item><title><![CDATA[语音合成综述]]></title><link>https://blog.csdn.net/SoundSlow/article/details/82835106</link><guid>https://blog.csdn.net/SoundSlow/article/details/82835106</guid><author>SoundSlow</author><pubDate>Tue, 25 Sep 2018 10:01:04 +0800</pubDate><description><![CDATA[
title: 语音合成综述
tags: 新建,模板,小书匠
grammar_cjkRuby: true

语音相关基础知识点：

时域信号：一维原始信号
傅里叶变换：得到频域特征
短时傅里叶变换：傅里叶变换得到了频域信号，但是丢失了时域信号，所欲通过STFT得到时频信号
梅尔频谱倒谱系数：单单频率信号表达不足，为了更加和人的耳朵听觉相符，我们使用了mel窗滤波，得到人耳的频率段幅度系数
梅尔声谱...]]></description><category></category></item><item><title><![CDATA[深度学习优化器Optimizer总结-tensorflow-1原理篇]]></title><link>https://blog.csdn.net/SoundSlow/article/details/82777651</link><guid>https://blog.csdn.net/SoundSlow/article/details/82777651</guid><author>SoundSlow</author><pubDate>Wed, 19 Sep 2018 20:19:17 +0800</pubDate><description><![CDATA[
单纯以算法为论，深度学习从业者的算法能力可能并不需要太大，因为很多时候，只需要构建合理的框架，直接使用框架是不需要太理解其中的算法的。但是我们还是需要知道其中的很多原理，以便增加自身的知识强度，而优化器可能正是深度学习的算法核心


本文基本完全参考一下连接：
原理简化讲解篇：https://morvanzhou.github.io/tutorials/machine-learning/ML-i...]]></description><category></category></item><item><title><![CDATA[linux下非root用户安装软件-pyaudio、sounddevice]]></title><link>https://blog.csdn.net/SoundSlow/article/details/82776620</link><guid>https://blog.csdn.net/SoundSlow/article/details/82776620</guid><author>SoundSlow</author><pubDate>Wed, 19 Sep 2018 18:51:39 +0800</pubDate><description><![CDATA[
title: linux下非root用户安装软件-pyaudio、sounddevice
tags: 新建,模板,小书匠
grammar_cjkRuby: true

最近在配置一个深度学习框架，由于服务器是公用的，导致并没有root权限，所有对于许多的软件安装，都无法直接使用apt-get安装，因此需要采取编译安装的方式，暂且先记下来，以后作为参照。主要的负载点并不在于安装步骤，而在于如何处理...]]></description><category></category></item><item><title><![CDATA[Linux与脚本编程-1]]></title><link>https://blog.csdn.net/SoundSlow/article/details/82107131</link><guid>https://blog.csdn.net/SoundSlow/article/details/82107131</guid><author>SoundSlow</author><pubDate>Mon, 27 Aug 2018 09:19:31 +0800</pubDate><description><![CDATA[
  很多东西不是学了再去用，而是用时才去学，特别是对于linux而言，这句话显得更加实用。对于不是非系统开发人员，linux的应用场景往往只是作为一种服务，因而它只是一个服务工具，并不需要系统的去学习内部的原理。


参看《Linux命令行与shell脚本编程大全》第3版 (前5章)



第一章 初始linux



四大组成部分： 
* linux内核 
    作为系统的核心，内核相当于计...]]></description><category></category></item><item><title><![CDATA[电影感悟-豆瓣TOP3]]></title><link>https://blog.csdn.net/SoundSlow/article/details/81876677</link><guid>https://blog.csdn.net/SoundSlow/article/details/81876677</guid><author>SoundSlow</author><pubDate>Mon, 20 Aug 2018 19:48:50 +0800</pubDate><description><![CDATA[
  物质基础决定上层建筑。而是多年的时间里，我慢慢认识到这句话的内在含义，也慢慢开始懂得，一个人的价值不仅仅是由其本身创造，还附带他所有的一起资源，即便是家庭背景、社会阅历、周边朋友，都是其价值的体现，所以，有时候，这个社会很多不公平其实是公平的，因为每个人都会不同，别人有的你没有，你有的别人也会没有，完全靠之后的努力，是否可以弥补。就像别人有背景，你没有，你有才华智力，别人可能第一点。如果找女...]]></description><category></category></item></channel></rss>