<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_36638788的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_36638788</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_36638788]]></copyright><item><title><![CDATA[Android面试题——Android常见面试题]]></title><link>https://blog.youkuaiyun.com/qq_36638788/article/details/126694524</link><guid>https://blog.youkuaiyun.com/qq_36638788/article/details/126694524</guid><author>qq_36638788</author><pubDate>Sun, 04 Sep 2022 21:58:29 +0800</pubDate><description><![CDATA[在某个主题下可点击的知识点链接可以访问对应的知识点，代码链接都指向同一个gitee开源仓库。Tag表示对应知识点在代码仓库中的标签。。]]></description><category></category></item><item><title><![CDATA[Matlab设置默认的yticks和yticklabel颜色]]></title><link>https://blog.youkuaiyun.com/qq_36638788/article/details/125852795</link><guid>https://blog.youkuaiyun.com/qq_36638788/article/details/125852795</guid><author>qq_36638788</author><pubDate>Mon, 18 Jul 2022 15:58:03 +0800</pubDate><description><![CDATA[Matlab设置默认的yticks和yticklabel颜色]]></description><category></category></item><item><title><![CDATA[【操作系统】进程、线程基础知识]]></title><link>https://blog.youkuaiyun.com/qq_36638788/article/details/125041164</link><guid>https://blog.youkuaiyun.com/qq_36638788/article/details/125041164</guid><author>qq_36638788</author><pubDate>Sun, 05 Jun 2022 10:25:31 +0800</pubDate><description><![CDATA[进程

我们编写的代码知识一个存储在硬盘的静态文件，通过编译后就会生成二进制可执行文件，当我们运行这个可执行文件后，它会被装到内存中，接着CPU会执行程序中的每一条指令，那么这个运行中的程序，就被称为进程。

现在我们考虑有一个会读取硬盘文件数据的程序被执行了，那么当运行到读取文件的指令时，就回去从硬盘读取数据，但是硬盘的读写速度是非常慢的，那么在这个时候，如果CPU傻傻的等硬盘返回数据的话，那CPU的利用率是非常低的。

所以，当进程要从硬盘读取数据时，CPU不需要阻塞等到数据的返回，而是去执行另外的进程]]></description><category></category></item><item><title><![CDATA[[HTTP3]HTTP/3]]></title><link>https://blog.youkuaiyun.com/qq_36638788/article/details/124998777</link><guid>https://blog.youkuaiyun.com/qq_36638788/article/details/124998777</guid><author>qq_36638788</author><pubDate>Sun, 29 May 2022 11:37:16 +0800</pubDate><description><![CDATA[美中不足的HTTP/2

HTTP/2通过头部压缩、二进制编码、多路复用、服务器推送等特性大幅度提升了HTTP/1.1的性能，而美中不足的是HTTP/2协议是基于TCP实现的，于是存在3个缺陷。

队头阻塞
	TCP与TLS的握手延迟；
	网络迁移需要重新连接
队头阻塞

HTTP/2多个请求时跑在一个TCP连接中的，那么当TCP丢包时，整个TCP都要等待重传，那么就会阻塞该TCP连接中的所有请求。

因为TCP是字节流协议，TCP层必须保证收到的字节数据是完整且有序的，如果序列号较低的TCP段在网络中丢失]]></description><category></category></item><item><title><![CDATA[【HTTP】HTTP/2的优势？]]></title><link>https://blog.youkuaiyun.com/qq_36638788/article/details/124894941</link><guid>https://blog.youkuaiyun.com/qq_36638788/article/details/124894941</guid><author>qq_36638788</author><pubDate>Sun, 22 May 2022 11:30:57 +0800</pubDate><description><![CDATA[HTTP/1.1协议的性能问题

我们得先了解下HTTP/1.1协议存在的性能问题，因为HTTP/2协议就是把这些性能问题逐个攻破了。

现在的站点相比以前变化太多了，比如：

