<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Astar的博客]]></title><description><![CDATA[小白要努力成长]]></description><link>https://blog.youkuaiyun.com/Tracy_frog</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Tracy_frog]]></copyright><item><title><![CDATA[基于lighthouse对网站进行性能优化]]></title><link>https://blog.youkuaiyun.com/Tracy_frog/article/details/132971788</link><guid>https://blog.youkuaiyun.com/Tracy_frog/article/details/132971788</guid><author>Tracy_frog</author><pubDate>Wed, 07 Jul 2021 02:23:46 +0800</pubDate><description><![CDATA[theme: channing-cyan

前言

是这样的，我写了一个在线聊天的demo，前端vue后端koa。访问链接在此

作为一个爱折腾的年轻人，我总想让访问我网站的朋友们访问时十分顺畅、心情舒适、宾至如归，所以使用chrome devtool中自带的lighthouse工具对网站进行了方方面面(性能、可访问性、SEO等等)的分析，顺带做了一波性能优化。

优化前



我们可以看到p...]]></description><category></category></item><item><title><![CDATA[跨域及其解决方案]]></title><link>https://blog.youkuaiyun.com/Tracy_frog/article/details/118446973</link><guid>https://blog.youkuaiyun.com/Tracy_frog/article/details/118446973</guid><author>Tracy_frog</author><pubDate>Sat, 03 Jul 2021 23:57:19 +0800</pubDate><description><![CDATA[为什么会有跨域？
出于安全性考虑，浏览器限制脚本内发起的跨源HTTP请求。例如，XMLHttpRequest和Fetch API遵循同源策略。这意味着使用这些API的Web应用程序只能从加载应用程序的同一个域请求HTTP资源，除非响应报文包含了正确CORS响应头。

同源策略：如果两个URL的protocol、port(如果有指定的话)和host都相同的话，则这两个URL是同源。

跨域解决方案
1. JSONP
在CORS之前，开发人员也有跨域请求资源的需求，他们提出了多种方案，其中JSONP为常见的一种]]></description><category></category></item><item><title><![CDATA[Array.prototype.fill()生成二维数组问题]]></title><link>https://blog.youkuaiyun.com/Tracy_frog/article/details/117435984</link><guid>https://blog.youkuaiyun.com/Tracy_frog/article/details/117435984</guid><author>Tracy_frog</author><pubDate>Tue, 01 Jun 2021 10:19:04 +0800</pubDate><description><![CDATA[我打算使用Array.prototype.fill()快速生成二维数组，代码如下
let p = new Array(10).fill(new Array(5).fill(0))

预期生成10 * 5的二维数组
但是，当我们操作数组时，会发现出现了问题,以下代码使得所有p[i][0]都变为了10，这说明填充的数组都指向同一个引用。
p[0][0] = 10

查阅MDN，得知填充的是数组的引用。

If the first parameter is an object, each slot in the ]]></description><category></category></item><item><title><![CDATA[使用animation实现文字无限横向滚动]]></title><link>https://blog.youkuaiyun.com/Tracy_frog/article/details/115442055</link><guid>https://blog.youkuaiyun.com/Tracy_frog/article/details/115442055</guid><author>Tracy_frog</author><pubDate>Mon, 05 Apr 2021 14:44:03 +0800</pubDate><description><![CDATA[需求

若文字长度不超过容器宽度，则不滚动， 反之滚动（复制一遍文字，让滚动无缝衔接）。
匀速滚动（运动时间 = 路程 / 速度）。
监听resize事件，结合防抖throttle，触发后重新计算是否需要滚动。

实现
&lt;template&gt;
&lt;div&gt;
  &lt;div class="notice" ref="container"&gt;
    &lt;p ref="notice"&gt;{{notice}}&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&g]]></description><category></category></item><item><title><![CDATA[MongoDB常用命令自查笔记]]></title><link>https://blog.youkuaiyun.com/Tracy_frog/article/details/110004221</link><guid>https://blog.youkuaiyun.com/Tracy_frog/article/details/110004221</guid><author>Tracy_frog</author><pubDate>Wed, 13 Jan 2021 10:49:32 +0800</pubDate><description><![CDATA[https://johng.cn/mongodb-command/

