写点什么

开发者必看 | DevWeekly 第 1 期:什么是时间复杂度?

作者:Jackpop
  • 2022 年 7 月 16 日
  • 本文字数:2616 字

    阅读完需:约 9 分钟

hello,大家好,我是 Jackpop,硕士毕业于哈尔滨工业大学,曾在华为、阿里等大厂工作,如果你对升学、就业、技术提升等有疑惑,不妨交个朋友:


我是Jackpop,我们交个朋友吧!


DevWeekly 收集整理每周优质开发者内容,包括开源项目工具资源技术文章等方面。


每周五定期发布,同步更新到<a href="https://www.zhihu.com/people/sharetechlee/activities">知乎:Jackpop</a> 和<a href="https://mp.weixin.qq.com/s/hTZAGgkiMS0XPZ9OHQxFJg" rel="nofollow">公众号:平凡而诗意</a> 。


欢迎大家投稿,提交issue,推荐或者自荐开源项目/资源/工具/文章~


订阅方式


  1. Star 并收藏项目DevWeekly

  2. 关注<a href="https://www.zhihu.com/people/sharetechlee/activities">知乎:Jackpop</a>

  3. 关注并星标<a href="https://mp.weixin.qq.com/s/hTZAGgkiMS0XPZ9OHQxFJg" rel="nofollow">公众号:平凡而诗意</a>


进阶技术,优质资源,实用工具,欢迎关注公众号平凡而诗意

开源项目

1. pikepdf

Python Star:1.4k


pikepdf 是一个用于读取和写入 PDF 文件的 Python 库。


它基于 QPDF,而 QPDF 则是一个强大的 PDF 操作和修复库。


这个库类似于 PyPDF2 和 pdfrw,但是,相对于后两者,它提供更丰富的 PDF 操作功能,并允许对现有的 PDF 进行编辑和内容转换。


它具有很多优秀的特性,例如:


  • 编辑和转换 PDF

  • 与 Jupyter 和 IPython 笔记本集成,实现快速开发

  • PDF 加解密

  • 支持从 1.1 到 1.7 全部版本的 PDF 文档

  • 修改 PDF/A 而不破坏 PDF/A 的合规性

  • 自动修复有内部错误的 PDF 文件

2. towhee

Python Star:721


Towhee 是一个灵活的、面向应用的框架,通过 ML 模型和其他操作的工作流来生成嵌入向量。


它的目的是使x2vec更加便捷、易用,从初级开发人员到大型组织--只需几行代码就能生成 dense embedding。


为了实现这一目标,它为各种任务提供预构建的工作流,包括音频/音乐嵌入、图像嵌入、人物识别等等。

3. ga-extractor

Python Star:31


ga-extractor 是一个 CLI 工具,它能够通过使用谷歌报告 API 提取谷歌分析数据,也可用于将数据转换为适合迁移到其他分析平台的各种格式。

4. envelope

Python Star:146


如何通过 Python 代码实现自动发送邮件?如果通过代码添加附加信息或者附件?


envelope 只需要一行代码,就可以实现在发送电子邮件/签名/加密内容的过程中添加一个信息和附件。


插入一个信息和附件,并通过单行发送电子邮件/签名/加密内容。


它在 python-gnupg、M2Crypto、smtplib、magic 和电子邮件处理包的基础上进行了一层包装,他们的多个功能被合并到一个单一的函数中。


下面是一段示例代码:


Envelope("my message")    .subject("hello world")    .to("example@example.com")    .attach(file_contents, name="attached-file.txt")    .smtp("localhost", 587, "user", "pass", "starttls")    .signature()    .send()
复制代码

5. FairEmail

Java Star:942


一款功能齐全、开放源代码、注重隐私的安卓电子邮件应用程序


FairEmail 很容易设置,并且可以与几乎所有的电子邮件系统兼容使用,包括 Gmail、Outlook 和 Yahoo!


但是,它更加注重隐私,如果你想自己开发一款更加注重隐私的电子邮件 APP,FairEmail 非常有用。


它具有如下特性:


  • 功能齐全

  • 100%开放源代码

  • 以隐私为导向

  • 无限账户

  • 无限的电子邮件地址

  • 统一收件箱(可选择账户或文件夹)

  • 双向同步

  • 推送通知

  • 离线存储和操作

  • 流量消耗量低

  • 小巧(~25 MB)

  • 简洁