消息的大小变大了，从几kb大小的消息，到几MB大小的消息。
	页面资源变多了，从每个页面不到10个的资源，到每页超100多个资源；
	内容形式变多样了，从单纯到文本内容，到图片、视频、音频等内容；
	实时性要求变高了，对页面的实时性要求的应用越来越多；
这些变化带来的最大性能问题就是HTTP/1.]]></description><category></category></item><item><title><![CDATA[【HTTPS】HTTPS如何优化？]]></title><link>https://blog.youkuaiyun.com/qq_36638788/article/details/124850298</link><guid>https://blog.youkuaiyun.com/qq_36638788/article/details/124850298</guid><author>qq_36638788</author><pubDate>Thu, 19 May 2022 20:36:13 +0800</pubDate><description><![CDATA[由裸数据传输的HTTP协议转成加密数据传输的HTTPS协议，给应用数据套了个保护伞，提高安全性的同时也带来了性能消耗。

因为HTTPS相比HTTP协议多一个TLS协议握手过程，目的是为了通过非对称加密握手协商或者交换出对称加密密钥，这个过程最长可以花费掉2RTT,接着后续传输的应用数据都得使用加密密钥来加密/解密。

为了数据的安全性，我们不得不使用HTTPS协议，至今大部分网址都已从HTTP迁移至HTTPS协议，因此针对HTTPS的优化是非常重要的。

这次，就从多个角度来优化HTTPS。

分析性能损]]></description><category></category></item><item><title><![CDATA[【HTTPS】HTTPS ECDHE握手解析]]></title><link>https://blog.youkuaiyun.com/qq_36638788/article/details/124773896</link><guid>https://blog.youkuaiyun.com/qq_36638788/article/details/124773896</guid><author>qq_36638788</author><pubDate>Sun, 15 May 2022 14:18:47 +0800</pubDate><description><![CDATA[HTTPS常用的密钥交换算法有两种，分别是RSA和ECDHE算法。

其中，RSA是比较传统的密钥交换算法，它不具备前向安全的性质，因此现在很少服务器使用它。而ECDHE算法具有前向安全，所以被广泛使用。

离散对数

ECDHE秘要协商算法是DH算法严禁过来的，所以我们先从DH算法说起。

DH算法是非对称算法，因此它可以用于秘钥交换，该算法的核心数学思想是离散对数。

离散对数是【离散+对数】的两个数学概念的组合。对数和指数互为反函数。

对数运算的取值是可以连续的，而离散对数的取值是不能连续的，因此也]]></description><category></category></item><item><title><![CDATA[【HTTPS】HTTPS RSA握手解析]]></title><link>https://blog.youkuaiyun.com/qq_36638788/article/details/124727177</link><guid>https://blog.youkuaiyun.com/qq_36638788/article/details/124727177</guid><author>qq_36638788</author><pubDate>Thu, 12 May 2022 19:14:48 +0800</pubDate><description><![CDATA[TLS握手过程

HTTP由于是明文传输，所谓的明文，就是客户端与服务端通信的信息都是肉眼可见的，随时用一个抓包工具都可以接活通信的内容。

所以安全上存在一下三个风险：

窃听风险，比如通信链路上可以获取通信内容。
	篡改风险，比如强制植入垃圾广告。
	冒充风险，比如钓鱼网站。
HTTPS在HTTP与TCP层之间加入了TLS协议，来解决上述的风险。

TLS协议是如何解决HTTP的风险呢？

信息加密：HTTP交互信息是被加密的，第三方就无法窃取。
	校验机制：校验信息UR书过程中是否有被第三方篡改过，如]]></description><category></category></item><item><title><![CDATA[【HTTP】HTTP/1.1如何优化？]]></title><link>https://blog.youkuaiyun.com/qq_36638788/article/details/124668582</link><guid>https://blog.youkuaiyun.com/qq_36638788/article/details/124668582</guid><author>qq_36638788</author><pubDate>Tue, 10 May 2022 15:44:14 +0800</pubDate><description><![CDATA[摘要：我们可以从三个方面对HTTP/1.1协议进行优化，第一个是尽量避免发送HTTP请求，其次是在需要发送HTTP请求时，考虑如何减少请求次数，最后是减少服务处的HTTP响应的数据大小。

