PDF处理还收费?不可能!

linbojue
• 阅读 65

原文链接:DevWeekly | 第2期:重构代码的10个最佳实践 DevWeekly每周五首发于Github,欢迎大家Star并收藏! DevWeekly收集整理每周优质开发者内容,包括开源项目、资源工具、技术文章等方面。

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

订阅方式:

Star并收藏项目DevWeekly 关注 知乎:Jackpop 开源项目

  1. dot Python Star:2.6k

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

那么,deepfakes是什么?

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

  1. codecat Python Star:241

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

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

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

按照Regex的自定义规则进行递归代码搜索 代码视图中的语法高亮 管理规则的系统 控制用户的资源 按照IP地址的允许列表控制HTTP访问的资源 遵循OWASP安全实践的应用 3. OCRmyPDF Python Star:6.8k

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

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

它具有如下特性:

基于普通的PDF生成一个可搜索的PDF/A文件 将OCR文本准确地放在图像下面,以方便复制/粘贴 保持原始嵌入图像的准确分辨率 优化PDF图像,生成的文件通常比输入文件小 使用Tesseract OCR引擎,支持识别100多种语言 能处理数千页的文件 4. data-diff Python Star:1.3k

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

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

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

  1. cfg4j Java Star:541

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

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

它具有如下特性:

自动重新加载配置 强大的配置机制(接口绑定,多源支持与回退策略,合并等等)。 分布式环境友好(缓存,支持多种环境[测试,预开发,生产],......) 读取配置:Consul、Git repos(YAML和/或属性)、文件、Classpath, ... 与DI容器无缝集成:Spring、Guice等 与Metrics库的集成来展示性能指标 经过大量的测试(99%的代码覆盖率) 完善的文档 6. Decompiler Kotlin Star:58

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

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

  1. 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是一个简单而集中的应用,有几个核心功能:

Web UI仪表板 smartd集成 自动侦测所有连接的硬盘 历史趋势的S.M.A.R.T指标跟踪 利用现实故障率定制阈值 温度跟踪 8. sake Go Star:435

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

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

sake有大量的功能:

任务、服务器和标签的自动完成 通过SSH进入服务器或docker容器 通过 sake list servers|tasks 列出服务器/任务 以表格格式展示任务输出 sake run 结果 9. codewarrior C Star:170

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

通过重合码模式搜索代码 自定义规则 带有网络套接字资源的HTTPd视图 递归扫描 通过编程语言突出显示语法 通过允许列表控制IP地址访问的资源 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)查找命令,每个命令都会告诉你需要插入哪些参数。

  1. PyScript

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

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

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

  1. Hedy

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

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

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

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

技术文章

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

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

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

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

  1. 重构代码的10个最佳实践 编写代码并不仅仅为了它能够正常执行并输出结果,还要考虑它的设计模式、扩展线、可读性等。

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

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

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

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

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

点赞
收藏
评论区
推荐文章
待兔 待兔
3年前
一个免费的开源的html转markdown语法的工具
一个免费的开源的html转markdown语法的工具大家好,我是待兔,今天为大家分享一个由www.helloworld.net网站开发并开源的一个非常好用的工具html2md现在好的技术文章确实多,每天各种技术群里,各种技术社区,有很多质量非常好的技术文章,于是我们就收藏了,可是问题来了,我们收藏到哪呢?怎么收藏呢?1.微信群里发的文
Souleigh ✨ Souleigh ✨
2年前
程序员博客发文利器-html2md 更新指南
背景介绍html2md 是由 helloworld开发者社区 开源的一款轻量级功能强大的html转md工具,纯前端开发,不需要后端接口( NodeJS赋能),支持多平台,一键将文章链接转换为md,方便大家收藏和保存文章。界面如下:,欢迎Star相关介绍:技术实现1.技术栈vue 前端三剑客之一,主张最少,具有高度灵活性的渐进式框架nu
Wesley13 Wesley13
2年前
(转)直接拿来用!最火的iOS开源项目(二)
“每一次的改变总意味着新的开始。”这句话用在iOS上可谓是再合适不过的了。GitHub上的iOS开源项目数不胜数,iOS每一次的改变,总会引发iOS开源项目的演变,从iOS1.x到如今的iOS7,有的项目已经被弃用,即使曾经的它很受开发者喜爱,有的项目则继续发扬光大,新项目更是层出不穷。在本文中,我们将继续为大家介绍20个在GitHub上非常受开发者欢迎
Wesley13 Wesley13
2年前
go
本文有『Go开源说』第三期gozero直播内容修改整理而成,视频内容较长,拆分成上下篇,本文内容有所删减和重构。大家好,很高兴来到“GO开源说”跟大家分享开源项目背后的一些故事、设计思想以及使用方法,今天分享的项目是gozero,一个集成了各种工程实践的web和rpc框架。我是Kevin,gozero作者,我的github
Easter79 Easter79
2年前
Taro 2.2 全面插件化,支持拓展和定制个性化功能
!(https://oscimg.oschina.net/oscnet/up889c8772b4d4c4a678d00fc4ead5c097c76.png)自2.2开始,Taro引入了插件化机制,允许开发者通过编写插件的方式来为Taro拓展更多功能或者为自身业务定制个性化功能,欢迎大家进行尝试,共同讨论~当前版本2.2.1官
Stella981 Stella981
2年前
Linux日志安全分析技巧
0x00前言我正在整理一个项目,收集和汇总了一些应急响应案例(不断更新中)。GitHub地址:https://github.com/Bypass007/EmergencyResponseNotes本文主要介绍Linux日志分析的技巧,更多详细信息请访问Github地址,欢迎Star。0x01日志简介Lin
为什么mysql不推荐使用雪花ID作为主键
作者:毛辰飞背景在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究
小尉迟 小尉迟
1年前
Downie4最常用的几种下载方法,全能网页视频下载工具Downie使用教程
Downie4是一款流行的Mac视频下载工具,可让您从各种网站下载视频,包括YouTube、Vimeo、Twitter等。但是Downie有多少种下载视频的方法你知道吗?接下来为大家带来最常用的几种下载方法,欢迎大家点赞收藏!拖链接下载将视频页面拖到Doc
笑面虎 笑面虎
2个月前
【2024】kubernetes+DevOps云原生运维开发全栈架构师技术实战课程
【2024】kubernetesDevOps云原生运维开发全栈架构师技术实战课程给大家分享一套课程——【2024】kubernetesDevOps云原生运维开发全栈架构师技术实战课程,附代码PDF文档软件下载。Kubernetes是Google开源