DevWeekly收集整理每周优质开发者内容,包括开源项目工具资源技术文章等方面,每周五首发于DevWeekly,欢迎大家Star并收藏!

原文链接:DevWeekly | 第2期:重构代码的10个最佳实践

DevWeekly每周五首发于Github,欢迎大家Star并收藏!

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

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

订阅方式

  1. Star并收藏项目DevWeekly
  2. 关注 知乎:Jackpop

开源项目

1. dot

Python Star:2.6k

dot(Deepfake Offensive Toolkit)是一款将deepfakes实时的、可控制的应用于在线视频的工具。

那么,deepfakes是什么?

简单的翻译过来就是深度伪造,换句话说,它是通过人工智能技术,能够将目标对象的面部特征嫁接到被模仿的对象上,给目标对象进行换脸。

2. codecat

Python Star:241

CodeCat是一款可以帮助你使用静态代码分析功能找到/追踪用户输入和安全漏洞的开源工具,这对于代码开发中的安全控制非常有价值。

目前它适用于C、C++、GO、Python、javascript、Swift、PHP、Ruby、ASP、Kotlin、Dart和Java。

总结一下,它具有如下特性:

3. OCRmyPDF

Python Star:6.8k

PDF有很多不同类型,直接通过word等格式转换的可以直接复制粘贴,操作比较简单。但是,扫描版的PDF则比较麻烦。

OCRmyPDF为扫描的PDF文件添加OCR文本层,使其能够被搜索或复制粘贴。

它具有如下特性:

4. data-diff

Python Star:1.3k

data-diff是一个命令行工具和Python库,能够用于对比两个不同数据库的差异。

目前,它已经在多种不同类型的数据库上进行过验证,而且对于对比结果可以通过CLI/API的形式来创建监控和告警,能够兼容不同的字段类型。速度也非常快,10s内能够验证25M+行数据。

data-diff将表分割成更小的片段,然后在两个数据库中对每个片段进行校验。当一个段的校验和不相等时,它将进一步把这个段分成更小的段,对这些段进行校验,直到它得到不同的行。

5. cfg4j

Java Star:541

现代配置库,用于用Java编写的分布式应用。

cfg4j,也就是configuration for Java,一种开源的配置库,可以用于Java开发的分布式应用。

它具有如下特性:

6. Decompiler

Kotlin Star:58

一款开源免费的Java反编译GUI工具。

顾名思义,通过这款工具,我们可以对已经编译的Java jar包,可以反编译复杂的Java applets和二进制文件,产生准确的源代码。

7. scrutiny

Go Star:1.5k

用于智能S.M.A.R.T监控的 WebUI。

如果你运行的服务器有几个硬盘,你可能已经熟悉S.M.A.R.T和smartd守护程序。

smartd是一个监控许多ATA、IDE和SCSI-3硬盘中内置的自我监测、分析和报告技术(SMART)系统的守护进程。

SMART的目的是监测硬盘的可靠性和预测硬盘故障,并进行不同类型的硬盘自我测试。

Scrutiny是一个简单而集中的应用,有几个核心功能:

8. sake

Go Star:435

sake是一个用于本地和远程主机的命令运行工具。

你在 sake.yaml 配置文件中定义服务器和任务,然后在服务器上就可以运行任务。

sake有大量的功能:

9. codewarrior

C Star:170

一款开源的代码搜索工具和静态代码分析工具,它具有如下功能:

10. wayfire

C++ Star:1.5k

Wayfire是一个3D Wayland合成器,灵感来自于Compiz并基于wlroots。

它旨在创建一个可定制的、可扩展的和轻量级的环境,而不用以牺牲外观作为代价。

资源工具

1. Pomsky

Pomsky是一种可以编译成正则表达式的语言,它目前处于alpha阶段。

Pomsky可以通过CLI或Rust宏来使用。

一些例子:

# String
'hello world'                 # hello world# Greedy repetition
'hello'{1,5}                  # (?:hello){1,5}
'hello'*                      # (?:hello)*
'hello'+                      # (?:hello)+# Lazy repetition
'hello'{1,5} lazy             # (?:hello){1,5}?
'hello'* lazy                 # (?:hello)*?
'hello'+ lazy                 # (?:hello)+?# Alternation
'hello' | 'world'             # hello|world

