首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在工作React,学到了什么

前言 工作技术栈主要是 React + TypeScript,这篇文章想总结一下如何在项目中运用 React 一些技巧解决一些实际问题,本文中使用代码都是简化后,不代表生产环境。...取消请求 React 当前正在发出请求组件从页面上卸载了,理想情况下这个请求也应该取消掉,那么如何把请求取消和页面的卸载关联在一起呢?...trigger 这个数字值。...当然我们也可以用 fast-deep-equal 这个库,根据官方 benchmark 对比,它比 lodash 效率高 7 倍左右。...扫描出代码需要替换文本位置,修改 AST 把它转为方法调用即可,比较麻烦点在于需要考虑各种边界情况,写过一个比较简单例子,仅供参考: https://github.com/sl1673495/

88130

技术博客收获到了什么

第二部分是本篇重点,讲解从博客收获有哪些。 第三部分罗列了几个经常从一些朋友(粉丝)中听到关于博客问题以及回答。...对于第五点在这里着重说一下:在博客过程养成了做事力求做到最好品质。 一篇博客写出来,会花费博主一些时间;看博客的人同样也是会花费一些时间。...所以也可以说是这种对所有人责任心养成了这个品质吧。 那么为什么这个品质是最大收获呢?因为这个品质不仅仅影响了博客这单单一个方面,它还在影响这工作、生活方方面面,包括现在,也包括未来。...回答一些朋友(或粉丝)一些关于博客几个问题 ? 在本篇最后,来分享一下一些经常被朋友(或粉丝)经常问我关于博客几个问题,以及回答是什么。...之所以会给其他人诸如这个问题这种错觉是因为在背后其实是利用了大量时间来学习,博客;也就是说在同样时间内,相信那些资质更好的人会比我学得更好。 为什么有大量时间来学习呢?

50530
您找到你想要的搜索结果了吗?
是的
没有找到

小心这个陷阱: 为什么JS every()对空数组总返回 true

理解认为回调函数必须被调用并返回true , every() 才会返回 true ,但实际上并非如此。...要理解为什么,我们需要仔细看看规范是如何描述这个方法。...在数学和JavaScript“对所有”量词 MDN页面 提供了为什么 every() 会对空数组返回 true 答案: every 行为就像数学“全称量词”。...结论 当我第一次看到 every() 在空数组行为时,感到很惊讶,但一旦你理解了这个操作更大背景和这个功能在各种语言中广泛应用,就会觉得它是有道理。...如果你也对这个行为感到困惑,那么建议你改变阅读 every() 调用方式。不要把 every() 理解为“这个数组每一项是否都符合这个条件?”

18520

9.SSD目标检测之三:训练失败记录(什么有脸这个……)

这个大概折腾了三四天,反正能想到改地方都改了,笔记本上试过了,宿舍电脑上也试过了,反正就是不行,也没什么办法了,后面就转向YoloV3了。尽管失败了,还是记录一下。...SPLIT_TO_SIZEtrain就是训练基个数,Test是测试集个数,是全部用作训练了(因为数据量很少,所以测试集就随便写了一个数,这个在训练时候是不影响)。...6.总结 最后遇到问题就是训练时候loss居高不下,最终也都是在20-100之间跳跃,这个loss太大了一些,所以也没有用保存模型来看一下测试结果。 猜想了几种可能。 训练数据量太少?...按照大量参考博客来讲,150张训练样本并不算少,而且为了消除这个疑虑,用VOC数据也训练了一段时间(大概四个小时),loss也是降不下来。所以基本排除了训练数据问题。 设置有问题?...(跳过去极值) 前者有一天打球之前开了训练,练了20000多个step,后者把学习率改到万分之一训练了四个多小时,什么结果都没有。

1.4K20

技术博客收获到了什么?- J_Knight_

