公告
Nest.js学习笔记-创建模块和控制器
使用 nest-cli 脚手架命令,可以很方便的创建一个模块。我们可以在命令行运行 nest --help or nest -h 命令查看nest-cli 脚手架命令。 12345678910111213141516171819202122232425262728$ nest --helpUsage: nest <command> [options]Options: -v, --version Output the current version. -h, --help Output usage information.Commands: new|n [options] [name] Generate Nest application. build [options] [app] Build Nest application. ...
Nest.js学习笔记-项目搭建
Nest (NestJS) 是一个用于构建高效、可扩展的 Node.js 服务器端应用程序的开发框架。它利用 JavaScript 的渐进增强的能力,使用并完全支持 TypeScript (仍然允许开发者使用纯 JavaScript 进行开发),并结合了 OOP (面向对象编程)、FP (函数式编程)和 FRP (函数响应式编程)。 环境准备 Please make sure that Node.js (>= 10.13.0, except for v13) is installed on your operating system. 请确保在您的操作系统上安装了 Node.js (>= 10.13.0,v13 除外)。 查看node和npm版本 1234$ node --version # or node -v > v16.13.2 $ npm --version # or npm -v > 8.1.2 新建项目 使用 npm or yarn 全局安装 @nestjs/cli 12345# NPM$ npm i -g @nestjs/cli# Y ...
凡是过往皆是序章,所有将来皆为可盼
前言 距离2021年结束还有几个小时的时间,抽空写下这一年的年终总结,对这一年做个总结,顺便定下明年的目标。2021年我讲了很多废话,正如我2020年也讲了很多废话。我觉得这样不好,但并不妨碍2022年我仍然会讲很多废话。这并不是无病呻吟,而是与自己的妥协。如果你想和自己讲和,那就多对自己说些废话。(笑😅) 我可能忘了少年的样子,但我始终记得那个夏天,周围人的喧闹和放肆招摇的风,我不再拥有那样的夏天,也终于和曾经的自己作别。 关于工作 不知不觉我也已经到了出来工作的年纪了,感觉自己还没有从学生的身份转换过来,就已经要进入社会了,每当我看向桌面落灰新的玩具却没有了小时候对于新玩具的热情,小时候的快乐是真的简单,以后就没有机会可以这么无忧无虑的玩耍了,每当想起我的童年都会忍不住的眼睛酸,因为那是属于我的美好时光但是已经是历史了,感谢我的父母和我的好朋友给予了我如此快乐的童年和学生时光。- 致未来与过去 今年七月份,省外疫情稍有反弹,打消了我去外省实习的想法,于是便留在了昆明,顺便可以多陪陪父母,以后陪父母的时间可能会越来越少了吧。最终历尽艰辛,顺利不太顺利的找到一份除了钱少其他都还 ...
原生JS图片懒加载(LazyLoad)
一.什么是懒加载? 懒加载也叫延迟加载,指的是在长网页中延迟加载图像,是一种很好优化网页性能的方式。用户滚动到它们之前,可视区域外的图像不会被加载。 二.懒加载有什么作用? 能提升用户的体验。如果页面上所有的图片都需要加载,等待时间会很长,这就会严重影响用户体验。 减少无效资源的加载,减轻服务器的压力和流量,减小浏览器的负担。 防止并发加载的资源过多会阻塞js的加载。 三. 实现原理 将页面上的图片的 src 属性设为空字符串,图片的真实路径则设置在data-original属性中。要用的时候就取出来,把它的值赋值给img的 src 属性。 四. 实现 1234567891011<div class="box"> <img data-original="img/1.jpg"> <img data-original="img/2.jpg"> <img data-original="img/3.jpg"> <img data- ...
什么是防抖和节流?有什么区别?如何实现?
什么是防抖和节流? 本质上是优化高频率执行代码的一种手段。 在前端开发的过程中,我们经常会需要绑定一些持续触发的事件,🌰如resize、scroll、keypress、mousemove 等事件在触发时,会不断地调用绑定在事件上的回调函数,极大地浪费资源,降低前端性能,但有些时候我们并不希望在事件持续触发的过程中那么频繁地去执行函数,这时候防抖和节流是比较好的解决方案。 定义 防抖: 触发高频事件后n秒内函数只会执行一次,如果n秒内高频事件再次被触发,则重新计算时间 节流: 高频事件触发,但在n秒内只会执行一次,所以节流会稀释函数的执行频率 有什么区别? 相同点: 都可以通过使用 setTimeout 实现 目的都是,降低回调执行频率,节省计算资源。 不同点: 防抖,在一段连续操作结束后,处理回调,利用clearTimeout和 setTimeout实现。 节流,在一段连续操作中,每一段时间只执行一次,频率较高的事件中使用来提高性能。 防抖只会触发最后一次事件,节流只有请求成功发生响应后才会触发下一次事件 如何实现? 防抖:每次触发事件时都取消之前的延时调用方 ...
Leetcode 20天算法学习计划 - 算法入门
第一天 · 二分查找 二分查找又称折半查找、二分搜索、折半搜索等,是在分治算法基础上设计出来的查找算法,对应的时间复杂度为 O(logn)O(log^n)O(logn) ,二分查找算法仅适用于有序序列,它只能用在升序序列或者降序序列中查找目标元素。 二分查找算法的实现思路 在有序序列中,使用二分查找算法搜索目标元素的核心思想是:不断地缩小搜索区域,降低查找目标元素的难度。 首先确定整个查找区间的中间位置 mid=(low+high)/2mid=(low+high)/2mid=(low+high)/2; 用待查关键字值与中间位置关键字值进行比较;若相等,则查找成功;若大于,则在后半个区域中继续进行折半查找。若小于,则在前半个区域中继续进行折半查找。查找成功,返回关键字所在数组下标,没找到返回-1; Leetcode 704 二分查找 Description 给定一个 nnn 个元素有序的(升序)整型数组 numsnumsnums 和一个目标值 targettargettarget ,写一个函数搜索 numsnumsnums 中的 targettargettarget,如 ...
上升的温度 - LeetCode
问题描述 编写一个 SQL 查询,来查找与之前(昨天的)日期相比温度更高的所有日期的 id 。 返回结果 不要求顺序 。 查询结果格式如下例: 12345678910111213141516171819Weather+----+------------+-------------+| id | recordDate | Temperature |+----+------------+-------------+| 1 | 2015-01-01 | 10 || 2 | 2015-01-02 | 25 || 3 | 2015-01-03 | 20 || 4 | 2015-01-04 | 30 |+----+------------+-------------+Result table:+----+| id |+----+| 2 || 4 |+----+2015-01-02 的温度比前一天高(10 -> 25)2015-01-04 的温度比前一天高(20 -> 30) SQL架构 123456Cr ...
一行JS实现视差滚动效果
何为滚动视差 视差滚动(Parallax Scrolling)是指让多层背景以不同的速度移动,形成立体的运动效果,带来非常出色的视觉体验。 作为网页设计的热点趋势,越来越多的网站应用了这项技术。 我们一般把网页解剖为:背景层、内容层和悬浮层(贴图层)。 当滚动鼠标滚轮的时候,各图层以不同速度移动,形成视差的效果。这就是时差滚动的大致原理。 如何实现视差滚动 通过translateY控制y轴偏移的距离,和原本scroll滚动的距离形成一个差,带来的视觉上的相对运动,就有了视差效果。 代码实现 123456<div class="banner"> <img src="img.png" alt="" class="bg"> <div class="text"> 视差滚动效果 </div></div> 12345678910111213141516171819202122232425262728* ...
HTML5、CSS3实现简单响应式瀑布流布局
瀑布流,又称瀑布流式布局。是比较流行的一种网站页面布局,视觉表现为参差不齐的多栏布局,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部。最早采用此布局的网站是Pinterest,逐渐在国内流行开来。国内大多数清新站基本为这类风格。 为什么使用瀑布流 瀑布流布局在我们现在的前端页面中经常会用的到,它可以有效的降低页面的复杂度,节省很多的空间,对于整个页面不需要太多的操作,只需要下拉就可以浏览用户需要看到的数据;并且,在当前这个APP至上的时代,瀑布流可以提供很好的用户体验,通过结合下拉刷新,上拉加载进行数据的懒加载等操作,对于用户的体验感来说是接近于满分的! 瀑布流的特点 其实瀑布流的特点就是参差不齐的排列方式,以及流式布局的扩展性,可以通过界面展示给用户多条数据,并且让用户可以有向下浏览的冲动。 瀑布流的代码实现 实现思路 12column-count:指定列数column-gap: 设置列之间的间距 实现代码 1234567891011121314151617181920212223242526272829303132333435363738394041424344 ...
jQuery 基础拾遗
核心概念和知识点 什么是jQuery jQuery 是对javascript的一种封装–js的函数库。 用于客户端的开发,由美国人在2001年1月推出。 jQuery与javascript的区别 本质上的区别:jQuery是一个函数库,基于js语言编写出来的框架,实质上还是属于js。 代码书写不同,jq更简单。 使用方法不同:使用jQuery和javascript分别加载DOM,js只执行一次,jq可以执行多次。 获取class的方法不同。js没有默认的获取方式,jq可以通过$(".类名")来获取 jQuery的优势 轻量级 对浏览器的兼容性好 强大的选择器 完善的ajax 丰富的API文档和插件等 熟悉使用jQuery 获取相关的js文件 jquery-xxx.js 与 jquery-xxx.min.js区别: jquery-xxx.js:开发版本。给程序员看的,有良好的缩进和注释。体积大一些 jquery-xxx.min.js:生产版本。没有缩进。体积小一些。程序加载更快 引用 在页面上引用js文件 基本使用语法:$(“选择器名”).操作 ...