2. GameShell

一个学习如何使用Unix shell命令的游戏.

学习Unix shell是有一定成本的,GameShell被设计成一种工具,帮助学生接触到shell,通过游戏的方式在鼓励学习的同时也能获得乐趣。

3. Commands.dev

每个工程师都有过忘记终端命令的时候,因为它很少被使用,或者有难以理解的复杂参数。

当这种情况发生时,不得不在他们的终端命令历史中进行搜索,或者打开浏览器进行搜索。

Commands.dev就是要解决这个问题。

Commands.dev是一个开源的、可搜索的、从整个互联网上收集的流行终端命令的集合。你可以按类别(git、android、docker)查找命令,每个命令都会告诉你需要插入哪些参数。

4. PyScript

PyScript是一种可以在浏览器中运行的Python。

它是一个框架,允许用户使用HTML的界面和Pyodide、WASM等,在浏览器中创建丰富的Python应用程序。

PyScript框架为各种经验水平的用户提供了一种具有无数应用的、易于学习的编程语言。

5. Hedy

学习编程可能很困难,不是说编程本身很难,而是有很多规则你需要记住,就像你开始学习英语时一样。

同样地,你也需要大量的练习来学习编程。

Hedy则是一款渐进式的编程语言。这意味着,你不必一次就学会所有的规则,最初的几个级别没有那么多规则,所以你可以轻松地适应编程。

在每个级别中,都会增加新的规则,增加命令的数量,循序渐进的进行学习。

技术文章

1. 用Java和Python进行数据统计和分析

提起数据统计与分析,很多同学第一印象想到的就是Python或者R。

其实,Java也是一款在数据领域应用非常广泛的编程语言,例如,Flink、hive等都对Java有很好的支持。

在这篇文章中,重点研究如何使用Java和Python对大量的表格数据进行简单的数据分析并计算一些统计数据。

在这里,可以看到如何在每个平台上进行数据分析的不同技术,比较它们如何扩展,以及应用并行计算来提高其性能的可能性。

2. 重构代码的10个最佳实践

编写代码并不仅仅为了它能够正常执行并输出结果,还要考虑它的设计模式、扩展线、可读性等。

重构是在不改变其功能的情况下改进现有代码的设计的过程。

作为软件开发者,我们不断面临着改进和优化代码的需要。

无论是为了性能、可读性还是可维护性,重构代码都是一项基本技能。

在重构代码时,有许多不同的技术可以使用。

在这篇文章中,就给大家介绍了重构代码的10个最佳实践。