第二部分是本篇重点,讲解从博客收获有哪些。 第三部分罗列了几个经常从一些朋友(粉丝)中听到关于博客问题以及回答。...对于第五点在这里着重说一下:在博客过程养成了做事力求做到最好品质。 一篇博客写出来,会花费博主一些时间;看博客的人同样也是会花费一些时间。...所以也可以说是这种对所有人责任心养成了这个品质吧。 那么为什么这个品质是最大收获呢?因为这个品质不仅仅影响了博客这单单一个方面,它还在影响这工作、生活方方面面,包括现在,也包括未来。...回答一些朋友(或粉丝)一些关于博客几个问题 在本篇最后,来分享一下一些经常被朋友(或粉丝)经常问我关于博客几个问题,以及回答是什么博客应该很花时间吧,你如何平衡工作和学习?...之所以会给其他人诸如这个问题这种错觉是因为在背后其实是利用了大量时间来学习,博客;也就是说在同样时间内,相信那些资质更好的人会比我学得更好。 为什么有大量时间来学习呢?

63311

什么往Redis里数据怎么没了?

1、往Redis里数据怎么没了? 使用Redis同学你要明白一点,你为什么用Redis?用redis作用是什么?用redis好处是什么?凡事多思考一下为什么,多想想背后原因。...就在不久前有朋友跟我说过,说他们生产环境Redis怎么经常会丢掉一些数据?写进去了,过一会儿可能就没了。天啊,你问这个问题就说明Redis你就没用对啊。Redis是缓存,你给当存储了用了是吧?...Redis主要是基于内存来进行高性能、高并发读写操作。 那既然内存是有限,比如Redis就只能用10个G,你一直往里面数据,一直写一直写最后10个G都用差不多了,你还会,你想想会发生什么?...如果你连这个问题都不知道,上来就懵了,回答不出来,建议你使用Redis之前多做做功课,不然你代码时候,想当然认为写进Redis数据就一定会存在,后面导致系统各种漏洞和bug,就不好弄了。...为啥存redis数据有时候会丢失? 很简单,你数据太多了,内存占满了,或者触发了什么条件,如redis使用了allkeys-lru内存淘汰策略,自动给你清理掉了一些最近很少使用数据。

98420

什么不出面向对象代码

(单据状态,更新占用额度) 5.消息通知责任人处理付款信息(邮件通知,OA通知,短信通知,微信通知) 看到这个需求我们会觉得很简单嘛,功能已经很明确,按着这个说明一行一行代码就行了,于是我们开:...) 上面的案例大家可能只会觉得:这个跟代码写在校验类里面直接调用有什么区别呢?...但是在面向对象思想这个Json数组每个元素就是一个对象,我们可不可以在代码层以List形式存,然后以List形式取出,中间Json转换有程序自动去做,不需要开发去手动转。...我们可以在Entity类这样: 我们在实体类这个字段写成List形式,在上面添加@ColumnType注解。这个注解用来实现List与Json之间自动互转。...今天来分享常用几种这几模式: 策略模式 策略模式是一种比较简单设计模式,生活做成一件事有几种不同策略选择供你达成。

1.2K20

​别再用方括号在Python获取字典值,试试这个方法

author = { "first_name":"Jonathan", "last_name":"Hsu", "username":"jhsu98" } 访问字典值老(坏)方法 在字典访问值传统方法是使用方括号表示法...这种语法将术语名称嵌套在方括号,如下所示。...这个函数有两个参数: · 首先(必需):需要检索术语名称。可以是字符串或变量,允许动态检索术语。 · 第二(可选):如果术语不存在,使用默认值。...author.get('username')) # jhsu98 print(author.get('middle_initial', None)) # None 如果该术语以前已经公布,则.get()工作方式与传统括号引用没有什么不同...这个默认值可以是任何值,但请记住它是可选。如果没有包含默认值,则使用Python里空值等效值None。

3.5K30

什么Stream遍历集合比你快?

通常情况下Stream操作又需要一个回调函数,所以一个完整Stage是由数据来源、操作、回调函数组三元组来表示。...,这个构造函数将前后Stage链接起来,生成一个Stage链表。...合理使用Stream 综上,对Stream有了一定认识,但是实际使用我们该如何选择,还是需要一个测试说明: 多核 CPU 服务器配置环境下,对比长度 100 int 数组性能; 多核 CPU...服务器配置环境下,对比长度 1.00E+8 int 数组性能; 多核 CPU 服务器配置环境下,对比长度 1.00E+8 对象数组过滤分组性能; 单核 CPU 服务器配置环境下,对比长度 1.00E...+8 对象数组过滤分组性能。

1.5K20

「React进阶」在函数组可以随便 —— 最通俗异步组件原理

