- 博客(70)
- 收藏
- 关注
原创 ES6 filter 过滤数组 | 图片onload同步等待获取图片宽高
var a=[1,2,3,4,5]var b=[2,3,7,8,9]a.filter(item=>b.indexOf(item)==-1)
2019-03-15 09:10:14 16910 3
原创 一文搞懂前端模块化的演进与发展
随着Web技术的不断进步,前端模块化已成为现代Web开发不可或缺的一部分。本文将探讨前端模块化的历史演进,特别是ES Module(ESM)的崛起及其对未来前端开发的影响。
2024-04-07 10:21:25 833
原创 【NestJS 编程艺术】4. 探索NestJS的高效开发:一切皆module
控制器负责处理客户端请求,并将请求委托给服务层(步骤3要创建的)处理。以下为命令行生成一个用户控制器。@Get()通常我们的业务逻辑都写在service层,进行数据库增删改查的逻辑操作或其他外部服务进行交互。然后,我们创建一个服务,它将包含业务逻辑。// 这里可以是数据库查询或其他业务逻辑,可以通过 ORM 工具进行查询数据库的操作,并返回 User 列表;// 下一篇会介绍 TypeORM 的接入全局模块、共享模块和动态模块为 NestJS 应用程序提供了更灵活的模块化策略。
2024-03-20 16:31:18 774
原创 如何在SQL中优雅地处理发货状态逻辑
在处理订单管理系统时,了解订单的发货状态是至关重要的。我们经常需要从数据库中提取有关发货状态的信息,并据此做出状态匹配。在这篇文章中,我们将探讨如何使用SQL的高级功能来优雅地处理发货状态逻辑,并提供一个清晰、可维护的解决方案。
2024-03-18 10:58:15 433
原创 第一章:网络协议的奥秘
网络协议是通信设备之间共同遵守的规则和约定,它们定义了数据传输的格式、顺序和错误处理机制。通过这些规则,不同的计算机系统能够相互理解和交换信息,就像使用同一种语言进行对话一样。
2024-03-16 16:59:26 761
原创 【前端·每日一题】面试官:说下HTTP请求体有几种?
在与服务器通信时,HTTP请求体是信息传递的核心。无论是提交表单、上传文件,还是与API交互,正确地构造和解析请求体对于确保数据的准确传递至关重要。以下是四种常见的HTTP请求体格式在实际前端开发中的应用示例,以及实际开发过程中会用到的第三方库
2024-03-16 15:45:38 625
原创 【NestJS 编程艺术】3. 探索NestJS的高效开发:nest-cli的全面指南
在现代的 Node.js 服务端开发中,NestJS 以其优雅的架构和强大的功能集成为了开发者的首选框架之一。而这一切的起点,都始于@nestjs/cli这个强大的命令行工具。
2024-03-13 17:27:20 1095
原创 【NestJS 编程艺术】2. Nest.js 入门指南:创建你的第一个 Nest.js 应用程序
Nest.js 是一个用于构建高效、可靠和可扩展的服务器端应用程序的框架。跟随本【NestJS系列开发实战】教程,一步步全链路构建自己的服务应用。
2024-03-12 16:59:58 333
原创 【NestJS 编程艺术】1. NestJS设计模式深度解析:构建高效、可维护的服务端应用
在当今快速发展的软件开发领域,Node.js凭借其轻量级和高性能的特点,已经成为了构建服务端应用的首选技术之一,其中竞争优势最大的当属NestJS框架。
2024-03-12 16:59:06 968
原创 探索React未来:预期特性与开发者前瞻
React 19的发布预示着前端开发领域的一次重大进步。本文将深入探讨React 19的核心新特性,包括新的Hooks、编译器优化、以及对数据获取和表单处理的改进。
2024-03-08 09:58:00 991
转载 解决Intel平台AS启动报错:Gradle Sync Failed:Tag mismatch!
编辑这个文件:.gradle/gradle.properties 加入下面配置
2023-02-04 13:55:58 410
转载 JS Vue React 面试题
React为什么用keyReact生命周期React父子组件生命周期mountComponent负责管理生命周期中的mounting阶段的方法调用mountComponent本质上是通过递归渲染内容的,由于递归的特性,父组件的componentWillMount在其子组件的componentWillMount之前调用,而父组件的componentDidMount在其子组件的componentDidMount之后调用updateComponent负责管理生命周期中的upda
2023-01-30 18:33:49 223
原创 git命令行大全【持续更新...】
git checkout -b feature/fzz origin/feature/fzzgit branch -av // 查看远端和本地所有分支不同人修改了同一个文件不同区域别人已经将代码push到远端分支了,处于non-fast-forwards,所以会造成以上报错git merge origin/feature/fzz (别人的**远程**分支)git statusgit push不同人修改了同一个文件相同区域别人已经将代码push到远端分支了,处于non-fast-fo.
2022-04-20 10:49:36 337
原创 macOS安装redis并设置服务自启动
brew install redis // x86_64平台arch -arm64 brew install redis // arm64 苹果M11.创建.plist配置文件sudo vim /Library/LaunchDaemons/io.redis.redis-server.plist加入以下内容命令行输入 which redis-server 结果填入下方 ****** 位置<?xml version="1.0" encoding="UTF-8"?><
2022-03-21 17:23:37 483
原创 MongoDB安装自启动服务
MongoDB\data\dbMongoDB\data\logs变量名:MONGO_HOME变量值:C:\Program Files\MongoDB\Server\4.0;%MONGO_HOME%\bin;新建MongoDB\data\mongo.config,内容如下#数据库数据存放目录dbpath=E:\Program Files\MongoDB\Server\3.6\data\db#数据库日志存放目录logpath=E:\Program Files\MongoDB\Serve
2021-02-16 12:00:15 102
原创 Java中将List转为树形结构的三种方法
Mapper文件 <resultMap id="nestedCategory" type="com.baizhi.mybatisplus.entity.vo.ProductCategoryVo"> <id property="id" column="id"/> <result property="title" column="title"/> <result property="sort" column="so
2020-12-06 09:00:26 3878 1
原创 java自动拆箱装箱
基本类型转成字符串☟¶面试题上述代码反编译后的结果:Integer缓冲区在-128-127之间,Java会预先创建256个常用的整数包装类型对象。在这个范围之内会从Integer的缓冲区内取数据(因为此范围的数字比较常用),超出范围则会重新new Integer(),在堆中开辟一段内存空间...
2020-10-17 09:10:11 159
原创 安卓跳转页面
显式调用// 第一种 class跳转Intent intent=new Intent(this,TwoActivity.class);//启动this.startActivity(intent);// 第二种 包名.类名Intent intent=new Intent();intent.setClassName(this,"cn.edu.mainactivity.SecondActivity");startActivity(intent);// 第三种 ComponentName .
2020-09-06 22:36:37 127
原创 解决CentOS7 could not retrieve mirrorlist 和 ifconfig命令“command not found”和yum更改为国内源
一、could not retrieve mirrorlistping 127.0.0.1ping www.baidu.com如果第一个正常,第二个错误,那就可能是你没有IP或者你没有启用联网功能;vi /etc/sysconfig/network-scripts/ifcfg-ens33修改配置ONBOOT=no改为ONBOOT=yeswq保存退出service network restart重启网络服务二、ifconfig command not found使用ifconfig、ip
2020-08-07 13:53:30 469
原创 Pyhon3 批量合并哔哩哔哩缓存的m4s视频文件
下载FFmpeghttps://ffmpeg.zeranoe.com/builds/win64/static/添加环境变量path: D:\ffmpeg\bin将手机缓存文件导入到电脑在随机数文件夹(例如925792221)下创建 bili.py#coding:utf-8import osimport jsonimport time# ffmpeg -i video.m4s -i audio.m4s -c:v copy -c:a aac -strict experime.
2020-08-01 10:23:47 2351 1
原创 JavaScript【高阶函数】
function after(times,callback){ return function(){ if(--times===0){ callback(); } }}let fun = after(3,function(){ console.log(1)})fun(1)fun(1)fun(1) // console.log(1)// 切面function say(who){ console.log(who+'说
2020-07-24 18:11:13 87
原创 JavaScript高阶函数-柯里化
柯里化在计算机科学中,柯里化(Currying)是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术。这个技术由 Christopher Strachey 以逻辑学家 Haskell Curry 命名的,尽管它是 Moses Schnfinkel 和 Gottlob Frege 发明的。柯里化的特点柯里化有3个常见作用:参数复用;提前返回;延迟计算/运行;案例一 function say2(company){
2020-07-23 15:02:38 183
原创 搭建ES6开发环境,实时编译
创建dist、public/index.html、src/index.js目录及文件项目目录package.json{ "name": "es6-env", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "start": "webpack-dev-server --mode development --open", "build": "webpack --mode p
2020-07-16 16:44:58 160
原创 Flutter环境搭建踩坑过程
Flutter安装1、将如下环境变量加入到用户环境变量中:PUB_HOSTED_URL=https://pub.flutter-io.cnFLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn2、获取Flutter SDK去flutter官网下载其最新可用的安装包,点击下载 ;3、重启Windows以应用此更改(必须,不重启会有坑)4、重启完毕,CMD 运行 flutter doctor[-] Android toolchain -
2020-07-08 17:19:17 675 1
原创 memo、useMemo和useCallback的区别
memo用来优化函数组件的重复渲染行为,当传入属性值都不变的情况下不会触发组件的重新渲染,否则就会触发组件的重新渲染;和类组件的PureComponent的功能是类似的;在hooks环境下,几乎所有组件都是函数式组件,我们使用memo的几率要比PureComponent高得多;memo针对的是一个组件的渲染是否重复执行而useMemo则定义了一段函数逻辑是否重复执行本质都是用同样的算法来判定依赖是否发生改变,继而决定是否触发特定逻辑;(有很多这样的逻辑:输入和输出是对等的,相同的输入一定产生相同的输出
2020-06-23 11:20:28 5445
原创 mongodb导入JSON文件
mongoimport -d antd -c rules --jsonArray --file rules.json数组格式的数据一定要加上 --jsonArray ,否则会报错
2020-06-07 20:52:03 949
原创 微信设置字体很大 - 导致公众号页面布局错乱的解决方案
IOS解决方案:body{ -webkit-text-size-adjust: 100% ;}安卓解决方案:通过 WeixinJSBridge 设置网页字体为默认大小,并禁止用户自定义缩放页面 (function() { if (typeof WeixinJSBridge == "object" && typeof WeixinJSBridge.invoke == "function") { handleFontSize(); } else {
2020-06-02 15:01:30 3551 1
原创 面向对象课件
什么是面向对象编程?看名字它是注重对象的。当解决一个问题的时候,面向对象会把事物抽象成对象的概念,然后给对象赋一些属性和方法,然后让每个对象去执行自己的方法,问题得到解决面向过程是具体化的,流程化的,解决一个问题,你需要一步一步的分析,一步一步的实现。面向对象是模型化的,你只需抽象出一个类,这是一个封闭的盒子,在这里你拥有数据也拥有解决问题的方法。需要什么功能直接使用就可以了,不必去一步一步...
2020-05-06 09:23:09 436
原创 面向对象
// 类,即模板class Person{constructor(name,age){this.name=namethis.age=age}eat(){alert(${this.name} eat something)}speak(){alert(My name is ${this.name},age ${this.age})}}// 创建实例let xiaohong ...
2020-05-05 23:14:12 97
原创 nginx配置(解决vue项目发布新版本后出现短暂白屏问题 | 解决vue-router切换为history模式后刷新页面出现404问题)
#为了解决线上发布新版本后访问前端页面出现短暂性白屏问题,就是把缓存给禁用掉location = /index.html { add_header Cache-Control "no-store, no-cache, no-transform, must-revalidate, max-age=0";}location / { try_files $uri $uri/ @rou...
2020-04-28 14:10:29 792 1
原创 MySQL学习 进阶三、四
进阶3 排序查询/*select 查询列名from 表[where 筛选条件]order by 排序列名 [asc / desc]*/案例2: 查询部门编号>=90 的员工信息,按入职时间先后进行排序SELECT *FROM employeesWHERE department_id >=90ORDER BY hiredate asc;案例3: 按年薪的高低显示员...
2019-10-12 17:20:05 118
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人