PDF处理还收费?不可能相关推荐

  1. 传智播客还收费 兄弟会都是免费的

    [传智播客还收费 兄弟会都是免费的 兄弟连兄弟会it开发培训 www.itxdh.net 企鹅群:499956522 高端人才培养就到[兄弟连兄弟会it开发培训]纯免费的高端IT人才培养] 传智播客, ...

  2. aws终止实例后还收费吗_因 AWS 数据中心断电,1TB 数据丢失了

    美国劳动节周末,亚马逊网络服务中心的一个数据中心发生断电,导致部分客户数据丢失. 我们被告知,当电源耗尽,备份生成器随后出现故障时,一些虚拟服务器实例就会消失,而一些云承载的卷就会被销毁,必须从备份中 ...

  3. 临近下班又开会,熬夜加班写纪要,语音转写还收费……

    先声明,这是一篇吐槽为主.介绍为辅的小短文,是一位打工人心酸历程的吐槽记录,一位底层员工拯救头秃的回忆录.大家自行选择阅读啊! 小编最近离职了,所以就可以肆无忌惮的写这么一篇吐槽前领导的文章.有类似经 ...

  4. 怎么把多个JPG合并成一个PDF?还不快来学

    我们通常在处理工作文件时会有很多JPG图片需要传输,不过JPG图片数量一般都非常多,我们需要一张一张的进行传输,不仅会浪费很多时间,还很不方便查看,所以我们就可以及将JPG图片合并到一个PDF文件中, ...

  5. 100份PDF合并还不到3分钟,这2个方法非常简单,请低调使用

    PDF文件作为我们工作中最为常见的"文件格式"之一.似乎哪里都有它的身影,有时我们还需要对PDF文件进行编辑和处理.那么,在众多PDF编辑和处理操作上,PDF合并可以算得上使用频率 ...

  6. 网页导出pdf不完整_今天才知道!Word、Excel、PDF格式还能随意转换,20秒即可实现...

    前几天有粉丝私信转换君说为什么格式转换这么难?每次都要将内容复制过去再调整格式,一个小时才转换十几份文件,真是太难了! 看完这个私信,转换君发现之前给大家补的课都白补了,不过作为宠粉达人的我,还是再给 ...

  7. 黑马程序员还收费 兄弟会都是免费的

    纳尼?免费?无利不起早,更何况是商业化的培训机构,许多学员对此不免持有怀疑态度.是的,免费的馅饼不会无缘无故垂青于你的,这是一个双方共赢的模式,好了,现在我就兄弟会免费培训详细阐述下,以此来打消疑虑尚 ...

  8. 亚马逊平台还收费吗?收费多少?

    亚马逊是收费的,只要你的账户开通了就要给亚马逊交费.这个就是账户管理费.其实不用觉得不公平,这种费用几乎所有的平台都会收.就向百度营销,也会收取平台管理费. 除此之外,亚马逊全球收款也有低费用政策.亚 ...

  9. CAJ转PDF,仅需5秒还免费,PDF文字还能复制

    之前一直想着CAJ转PDF,结果2M以上就要钱?我TM服了,我的CAJ文档刚好2.1M.找了大半天,百度搜索也就那几个. 于是乎,自己做一个吧. 网站在线地址.由于新建立的网站,搜索太难了,干脆娶个名 ...

最新文章

  1. python-opencv 形态学
  2. linux 防火墙开机启动项,Ubuntu 9.10下实现Firestarter网络防火墙自启动
  3. 从0-1教你利用服务器做属于自己的个人博客
  4. insert into 多条数据_「数据库」一千行MySQL命令
  5. Android 获取地理位置获取经纬度
  6. hadoop--Yarn资源调度器的基础架构、工作机制 与 作业提交全过程
  7. 2021年数据科学家面试:4个基本SQL窗口函数介绍以及示例
  8. java instant获取微秒转成日期格式_Java8新特性时间日期库DateTime API及示例
  9. 搜狗2020年测试工程师笔试题
  10. linux单引号、双引号、特殊字符、换行符等用法
  11. 推荐背单词最有效的方法:使用艾宾浩斯记忆曲线背单词
  12. 2018 计蒜之道 初赛 第一场
  13. JS性能优化 之 FOR循环
  14. phalapi做登录检测_1.4 PhalApi 2.x 接口响应与在线调试
  15. 编程基本功:典型的柳氏风格命名一例
  16. 转:zTree树控件入门之checkbox:如何动态设置节点的checkbox选择框启用与禁用状态(chkDisabled)...
  17. 2022年智慧城市大脑及智慧城市驾驶舱大数据资源平台建设总体架构方案
  18. 云打印SDK来袭,支持飞鹅云,芯烨云,易联云,优声云等云打印机
  19. 原创 | 不瞒你说,我也参加过培训
  20. invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix

热门文章

  1. matlab关于disp的使用方法
  2. 改进YOLOv5、YOLOv8系列:14.添加S2-MLPv2注意力机制
  3. Qt开发——QWebEngineView简易网络浏览器(二)
  4. ubuntu java 关闭进程_如何在Ubuntu中关闭Tomcat?
  5. 「Python 网络自动化」目录汇总
  6. make linux命令详解,Linux中make命令起什么作用呢?
  7. C语言程序设计第2章节练习题
  8. kattis Block Game + Chess Tournament + Completing the Square + Millionaire Madness
  9. 已移除测试人员怎么恢复_Win7系统运行Word 2007提示已停止工作怎么恢复
  10. 自动驾驶/驾驶辅助系统:车辆动力学与ADAS/AD性能评估软件-MXeval助力自动驾驶性能评估—Shape Better Cars