1. Penpot(原型、UI设计工具)
2. Supabase(开源firebase)
3.OpenSumi(开源IDE)
Nettu Meet(视频会议系统)
官网:https://github.com/fmeringdal/nettu-meet
官网:https://github.com/fmeringdal/nettu-meet
可以在每一行查看上次提交的信息,提交人,可以根据左侧的颜色,了解本次操作是修改,删除还是新增
让一对的括号显示成一种颜色,不同对的快显示成不同的颜色,方便用户区分。
原本有一个叫CodeGlance的插件,貌似作者不维护了,新版本无法使用。右侧缩略图可以快速滑动到对应位置。
自定义日志颜色,idea控制台可以彩色显示各种级别的log,安装完成后,在console中右键就能打开。
sitemap简单来说就是网站地图,通过可视化的形式,展示网站的主要结构,目的是方便搜索引擎以及用户更快的找到你的页面。不同框架有不同的生成方法,下面介绍nextjs框架的:
yarn add next-sitemap -D
/** @type {import('next-sitemap').IConfig} */
module.exports = {
siteUrl: process.env.SITE_URL || 'https://example.com',
generateRobotsTxt: true, // (optional)
// ...other options
}
{
"build": "next build",
"postbuild": "next-sitemap"
}
这样构建的时候就会自动生成sitemap。但是可能其中有一些路由不需要生产sitemap,这时候在next-sitemap.js
里配置exclude
,配置那些页面文件路径,生成的时候就不会存在那些页面地址了。
sitemap适合于任何的搜索引擎,但是如果等待搜索引擎的蜘蛛去爬取,可能需要很长时间,所以我们需要手动提交到那些搜索引擎网站,让他们主动收录。下面列举几个常用的搜索引擎:
百度收录的网站是https://ziyuan.baidu.com 。点击右上角搜索服务,然后点击普通收录,进入后会出现新增网站的链接,添加相关信息以后,即可以正常操作。
在普通收录下面有三种提交方式,API提交、sitemap、还有手动提交。百度的sitemap和一般网站的sitemap要求不一样,详情可见 https://ziyuan.baidu.com/college/courseinfo?id=267&page=3#h2_article_title0。
google的收录配置网站是 https://search.google.com/search-console/about。
选择任意一种方式验证,验证完成进入控制台,点击左侧网址检查,打开页面后选择请求编入索引。
接着点击左侧站点地图,在页面里添加站点地图
此时google就会根据地址一级一级的缓存网站地图。
在搜索引擎的搜索框里使用site:域名
,来确认搜索引擎是否收录。
1. Vercel
支持Nextjs、Svelte、Nuxt.js、Gatsby.js、Angular等常见前端框架部署,支持自动配置https,支持部署Serverless接口
2. CloudAMQP
3. CloudKarafka
4. RedisLabs
5. upstash
1. Chatra
全字母句含英语字母表中每个字母至少一次的句子。
给你一个仅由小写英文字母组成的字符串sentence
,请你判断sentence
是否为全字母句。
如果是,返回true
;否则,返回false
。
示例1:
输入:sentence = "thequickbrownfoxjumpsoverthelazydog"
输出:true
解释:sentence 包含英语字母表中每个字母至少一次。
示例2
输入:sentence = "leetcode"
输出:false
提示:
1 <= sentence.length <= 1000
sentence
由小写英语字母组成解答:
/**
* @param {string} sentence
* @return {boolean}
*/
var checkIfPangram = function(sentence) {
const list = new Set(sentence.split(""))
return list.size===26
};
思路:
本次使用的方法是去重法,去重之后如果剩下的元素是26个,则是全字母句,反之则不是,这里使用的是es6语法里的Set来进行去重。
给你一个长度为n
的整数数组score
,其中score[i]
是第 i 位运动员在比赛中的得分。所有得分都互不相同。
运动员将根据得分决定名次,其中名次第1
的运动员得分最高,名次第2
的运动员得分第2
高,依此类推。运动员的名次决定了他们的获奖情况:
1
的运动员获金牌"Gold Medal"
。2
的运动员获银牌"Silver Medal"
。3
的运动员获铜牌"Bronze Medal"
。4
到第n
的运动员,只能获得他们的名次编号(即,名次第x
的运动员获得编号"x"
)。使用长度为n
的数组 answer 返回获奖,其中answer[i]
是第i
位运动员的获奖情况。
示例1:
输入:score = [5,4,3,2,1]
输出:["Gold Medal","Silver Medal","Bronze Medal","4","5"]
解释:名次为 [1st, 2nd, 3rd, 4th, 5th] 。
示例2:
输入:score = [10,3,8,9,4]
输出:["Gold Medal","5","Bronze Medal","Silver Medal","4"]
解释:名次为 [1st, 5th, 3rd, 2nd, 4th] 。
提示:
n == score.length
1 <= n <= 104
0 <= score[i] <= 106
score
中的所有值互不相同解答
function findRelativeRanks(score: number[]): string[] {
const list = score.sort((a,b)=>b-a)
return score.map((item)=>{
const i = list.indexOf(item)
if(i===0){
return "Gold Medal"
}else if(i===1){
return "Silver Medal"
}else if(i===2){
return "Bronze Medal"
}
return `${i+1}`
})
};
思路
先排序,然后遍历score数组,获取每个元素在新数组的位置,根据位置来输出不同内容。
给你一个字符串 s ,字符串的「能量」定义为:只包含一种字符的最长非空子字符串的长度。
请你返回字符串的能量。
输入:s = "leetcode"
输出:2
解释:子字符串 "ee" 长度为 2 ,只包含字符 'e' 。
输入:s = "abbcccddddeeeeedcba"
输出:5
解释:子字符串 "eeeee" 长度为 5 ,只包含字符 'e' 。
输入:s = "triplepillooooow"
输出:5
输入:s = "hooraaaaaaaaaaay"
输出:11
输入:s = "tourist"
输出:1
1 <= s.length <= 500
s
只包含小写英文字母/**
* @param {string} s
* @return {number}
*/
var maxPower = function(s) {
var max = 1, count = 1
for (var i = 0; i < s.length; i++) {
if (s[i] === s[i + 1]) {
count += 1
max = Math.max(max, count)
} else {
count = 1
}
}
return max
};
先定义两个变量,max
和count
,max用来记录目前最大的字符串,count则是用来记录当前重复字符串重复次数。然后依次变量字符串,比较当前值和下一个值是否相等,当然也可以比较和上一个值是否相等,如果相等则count+1,然后从count和max中取最大值重新赋值给max,如果不相等,则把count重新赋值为1,重新开始计算。