不可能数组里可以随便,很多同学看到这句话时候,脑海里应该浮现四个字是:怎么可能?因为我们印象数组件,是不能直接使用异步,而且必须返回一段 Jsx 代码。...1.jpg 那么今天将打破这个规定,在我们认为是组件函数里做一些意想不到事情。接下来跟着思路往下看吧。...return } 如果不严格按照这个格式,通过 jsx 形式挂载,就会报错。...鬼畜版——组件可以异步 即然直接 throw Promise 会在 React 底层被拦截,那么如何在组件内部实现正常编写异步操作功能呢?...在 React Susponse 是什么呢?那么正常情况下组件染是一气呵成,在 Susponse 模式下组件渲染就变成了可以先悬停下来。 首先解释为什么悬停?

3.6K30

WebMvcConfigurer,我们类继承了这个,那么里面可以一些什么呢?

springboot项目整合了springmvc框架,当我们想要自己关于springmvc配置时候,那么我们自己类需要继承WebMvcConfigurer这个人家类,之后我们重写人家方法就可以了...也就是当我们项目一启动时候,就会先加载这个我们配置类,在这个springmvc配置类里面先判断,之后才执行后面的路径。...也就是当路径url 来了之后,就会在这个springmvc配置类里面进行判断,看看能不能通过这个配置,不能通过就不会到controller层了。那么这个springmvc配置类里面可以什么?...那么这个springmvc配置类里面可以什么?...和路径url相关 1 页面跳转 2 拦截器 3 跨域 4 自定义静态资源映射目录 也就是在url到controller层之前,那么就可以进行以上判断,判断通过之后才到controller层

59020

什么程序有bug(一):逻辑篇

