<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[DPJune的博客]]></title><description><![CDATA[分享自己前端学习过程中的所得与经验]]></description><link>https://blog.youkuaiyun.com/dpj514</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; dpj514]]></copyright><item><title><![CDATA[js清除多条cookie时只清除一条的问题]]></title><link>https://blog.youkuaiyun.com/dpj514/article/details/88428573</link><guid>https://blog.youkuaiyun.com/dpj514/article/details/88428573</guid><author>dpj514</author><pubDate>Tue, 12 Mar 2019 21:16:17 +0800</pubDate><description><![CDATA[之前在做一个项目时，有一个登出功能需要清除所有cookie，我一想，给这所有cookie的过期时间Max-Age全都设为0不就可以了，
（这里不使用Expires的原因是服务器可能不是北京时间，这样的话将Expires设为当前的本地时间可能会无效）
代码很简单，如下:
        const keys = document.cookie.match(/[^=;]+(?==&amp;quot;)/g);
    ...]]></description><category></category></item><item><title><![CDATA[chrome的硬性重新加载与清空缓存并硬性重新加载]]></title><link>https://blog.youkuaiyun.com/dpj514/article/details/86727389</link><guid>https://blog.youkuaiyun.com/dpj514/article/details/86727389</guid><author>dpj514</author><pubDate>Thu, 31 Jan 2019 22:46:36 +0800</pubDate><description><![CDATA[以前在用chrome浏览器调试的时候无意间右击了刷新按钮，结果出现了一个菜单：

有这么三个选项，第一个选项自然就是直接刷新，那么另外两个选项有什么作用呢？


硬性重新加载：等同于直接按SHIFT+F5，或者在devtools的network面板中勾选Disable cache并刷新（devtools面板开启状态）。这种情况下当遇到需要加载的资源时，不会使用缓存的资源，而是重新发起请求。


清...]]></description><category></category></item><item><title><![CDATA[Javascript定义数组初始值的简便方法]]></title><link>https://blog.youkuaiyun.com/dpj514/article/details/81905034</link><guid>https://blog.youkuaiyun.com/dpj514/article/details/81905034</guid><author>dpj514</author><pubDate>Tue, 21 Aug 2018 15:34:32 +0800</pubDate><description><![CDATA[如何在Javascript中定义一个有初始值的数组？众所周知，在JS中定义数组，如果没有指定某个索引的值，则默认为undefined。举个例子：如果我们想定义一个长度为20的数组，并且初始值为空字符串，可以直接这样实现：

const arr = [];
for (let i = 0; i &amp;amp;amp;lt; 20; i++) {
    arr[i] = '';
}

这样的实现倒也是很简单，但是每次初始...]]></description><category></category></item><item><title><![CDATA[IntelliJ IDEA无法在package下新建java class]]></title><link>https://blog.youkuaiyun.com/dpj514/article/details/80412901</link><guid>https://blog.youkuaiyun.com/dpj514/article/details/80412901</guid><author>dpj514</author><pubDate>Tue, 22 May 2018 22:23:05 +0800</pubDate><description><![CDATA[最近课比较多，很长时间没写博客。写博客有很多好处，但需要长久坚持，所以我又抽出时间来写篇博客。

言归正传，这段时间我在学习算法(第四版)这本书，书中用的语言是Java，所以我也顺带着学一哈Java，

并做一下书中的习题，IDE用的当然是备受好评的IDEA，但刚开始我就遇到了麻烦，情况如下图: 
   
  竟然没有新建Java Class的选项？我查了好久，最后发现是自己package文件夹的...]]></description><category></category></item><item><title><![CDATA[《CSS揭秘》读后感]]></title><link>https://blog.youkuaiyun.com/dpj514/article/details/79773210</link><guid>https://blog.youkuaiyun.com/dpj514/article/details/79773210</guid><author>dpj514</author><pubDate>Sat, 31 Mar 2018 22:19:32 +0800</pubDate><description><![CDATA[

最近刚刚把《CSS揭秘》给读完，感触颇深，故写一篇博客来分享一下这本书的内容，以及我从中学到的东西。