如何避免发送HTTP请求？

对于一些具有重复性的HTTP请求，比如每次请求得到的数据都是一样的，我们的可以把这对 请求-响应的数据都缓存在本地，那么下次就直接读取本地的数据，不必在通过网络获取服务器的响应了，这样的话HTTP/1.1的性能会得到较大的提升。

所以，避免发送HTTP请求的方法就是通过缓存技术，HTTP设]]></description><category></category></item><item><title><![CDATA[【计算机网络】关于HTTP的常见问题]]></title><link>https://blog.youkuaiyun.com/qq_36638788/article/details/124613714</link><guid>https://blog.youkuaiyun.com/qq_36638788/article/details/124613714</guid><author>qq_36638788</author><pubDate>Mon, 09 May 2022 16:00:07 +0800</pubDate><description><![CDATA[1.HTTP基本概念

Http是什么？

HTTP是超文本传输协议，也就是HyperText Transfer Protocol.


超文本传输协议


它可以拆分成三个部分：

超文本
	传输
	协议
1.协议：HTTP是一个用在计算机世界的协议，它使用计算机能够理解的语言确立一种计算机之间交流通信的规范，以及相关的各种控制和错误处理方式。

2.传输

所谓的传输，很好理解，就是把一堆东西从A点搬到B点，或者从B点搬到A点。所以，HTTP是一个在计算机世界里专门用来在两点之间传输数据的约定和规范。
]]></description><category></category></item><item><title><![CDATA[【操作系统】malloc是如何分配内存的？]]></title><link>https://blog.youkuaiyun.com/qq_36638788/article/details/124593704</link><guid>https://blog.youkuaiyun.com/qq_36638788/article/details/124593704</guid><author>qq_36638788</author><pubDate>Thu, 05 May 2022 20:57:43 +0800</pubDate><description><![CDATA[【操作系统】malloc是如何分配内存的]]></description><category></category></item><item><title><![CDATA[【操作系统】虚拟内存和内存管理]]></title><link>https://blog.youkuaiyun.com/qq_36638788/article/details/124544219</link><guid>https://blog.youkuaiyun.com/qq_36638788/article/details/124544219</guid><author>qq_36638788</author><pubDate>Thu, 05 May 2022 15:58:43 +0800</pubDate><description><![CDATA[1.虚拟内存




]]></description><category></category></item><item><title><![CDATA[【操作系统】存储器管理-存储器的层次结构]]></title><link>https://blog.youkuaiyun.com/qq_36638788/article/details/124538592</link><guid>https://blog.youkuaiyun.com/qq_36638788/article/details/124538592</guid><author>qq_36638788</author><pubDate>Mon, 02 May 2022 16:00:04 +0800</pubDate><description><![CDATA[摘要：存储器历来都是计算机系统的重要组成部分。近年来，存储器的容量一直在不断扩大，但仍不能满足现代软件发展的需要。因此，存储器仍然是一种宝贵而又稀缺的资源。如何对它进行有效的管理，不仅直接影响到存储器的利用率，而且对系统性能也有重大影响。]]></description><category></category></item><item><title><![CDATA[【操作系统】CPU是如何执行程序的？]]></title><link>https://blog.youkuaiyun.com/qq_36638788/article/details/124482903</link><guid>https://blog.youkuaiyun.com/qq_36638788/article/details/124482903</guid><author>qq_36638788</author><pubDate>Sun, 01 May 2022 21:36:00 +0800</pubDate><description><![CDATA[前言：a=1+2这条代码是如何被CPU执行的呢？32位和64操作系统有什么区别呢？








































]]></description><category></category></item><item><title><![CDATA[【计算机网络】输入网址到显示网页，期间发生了什么？]]></title><link>https://blog.youkuaiyun.com/qq_36638788/article/details/124454970</link><guid>https://blog.youkuaiyun.com/qq_36638788/article/details/124454970</guid><author>qq_36638788</author><pubDate>Wed, 27 Apr 2022 21:45:02 +0800</pubDate><description><![CDATA[浏览器键入网站后发生了什么？]]></description><category></category></item><item><title><![CDATA[【TCP/IP网络模型】TCP/IP网络模型的四层结构]]></title><link>https://blog.youkuaiyun.com/qq_36638788/article/details/124444875</link><guid>https://blog.youkuaiyun.com/qq_36638788/article/details/124444875</guid><author>qq_36638788</author><pubDate>Wed, 27 Apr 2022 14:28:15 +0800</pubDate><description><![CDATA[本文简单介绍了TCP/IP网络模型的四层结构，对计算机网络有一个清晰的认识，应用层是应用进程间通信和交互的规则，运输层时负责向两台主机中进程之间的通信提供通用的数据传输服务，网络层时负责为分组交换网上的不同主机提供通信服务和选择合适的路由，网络接口层是为网络层提供链路级别传输服务，使用mac地址来标识网络上的设备。]]></description><category></category></item><item><title><![CDATA[Matlab构建KD树]]></title><link>https://blog.youkuaiyun.com/qq_36638788/article/details/123321507</link><guid>https://blog.youkuaiyun.com/qq_36638788/article/details/123321507</guid><author>qq_36638788</author><pubDate>Mon, 07 Mar 2022 08:03:06 +0800</pubDate><description><![CDATA[机器学习、构建kd树]]></description><category></category></item><item><title><![CDATA[开始Django之旅-part7_自定义Django的管理页面]]></title><link>https://blog.youkuaiyun.com/qq_36638788/article/details/105717849</link><guid>https://blog.youkuaiyun.com/qq_36638788/article/details/105717849</guid><author>qq_36638788</author><pubDate>Fri, 24 Apr 2020 18:13:06 +0800</pubDate><description><![CDATA[开始Django之旅-part7_自定义Django的管理页面前言自定义管理员的表单添加相关的对象自定义管理员修改列表自定义管理员样式自定义项目的模板自定义app的模板自定义管理员index页面
前言
这篇文正主要关注自定义Django的自动生成的管理员页面，在第二篇文章就涉及了一点。
这篇文章是该系列的最后一篇文章，最适合于新手来初次了解Django的全貌，但是对于您开发项目来说，了解的细节太少...]]></description><category></category></item><item><title><![CDATA[开始Django之旅-part6_静态文件]]></title><link>https://blog.youkuaiyun.com/qq_36638788/article/details/105713733</link><guid>https://blog.youkuaiyun.com/qq_36638788/article/details/105713733</guid><author>qq_36638788</author><pubDate>Thu, 23 Apr 2020 21:08:55 +0800</pubDate><description><![CDATA[开始Django之旅-part6_静态文件前言自定义app的样式添加背景图片
前言
上一篇我们接触了如何测试app，这篇我们添加一些样式表和图片。
除了服务器生成一些HTML文件，WEB的app也需要服务器额外的文件：例如图片，js，或者css——它们需要去渲染整个web页面。在Django中，我们把这些文件叫做“静态文件”。
对于小项目来说，没什么大不了，因为你可以保存这些文件到web服务器可以...]]></description><category></category></item><item><title><![CDATA[开始Django之旅-part5_自动测试你的代码]]></title><link>https://blog.youkuaiyun.com/qq_36638788/article/details/105581623</link><guid>https://blog.youkuaiyun.com/qq_36638788/article/details/105581623</guid><author>qq_36638788</author><pubDate>Sun, 19 Apr 2020 22:49:57 +0800</pubDate><description><![CDATA[开始Django之旅-part5_自动测试你的代码介绍自动测试写第一个测试一级目录一级目录一级目录一级目录二级目录三级目录
介绍自动测试
什么是自动测试呢？
测试是检查你的代码的常规操作。测试操作有不同的级别，一些测试可能用于一些小细节（执行一个特定的模型方法返回一个期待的值），一些可能是检查整个软件的操作（在某一地址执行一系列的用户输入，生成想要的结果）。
而自动测试的特点就是测试工作完全由系统...]]></description><category></category></item></channel></rss>