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

2021 年 Python

在这篇文章中,我想聊下 Python 最大优势和不足,以不足为主,因为这些问题已经存在了许多年,而且其中有些导致了很多问题。这篇文章对 Python 评价看起来非常负面。...X 是一个很棒库,但如果它不支持 Python,我连试也不会试。像这样评论,我见过许多次了。不支持 Python 应用可是在自找麻烦。...我都不记得自己被迫放弃了多少优秀库 / 项目,只因为安装不上。 如果你想 Python 新手分享自己代码,那简直是噩梦。...当我在写书时,我发现,与其帮助人们安装 Python,还不如提供一个什么都装好了 5GB 虚拟机,那样更简单(许多其他作者也是这样做,我虚拟机文件夹一度有 60 到 80GB,全都是针对 Python...Python 开发者嘲笑 JavaScript 和 NodeJs 平台让人凌乱,但 Python Node 相比有过之而无不及。

43110

Vite

这么一对比,Webpack 是啥都做了,浏览器只要运行编译低版本(es5)代码就行;而 Vite 只处理问题一部分,剩下事情交由浏览器自行处理,那速度必然贼 TM 快。...而 Vite 显得特别简洁,它只是暴露了极少数配置项 plugin 接口,设计上就没打算让你做太多自定义操作。。。...三、Vite 劣势 Vite 还很新,虽然它从理论体感上提供了非常极致开发体验,还是有一些值得关注问题。...,对作者而言可能意味着逐步失控开发量;对用户而言可能意味高学习成本,以及不断重复类似空格还是 tab 争论。...那么,一套内置各种业界 「最佳实践」,没有太多定制空间工具,某些情况下反而能提升大家效率 我个人对 Vite 态度:短期保持观望,长期非常看好。

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

Vite

这么一对比,Webpack 是啥都做了,浏览器只要运行编译低版本(es5)代码就行;而 Vite 只处理问题一部分,剩下事情交由浏览器自行处理,那速度必然贼 TM 快。...而 Vite 显得特别简洁,它只是暴露了极少数配置项 plugin 接口,设计上就没打算让你做太多自定义操作。。。...三、Vite 劣势 Vite 还很新,虽然它从理论体感上提供了非常极致开发体验,还是有一些值得关注问题。...,对作者而言可能意味着逐步失控开发量;对用户而言可能意味高学习成本,以及不断重复类似空格还是 tab 争论。...那么,一套内置各种业界 「最佳实践」,没有太多定制空间工具,某些情况下反而能提升大家效率 我个人对 Vite 态度:短期保持观望,长期非常看好。

70610

CSS in JS

不需要你为需要设置样式DOM节点设置一个样式名,使用完标签模板字符串定义后你会得到一个styledComponent,直接在JSX中使用这个Component就可以了。...内联样式相比于CSS选择器方法有以下优点: 自带局部样式作用域效果,无需额外操作 内联样式权重(specificity)是最高,可以避免权重冲突烦恼 由于样式直接写在HTML中,十分方便开发者调试...封装得更好组件库 大家在日常开发过程中可能会封装一些组件在不同项目中使用,如果你组件样式使用CSS预处理方案和另外一个项目的预处理方案不一样,例如组件使用是less,项目使用是css modules...坏处 任何事物都有地方和地方,只有对好处和坏处都了解清楚我们才能更好地做出判断。接着我们就来说一下CSS-in-JS不好地方吧。...我们团队在刚开始使用styled-components时候,适应了一段时间才学会如何用好这个库。因为学习成本比较高,在项目中引入CSS-in-JS可能会降低你们开发效率。

2.3K10

英文分享 | 2018年 Python

好久没给大家分享英文博客了,大家英文阅读能力没有退步吧?(有也不会认 :))前几天,我被一些小伙伴考四六级消息刷屏了,不知道大家考得如何啊?...虽然我已毕业几年了,不用为考级而学习英语,但是,我也意识到,除了编程技能,英语技能是万万不能丢。...所以,我开始培养起阅读英文材料习惯了(两周前还尝试翻译了一篇),在公众号分享英文文章也是一种有益尝试。曾有读者留言,说关注咱公众号还能练习英语,他觉得很赞。...这个回复令我信心大增,所以这种分享会一直延续下去。我会控制频率,同时在标题注明是英文分享,以示区分。今天分享是 Medium 网站上一篇关于 Python 年度总结。...(PS:Python猫读者交流群建立起来了,详情请看今日第二条推文。)

62730

布尔变量

