不要再用 if-else!
原文链接:DevWeekly | 第3期:为什么不能使用If-Else?
DevWeekly每周五首发于 Github,欢迎大家 Star 并收藏!
DevWeekly 收集整理每周优质开发者内容,包括开源项目、资源工具、技术文章等方面。
每周五定期发布,同步更新到知乎:Jackpop 。
欢迎大家投稿,提交issue,推荐或者自荐开源项目/资源/工具/文章~
订阅方式:
开源项目
1. pdfarranger
Python Star:1.5k

编辑切换为居中
添加图片注释,不超过 140 字(可选)
pdfarranger 是一个小型的 Python-gtk 应用程序,它帮助用户合并或分割 PDF 文档,并提供一个交互式的直观图形界面来对 PDF 进行旋转、裁剪和重新排列等操作。
它是一款在 pikepdf 的基础上开发的一款前端工具,pikepdf 是一个用于读取和写入 PDF 文件的 Python 库。
2. eg3d
Python Star:1.8k
CVPR 2022 文章《Efficient Geometry-aware 3D Generative Adversarial Networks (EG3D)》的官方实现代码,给予 Pytorch。
通过这个算法,仅使用单视角二维照片集合就能无监督地生成高质量的多视角一致的图像和三维形状。
3. diffgram
Python Star:1k

编辑切换为居中
添加图片注释,不超过 140 字(可选)
标注数据一直都是人工智能领域的一大难题,diffgram 的出现可以轻松的实现不同数据类型(图像、视频、三维、文本、地理、音频等)的标注。
4. unionml
Python Star:167
UnionML 是一个开源的 MLOps 框架,旨在减少构建模型并将其部署到生产过程中的困扰。
你可以通过定义一些核心方法来创建 UnionML 应用,这些方法会自动捆绑到 ML 微服务中,首先是模型训练和离线及在线预测。
UnionML 建立在 Flyte 基础之上,为生成自己的 ML 模型提供了一个高级接口,这样你就可以专注于准备一个更好的数据集并改进模型,它能够让构建和部署机器学习微服务变得更加简单。
5. milvus
Go Star:11.3k
Milvus 是一个开源的矢量数据库,为嵌入相似度搜索和人工智能应用提供支撑。
它具有如下特点:
对万亿级矢量数据集进行毫秒级搜索
简化的非结构化数据管理
可靠的、永远在线的矢量数据库
高度的可扩展性
混合搜索
统一的 Lambda 结构
6. mani
Go Star:284

编辑切换为居中
添加图片注释,不超过 140 字(可选)
mani 是一个 CLI 工具,可以帮助你管理多个代码仓库。
当你在处理微服务、多项目系统、许多库或只是一堆库,并希望有一个中心位置来拉动所有仓库并对它们运行命令时,它很有用。
你可以在一个配置文件中指定仓库和命令,然后在所有或部分仓库上运行命令。
7. moose
C++ Star:958
MOOSE 是一个有限元、多物理场景的框架,由爱达荷国家实验室开发。
它为一些复杂的非线性求解器技术提供了一个高级接口,它提供了如下能力:
自动并行
模块化开发简化了代码的重复使用
内置网格适应性
直观的平行多尺度求解
灵活、可插拔的图形用户界面
8. zero-ui
JavaScript Star:375
ZeroUI - ZeroTier Controller Web UI - 是一个用于自我托管的 ZeroTier 网络控制器的 Web 用户界面。
这个项目受到 ztncui 的高度启发,是为了解决目前应用自我托管网络控制器的限制而开发的。由于项目的核心架构,一些 ztncui 的问题不能被修复。
ZeroUI 的功能更完整,它拥有几乎所有网络控制器支持的功能。
此外,它还可以在广泛的平台上使用。
9. markdoc
JavaScript Star:4.8k

编辑切换为居中
添加图片注释,不超过 140 字(可选)
一个强大、灵活、基于 Markdown 的创作框架。
Markdoc 基于 Markdown 的语法和工具链,可以用于创建自定义文档网站和体验。
10. fclones
Rust Star:878
fclones 是一款高效的重复文件查找和清除程序。
fclones 是一个命令行工具,可以识别相同的文件及文件夹,并对清理过程进行清晰的标记,不仅能够清理出大量硬盘空间,还可以保障数据安全。
fclones 可以在各种操作系统上使用,但在 Linux 上效果最好。
资源工具
1. Cli2Cloud

编辑切换为居中
添加图片注释,不超过 140 字(可选)
一款可以实时监控并与任何地方的人分享你的终端输出的工具。
2. CodeEdit

编辑切换为居中
添加图片注释,不超过 140 字(可选)
CodeEdit 是一个由社区创建的开源代码编辑器,完全为 macOS 编写。
它的功能包括语法高亮、代码完成、项目查找和替换、片段、终端、任务运行、调试、git 集成、代码审查、扩展等。
3. LogFX

编辑切换为居中
添加图片注释,不超过 140 字(可选)
一个漂亮的日志查看器,能够处理非常大的文件。
LogFX 是一个多平台、免费和开源的日志查看器,旨在处理非常大的文件而不影响性能。
4. SpeedSheet

编辑切换为居中
添加图片注释,不超过 140 字(可选)
这是一个交互式 Python 资料库,涵盖了核心的 Python 编程语言。
通过使用搜索可以立即得到答案,包含 Python、NumPy、Jinja 等。
5. infer
一个用于 Java、C、C++和 Objective-C 的静态分析工具。
技术文章
1. 受欢迎的编码练习网站
如果你想提高你的分析能力,仅仅通过视频或者书本学习是远远不够的,我们还需要在解决问题中实战锻炼。
这篇文章就给大家提供了一些比较受欢迎的编码练习网站,其中就包括 Codeforces、LeetCode、Kaggle、Codewars 等一些比较有名气的网站。
2. 为什么不能使用If-Else?
如果学习一门编程语言,我们都会知道 if...else...、for 循环等基本语法。
作为一个初学者,我们可以按照书本上一板一眼的学习和使用。
但是,如果要成为高阶程序员,就需要不断考虑怎么更加高效的应用编程语言。
使用 if...else...是我们在大学里学到的编程基础知识之一,刚开始接触编程经常会用到。但是,许多高级开发人员都认为 if...else...存在很多问题,而且我们在开发中也要尽量避免过度依赖 if...else...。
这篇文章就介绍初级、中级、高级程序员如何应对程序中一些类似的问题。
版权声明: 本文为 InfoQ 作者【Jackpop】的原创文章。
原文链接:【http://xie.infoq.cn/article/a2a7c43303c10f393d89751e0】。文章转载请联系作者。
评论