CSDN开发者周刊:只为传递“有趣/有用”的开发者内容,点击Star(Github)!
本周热门项目
微软上线一套《Develop with Python on Windows》Python 教程,教大家如何在 Window 上进行 Python 编程。文档内容包括设置 Python 开发环境、在 Windows 与 WSL 子系统中安装相应开发工具,以及集成 VS Code 与 Git 工具并进行开发等。
课程内容主要分为五大章节:适合初学者入门的 Python 教程、开始进行 Web 开发、开始进行自动化、常见问题、资源。每个章节的内容都非常详细。FAQ 里面还列举了大家常见的一系列问题,包括
- 为什么无法 pip install 某个包?
- py 是什么?
- 为什么文件路径不能复制粘贴?
- PYTHONPATH 是什么?
- 在哪里可以找到有关打包和部署的帮助?
- 如果需要在不同的计算机上工作,该怎么办?
- 如果我使用的是 PyCharm、Atom、Sublime Text、Emacs 或 Vim,该怎么办?
- Mac 快捷键如何映射到 Windows 快捷键?
TDengine 一经开源就迅速抢占 Github C 位,跻身榜首!其官网是这样介绍的:
TDengine 是一个开源的专为物联网、车联网、工业互联网、IT运维等设计和优化的大数据平台。除核心的快10倍以上的时序数据库功能外,还提供缓存、数据订阅、流式计算等功能,最大程度减少研发和运维的工作量。
值得一提的是,TDengine 的开发语言并不是当今非常流行的 Python or Java,而是老当益壮的 C 语言。
CSDN 博客上有不少对TDengine数据库的解读及实战文章,安利给大家:
3、YugaByte DB:高性能的分布式ACID事务数据库
除了上面介绍的 TDengine,本周 Github 周榜上还出现了另一款热门数据库:YugaByte DB,一款高性能的分布式 ACID 事务数据库。YugaByte DB 支持任意规模的多行、多个分片和多个节点上的完全分布式 ACID 事务。YugaByte DB 的开放API 层支持 NoSQL(Cassandra QL&Redis)和SQL(PostgreSQL as Beta)API,它还可以使分布式 ACID 事务在不影响高性能的情况下实现有效工作的。
4、PyTorch-Transformers:一个API调用27个NLP预训练模型
PyTorch-Transformers 是由著名先进的自然语言处理预训练模型库 pytorch-pretrained-bert 改名而来。功能非常强大,只需一个API即可直接调用 BERT,GPT,GPT-2,Transfo-XL, XLNet,,XLM等 6 大框架,包含了 27 个预训练模型。
目前已经包含了 PyTorch 实现、预训练模型权重、运行脚本和以下模型的转换工具:谷歌的 BERT、OpenAI 的 GPT、OpenAI 的 GPT-2、谷歌和 CMU 的Transformer-XL、谷歌和 CMU 的 XLNet、Facebook 的 XLM。
JavaScript 是一门非常优秀的语言,拥有简单的语法,庞大的生态和活跃的社区,与此同时它也有一些有趣和诡异的部分,该库就是专为此部门设计的。
下面上段代码给大家体验体验:
符号
// -> 用于显示表达式的结果。 例如:
1 + 1; // -> 2
// > 意思是 console.log 或其他输出的结果。 例如:
console.log("hello, world!"); // > hello, world!
// 只是一个解释的评论。 例:
// Assigning a function to foo constant
const foo = function() {};
本周热门内容
克里米亚人 Anatoliy Kashkin 是开源项目 GanemHub 作者,他在 Github 上发出控诉,称其因制裁,导致他在 Github 上的账号无法使用,项目无法维护。在俄罗斯与乌克兰交战以及克里米亚脱离乌克兰之后,国际社会对克里米亚进行了制裁。Kashkin 称他收到通知,“由于美国贸易管制法律,你的 GitHub 账号已被限制。对于个人账号,你被限制只能访问免费的公开库用于个人通过。”Kashkin 解释说,GitHub 限制他创建私有库,关闭了现有的私有库,可以创建公开的库但不能删除。他表示自行托管单一的 git 库的意义不大,毕竟很多人是在 GitHub 上发现 GameHub 的,GameHub 提供了很多有用的社交功能。
无独有偶,一位伊朗程序员与一位居住在芬兰的伊朗籍程序员也同时遭受到了同样待遇,原来是美国制裁伊朗,受相关法律限制,目前伊朗地区的 GitHub 帐号均无法正常使用。
2、Python 之父考虑重构 Python 解释器
Python 之父 Guido 与 7 月 22 日在 Medium 上发文表示,他正在考虑使用 PEG Parser 重构 Python 解释器,原因是现在的 pgen 限制了 Python 的语法自由度,使得一些语法树不够整洁,无法最好地体现设计者的意图。
而作为开发者最关心的是重构是否会对 Python 语言造成一些影响,Guido 则表示,重构底层不会给 Python 语法带来影响。
7月25日,在2019阿里云峰会上海站上,阿里巴巴集团副总裁戚肖宁宣布RISC-V处理器玄铁910(XuanTie910)诞生!阿里称它是目前性能最强的 RISC-V 处理器,支持 16 核,主频 2.5GHz,单核性能达到 7.1 Coremark/MHz。阿里巴巴称其性能突破源自两大创新:首先,它采用 3 发射 8 执行的复杂乱序执行架构,是业界首个实现每周期 2 条内存访问的 RISC-V 处理器;其次,它基于 RISC-V 扩展了 50 余条指令,系统性增强了 RISC-V 的计算、存储和多核等方面能力。
4、62岁程序员的骚操作:程序员埋逻辑炸弹,每隔几年就触发
有个美国的程序员试图让雇主依赖他,在程序中埋了逻辑炸弹。他面临最高 10 年的监禁,以及最高 25 万美元的罚款!据 MSN 24 日报道,美国宾州西部地区检察官办公室在一份新闻稿中称,62 岁的大卫·廷利在联邦法院对故意损坏受保护电脑的指控认罪。
大卫受雇于西门子的美国子公司,他负责定制自动化电子表格。西门子使用这些电子表格来管理电气设备的订单。逻辑炸弹每隔几年就会定时引爆一次,导致电子表格出现错误信息和屏幕按钮大小变化等故障。
当程序出现故障时,公司会让大卫回来修复。新闻稿中称,大卫他通过推迟电子表格再次停止工作的日期,来修复了这个系统。
因社区反对 Go 语言的下一个大版本将不会引入用于错误处理的 try() 函数。Go 语言作者之一 Robert Griesemer 前几天代表 Go 语言开发团队的提案审查委员会公布了关于否决一项提案的决定,并且在公告中解释到:许多反对者认为这个提议没有针对一个有价值的问题。他们承认错误处理并不完美,有改善余地,但社区首先需要讨论的是错误处理的哪个特定方面是需要解决的问题。
Go 语言目前的错误处理主要是使用 if 语句去对比返回的错误值,如果是 nil 那么错误没有发生。这种方法需要开发者写很多 if 语句。因此有人提议引入 try() 函数,消除掉过多的 if 语句。但该提议现已放弃。
CSDN社区精选
你要是不知道什么是最终一致性你可以看看下面的权威定义,当然了网上关于什么是最终一致性的帖子铺天盖地,也许你已经很明白了,即使这样你是不是依然为此图欢呼?
如果你以前看过最终一致性的定义那么你一定会为这幅精彩漫画拍手叫好。
使用 Linux 系统的几户都是非常懂计算机原理的用户,至少也是会编程的,而Windows 用户就比这个群体更加普遍了,几户包括所有人。Linux 用户是不会等到系统出问题才会有所察觉的,换句话说,Linux 用户是专家用户,他们的 使用习惯 就不会让系统变慢,Linux 用户使用系统的过程,本身就是一个维护系统的过程,而Windows用户根本就不操心这个 技术问题 ,所以 Windows 系统可能会在用户无暇照料维护久了之后,慢慢地变慢了。
所以,问这个 “为什么 Windows 系统越用越慢而 Linux 不会?” 的问题,即便是得到了肯定的回答,也不代表 Linux 更加优秀,由于用户群体不同,这个问题对于Windows是不公平的。
3、三维数据分析的利器组合:wxPython + pyOpenGL
在三维显示领域,OpenGL 是神一样的存在,其地位就像编程语言里面的 C 一样。基于 OpenGL 衍生出来的分支、派系,林林总总,多如牛毛。Python 旗下,影响较大的三维库有 pyOpenGl / VTK / Mayavi / Vispy 等,它们各自拥有庞大的用户群体。VTK 在医学领域应用广泛,Vispy 在科研领域粉丝众多。VTK 和 Vispy 都是基于 OpenGL 的扩展,Mayavi 则是基于VTK 的,因此很多的医学影像应用都是采用 Python + VTK + ITK + Mayavi 的组合(ITK 是图像处理库,类似于 OpenCV 或 PIL)。
事实上,在复杂的三维展示系统中,UI 的重要性并不亚于 OpenGL。如果能为 OpenGL 找到一位 UI 搭档,必将提高程序的可靠性和可操作性,增强用户感受。wxPython 和 pyOpenGL 就是这样的一对黄金搭档。有诗赞曰:
面壁十年图破壁,宝剑霜刃未曾试。
秋风策马出京师,开启三维新天地。
Flutter 是谷歌的移动 UI 框架,可以快速在 iOS 和 Android 上构建高质量的原生用户界面。Flutter 的热重载可帮助您快速地进行测试、构建 UI、添加功能并更快地修复错误。在 iOS 和 Android 模拟器或真机上可以在亚秒内重载,并且不会丢失状态。目前该专栏已经有 47 篇优质博文,从入门到实践应用,一应俱全!
本文介绍 SwiftUI 的属性包装器 Property Wrapper。SwiftUI 提供的属性包装器包括 @State, @Binding, @ObjectBinding, @EnvironmentObject, 和 @Environment 。作为开发者必须了解它们的区别以及何时使用哪一个包装器,本文会结合代码进行详细讲解!
CSDN活动精选
8月2日,华为将从人工智能、IOT、企业云通信、数字平台等火热业务领域解决开发者实操痛点,为您开启破局之道!
本次在线培训的主题为“如何使用英特尔图形性能分析器提高游戏性能”。免费观看公开课,参与有奖调研,赢取精美礼品,中奖率极高哦!欢迎大家踊跃参与。
活动现场将进行 AI 实践介绍。更有 Intel 名师带领您进行免费的价值千元的AI实践学习培训,还可获得Intel官方认证!