我们都知道布尔类型所表达关系是"真"和"假"关系。似乎大部分人对于布尔变量命名并不重视,弄出了很多奇怪变量。今天我们就讨论下怎么命名布尔变量。   ...变量命名也是一样,我们需要准确知道该变量表达是什么。如果变量命名和其表达出来东西不一致,那么就是一个糟糕命名。...以布尔命名为例,Qt君列出一些命名和不好命名,供大家比较: 不好命名 status,flag,target,a,b。   这些命名不能准备表达出事物真假状态。...命名 done,error,success,ok,found,enable,available,visible。 done用来表明事情是否已经完成。 error用来表明有无错误发生。...is开头修饰布尔变量,如:isError,本身error变量就能表达出有无错误发生状态,降低了可读性。

42630

指标指标

使用Power BI做数据分析核心是实现度量。下层基础决定上层建筑,写出一个度量值前提是有指标设计。什么样指标才是指标呢?...Specific 明确性 电影院数据分析经常会使用到上座率,即一部影片获得观众人次多少 / 提供总座位数,它是评价电影优劣指标,但对于电影院自身运营并不会有明确帮助,因为上座率高低很大程度取决于一部电影火热...受欢迎老师场场爆棚,乏味课程门可罗雀。如果可以把这个度量落实下去,那一定是让老师们殚精竭虑指标,也必定带来教学质量改善。 ?...这是一个很重要问题,你设计指标是评价一段时间发生值,还是某一时点值? ? 前天出版社编辑老师告诉我新书第一批库存快卖光了,要开始加印。让我在关注销售册数同时又加入了一个库存量指标。...以上是目标管理SMART原则,也可以作为判断指标好坏参考。简而言之,能够解决问题就是指标。

1.4K30

CSS硬件加速

CSS硬件加速 本文翻译自Ariya HidayatHardware Accelerated CSS: The Nice vs The Naughty。感谢Kyle He帮助校对。...在GPU众多特性之中,它可以存储一定数量纹理(一个矩形像素点集合)并且高效地操作这些纹理(比如进行特定移动、缩放和旋转操作)。这些特性在实现一个流畅动画时特别有用。...所以有必要知道更多运行机制,才能更好地处理实际情况。 想象使用GPU加速动画就像是Vin Diesel(速度激情主角)开着Dominic标志性汽车 —— Dodge Charger。...而连接CPU和GPU总线带宽不是无限,所以需要关注数据在CPU和GPU之间传输,要尽量避免造成通道拥挤。换句话说你需要一直注意像素传输。...image.png 首先也是最重要任务就是了解创建合成层数量。因为每一个层都对应了一个GPU纹理,所以有太多层会消耗很多内存。这可能导致出现预期之外行为,可能会导致潜在崩溃。

1.1K20

Flutter

,相信对于刚刚接触 Flutter 的人可能都会有这样疑问。 Flutter 最有价值点不是它语言,也不是它代码设计模式,是它跨平台。...以前应用跨平台框架都需要依赖原生平台控件,比如: react-native   标签需要转化为 Android 平台 ViewGroup 控件,然后实现渲染。...,而原生控件在不同版本和平台上都存在一定差异化。...通过本书,读者可以快速掌握Flutter开发技能,并通过实战学习Flutter源码设计。同时,本书还配套全面的学习例程完整开源项目,真正做到为读者Flutter学习旅程披荆斩棘。...Python之父加入微软,一开口就知道是老“凡学家”了 秒懂商用区块链关键技术:智能合约 演说泰斗加尔·雷纳德亲自解读《演说之禅》奥秘 ▼点击阅读原文,了解本书详情~

37930

AWS SQS 消息中间件

2 消息发送 SQS使用内网发送一条消息平均耗时在4~9毫秒,AWS DynamoDB存储耗时一样。虽然官方提供批量写消息支持,但批量消息发送需要自己实现消息队列缓存,加大内存使用。...因为SQS是按请求量计费,因此批量操作优势是降低使用成本。 ? 之前打算用go来实现消息消费,所以我就直接用go来写测试用例了,不想用java重复写一次。不懂go朋友直接看测试结果就好了。...3 消息消费 消费者消费消息一次最多只能拉取10条,之前项目中使用JavaAPI是需要自己定时去拉取。定多少个线程拉取,频率设置多少合适会是个很头疼问题。...一旦设置线程数多或者拉取频率小,如果消息少情况下,无疑是增加了费用。但如果设置频率小,线程数少,可能会导致高峰时段消息积压,大量消息得不到实时消费。 为此,我还写了一个简单自适应消费算法。...最近想使用go语言实现某块业务消费时,才发现go语言api是提供长轮询,然后我再去看文档才发现文档写了支持长轮询,可能之前还没有,最近更新,也可能之前我看文档没看仔细?

2K30

代码和代码

