kate

据说程序员最怕命名!这个 6300 Star 的手册能帮上忙

安稳与你 提交于 2021-02-19 12:07:26
【导语】:naming-cheatsheet 是一个命名备忘录,记录命名的一些常见规范和约定。 简介 在编程工作中,命名是一件让很多开发者都头疼的事情。国外曾经有个一次关于程序员最难任务的投票调查,结果命名占了 49%。 一个好的变量或函数命名,应该能起到自解释的作用,甚至能减少我们代码的注释。 naming-cheatsheet是一个命名备忘录,记录一些常见的规范约定,并提供简单的例子说明。如果能够严格遵守这些规范,相信我们的代码可读性会大大提升,下面就来介绍 naming-cheatsheet 提供的一些建议。 项目地址: https://github.com/kettanaito/naming-cheatsheet 使用英语 这是最基本的一条规则了,英语是编程中的主要语言,所有编程语言的语法都是用英语编写的,通过英语编写代码,可以大大提高其通用性。对于我们国内开发者来说,一定要避免拼音甚至是直接的中文命名。 /* Bad */ const primerNombre = 'Gustavo' const amigos = ['Kate', 'John'] /* Good */ const firstName = 'Gustavo' const friends = ['Kate', 'John'] 命名风格 选择一种命名的风格,并且严格遵守,可以是camelCase,或者snake

数据分析与数据科学的未来

爱⌒轻易说出口 提交于 2021-01-12 04:23:00
https://zhuanlan.zhihu.com/p/113824886 根据IADSS联合创始人Usama Fayyad博士,在2019年波士顿ODSC大会上的主题演讲后的采访,我们了解到了数据科学当前和未来的问题以及可能的解决方案。 凯特·斯特拉奇尼(Kate Strachnyi): 鉴于人们在数据中所扮演的角色千差万别,因此将来会采用哪些行为改变或使用哪些工具 ? Usama Fayyad: 我认为组织中的工具和行为变更可能以比实际方式更昂贵的方式进行,这意味着它们正在经历聘用数据科学家的好与坏。他们中的一些人看到了价值,有些人看到了他们聘用中的不合适,现在他们不得不通过解雇或替换来从中调整,以获取更高的价值。我认为由此产生的结果是,项目组要开始进行更彻底的评估。如果你没有一个好的数据科学家,那么距离聘请另一个好的数据科学家的时间也就不远了。 那么,如果你的部门一开始或者已经没有好的科学家在职,那你应该从哪里开始呢?这就是为什么你需要招募人才,对吗?你如何解决?我们认为,通过制定标准,对每个职员的角色,职位以及所需要的培训进行良好的描述,实际上才能使人们更容易地通过很多简历,然后选择那些看起来很有前途的工作,选择可能有价值的面试,知道在面试中可能会问些什么。我们分享了很多候选人的反馈,他们说:“嘿,我在十个不同的地方接受了同一份工作的面试。除了围绕编程的两个小问题外

14个 JavaScript 代码优化技巧

天涯浪子 提交于 2021-01-07 05:49:19
点击上方“ 逆锋起笔 ”, 公众号回复 PDF 领取大佬们推荐的学习资料 作者 | Mahdhi Rezvi 译者 | 王强 策划 | 李俊辰 这篇文章列举了一些技巧,可帮助你写出更好的 JavaScript 代码,从而提高性能。 本文最初发布于 Medium 网站,经原作者授权由 InfoQ 中文站翻译并分享。 JavaScript 已经成为有史以来最受欢迎的编程语言之一。从 W3Tech 的数据来看,全世界将近 96%的网站都在使用它。关于 Web 有一个关键的事实是,你无法控制访问网站的用户所用设备。当用户访问你的网站时,使用的可能是高端设备也可能是低端设备,网络连接条件也有好有差。这意味着你必须尽可能优化自己的网站,以满足任何用户的需求。 附带提一下,请共享和重用你的 JS 组件,以在高质量代码(写起来需要花费时间)和合理的交付时间之间保持适当的平衡。你可以使用 Bit 等流行工具将任何项目中的组件(普通 JS、TS、React、Vue 等)共享到 Bit 的组件中心,用不了多大功夫。 1、删除未使用的代码和功能 你的应用程序包含的代码越多,就需要将更多的数据传输到客户端。浏览器也需要更多时间来分析和解释代码。 有时,你可能打包了很多根本用不到的功能。最好只在开发环境中保留这些额外的代码,而不要将其推送到生产环境中,以免给客户端的浏览器增加负担。 要不断问自己

2021春夏纽约时装周|Coach Family 完美演绎过去、现在与未来