这本书不同于我看到的其它CSS书籍，没有一开始就直接讲解各个css属性的作用，而是先告诉读者重要的编程思维。在读引言时，我便被书中的内容震撼到了，它讲述的css技巧给了我很大的启发，讲解结合代码样例通俗易懂，而且非常实用。作者着重强调了DRY(Don’t Repeat Yourself)的编...]]></description><category></category></item><item><title><![CDATA[Firefox的button后加伪元素无按钮行为]]></title><link>https://blog.youkuaiyun.com/dpj514/article/details/79772512</link><guid>https://blog.youkuaiyun.com/dpj514/article/details/79772512</guid><author>dpj514</author><pubDate>Sat, 31 Mar 2018 20:50:24 +0800</pubDate><description><![CDATA[最近，在看CSS揭秘这本书的时候，写了一个demo来尝试扩大点击热区功能的实现，但在实现过程中发现了它在不同浏览器中效果不同，代码如下：

&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&quot;en&quot;&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;
    &amp;lt;meta name=&quot;viewport&quot; ]]></description><category></category></item><item><title><![CDATA[async/await深入学习]]></title><link>https://blog.youkuaiyun.com/dpj514/article/details/79734496</link><guid>https://blog.youkuaiyun.com/dpj514/article/details/79734496</guid><author>dpj514</author><pubDate>Thu, 29 Mar 2018 22:28:59 +0800</pubDate><description><![CDATA[首先看这么一段代码：



async function async1() {
console.log('a');
await async2();
console.log('b');
}
async function async2(){
console.log('c');
}
async1();
new Promise(function (resolve) {
console.log('d');
...]]></description><category></category></item><item><title><![CDATA[python paramiko导致程序挂起(待续)]]></title><link>https://blog.youkuaiyun.com/dpj514/article/details/79708715</link><guid>https://blog.youkuaiyun.com/dpj514/article/details/79708715</guid><author>dpj514</author><pubDate>Tue, 27 Mar 2018 21:40:34 +0800</pubDate><description><![CDATA[发现问题

几天前做基于tornado的web系统的时候，启动系统后发现无法访问，而且监听特定端口只能同时开启一个进程的web程序居然能开启无限多个，使用netstat -ano |grep 端口号发现web程序根本没有占用端口，说明程序根本没有启动成功，在程序中打断点也没有反应，最后发现程序在import一个文件后就直接挂起了。

这个文件定义了几个控制器类，其开始部分有这样几行代码

impo...]]></description><category></category></item><item><title><![CDATA[python传输大文本实践]]></title><link>https://blog.youkuaiyun.com/dpj514/article/details/79370433</link><guid>https://blog.youkuaiyun.com/dpj514/article/details/79370433</guid><author>dpj514</author><pubDate>Sun, 25 Feb 2018 21:38:19 +0800</pubDate><description><![CDATA[最近开发网站有一个需求是将大量数据库的内容导出下载，大小少则几MB，多则上百MB，由于以前从没做过类似的需求，刚开始我直接将导出的字符串通过ajax传到页面上，然后进行一些处理，然后导出。

但我很快就发现，小一点的文本还好，文本较大时要花费大量时间传输，比如大小100MB的文本，下载速度2MB/s的话，要下载50s，而且因为是在ajax时传输，用户不知道传输的进度，只能干等着，体验会非常差。

...]]></description><category></category></item><item><title><![CDATA[浏览器控制台妙用——输出可折叠的文本]]></title><link>https://blog.youkuaiyun.com/dpj514/article/details/79147708</link><guid>https://blog.youkuaiyun.com/dpj514/article/details/79147708</guid><author>dpj514</author><pubDate>Wed, 24 Jan 2018 19:22:08 +0800</pubDate><description><![CDATA[

作为一个搞前端的人，我在打开网站时有时会开着控制台，在访问掘金的时候发现了这么一段输出，当时就懵逼了，怎么出来一个js文件？

大家都知道，浏览器控制台输出的对象都是可以折叠的，像这样： 
   
  但是第一张图的输出明显与这个不同，我在百度或Google上也找不到结果，最后没办法了，只能给网站的js下断点，找到了一个console.groupCollapsed，第一次看到这个api时我还疑...]]></description><category></category></item><item><title><![CDATA[让网站更快？【转】下一代通信协议：QUIC]]></title><link>https://blog.youkuaiyun.com/dpj514/article/details/79149278</link><guid>https://blog.youkuaiyun.com/dpj514/article/details/79149278</guid><author>dpj514</author><pubDate>Wed, 24 Jan 2018 12:14:01 +0800</pubDate><description><![CDATA[在 HTTP 协议已经占据互联网大半江山的今天，尽管网速越来越快，但是人类还是致力于将网络传输速率提升到极致。 
     从 HTTP/1.x 到 HTTP/2，TCP 已经不能满足人类贪婪的欲望了，他们开始向常年被忽视的 UDP 进军。