表1  对一流代码特性汇总分类 代码例子 关于好代码,上面介绍了一些特性,本节也给出代码(Bad Code)几个例子。...关于代码,本书没有做系统性总结,只是希望通过以下这些例子展示让读者对代码有直观感觉。 1. ...代码从哪里来 上一节说明了代码特性,本节来分析代码是如何产出。 ▊  代码不止于编码 代码从哪里来? 对于这个问题,很多读者肯定会说:“代码肯定是写出来呀。”...如果我们把需求搞错了,那么错误需求有关设计、编码、测试、上线等成本就都浪费了;如果我们把设计搞错了,那么错误设计相关编码、测试、上线成本也就浪费了。...架构标准TOGAF实践最重要三件事 被Altair圈粉了!这款Python数据可视化库真香! ▼点击阅读原文,了解本书详情~

79520

代码和代码

一般会使用一个适配层来屏蔽操作系统底层差异。 一些编程语言也提供了多操作系统可移植性,如很多基于Python语言、Java语言、Go语言编写程序,都可以跨平台运行。 8....表1  对一流代码特性汇总分类 代码例子 关于好代码,上面介绍了一些特性,本节也给出代码(Bad Code)几个例子。...关于代码,本书没有做系统性总结,只是希望通过以下这些例子展示让读者对代码有直观感觉。 1. ...如果我们把需求搞错了,那么错误需求有关设计、编码、测试、上线等成本就都浪费了;如果我们把设计搞错了,那么错误设计相关编码、测试、上线成本也就浪费了。...最后,又是送书环节啦~ 小伙伴们留言说说你心中代码和代码是啥样?松哥会从留言小伙伴中选出来6位幸运星,各送一本《代码艺术》,包邮到家。 如果喜欢本文 欢迎 在看丨留言丨分享至朋友圈 三连

88510

动画:BM 算法中字符规则后缀规则

后缀规则(good-suffix shift):当字符失配时,后移位数 = 后缀在模式串中位置 - 后缀在模式串上一次出现位置,且如果后缀在模式串中没有再次出现,则为 -1。...后缀针对是模式串。 ? 字符规则 字符出现时候有两种情况进行讨论。 1、模式串中没有出现了文本串中那个字符,将模式串直接整体对齐到这个字符后方,继续比较。 ? ?...2、模式串中有对应字符时,让模式串中 最靠右 对应字符字符相对。 这句话有一个关键词是 最靠右。 思考一下为什么是 最靠右? 看图! ? ? ? ?...后缀规则 1、如果模式串中存在已经匹配成功后缀,则把目标串后缀对齐,然后从模式串最尾元素开始往前匹配。 ? ?...2、如果无法找到匹配后缀,找一个匹配最长前缀,让目标串最长前缀对齐(如果这个前缀存在的话)。模式串[m-s,m] = 模式串[0,s] 。 ? ?

1.6K20

Lua: , , 和坑爹

虽然我已经见过很多提到Lua列表 (例如, Lua优势, 为什么使用Lua, 为什么Lua没有得到广泛地应用, Lua优点,Lua, Lua对比JavaScript, 还有Lua陷阱... 小巧: 20000行C代码 可以编译进182K可执行文件 (Linux下). 可移植: 只要是有ANSI C 编译器平台都可以编译....方法调用使用 object:method(args) 写法, object.method(object, args) 写法是等价, 但 object 只取值一次. nil 和false 是仅有的表示假值... 有限错误处理支持 (使用pcall 和xpcall),尽管有些人 争论这已经够用了 , 只需要加一些语法糖和特性支持 (如确定性finalizer)....虽然有 luaposix 模块, 但是它需要编译, 这并不是一个选择.

1.5K10

程序员需要了解.NET Framework 编程

基类库 (BCL)提供最常见功能,如命名空间中类,并且是框架类库 (FCL)核心,这是一组公共语言运行时 (CLR)紧密集成可重用接口、类和值类型) 。...虽然 .NET Framework 中 CLR 几乎相同,但 CoreCLR 已针对 .NET Core 跨平台构成进行了调整。...通用 IDE Visual Studio 2022 于2021 年 11 月 .NET 6 一起发布。推出是 IDE 本身第一个 64 位版本,并且充满了有用功能。...未完全开放原始 .NET 框架不同,.NET Core 拥有完全开放源代码,可确保广泛工程社区能够持续为其开发做出贡献。...这也意味著在某些时候实体框架可能不支持新数据库设计。另一个问题是该框架最终可能会被微软抛弃。 从方面来说,您始终可以选择另一个 ORM 替代方案,因此它仍然是一个有争议问题。

1.8K30

几种特征选择方法比较,孰