查看当前数据库

db;


显示所有数据库

show dbs;


切换数据库

use XXX;


得到当前db的所有聚集集合

db.getCollectionNames();
···
5. 查询


]]></description><category></category></item><item><title><![CDATA[http请求报文和响应报文之常见请求头及其作用]]></title><link>https://blog.youkuaiyun.com/Tracy_frog/article/details/105600386</link><guid>https://blog.youkuaiyun.com/Tracy_frog/article/details/105600386</guid><author>Tracy_frog</author><pubDate>Sat, 18 Apr 2020 23:32:25 +0800</pubDate><description><![CDATA[HTTP的Request/Response

先看Request 消息（客户端发送）的结构,   Request 消息分为3部分
第一部分叫Request line, 第二部分叫Request header,第三部分是body. header和body之间有个空行。

第一行中的Method表示请求方法,比如"POST",“GET”, Path-to-resoure表示请求的资源， Http/ve...]]></description><category></category></item><item><title><![CDATA[javascript与leetcode——无重复字符的最长子串]]></title><link>https://blog.youkuaiyun.com/Tracy_frog/article/details/79643530</link><guid>https://blog.youkuaiyun.com/Tracy_frog/article/details/79643530</guid><author>Tracy_frog</author><pubDate>Tue, 19 Mar 2019 22:09:45 +0800</pubDate><description><![CDATA[问题描述： 
给定一个字符串，找出不含有重复字符的 最长子串 的长度。示例：给定 “abcabcbb” ，没有重复字符的最长子串是 “abc” ，那么长度就是3。给定 “bbbbb” ，最长的子串就是 “b” ，长度是1。给定 “pwwkew” ，最长子串是 “wke” ，长度是3。请注意答案必须是一个子串，”pwke” 是 子序列 而不是子串。分析： 
①必须会的暴力破解法，求无重复字符的最长子串]]></description><category></category></item><item><title><![CDATA[前端面试题目整理——实现平衡二叉树AVL]]></title><link>https://blog.youkuaiyun.com/Tracy_frog/article/details/88670861</link><guid>https://blog.youkuaiyun.com/Tracy_frog/article/details/88670861</guid><author>Tracy_frog</author><pubDate>Tue, 19 Mar 2019 19:41:31 +0800</pubDate><description><![CDATA[AVL是BST的升级版，搜索性能更高。
function Node(key) {
    this.data = key
    this.left = null
    this.right = null
}
function AVL(arr) {
    this.root = null
    this.createAVL(arr)
}
AVL.prototype.createAVL = f...]]></description><category></category></item><item><title><![CDATA[前端面试题目整理——设计模式]]></title><link>https://blog.youkuaiyun.com/Tracy_frog/article/details/88638619</link><guid>https://blog.youkuaiyun.com/Tracy_frog/article/details/88638619</guid><author>Tracy_frog</author><pubDate>Mon, 18 Mar 2019 22:29:22 +0800</pubDate><description><![CDATA[作用
JavaScript设计模式的作用 - 提高代码的重用性，可读性，使代码更容易的维护和扩展。
目录

单例模式
工厂模式
抽象工厂模式
策略模式
模板方法模式
职责链模式
发布订阅者模式
桥接模式
适配器模式


正文

单例模式