北慕城南 提交于 2020-10-25 10:43:38
  在这充满全新挑战的时期,Coach替众人带来一场满载正能量的时装秀:   面对后疫情时代的影响,Coach执行创意总监Stuart Vevers决定找来位于世界各地的品牌好友携手合作,演绎最新释出的2021春夏男女时装秀。然而就在秀开始前一刻,Coach透过社群平台发布了各15秒的前导短片,从中,不但可见Stuart Vevers天马行空的创作过程,也可一窥卡司面阵容,不禁激发众人们的好奇心。 该系列主要以「Coach Forever」为轴心发想,并融入过往的经典款、现在的重点款以及未来(最新)的系列,传递更新、再生、减量节约的概念。Stuart Vevers表示:「挑战我们以往创造单品的方式,思考这对社群以及地球会带来哪些效应,这对我来说无比重要。我很开心能在设计与学习过程中持续探索。」      卡司阵容包括品牌大使Kaia Gerber、水原希子、林书豪…当中像是超模Kate Moss便身着近期刚上架的Coach x Jean-Michel Basquiat联名系列涂鸦大衣,并搭配最新水绿色洋装,展现可刚可柔的一面。男星Cole Sprouse则穿上印有80周年的印花T-Shirt,向品牌历久弥新的工艺和文化表达致敬。          此外,只要仔细看影片中的包包,便可发现上面均绣有每个参演者的名字,以及品牌创始地纽约和标帜性的Rexy恐龙等,值得一提的还有

脑科学史话丨“记不住”的亨利·莫莱森,“被记住”的H.M.病人

╄→尐↘猪︶ㄣ 提交于 2020-08-06 08:50:25
撰文丨海德(南开大学 生物技术本科生) 责编丨Danny 排版丨麋鹿 1958年,32岁的亨利·莫莱森 (by Suzanne Corkin) 我们每天都活在充满“记忆”和“遗忘”的世界里。学会一首新的歌曲,忘记前一天完成的任务,记住一个新朋友的名字,想不起自己将钥匙放在哪里……“记忆”和“遗忘”充斥着我们的生活,令人感觉熟悉又神秘,是神经科学中研究人员十分关注的话题之一。 “失忆”对我们来说,好像是一件遥不可及又能够引发无限遐想的事。有时,艺术作品会为我们描绘出“失忆”美丽又锋利的一面,让我们随着跌宕起伏的情节中欢笑或痛苦。韩剧中痛彻心扉最后又海枯石烂的虐恋,《五十次初恋》中男主角无数次制造偶遇、每天爱上无法记住“昨天”的女主角的浪漫,《谍影重重》中杰森伯恩不断追寻记忆的痛苦与神秘…… 现实生活中也不乏遗忘症患者。他们看似与正常人无异,却大多有着我们难以想象的生活经历——亨利·莫莱森就是其中的一个,或许,是最著名的一个。 1926年2月26日,37岁的丽兹·莫莱森(Lizzie Molaison)在曼彻斯特纪念医院产下了一个健康的男婴。这个男孩是她与丈夫古斯·莫莱森(Gus Molaison)的第一个孩子,他们为他起名为亨利·莫莱森(Henry Molaison)。 亨利小时候一直住在哈特福德市区附近的居民区。像其他孩子一样,他在小学里结识了许多朋友,学会了滑冰

Python中List的排序

人走茶凉 提交于 2020-05-01 14:23:15
Python对List的排序主要有两种方法:一种是用sorted()函数,这种函数要求用一个变量接收排序的结果,才能实现排序;另一种是用List自带的sort()函数,这种方法不需要用一个变量接收排序的结果.这两种方法的参数都差不多,都有key和reverse两个参数,sorted()多了一个排序对象的参数. 1. List的元素是变量 这种排序比较简单,直接用sorted()或者sort()就行了. list_sample = [1, 5, 6, 3, 7 ] # list_sample = sorted(list_sample) list_sample.sort(reverse= True) print (list_sample) 运行结果: [7, 6, 5, 3, 1] 2. List的元素是Tuple 这是需要用key和lambda指明是根据Tuple的哪一个元素排序. list_sample = [( ' a ' , 3, 1), ( ' c ' , 4, 5), ( ' e ' , 5, 6), ( ' d ' , 2, 3), ( ' b ' , 8, 7 )] # list_sample = sorted(list_sample, key=lambda x: x[2], reverse=True) list_sample.sort(key= lambda x: x

Python中List的排序

匆匆过客 提交于 2020-05-01 14:07:49
Python对List的排序主要有两种方法:一种是用sorted()函数,这种函数要求用一个变量接收排序的结果,才能实现排序;另一种是用List自带的sort()函数,这种方法不需要用一个变量接收排序的结果.这两种方法的参数都差不多,都有key和reverse两个参数,sorted()多了一个排序对象的参数. 1. List的元素是变量 这种排序比较简单,直接用sorted()或者sort()就行了. list_sample = [1, 5, 6, 3, 7 ] # list_sample = sorted(list_sample) list_sample.sort(reverse= True) print (list_sample) 运行结果: [7, 6, 5, 3, 1] 2. List的元素是Tuple 这是需要用key和lambda指明是根据Tuple的哪一个元素排序. list_sample = [( ' a ' , 3, 1), ( ' c ' , 4, 5), ( ' e ' , 5, 6), ( ' d ' , 2, 3), ( ' b ' , 8, 7 )] # list_sample = sorted(list_sample, key=lambda x: x[2], reverse=True) list_sample.sort(key= lambda x: x