特征选择 在物联网时代,每天都在以越来越快速度创建和收集数据,这导致每个数据点相关数据集具有成千上万特征。...其中包装法和嵌入法都是依赖于依赖于算法自身选择,即基于评估机器学习模型特征重要性,根据重要性分数了解哪些特征做出预测最相关方法。这也是最常用特征选择方法之一。...最优树 如前所述,集成方法相比,CART预测性能较差,但集成方法被迫牺牲单个决策树可解释性来实现较好预测性能,这使得从业者不得不在性能和可解释性之间进行选择。...SHAP和XGBoost一直低估关键特征重要性,而将不相关特征赋予显著重要性,并且在较高噪声下无法完全区分相关不相关特征。显然这些不能被用于特征选择或解释,否则这将会发生严重后果。...另一方面,可解释单树模型在识别预测无关特征方面优势突出,在需要相对较少训练数据情况下将其重要性降至零。

84120

R语言丨讲座中字视频丨附讲座PDF

R语言一开始是用Scheme或Lisp语言写,我忘了是哪一个了。具有类似Scheme语言语法,但随后它变得必须S语言兼容,而S语言语法Fortran比较像,于是R语言接收了这些特征。...你需要一种能很好地处理缺失数据语言。就像Perl有文本处理模式,R语言也有处理常规统计任务模式,我们之后将看到。 R语言优势 用Python的人会说Python自带电池。...意思是一旦下载Python,你就有了能开始使用所有必备物。对于某些Python编程,这么说是对。但用Python做统计运算,就没有自带电池了。...保存分配所有内存。 第二个例子比第一个运行速度慢25倍,所以在R语言里不好操作代码,在C语言之类语言中可能是代码,反之亦然。...,这就是我一些介绍,谢谢大家。

1.7K90

什么是代码代码?给普通人图解示例

那么回到这一节标题中问题 — 什么是 “代码”? 按照我们对小门微小组合比喻,我会说代码意味着你有太多门,以不必要重复或复杂方式排列。...转动一个旋钮,远处另一个旋钮也会转动: 代码只考虑手头问题,并提出最简单解决方案,一个旋钮和一个旋钮调节器,由半柔性杆连接。在这个早期阶段,代码赢得了奥卡姆剃刀奖(开发速度非常快)。...代码起初似乎有点矫枉过正,使用了橡胶带和 2 个轮子(开发速度较慢)。 需求变更,旋钮位置变了! 就像在开发周期中经常发生那样,在某个时刻,客户需求会发生变化。...代码只需要在新需求进来时稍微调整一下,简单地使用更长橡胶带就可以解决这个问题。 要求更改,旋钮需要转得慢一些! 最后,我们客户决定他们希望旋钮以不同速度旋转。...另一方面,代码同样只需要稍微调整,在连接旋钮侧使用更大轮子: 总结 如上所述,当需求很简单时,代码通常看起来有点过头,但当客户需求发生变化时,代码就会真正发光发热。

13720

40岁还在做程序员是还是

我们可以将积累生活知识以及特定学科知识转化为机器代码。 上了年纪程序员可以从以往错误中吸取教训,记住这些经验,少犯错误,并更快地纠正错误。...中年程序员非常清楚自己职业期望,对公司忠诚度更高,跳槽次数更少。 有经验程序员了解企业行为规范,更加适应商业氛围。 雇佣上了年纪程序员无需担心他们孩子生病——因为他们孩子都长大了。...但并非一切都是积极乐观因素。在雇佣年纪程序员时,雇主也会表现出一些担忧。我们创建了一个高质量技术交流群,优秀的人在一起,自己也会优秀起来,赶紧点击加群,享受一起成长快乐。...很难接受工作中批评,尤其是来自年轻老板批评。 对工作缺乏动力,40+程序员已经习惯了自己工资高于20岁同事。 学习速度慢,跟不上工作快节奏。 如果被年轻程序员包围,就会感受到压力。...,优秀的人在一起,自己也会优秀起来,赶紧点击加群,享受一起成长快乐。

51720

什么是代码代码?给普通人图解示例

那么回到这一节标题中问题 — 什么是 “代码”? 按照我们对小门微小组合比喻,我会说代码意味着你有太多门,以不必要重复或复杂方式排列。...转动一个旋钮,远处另一个旋钮也会转动: 代码只考虑手头问题,并提出最简单解决方案,一个旋钮和一个旋钮调节器,由半柔性杆连接。在这个早期阶段,代码赢得了奥卡姆剃刀奖(开发速度非常快)。...代码起初似乎有点矫枉过正,使用了橡胶带和 2 个轮子(开发速度较慢)。 需求变更,旋钮位置变了! 就像在开发周期中经常发生那样,在某个时刻,客户需求会发生变化。...代码只需要在新需求进来时稍微调整一下,简单地使用更长橡胶带就可以解决这个问题。 要求更改,旋钮需要转得慢一些! 最后,我们客户决定他们希望旋钮以不同速度旋转。...另一方面,代码同样只需要稍微调整,在连接旋钮侧使用更大轮子: 总结 如上所述,当需求很简单时,代码通常看起来有点过头,但当客户需求发生变化时,代码就会真正发光发热。

22100
领券