确保一个类仅有一个实例，并提供一个访问它的全局访问点。一般我们是这样实现单例的，用一个变量来标志当前的类已经创建过对象，如果下次获取当前类的实例时，直接返回之...]]></description><category></category></item><item><title><![CDATA[前端面试题目整理——排序算法]]></title><link>https://blog.youkuaiyun.com/Tracy_frog/article/details/88540064</link><guid>https://blog.youkuaiyun.com/Tracy_frog/article/details/88540064</guid><author>Tracy_frog</author><pubDate>Fri, 15 Mar 2019 20:02:38 +0800</pubDate><description><![CDATA[https://forrany.github.io/2018/08/21/2018-08-21-front-end-interview-algorithm/
https://blog.youkuaiyun.com/github_36673034/article/details/79323198
https://blog.youkuaiyun.com/weixin_38984353/article/details/8039...]]></description><category></category></item><item><title><![CDATA[前端面试整理——框架篇]]></title><link>https://blog.youkuaiyun.com/Tracy_frog/article/details/86548168</link><guid>https://blog.youkuaiyun.com/Tracy_frog/article/details/86548168</guid><author>Tracy_frog</author><pubDate>Tue, 12 Mar 2019 15:33:41 +0800</pubDate><description><![CDATA[VUE
VUEX
REACT
REDUX

]]></description><category></category></item><item><title><![CDATA[前端面试题目整理——计算机网络基础篇（汇总）]]></title><link>https://blog.youkuaiyun.com/Tracy_frog/article/details/86535521</link><guid>https://blog.youkuaiyun.com/Tracy_frog/article/details/86535521</guid><author>Tracy_frog</author><pubDate>Tue, 12 Mar 2019 12:48:01 +0800</pubDate><description><![CDATA[通信协议（http、tcp、udp）

三者都是通信协议，也就是通信时所遵守的规则，只有双方按照这个规则“说话”，对方才能理解或为之服务。
TCP/IP是个协议组，可分为四个层次：网络接口层、网络层、传输层和应用层。
在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。
在传输层中有TCP协议与UDP协议。
在应用层有FTP、HTTP、TELNET、SMTP、DNS等协议。...]]></description><category></category></item><item><title><![CDATA[前端面试题目整理——javascript篇]]></title><link>https://blog.youkuaiyun.com/Tracy_frog/article/details/86547232</link><guid>https://blog.youkuaiyun.com/Tracy_frog/article/details/86547232</guid><author>Tracy_frog</author><pubDate>Tue, 12 Mar 2019 11:15:13 +0800</pubDate><description><![CDATA[事件冒泡和事件捕获


事件委托
好处： 1. 减少事件注册；2. 新增子对象无需再次绑定事件，对我们动态增加子元素的时候很友好。
用法：利用事件冒泡原理 =&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt; 父元素进行事件响应=&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;a]]></description><category></category></item><item><title><![CDATA[前端性能优化方案都有哪些？]]></title><link>https://blog.youkuaiyun.com/Tracy_frog/article/details/88394903</link><guid>https://blog.youkuaiyun.com/Tracy_frog/article/details/88394903</guid><author>Tracy_frog</author><pubDate>Mon, 11 Mar 2019 16:04:33 +0800</pubDate><description><![CDATA[原文 =》 https://www.cnblogs.com/coober/p/8078847.html
前端是庞大的，包括 HTML、 CSS、 Javascript、Image 、Flash等等各种各样的资源。前端优化是复杂的，针对方方面面的资源都有不同的方式。那么，前端优化的目的是什么 ?

从用户角度而言，优化能够让页面加载得更快、对用户的操作响应得更及时，能够给用户提供更为友好的体验。
从...]]></description><category></category></item><item><title><![CDATA[【机器学习】之梯度下降算法（GradientDescent）]]></title><link>https://blog.youkuaiyun.com/Tracy_frog/article/details/86515516</link><guid>https://blog.youkuaiyun.com/Tracy_frog/article/details/86515516</guid><author>Tracy_frog</author><pubDate>Fri, 01 Feb 2019 23:05:16 +0800</pubDate><description><![CDATA[前言
关于梯度的前世今生问题我已经在这篇文章中探讨了 =&amp;amp;amp;amp;amp;gt; 【机器学习】之梯度的探究

