JSch 是 SSH2 协议在 Java 中的一种实现,通过 JSch 可以连接到任意一台 SSHD 服务器,实现远程命令执行、SSH会话、端口转发、X11 转发、文件操作等功能。
从 0 开始在 Java 项目中使用 gRPC
本文将使用 gRPC 作为集成技术,实现一个基于 Java 的数据采集与上报的解决方案。解决方案是一个模拟洞态 IAST Agent 上报采集数据的应用程序,它通过模拟生成相关的数据,然后上报至 Server 端。由于本文的重点是介绍 gRPC 如何在 Java 项目中使用,我们将不关注业务逻辑、数据持久性或客户端UI 等内容。
Django之优雅的使用分页
Django提供了Paginator
和ListView
两个分页实现类,Paginator
实现类支持设置每页大小、获取指定页码的数据,对页码的格式和范围做了容错处理,避免实现分页时编写重复的代码;ListView
是对Paginator
实现类的封装,使用queryset
和paginate_by
变量调用Paginator
实现类,实现列表视图的分页。
Django中的默认分页可满足大部分的场景,但也存在一些不足,本文将分析Django中分页的实现原理、不足及改进方法。
Django之优雅的使用logging
Django默认使用python内置的logging模块来记录日志,其内置的日志处理模块实现了常用的日志处理功能,帮助开发者快速的使用日志功能,让开发者专注于编写业务逻辑代码,本文介绍如何在Django中优雅的处理日志。
DjangoRestFramework认证之自定义TokenAuthentication实现CSRF防御
DRF提供了BasicAuthentication
、SessionAuthentication
、SessionAuthentication
、TokenAuthentication
、RemoteUserAuthentication
及自定义Authentication
,用于API接口的身份验证。其中,SessionAuthentication默认带有CSRF防御,其他验证方法均未做CSRF防御,本文记录如何在其他验证方法中实现CSRF防御。
【转载】持续集成服务Travis之github集成CI
软件开发中,编写代码只占很小的一部分,大部分时间是用来编译、测试和部署代码;为了提高软件开发的效率,出现了很多构建和测试的工具,Travis是众多工具中的一个,可以与github无缝集成实现构建、测试与部署。