6. Camera

Java Star:361


Camera 是一款注重隐私和安全的现代相机 APP,可扫描 QR 和条形码


它新版的 GrapheneOS 相机应用,基于 Android 的 CameraX 库。

7. dns.toys

Go Star:1.8k


一个 DNS 服务器,通过 DNS 协议提供有用的工具和服务。


例如,天气、世界时间、单位转换等


它提供方便的实用程序和服务,可以通过命令行轻松访问。


下面是一些示例命令:


dig help @dns.toys
dig mumbai.time @dns.toys
dig newyork.weather @dns.toys
dig 42km-mi.unit @dns.toys
dig 100USD-INR.fx @dns.toys
dig ip @dns.toys
dig 987654321.words @dns.toys
dig pi @dns.toys
dig 100dec-hex.base @dns.toys
复制代码

8. vrperfkit

C Star:513


一款 VR 性能工具箱,面向性能的 VR 游戏 mods 集合。


包括 mods:


  • 升级技术(在较低的分辨率下渲染并升级到目标分辨率)

  • AMD FidelityFX 超级分辨率

  • 英伟达图像缩放

  • AMD 对比度自适应锐化

  • 固定凹陷渲染

  • 可变速率着色


除此之外,它还支持 Oculus、OpenVR 这些 VR 运行环境和 Direct3D 11 图形 API。

9. Hacker-Typer

JavaScript Star:672


Hacker-Typer 是一个简单的网页端小工具,模拟黑客打字,看上去很炫酷的感觉。


你可以打开页面随意敲击键盘,它会生成一段很酷的代码。


10. ceresdb

Rust Star:1.3k


CeresDB 是一款高性能、分布式、Schema-less 的云原生时序数据库,能够同时处理时序型(time-series)以及分析型(analytics)负载。

工具资源

1. RegExr

RegExr 是一个基于 HTML/JS 的工具,用于创建、测试和学习正则表达式。


2. BrainIDE

BrainIDE 旨在提供一个易于使用、轻量级和用户友好的 IDE。


它全部使用 python 和 tkinter 进行 GUI 设计和编码。


这款软件的主要目的是在不需要互联网连接的情况下,在旅途中进行头脑风暴式的编码。


3. Geany

Geany 是一个小而轻的集成开发环境。它的开发是为了提供一个小而快的集成开发环境,它只需要依赖其他软件包。


另一个目标是尽可能地独立于像 KDE 或 GNOME 这样的特殊桌面环境。


所以, 它只使用 GTK+ 工具包,因此你只需要 GTK+ 运行库来运行 Geany。


4. Lorien

Lorien 是一个画布/绘画/笔记应用程序,专注于性能、小型保存文件和简单性。


它不像 Krita、Gimp 或 Photoshop 那样基于位图图像,而是将笔触保存为一个点的集合,并在运行时渲染它们(有点像 SVG)。


它主要被设计成一个数字笔记本和头脑风暴工具。


5. Shortcut

Shortcut 是一款免费、跨平台、开源的视频编辑工具。


技术文章

1. 什么是时间复杂度?

做软件开发过程中,时间复杂度、空间复杂度经常用来对数据结构和算法进行复杂度分析。


在计算机科学中,如何找出哪个算法或数据结构更有效或更快?我们怎样才能比较两种算法或数据结构?


我们可以通过时间复杂度来比较给定的算法:更快地完成给定任务的算法是更好的。


这篇文章则详细的阐述了什么是时间复杂度?以及如何理解时间复杂度?

2. 怎么在VS Code中运行C++?

如果你从事 Python 开发,选择解释器、IDE、配置环境是一项非常简单的工作,你只需要安装 Python 就可以了。


但是,当处理 C++时,这件时间就变得复杂多了,因为它需要一个编译器,有许多 C++编译器可用。


这篇文章以使用 MinGW 为基础,分享一些很不错的工具,这些工具将使程序的运行过程更加容易。

发布于: 刚刚阅读数: 3
用户头像

Jackpop

关注

还未添加个人签名 2020.09.16 加入

公众号:平凡而诗意,微信:code_7steps,全网粉丝超20万,技术进阶、优质资源、实用工具,欢迎关注!

评论

发布
暂无评论
开发者必看 | DevWeekly 第1期:什么是时间复杂度?_Jackpop_InfoQ写作社区