【参考资料】
tensorflow-梯度下降,有这一篇就足够了

]]></description><category></category></item><item><title><![CDATA[alplapose（pytorch version）安装配置]]></title><link>https://blog.youkuaiyun.com/Tracy_frog/article/details/86695087</link><guid>https://blog.youkuaiyun.com/Tracy_frog/article/details/86695087</guid><author>Tracy_frog</author><pubDate>Tue, 29 Jan 2019 21:18:08 +0800</pubDate><description><![CDATA[Alphapose（pytorch version）github页面：https://github.com/MVIG-SJTU/AlphaPose/tree/pytorch
搞了双系统win10+ubuntu16.04
在ubuntu16.04内部运行alphapose代码

python2.7和python3.5，先安装pip3(python3-pip)
下代码

git clone -b py...]]></description><category></category></item><item><title><![CDATA[win10+ubuntu16.04双系统配置记录]]></title><link>https://blog.youkuaiyun.com/Tracy_frog/article/details/86694561</link><guid>https://blog.youkuaiyun.com/Tracy_frog/article/details/86694561</guid><author>Tracy_frog</author><pubDate>Tue, 29 Jan 2019 20:25:43 +0800</pubDate><description><![CDATA[此帖记录配置双系统的全部过程，网上很多教程良莠不齐，很多博主连电脑配置都没有说清楚就直接上教程，按照这样的教程配置成功往往是因为幸运。
安装双系统前的准备

了解电脑分区类型（mbr还是gpt？）
https://jingyan.baidu.com/article/ad310e80a9298a1849f49e17.html
了解电脑是uefi启动还是bios启动
https://jingyan.b...]]></description><category></category></item><item><title><![CDATA[前端面试题目整理——css篇]]></title><link>https://blog.youkuaiyun.com/Tracy_frog/article/details/80233865</link><guid>https://blog.youkuaiyun.com/Tracy_frog/article/details/80233865</guid><author>Tracy_frog</author><pubDate>Mon, 21 Jan 2019 04:00:09 +0800</pubDate><description><![CDATA[1.css选择器 
CSS选择器：id选择器(#myid)、类选择器(.myclassname)、标签选择器(div, h1, p)、相邻选择器(h1 + p)、子选择器（ul &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt; li）、后代选择器（li a）、通配符选择器（*）、属性选择器（a[rel=”external”]）、伪类选择器（a:hover, li:nth-child）
]]></description><category></category></item><item><title><![CDATA[【机器学习】之梯度的探究]]></title><link>https://blog.youkuaiyun.com/Tracy_frog/article/details/86365132</link><guid>https://blog.youkuaiyun.com/Tracy_frog/article/details/86365132</guid><author>Tracy_frog</author><pubDate>Wed, 16 Jan 2019 21:34:24 +0800</pubDate><description><![CDATA[前言
训练模型时我们会用到一个【损失函数】，它存在的作用是判定当前训练参数是否合格，损失值越小，说明模型拟合度好。
那么如何知道损失值已经达到最小了呢？
我们需要明确的一点：它的本质是一个函数，求函数极限值的方法想必各位已在《高等数学》的修读中学会了，本文会对一些基本概念进行简单回顾——导数、偏导数、方向导数和梯度，步步深入。
一元函数的导数
一元函数在某一点的导数等于它的图像上这一点处之切线的斜...]]></description><category></category></item><item><title><![CDATA[tensorflow基础之张量（Tensor）、阶（Rank）、计算图（Graph）、节点（Node）]]></title><link>https://blog.youkuaiyun.com/Tracy_frog/article/details/86091921</link><guid>https://blog.youkuaiyun.com/Tracy_frog/article/details/86091921</guid><author>Tracy_frog</author><pubDate>Wed, 09 Jan 2019 16:27:04 +0800</pubDate><description><![CDATA[tensorflow对张量（Tensor）是这样定义的：

张量是对矢量和矩阵向潜在的更高维度的泛化。TensorFlow 在内部将张量表示为基本数据类型的 n 维数组。

显然，tensorflow将张量定义为多维数组。
【相关资料】
TensorFlow从0到1 - 2 - TensorFlow核心编程
笔记 | 什么是张量（tensor）&amp;amp;amp;amp;amp;amp; 深度学习
转|浅谈什么是张量tensor
...]]></description><category></category></item></channel></rss>