草庐IT

learning-typescript-by-examples

全部标签

TypeScript中遍历对象键的方法

前言在日常的TypeScript开发中,经常需要遍历对象的键来执行各种操作。然而,使用Object.keys时可能会遇到一些类型相关的困扰,因为它返回的是一个字符串数组,而不是期望的键的联合类型。这可能导致在代码中引入一些不安全的类型转换。在本文中,我们将深入研究这个问题,并提供几种解决方案,以便在遍历对象键时更安全、更灵活地操作。背景使用Object.keys进行遍历并不能按照预期工作。这是因为Object.keys返回一个字符串数组,而不是包含所有键的联合类型。这是设计上的考虑,不会改变。functionprintUser(user:User){Object.keys(user).forE

Hive:聚合函数、GROUP BY、ORDER BY、LIMIT、执行顺序和JOIN、函数

1.聚合函数常见的聚合函数:Count、Sum、Max、Min和Avg特点:不管原始数据多少条,聚合之后只有一条Count(column)返回某列的行数,不包括NULL值2.GROUPBYselect中的字段要么是GROUPBY字段,要么是被聚合函数应用的字段2.HAVINGWHERE中无法出现聚合函数,所以有了HAVINGWHERE是分组前过滤,HAVING是分组后过滤为什么WHERE中不能使用聚合函数?因为使用WHERE的时候,只能从表格字段中直接查找然后过滤,如果用到计算函数,不是表格现有的直接可以查到的,就不可以作为过滤条件,对于表格现有的length()等函数还是可以的而且因为WHE

小白系列Vite-Vue3-TypeScript:011-登录界面搭建及动态路由配置

前面几篇文章我们介绍的都是Vite+Vue3+TypeScript项目中环境相关的配置,接下来我们开始进入系统搭建部分。本篇我们来介绍登录界面搭建及动态路由配置,大家一起撸起来......搭建登录界面登陆接口api项目登陆接口是通过mockjs前端来模拟的模拟服务接口LoginApi首先在src/mock文件夹下新建login.ts文件,模拟两个服务接口(验证码获取+用户登录)import{MockMethod}from'vite-plugin-mock';exportconstLoginApi:Array=[{url:'/api/captchaImage',method:'get',resp

【Git错误】上传gitee:Please tell me who you are.Run git config --global user.email “you@example.com

错误:Authoridentityunknown***Pleasetellmewhoyouare.Run gitconfig--globaluser.email"you@example.com" gitconfig--globaluser.name"YourName"tosetyouraccount'sdefaultidentity.意思:作者身份未知***请告诉我你是谁。跑git-config--全局user.email“you@example.com“git-config--全局用户名“Yourname”设置帐户的默认标识。解决:新下载的git没有告知身份//分别执行gitconfig--

【论文阅读笔记】Supervised Contrastive Learning

【论文阅读笔记】SupervisedContrastiveLearning摘要自监督批次对比方法扩展到完全监督的环境中,以有效利用标签信息提出两种监督对比损失的可能版本介绍交叉熵损失函数的不足之处,对噪声标签的不鲁棒性和可能导致交叉的边际,降低了泛化能。监督对比损失:将同一类别的所有样本作为正样本,并将批次中其余部分的样本作为负样本进行对比自监督对比对比损失:将每一个锚点(图像的增强版本)与整个批次的其余样本形成的负样本集进行对比。通过黑白小狗照片的展示,考虑类别标签信息会导致嵌入空间中相同类别的元素比自监督情况下更加紧密地对齐自监督对比学习:在嵌入空间中将一个锚点和一个正样本拉在一起,并将锚

android - 如何在 Android 上使用 Intent 打开关于 :reader? url=example.com 的 Firefox

我试图在android应用程序上打开一个网页,urlsheme有点特殊,它必须在阅读器模式下打开一个url:about:reader?url=example.com我是这样做的UriintentUri=newUri.Builder().encodedPath("about:reader").appendQueryParameter("url",Uri.encode("example.com")).build();//TrytoopeninFirefoxIfavailableorusedefaultIntentintent=newIntent(Intent.ACTION_VIEW);in

LF will be replaced by CRLF the next time Git touches it

问题在执行gitadd.的命令的时候警告LFwillbereplacedbyCRLFthenexttimeGittouchesit原因在windows中的换行符为 CRLF,而在linux下的换行符为:LF使用git来生成工程后,文件中的换行符为LF,当执行gitadd.时,系统则提示:LF将被转换成CRLF解决关闭git的CRLFrm-rf.gitgitconfig --globalcore.autocrlffalsegitinitgitadd.

leetcode - 2948. Make Lexicographically Smallest Array by Swapping Elements

DescriptionYouaregivena0-indexedarrayofpositiveintegersnumsandapositiveintegerlimit.Inoneoperation,youcanchooseanytwoindicesiandjandswapnums[i]andnums[j]if|nums[i]-nums[j]|Returnthelexicographicallysmallestarraythatcanbeobtainedbyperformingtheoperationanynumberoftimes.Anarrayaislexicographicallysmal

【postgresql】ERROR: column “xxxx.id“ must appear in the GROUP BY

org.postgresql.util.PSQLException:ERROR:column"xxx.id"mustappearintheGROUPBYclauseorbeusedinanaggregatefunction 错误:列“XXXX.id”必须出现在GROUPBY子句中或在聚合函数中使用在mysql中是正常使用的,在postgresql是不可以的。具体SQL脱敏后的示例:SELECT ID, tenant_id, remarks, SOURCE, create_user, create_time, update_user, update_time, work_source, plat

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException

具体报错:Causedby:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear''atline1atsun.reflect.NativeConstructorAccessorImpl.newInstance0(NativeMethod)atsun.reflect.NativeConstructorAccessorI