[codeforces 1333F] Kate and imperfection 先加入所有质数,再加入最大约数为2的数,紧接着加入最大约数为3的数,以此类推

谁说胖子不能爱 提交于 2020-04-11 18:05:31
Codeforces Round #632 (Div. 2) 比赛人数12810 [codeforces 1333F] Kate and imperfection 先加入所有质数,再加入最大约数为2的数,紧接着加入最大约数为3的数,以此类推 总目录详见 https://blog.csdn.net/mrcrack/article/details/103564004 在线测评地址 https://codeforces.com/contest/1333/problem/F Problem Lang Verdict Time Memory F - Kate and imperfection GNU C++17 Accepted 155 ms 3900 KB 手工算法如下 11 1 1 1 1 1 2 3 3 4 5 1,2,3,4,5,6,7,8,9,10,11 先加入所有质数,还包括了1,得到如下数据 1,2,3,5,7,11可以管到I2-I6的输出 1 1 1 1 1 1 I7的情况:1,2,3,5,7,11,4.加入了最大约数是4=2*2的情况。最大值gcd(2,4)=2 I8的情况:1,2,3,5,7,11,4,6.加入了最大约数是6=3*2的情况。最大值gcd(3,6)=3 I9的情况:1,2,3,5,7,11,4,6,9.加入了最大约数是9=3*3的情况。最大值gcd(3,9)

CF-Kate and imperfection

試著忘記壹切 提交于 2020-04-11 17:45:50
题目来源 : Codeforces Round #632 (Div. 2) 题目链接 : F. Kate and imperfection 大致题意 给出一个数n,S为从1到n的集合,寻找长度为2,3,4…一直到长度为n的子集中任意两个数的最大公约数的最小值。举个例子有一个集合{2,4,6,9},它的值就应该为6和9的最大公约数3,而它的长度为2的子集的最大公约数的最小值可以选子集{4,9},这样就是1。 思路 强行找的话肯定会超时,因此我们先研究一下这个规律。假设n等于10的时候,长度为2的子集 肯定选最大公约数为1的两个数,任选10一下的两个素数组成的子集,答案为1;长度为3的子集依然选3个素数,答案还是1…一直到长度为6的时候,先选1,2,3,5,7,发现没有素数了于是从最大公约数最小的开始选也就是从4开始选,答案为2. n=10时 n 所选子集 答案 2 1,2 1 3 1,2,3 1 4 1,2,3,5 1 5 1,2,3,5,7 1 6 1,2,3,5,7,4 2 7 1,2 ,3,5,7,4,6 3 8 1,2,3,5,7,4,6,9 3 9 1,2,3,5,7,4,6,9,8 4 10 1,2,3,5,7,4,6,9,8,10 5 所以n等于10 的时候答案为1 1 1 1 2 3 3 4 5 这样模拟一遍可能看不出什么,但是你从后往前看,也就是用 逆向思维 。

Codeforces 1333 F. Kate and imperfection

守給你的承諾、 提交于 2020-04-11 17:37:38
题意: 在集合 S = 1 , 2 , ⋯ , n S={1,2,⋯,n} S = 1 , 2 , ⋯ , n 中,对于每个正整数 k k k ,找出一个大小为 k k k 的子集,使得该子集中两两间最大公因数的最大值最小,求这个最小值。 我们考虑如何构造两两间最大公因数的最大值最小的集合,首先肯定是把所有质数先丢进集合里,然后再把与已经在集合内的数的最大公因数 = 2 =2 = 2 的数丢进去,然后是 = 3 =3 = 3 的数……然后注意到,如果我们加入了一个合数,那么他的所有因子必定已经在集合内了,于是加入的这个数字能够产生的最大公因数就是他的最大因子,因此用埃筛维护这个贪心的过程,排序一遍输出即可。 AC代码: int n , m ; int main ( ) { sd ( n ) ; vector < int > ans ( n + 1 , 1 ) ; //ans包含n+1个值为1的元素。 rep ( i , 2 , n ) { for ( int j = 2 * i ; j <= n ; j + = i ) { ans [ j ] = i ; } } sort ( ans . begin ( ) , ans . end ( ) ) ; rep ( i , 2 , n ) printf ( "%d%c" , ans [ i ] , i == n ? '\n' : ' '