前言 逻辑性错误也是出现bug重灾区,有很多是因为逻辑性比较复杂,这个倒是可以理解。但是,很多时候出现问题查了半天最后真想给自己一巴掌。人傻没办法,自己折腾自己。因为这个问题实在太弱智了。...本来是希望 when <10 之后应该continue,在第一个when<0时候头脑还是很清晰。但是呢,当第二个时候就用四肢代码了,习惯性打了个return。...很明显,还有许多该做事情都没有做就跳出循环了。 像这样错误还有什么时候容易犯呢?比如: "!" 非判断时候,容易搞反了。 三目运算符,写错位置。...else 判断判断条件有交叉 二、前后不一致 先说个列子,伪代码如下: if(request.type == Response.Code.DATA_REQUEST){ // do something...这个异常内部捕获了,返回了-1。

91320

如何使用正则表达式提取这个括号目标内容?

大家好,是皮皮。 一、前言 前几天在Python白银交流群【东哥】问了一个Python正则表达式数据处理问题。...问题如下所示:大佬们好,如何使用正则表达式提取这个括号目标内容,比方说要得到:安徽芜湖第十三批、安徽芜湖第十二批等等。...二、实现过程 这里【瑜亮老师】给了一个指导,如下所示:如果是Python的话,可以使用下面的代码,如下所示:不用加\,原数据是中文括号。...经过指导,这个方法顺利地解决了粉丝问题。 如果你也有类似这种数据分析小问题,欢迎随时来交流群学习交流哦,有问必答! 三、总结 大家好,是皮皮。...这篇文章主要盘点了一个Python正则表达式问题,文中针对该问题,给出了具体解析和代码实现,帮助粉丝顺利解决了问题。

10810

正则什么,你让,我会难受,你让用,真香!

这是参与「掘金日新计划 · 6 月更文挑战」第23天,点击查看活动详情 ---- 哈哈,如题所说,对于很多人来说正则就是”兰德里折磨“吧。如果不是有需求频繁要用,根本就不会想着学它。(?!...123,456,789' formatMoney('123456789.123') // '123,456,789.123' formatMoney('123') // '123' 想想如果不是用正则,还可以用什么更优雅方法实现它...colorString.match(matchColorRegex)) // [ '#12f3a1', '#ffBabd', '#FFF', '#123', '#586' ] 判断 HTTPS/HTTP 这个需求也是很常见...console.log(versionRegexp.test('1.000.1')) console.log(versionRegexp.test('1.000.1.1')) 获取网页 img 地址 这个需求可能爬虫用比较多...点赞关注评论,为好文助力 是掘金安东尼 100 万阅读量人气前端技术博主 INFP 写作人格坚持 1000 日更文 ✍ 关注,陪你一起度过漫长编程岁月

40210

【Leetcode-20.有效括号 -26.删除有序数组重复项】

有效字符串需满足: 左括号必须用相同类型括号闭合。 左括号必须以正确顺序闭合。 每个右括号都有一个对应相同类型括号。...,返回0,栈顶往上走 //若是右括号,返回它对应括号,即弹出对应括号(出栈),因为先进后出,后进先出,栈顶往下 if (func(s[i]))...,左括号就没得抵消,当前栈应该不为空,top==0为假,即为false //若栈括号全被抵消,top==0为真,返回true; return top == 0; }...Leetcode-26.删除有序数组重复项 题目:给你一个升序排列 数组 nums ,请你原地 删除重复出现元素,使每个元素只出现一次 ,返回删除后数组新长度。...到fast-1对应元素都是相等,所以把fast对应元素赋给slow对应元素,slow再往后走;循环往复,直到fast大于数组长度,循环结束; 下面看代码和注释: int removeDuplicates

8610

JS 好好,为什么要用那么复杂TS

前言 JS好好,为啥要用TS呢? 本文写给那些完全没有用过TS,也没有使用过结构化语言,对TS有一定心智负担前端新手同学。...面对铺天盖地TS怎么好怎么好文章,项目中还没真正开始使用到TS小伙伴,可能只是看了很多掘金文章,或者看了一遍官方文档,脑子里基本上都是:嗯,是的,知道TS好,知道在变量后面加一个冒号一个类型...为什么写了返回类型,VSCode还是提示返回值是any类型?泛型好复杂,什么时候要用泛型?接口类型定义要写在哪? 来,我们掰开揉碎一点点讲。 TS是谁写给谁看/用?...什么时候用泛型 要知道这个问题之前,你首先要知道什么是泛型,泛型解决了什么问题。可以先看看文档[2]。 在了解了泛型是让一个组件支持多种类型之后。如果你还不知道什么时候用泛型,那就是你还不需要用。...这个问题跟上面的问题是一样,当你不知道这玩意什么时候用,那你应该是还用不到这个玩意儿。 简单不重用就直接,如上面的示例方法。

1.1K10

Python列表和Java数组什么不同?

Python列表和Java数组在多种编程语言中都是常见数据结构。虽然两者在某些方面有相似之处,但也存在许多显著区别。...下面将对Python列表和Java数组进行比较,以帮助理解它们之间差异。 1、类型限制 Java数组具有固定数据类型,例如整数、字符或浮点数等。...2、动态大小 Java数组存储空间必须在其声明时分配,并且一旦创建,数组大小就不能更改。如果需要添加或删除元素,则需要创建一个新更大或更小数组并手动复制旧元素。...Java数组也可以迭代,但需要更多代码来实现。 5、存储方式 Java数组是一个连续块,其中每个元素占用相同字节数。这种顺序让它们在内存排列非常紧凑,因此对于数据访问效率很高。...相比之下,Java只提供了有限功能,例如填充数据、查找最大最小值等。 虽然Python列表和Java数组都是用于存储和操作数据集合结构,但Python感觉更自由并且更灵活。

11610

一个去除数组重复元素函数

1.使用ES6Set数据结构 Set是一种只存储唯一值数据结构,因此任何重复元素都会被自动忽略。然后,我们使用扩展运算符…将Set对象转换回数组,并返回这个数组。...如果你需要保持元素原始顺序,那么你可能需要使用其他方法,例如使用filter()方法和indexOf()方法来检查元素是否已经在结果数组。...拓展一下‍♀️ indexOf() indexOf() 是 JavaScript 数组(Array)对象一个方法,它用于返回在数组可以找到给定元素第一个索引,如果不存在,则返回 -1。...这个方法接受两个参数: searchElement(必需):要查找元素。 fromIndex(可选):开始查找位置。如果该索引值大于或等于数组长度,则返回 -1,即数组不会被搜索。...array(可选):调用reduce()数组。 initialValue(可选):作为第一次调用callback函数时第一个参数值。如果没有提供初始值,则将使用数组第一个元素。

9310
领券