<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[lamwolf的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/lamwolf</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; lamwolf]]></copyright><item><title><![CDATA[VUE学习七收集表单数据]]></title><link>https://blog.youkuaiyun.com/lamwolf/article/details/132199185</link><guid>https://blog.youkuaiyun.com/lamwolf/article/details/132199185</guid><author>lamwolf</author><pubDate>Wed, 09 Aug 2023 22:50:56 +0800</pubDate><description><![CDATA[【代码】VUE学习七收集表单数据。]]></description><category></category></item><item><title><![CDATA[VUE学习六之绑定样式及条件属性]]></title><link>https://blog.youkuaiyun.com/lamwolf/article/details/131817214</link><guid>https://blog.youkuaiyun.com/lamwolf/article/details/131817214</guid><author>lamwolf</author><pubDate>Wed, 19 Jul 2023 20:32:05 +0800</pubDate><description><![CDATA[【代码】VUE学习六之绑定样式及条件属性。]]></description><category></category></item><item><title><![CDATA[VUE学习六监视属性]]></title><link>https://blog.youkuaiyun.com/lamwolf/article/details/131625162</link><guid>https://blog.youkuaiyun.com/lamwolf/article/details/131625162</guid><author>lamwolf</author><pubDate>Sun, 09 Jul 2023 17:30:04 +0800</pubDate><description><![CDATA[console.log('isHot被修改了',newValue,oldValue,this)console.log('isHot被修改了',newValue,oldValue)// immediate:true, //初始化时让handler调用一下。immediate:true, //初始化时让handler调用一下。// immediate:true, //初始化时让handler调用一下。immediate:true, //初始化时让handler调用一下。// deep:true,//深度监视。]]></description><category></category></item><item><title><![CDATA[VUE学习五计算属性]]></title><link>https://blog.youkuaiyun.com/lamwolf/article/details/131624258</link><guid>https://blog.youkuaiyun.com/lamwolf/article/details/131624258</guid><author>lamwolf</author><pubDate>Sun, 09 Jul 2023 16:29:06 +0800</pubDate><description><![CDATA[/get有什么作用？当有人读取fullName时，get就会被调用，且返回值就作为fullName的值。//get什么时候调用？1.初次读取fullName时。// console.log(this) //此处的this是vm。console.log('get被调用了')//set什么时候调用?当fullName被修改时。//阻止 vue 在启动时生成生产提示。//阻止 vue 在启动时生成生产提示。//阻止 vue 在启动时生成生产提示。//阻止 vue 在启动时生成生产提示。]]></description><category></category></item><item><title><![CDATA[VUE学习四事件处理]]></title><link>https://blog.youkuaiyun.com/lamwolf/article/details/131618617</link><guid>https://blog.youkuaiyun.com/lamwolf/article/details/131618617</guid><author>lamwolf</author><pubDate>Sun, 09 Jul 2023 01:19:47 +0800</pubDate><description><![CDATA[/ console.log(this) //此处的this是vm。// console.log(this) //此处的this是vm。//阻止 vue 在启动时生成生产提示。//阻止 vue 在启动时生成生产提示。//阻止 vue 在启动时生成生产提示。//定义了一个别名按键。]]></description><category></category></item><item><title><![CDATA[VUE学习三数据代理]]></title><link>https://blog.youkuaiyun.com/lamwolf/article/details/131617965</link><guid>https://blog.youkuaiyun.com/lamwolf/article/details/131617965</guid><author>lamwolf</author><pubDate>Sat, 08 Jul 2023 23:51:24 +0800</pubDate><description><![CDATA[/当有人读取person的age属性时，get函数(getter)就会被调用，且返回值就是age的值。//当有人修改person的age属性时，set函数(setter)就会被调用，且会收到修改的具体值。// configurable:true //控制属性是否可以被删除，默认值是false。// enumerable:true, //控制属性是否可以枚举，默认值是false。// writable:true, //控制属性是否可以被修改，默认值是false。'有人修改了age属性，且值是']]></description><category></category></item><item><title><![CDATA[Vue学习2]]></title><link>https://blog.youkuaiyun.com/lamwolf/article/details/131565245</link><guid>https://blog.youkuaiyun.com/lamwolf/article/details/131565245</guid><author>lamwolf</author><pubDate>Wed, 05 Jul 2023 22:44:23 +0800</pubDate><description><![CDATA[v.$mount('#root') //第二种写法 *///el:'#root', //第一种写法。//阻止 vue 在启动时生成生产提示。//阻止 vue 在启动时生成生产提示。//此处的this是Vue实例对象。//data的第一种写法：对象式。//data的第二种写法：函数式。name:'尚硅谷'name:'尚硅谷'//data的两种写法。]]></description><category></category></item><item><title><![CDATA[Vue学习一]]></title><link>https://blog.youkuaiyun.com/lamwolf/article/details/131564795</link><guid>https://blog.youkuaiyun.com/lamwolf/article/details/131564795</guid><author>lamwolf</author><pubDate>Wed, 05 Jul 2023 22:07:37 +0800</pubDate><description><![CDATA[/data中用于存储数据，数据供el所指定的容器去使用，值我们暂时先写成一个对象。//el用于指定当前Vue实例为哪个容器服务，值通常为css选择器字符串。//阻止 vue 在启动时生成生产提示。//阻止 vue 在启动时生成生产提示。//阻止 vue 在启动时生成生产提示。]]></description><category></category></item><item><title><![CDATA[js中使用filter函数过滤数组]]></title><link>https://blog.youkuaiyun.com/lamwolf/article/details/131469045</link><guid>https://blog.youkuaiyun.com/lamwolf/article/details/131469045</guid><author>lamwolf</author><pubDate>Fri, 30 Jun 2023 08:54:50 +0800</pubDate><description><![CDATA[【代码】js中使用filter函数过滤数组。]]></description><category></category></item><item><title><![CDATA[Express]]></title><link>https://blog.youkuaiyun.com/lamwolf/article/details/131178792</link><guid>https://blog.youkuaiyun.com/lamwolf/article/details/131178792</guid><author>lamwolf</author><pubDate>Mon, 12 Jun 2023 23:30:18 +0800</pubDate><description><![CDATA[路由（Routing）是由一个 URI（或者叫路径标识）和一个特定的 HTTP 方法（GET、POST 等）组成的，涉及到应用如何处理响应客户端请求。每一个路由都可以有一个或者多个处理器函数，当匹配到路由时，这个/些函数将被执行。app 是 express 实例METHOD 是一个 HTTP 请求方法PATH 是服务端路径（定位标识）HANDLER 是当路由匹配到时需要执行的处理函数。]]></description><category></category></item><item><title><![CDATA[端口扫描器——X-scan]]></title><link>https://blog.youkuaiyun.com/lamwolf/article/details/129979266</link><guid>https://blog.youkuaiyun.com/lamwolf/article/details/129979266</guid><author>lamwolf</author><pubDate>Wed, 05 Apr 2023 23:20:00 +0800</pubDate><description><![CDATA[X-scan是由安全焦点开发的一个功能强大的扫描工具。它采用多线程方式对指定IP地址段进行安全漏洞监测，支持插件功能。]]></description><category></category></item><item><title><![CDATA[SpringBoot自动配置原理]]></title><link>https://blog.youkuaiyun.com/lamwolf/article/details/128719728</link><guid>https://blog.youkuaiyun.com/lamwolf/article/details/128719728</guid><author>lamwolf</author><pubDate>Tue, 17 Jan 2023 19:48:41 +0800</pubDate><description><![CDATA[spring boot 在配置上相比spring要简单许多, 其核心在于spring-boot-starter, 在使用spring boot来搭建一个项目时, 只需要引入官方提供的starter, 就可以直接使用, 免去了各种配置。starter简单来讲就是引入了一些相关依赖和 一些初始化的配置。Spring官方提供了很多starter，第三方也可以定义starter。]]></description><category></category></item><item><title><![CDATA[Redis持久化方式]]></title><link>https://blog.youkuaiyun.com/lamwolf/article/details/128649907</link><guid>https://blog.youkuaiyun.com/lamwolf/article/details/128649907</guid><author>lamwolf</author><pubDate>Wed, 11 Jan 2023 20:08:38 +0800</pubDate><description><![CDATA[save命令会阻塞redis服务器进程，直到RDB文件创建完毕为止，在服务器进程阻塞期间，服务器不能处理任何命令请求；和save命令直接阻塞服务器进程的做法不同，bgsave命令去派生一个子进程，然后由子进程负责创建RDB文件，服务器进程（父进程）继续处理命令请求。save 命令由服务器进程执行保存工作，bgsave命令则由子进程执行保存工作，所以save命令会阻塞服务器，而bgsave命令则不会。用户可以通过save选项设置多个保存条件，但只要其中任意一个条件被满足，服务器就会执行bgsave命令。]]></description><category></category></item><item><title><![CDATA[redis五种基本数据类型]]></title><link>https://blog.youkuaiyun.com/lamwolf/article/details/128648852</link><guid>https://blog.youkuaiyun.com/lamwolf/article/details/128648852</guid><author>lamwolf</author><pubDate>Wed, 11 Jan 2023 18:42:22 +0800</pubDate><description><![CDATA[在商品秒杀场景最怕的就是商品超卖，为了解决超卖问题，我们经常会将库存商品缓存到类似MQ的队列中，多线程的购买请求都是从队列中取，取完了就卖完了，但是用MQ处理的化有点重，这里就可以使用redis的list数据类型来实现，在秒杀前将本场秒杀的商品放到list中，因为list的pop操作是原子性的，所以即使有多个用户同时请求，也是依次pop，list空了pop抛出异常就代表商品卖完了。第一点：修改后字符串的大小小于1MB，字符串的大小变为多少，程序分配的未使用空间就和字符串的大小一样。]]></description><category></category></item><item><title><![CDATA[Spring Cloud Gateway]]></title><link>https://blog.youkuaiyun.com/lamwolf/article/details/128635687</link><guid>https://blog.youkuaiyun.com/lamwolf/article/details/128635687</guid><author>lamwolf</author><pubDate>Tue, 10 Jan 2023 20:41:39 +0800</pubDate><description><![CDATA[Spring Cloud Gateway是作为Spring Cloud生态系中的网关，其目标是替代Netflix Zuul，它不仅提供统一的路由方式，并且基于Filter链的方式提供了网关基本的功能，例如：安全、监控/埋点和限流等。]]></description><category></category></item><item><title><![CDATA[mysql索引]]></title><link>https://blog.youkuaiyun.com/lamwolf/article/details/128626242</link><guid>https://blog.youkuaiyun.com/lamwolf/article/details/128626242</guid><author>lamwolf</author><pubDate>Tue, 10 Jan 2023 13:42:19 +0800</pubDate><description><![CDATA[MySQL官方对索引的定义为：索引是帮助mysql高效获取数据的数据结构。所以说索引的本质是：索引结构。索引的目的在于提高查询效率，可以类比字典、火车站的车次表、图书的目录等。可以简单的理解为”排好序的快速查找数据结构“，数据本身之外，数据库还维护着一个满足特定查找算法的数据结构，这些数据结构以某种方式引用（指向数据），这样就可以在这些数据结构上实现高级查找算法，这种数据结构，就是索引。]]></description><category></category></item><item><title><![CDATA[happens-before原则]]></title><link>https://blog.youkuaiyun.com/lamwolf/article/details/128596360</link><guid>https://blog.youkuaiyun.com/lamwolf/article/details/128596360</guid><author>lamwolf</author><pubDate>Sat, 07 Jan 2023 22:46:44 +0800</pubDate><description><![CDATA[在JMM中，如果一个操作执行的结果需要对另一个操作可见或者代码重排序，那么这两个操作之间必须存在happens-before（先行发生）原则。]]></description><category></category></item><item><title><![CDATA[设计模式之单例模式]]></title><link>https://blog.youkuaiyun.com/lamwolf/article/details/128594922</link><guid>https://blog.youkuaiyun.com/lamwolf/article/details/128594922</guid><author>lamwolf</author><pubDate>Sat, 07 Jan 2023 20:43:39 +0800</pubDate><description><![CDATA[单例模式属于创建型模式。这种模式涉及到一个单一的类，该类负责创建自己的对象，同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式，可以直接访问，不需要实例化该类的对象。]]></description><category></category></item><item><title><![CDATA[设计模式之工厂模式]]></title><link>https://blog.youkuaiyun.com/lamwolf/article/details/128594167</link><guid>https://blog.youkuaiyun.com/lamwolf/article/details/128594167</guid><author>lamwolf</author><pubDate>Sat, 07 Jan 2023 19:48:14 +0800</pubDate><description><![CDATA[工厂模式是Java中最常用的设计模式之一。这种类型的设计模式属于创建型模式，它提供了一种创建对象的最佳方式。在工厂模式中，我们创建对象时不会对客户端暴露创建逻辑，并且是通过使用一个共同的接口来指向新创建的对象。]]></description><category></category></item><item><title><![CDATA[设计模式之设计原则]]></title><link>https://blog.youkuaiyun.com/lamwolf/article/details/128593854</link><guid>https://blog.youkuaiyun.com/lamwolf/article/details/128593854</guid><author>lamwolf</author><pubDate>Sat, 07 Jan 2023 19:16:03 +0800</pubDate><description><![CDATA[LSP是继承复用的基石，只有当派生类可以替换掉基类，且软件单位的功能不受到影响时，基类才能真正被复用，而派生类也能够在基类的基础上增加新的行为。实现开闭原则的关键步骤就是抽象化，而基类与子类的继承关系就是抽象化的具体实现，所以里氏替换原则是对实现抽象化的具体步骤规范。合成则是一种强的“拥有”关系，体现了严格的部分和整体的关系，部分和整体的生命周期一样。在程序需要进程拓展的时候，不能去修改原有的代码，实现一个热插拔的效果。这个原则是开闭原则的基础，具体内容：针对接口编程，依赖于抽象而不依赖于具体。]]></description><category></category></item></channel></rss>