QUIC 是什么？

QUIC（Quick UDP Internet Connections），直译过来就是“快速的 UDP 互联网连接”，是 Googl]]></description><category></category></item><item><title><![CDATA[【 Javascript刷LeetCode系列】5. Longest Palindromic Substring 最长回文子串问题]]></title><link>https://blog.youkuaiyun.com/dpj514/article/details/79067226</link><guid>https://blog.youkuaiyun.com/dpj514/article/details/79067226</guid><author>dpj514</author><pubDate>Sat, 20 Jan 2018 20:48:35 +0800</pubDate><description><![CDATA[回文子串是一个字符串中正反读完全一样的子串，如”aca”或”abba”，本题要求找出字符串中最长的回文子串，如下：





1.暴力解法

首先，暴力解法是最容易想到的办法，获取所有的子串，判断每一个子串是不是回文子串，然后找到最长的那个，一个字符串的子串数目有N(N+1)/2+1个，求出所有子串的时间复杂度为O(N²)，判断每个子串是否为回文子串的时间复杂度为O(N)，所以整个算法的时间复杂度...]]></description><category></category></item><item><title><![CDATA[求字符串子串数目的方法]]></title><link>https://blog.youkuaiyun.com/dpj514/article/details/79048526</link><guid>https://blog.youkuaiyun.com/dpj514/article/details/79048526</guid><author>dpj514</author><pubDate>Fri, 12 Jan 2018 22:03:47 +0800</pubDate><description><![CDATA[最近在做一些算法题，经常遇到字符串的问题，需要计算字符串子串的数目，字符串的子串数目为 
n(n+1)/2 + 1，这个答案是如何求得的呢？ 
  我们都知道子串是一个字符串中连续的一段，其实你可以把它抽象为周围有边界的一串字符，如”abcde”，你可以把子串”bc”抽象为”a|bc|de”，这样一来计算子串数目的问题其实就转化成了计算字符串中放置边界的问题，一个长度为n的字符串中可以放置n个边界]]></description><category></category></item><item><title><![CDATA[JSPerf-javascript代码性能测试利器]]></title><link>https://blog.youkuaiyun.com/dpj514/article/details/78767936</link><guid>https://blog.youkuaiyun.com/dpj514/article/details/78767936</guid><author>dpj514</author><pubDate>Mon, 11 Dec 2017 15:39:31 +0800</pubDate><description><![CDATA[前言

在写一段代码的时候，很多小伙伴可能都会想要知道知道它的性能到底如何，和其他写法比起来哪个更快，但却苦于没有好用的工具，只能手动测试运行时间，这样一来是不方便，二来因为样本数太少误差较大，因此今天我要给大家推荐一个利器——JSPerf： https://jsperf.com。



介绍

JSPerf是一个在线的代码片段性能测试工具，可以对代码片段的性能进行测试，并输出比对结果。



原...]]></description><category></category></item><item><title><![CDATA[我的第一篇博客:我是怎么进入前端领域的]]></title><link>https://blog.youkuaiyun.com/dpj514/article/details/78670465</link><guid>https://blog.youkuaiyun.com/dpj514/article/details/78670465</guid><author>dpj514</author><pubDate>Wed, 06 Dec 2017 10:53:29 +0800</pubDate><description><![CDATA[入坑经历

上大学前就一直对电脑方面的东西感兴趣，选专业时大部分选的都是计算机类相关专业，然而最后因为成绩不够，被调剂到了环境工程专业，本来有转专业的机会，但因为大一过于放纵以及其他一些原因，最后还是没能转成，我们专业开C语言课，然而C语言老师念一整堂PPT的做法让我几乎没认真听过C语言课，最后仓促复习才勉强及格的经历让我对C语言心里有一些阴影，正巧那时我加了我们学校的电脑协会，参加了一次网页知识...]]></description><category></category></item></channel></rss>