我的创作纪念日三年收获和感悟

机缘

我刚开始接触创作也是最近几年开始,当初就是希望自己的收获分享给大家,不仅使自己成长,也可以带着大家一起成长,独乐乐不如众乐乐,人都是自私的以前我都是看到好的知识文章都是自己藏起来,发现收获的东西越来越多但是没法释放,后来朋友教导我学会分享,分享自己的收获,分享自己的所知所行,才会有越来越多的人与自己链接,爱才会发生。人们生活在一个自我中心的世界里,这会感觉到痛苦,因为人生中所有伟大的幸福只有当你不自私不贪婪,当你愿意分享时才会出现。
转眼间我的博客已经有九年时间里,九年前我还是对我的很模糊,感觉人生没有方向迷茫,不知道自己该干什么,不知道自己想要啥,对自己的未来毫无规划,那时候还在写着生活的笔记,翻看八九年前的过往笔记,看到那时候自己胡思乱想的样子可真可爱啊,有的时候就是我们勤于思索,我们人生就会充满太多的疑惑,我们甚至难以走出而迷茫,所以不要焦虑过好当下才是最重要的。

请添加图片描述

实战项目中的经验分享

在学习vue做项目中我也是看见一堆代码一脸懵,学习最快的方式就是实践,根据官网多写几个例子是掌握vue最快的方式,接下来我就总结开发vue项目的一些实践经验

  1. vue生命周期的应用
    请添加图片描述

以上是vue官网上的生命周期的方法,大致划分一下分为创建前/后,挂载前/后,更新前/后,销毁前/后这四个阶段。各个阶段的状态总结如下:

beforeCreate: 在beforeCreate生命周期执行时,data和methods中的数据还未初始化,所以此时不能使用data中的数据和methods中的方法
created: data 和 methods初始化完毕,此时可以使用methods 中的方法和data 中的数据
beforeMount: template模版已经编译好,但还未挂载到页面,此时页面还是上一个状态
mounted: 此时Vue实例初始化完成了,DOM挂载完毕,可以直接操作dom或者使用第三发dom库
beforeUpdate: 此时data已更新,但还未同步页面
updated: data和页面都已经更新完成
beforeDestory: Vue实例进入销毁阶段,但所有的 data 和 methods ,指令, 过滤器等都处于可用状态
destroyed: 此时组件已经被销毁,data,methods等都不可用

1.2 vue常用修饰符及作用:

  1. 事件修饰符
  • stop 阻止事件冒泡
  • .prevent 阻止事件默认行为
  • .self 事件绑定的元素本身触发时才触发回调
  • .once 事件只能触发一次,第二次就不会触发了
  • .native 将一个vue组件变成一个普通的html,使其可以监听click等原生事件,具体使用如下:
<button @click.native="handleClick">ok</button>
  1. 表单修饰符
  • .lazy 在输入框输入完内容,光标离开时才更新试图
  • .trim 过滤首尾空格
  • .number 如果想输入数字,那它就会限制你输入的只能是数字,那就相当于没有加.number
<input type="text" v-model.trim="value">
  1. vuex的几种属性和作用,以及使用vuex的基本模式

state的改变完全由mutations控制, 我们也没必要任何项目都使用vuex,对于中大型复杂项目而言,需要共享的状态很多时,使用vuex才是最佳的选择。接下来我将详细介绍各api的概念和作用。

  • state 单一状态树,用一个对象就包含了全部的应用层级状态,并且作为一个唯一数据源而存在
  • getters 就像计算属性一样,getter 的返回值会根据它的依赖被缓存起来,且只有当它的依赖值发生了改变才会被重新计算 比如如下案例:
  • Mutation 更改 Vuex 的 store 中的状态的唯一方法,使用案例如下:
const store = new Vuex.Store({state: {num: 1},mutations: {add (state) {// 变更状态state.num++}}
})// 在项目中使用mutation
store.commit('add')
// 添加额外参数
store.commit('add', 10)
  • Action Action 提交的是mutation,而不是直接变更状态,可以包含任意异步操作,具体用法如下:
const store = new Vuex.Store({state: {num: 0},mutations: {add (state) {state.num++}},actions: {add (context) {context.commit('add')},asyncAdd ({ commit }) {setTimeout(() => {commit('add')}}
})
// 分发action
store.dispatch('add')
// 异步action
store.dispatch('asyncAdd')
// 异步传参
store.dispatch('asyncAdd', { num: 10 })
  • Moudule 将store分割成模块(module)。每个模块拥有自已的state、mutation、action、getter、甚至是嵌套子模块;

对宏任务和微任务的理解
JS的整个执行过程,我们称为事件循环过程,这个过程中涉及执行栈和两个任务队列:宏任务、微任务。

宏任务包括:

1、script整体代码

2、setTimeout、setInterval

3、node环境的setImmediate

4、输入输出和UI render

微任务包括:

1、node环境的process.nextTick

2、Promise的回调函数

3、MutationObserver的回调

4、await后面的代码

执行过程:执行宏任务,执行该宏任务产生的微任务,微任务执行完毕后,再回到宏任务中进行下一轮循环。

解决过的代码


setTimeout(function() {console.log(1)
});
new Promise(resolve = >{resolve();
}).then(() = >{new Promise(resolve = >{resolve();}).then(() = >{console.log(2);}).then(() = >{console.log(3);});
}).then(() = >{new Promise((resolve = >{resolve()})).then(() = >{new Promise((resolve) = >{resolve()}).then(() = >{console.log(4)}).then(() = >{console.log(5)})}).then(() = >{console.log(6);})
}).then(() = >{console.log(7);
}) setTimeout(function() {console.log(8)
});// 错误2 3 4 5  6 7 1 8
// 正确2、3、7、4、6、5、1、8

日常

平时利用闲暇时间进行创作,其实写作最难的就是持续创作了,或者是懒惰,或者是拖延,或者是遇到了瓶颈,最终成功与否很大程度在与是否坚持,坚持才是最困难的,要努力克服💪

收获

随着我越来越勤奋的发布文章,我收获的赞和粉丝也随之增长,访问也快超过十万多 有下班的时候都看见99+支持我的作品的人越来越多确实令我挺开心愉快的,我也会更加努力,感谢粉丝对我的支持和一路的陪伴。
在这里插入图片描述
请添加图片描述

在这一年里遇见认识了技术大牛:大数据梦想家,是我很敬佩的一个人,一起交谈学习了很多东西也认识看到了自己的那个我,也更加接纳自己,使自己也更加豁然开朗,把自己的能量转变为更积极的行为。
请添加图片描述


我希望在新的一年里更加热爱开发,更加热爱创作,努力成为更好的自己,通过不断的学习,找到自己的方向,是继续朝着技术方向走,还是向管理方向发展,还要看自己情况来走。最终还是保持热爱不断的向前进步。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/594888.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NSSCTF 简单包含

开启环境: 使用POST传flag&#xff0c;flag目录/var/www/html/flag.php 先使用post来尝试读取该flag.php 没反应: 查看一下源码index.php&#xff0c;看有什么条件 base64解密: <?php$path $_POST["flag"];if (strlen(file_get_contents(php://input)) <…

Qt/C++编写视频监控系统82-自定义音柱显示

一、前言 通过音柱控件实时展示当前播放的声音产生的振幅的大小&#xff0c;得益于音频播放组件内置了音频振幅的计算&#xff0c;可以动态开启和关闭&#xff0c;开启后会对发送过来的要播放的声音数据&#xff0c;进行运算得到当前这个音频数据的振幅&#xff0c;类似于分贝…

SpringSecurity-2.7中跨域问题

SpringSecurity-2.7中跨域问题 访问测试 起因 写这篇的起因是会了解到 SSM(CrosOrigin)解决跨域,但是会在加入SpringSecurity配置后,这个跨域解决方案就失效了,而/login这个请求上是无法添加这个注解或者通过配置(WebMvcConfig)去解决跨域,所以只能使用SpringSecurity提供的.c…

AI原生应用开发“三板斧”亮相WAVE SUMMIT+2023

面对AI应用创新的风口跃跃欲试&#xff0c;满脑子idea&#xff0c;却苦于缺乏技术背景&#xff0c;不得不望而却步&#xff0c;这曾是许多开发者的苦恼&#xff0c;如今正在成为过去。 12月28日&#xff0c;WAVE SUMMIT深度学习开发者大会2023在北京举办。百度AI技术生态总经理…

CMake入门教程【核心篇】宏模板(macro)

&#x1f608;「CSDN主页」&#xff1a;传送门 &#x1f608;「Bilibil首页」&#xff1a;传送门 &#x1f608;「本文的内容」&#xff1a;CMake入门教程 &#x1f608;「动动你的小手」&#xff1a;点赞&#x1f44d;收藏⭐️评论&#x1f4dd; 文章目录 1. 定义宏1.1 基本语…

二分查找(一)

算法原理 原理&#xff1a;当一个序列有“二段性”的时候&#xff0c;就可以使用二分查找算法。 适用范围&#xff1a;根据规律找一个点&#xff0c;能将这个数组分成两部分&#xff0c;根据规律能有选择性的舍去一部分&#xff0c;进而在另一个部分继续查找。 除了最普通的…

Ps:创建基于颜色的蒙版

有时候画面上的某种颜色显得不是很和谐&#xff0c;如下图所示。 将画面上的某种颜色换掉&#xff0c;也是得到创意效果的一种重要手段。 演示视频 如果能创建好相关颜色的蒙版&#xff0c;这样在替换颜色的时候就会更加方便。 ◆ ◆ ◆ 创建基于颜色的蒙版 主要思路&#xf…

【动态规划】C++算法:44 通配符匹配

作者推荐 【动态规划】【字符串】扰乱字符串 本文涉及的基础知识点 动态规划 LeetCode44 通配符匹配 给你一个输入字符串 (s) 和一个字符模式 &#xff0c;请你实现一个支持 ‘?’ 和 ‘’ 匹配规则的通配符匹配&#xff1a; ‘?’ 可以匹配任何单个字符。 ’ 可以匹配…

122基于matlab的CSO-SVM,BA-SVM模式识别模型

基于matlab的CSO-SVM&#xff0c;BA-SVM模式识别模型。优化SVM的两个参数晚上最佳参数确定。输出分类识别结果和准确率。数据可更换自己的&#xff0c;程序已调通&#xff0c;可直接运行。 122鸡群优化算法蝙蝠优化算法 (xiaohongshu.com)

Unity | Shader基础知识番外(向量数学知识速成)

目录 一、向量定义 二、计算向量 三、向量的加法&#xff08;连续行走&#xff09; 四、向量的长度 五、单位向量 六、向量的点积 1 计算 2 作用 七、向量的叉乘 1 承上启下 2 叉乘结论 3 叉乘的计算&#xff08;这里看不懂就百度叉乘计算&#xff09; 八、欢迎收…

78 Python开发-多线程FuzzWaf异或免杀爆破

这里写目录标题 本课知识点:学习目的:演示案例:Python开发-简单多线程技术实现脚本Python开发-利用FTP模块实现协议爆破脚本Python开发-配合Fuzz实现免杀异或Shell脚本 涉及资源: 本课知识点: 协议模块使用&#xff0c;Request爬虫技术&#xff0c;简易多线程技术&#xff0c;…

探索模块化神经网络在现代人工智能中的功效和应用

一、介绍 在快速发展的人工智能领域&#xff0c;模块化神经网络 (MNN) 已成为一项关键创新。与遵循整体方法的传统神经网络架构不同&#xff0c;MNN 采用分散式结构。本文深入探讨了 MNN 的基础知识、它们的优势、应用以及它们带来的挑战。 evertongomede 在人工智能领域&#…

通灵术揭秘:空碗“竖筷子”不倒

通灵术揭秘&#xff1a;空碗“竖筷子”不倒 释名&#xff1a;竖筷子是流传很广的一种民间小术&#xff0c;因其法是在碗中竖起一支或三支筷子&#xff0c;故名。 用处&#xff1a;如果有人莫名其妙的生病了&#xff0c;医药无效&#xff0c;按民间的说法&#xff0c;就是遇鬼了…

苹果cmsV10暗黑大气MT主题模板源码-只有PC版本

苹果cms MT主题是一款多功能苹果cmsV10暗黑大气主题 初次使用说明&#xff1a; 网站模板选择mt 模板目录填写html 后台地址&#xff1a;MT主题,mt/mtset 先应用主题打开前台&#xff0c;再点击后台。 源码下载&#xff1a;https://download.csdn.net/download/m0_66047725…

Python武器库开发-武器库篇之代理池配置(四十)

武器库篇之代理池配置(四十) 我们在渗透的过程中&#xff0c;是必须要挂代理的&#xff0c;相信为何要挂代理的原因&#xff0c;各位也是非常的明白的&#xff0c;这里就不多讲了。关于如何挂代理和购买代理大家可以去看内网隧道代理技术&#xff08;十&#xff09;之公网资产…

GitHub上的15000个Go模块存储库易受劫持攻击

内容概要&#xff1a; 目前研究发现&#xff0c;GitHub上超过15000个Go模块存储库容易受到一种名为“重新劫持”的攻击。 由于GitHub用户名的更改会造成9000多个存储库容易被重新劫持&#xff0c;同时因为帐户删除&#xff0c;会对6000多个存储库造成重新劫持的危机。目前统计…

华芯微特|MCU之TIMER输入捕获

引言 华芯微特公司SWM系列单片机提供的TIMER个数和功能有些微差别&#xff0c;为了让您更加简单的使用这一功能&#xff0c;下面小编将以SWM190为例&#xff0c;我们今天详细讲解一下TIMER的输入捕获功能。 TIMER输入捕获 一、TIMER定时器之输入捕获功能 我们今天详细讲解一下…

产品|燕窝中的“秘密武器”——燕窝酸

前言 当提及燕窝&#xff0c;大部分人脑海中首先会闪过的大概是“宫廷圣品”、“名贵补品”等听上去十分高大上的形容词。然而随着现代人们生活水平的提高&#xff0c;燕窝已不再神秘&#xff0c;逐渐成为寻常百姓餐桌上的常见食品之一。据我国中医记载&#xff0c;燕窝具有养…

项目框架构建之2:主机程序的搭建

本文是“项目框架构建”系列之2&#xff0c;要编写一个项目框架&#xff0c;就好像一个操作系统似的&#xff0c;得有一些东西可以搭载项目结构&#xff0c;而.net core的主机框架正是可以实现这一目的的好帮手。 简单介绍一下主机程序&#xff0c;我们生产系统中往往需要构建…

redis复习笔记02(小滴课堂)

分布式缓存Redis6常见核心配置讲解 查看配置文件&#xff1a; 创建配置文件&#xff1a; 配置完我们去验证一下&#xff1a; 启动成功就没有问题了。 可以看到redis日志。 然后我们就可以连接我们的redis了&#xff1a; 设置了密码就需要密码登录了。 如果登录了错误的密码也无…