Go 终极指南:编写一个 Go 工具】的更多相关文章

https://arslan.io/2017/09/14/the-ultimate-guide-to-writing-a-go-tool/ 作者:Fatih Arslan 译者:oopsguy.com 我之前编写过一个叫 gomodifytags 的工具,它使我的生活变得很轻松.它会根据字段名称自动填充结构体标签字段.让我来展示一下它的功能: 使用这样的工具可以很容易管理结构体的多个字段.该工具还可以添加和删除标签.管理标签选项(如 omitempty).定义转换规则(snake_case.ca…
0. 前言 这是对C# 基础系列的一个总结,现在我们利用之前学到的知识做一个小小的工具来给我们使用. 如果有看过IO篇的小伙伴,应该有印象.当时我提过一个场景描述,我们在平时使用系统的时候,经常会为了找某个文件的位置而烦恼.那么我们现在尝试写一个控制台程序来帮助我们找文件的具体位置. 1. 分析 好,大家应该初步了解了需求内容.然后让我们来做一个简单的需求分析: 简单分析一下需求包括哪些功能点 规划各个功能点的实现方式 嗯,理论上讲还有一大堆的步骤,但因为是个练手的小项目就不扯那么多没用的了.简…
本文档是对静态成员的练习. 一. 建立一个ArrayTool(数组工具)的类,在此类中对传入数组进行一些操作(选最大值.先最小值.冒泡排正序.选择排反序.输出数组元素), 二. 建立一个Test的类,建立一个数组对上述的工具进行调用. 三. 发现,当工具方法都是动态的时候,虽然所有的工具函数都没有用到工具类中的成员数据,而且ArrayTool中也没有封装成员数据, 但是在使用之前还是要先创建一个ArrayTool类,如此比较麻烦, 于是将ArrayTool类中的所有函数都 使用static修饰(…
用到的 jar 包 jar包地址: mysql-connector-java-5.1.47.jar junit-4.13.jar Maven: <!-- mysql驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.47</version> </dep…
需求: 编写一个diff工具,用于判断两个目录下所有的改动 详细介绍: 有A和B两个目录,目录所在位置及层级均不确定 需要以B为基准找出两个目录中所有有改动的文件(文件或内容增加.修改.删除),将有改动的文件放入第三个目录中,层级结构与原目录相同 将所有新增与更新信息记录到更新日志文件中 将删除信息单独记录到删除日志文件中 每次执行diff工具需要生成一个新的以日期命名的目录存放文件 使用场景: 本工具用于软件版本升级时找出两个版本间所有修改过的文件,便于增量替换. 提示:    使用CRC判断…
命令行工具(CLI) 命令行工具(CLI)是在图形用户界面得到普及之前使用最为广泛的用户界面,它通常不支持鼠标,用户通过键盘输入指令,计算机接收到指令后,予以执行. 通常认为,命令行工具(CLI)没有图形用户界面(GUI)那么方便用户操作.因为,命令行工具的软件通常需要用户记忆操作的命令,但是,由于其本身的特点,命令行工具要较图形用户界面节约计算机系统的资源.在熟记命令的前提下,使用命令行工具往往要较使用图形用户界面的操作速度要快.所以,图形用户界面的操作系统中,都保留着可选的命令行工具. 另外…
上一篇文章中,我们学习了 SQL 查询是如何执行的以及在编写 SQL 查询语句时需要注意的地方. 下面,我进一步学习查询方法以及查询优化. 基于集合和程序的方法进行查询 反向模型中隐含的事实是,建立查询时基于集合和程序的方法之间存在着不同. 查询的程序方法是一种非常类似于编程的方法:你告诉系统需要做些什么以及如何做.例如上一篇文章中的示例,通过执行一个函数然后调用另一个函数来查询数据库,或者使用包含循环.条件和用户定义函数(UDF)的逻辑方式来获得最终查询结果.你会发现通过这种方式,一直在请求一…
本次我们学习<如何编写更好的SQL查询>系列的最后一篇文章. 时间复杂度和大O符号 通过前两篇文章,我们已经对查询计划有了一定了解.接下来,我们还可以借助计算复杂度理论,来进一步深入地挖掘和思考性能的提升.理论计算机科学这一领域聚焦于:根据难度来对计算问题进行分类.这些计算问题可以是算法问题,也可以是查询问题. 对于查询,我们可以不按照难度进行分类,而是按照运行查询并得到结果所需的时间来进行分类.这种方式也被称为按照时间复杂度进行分类. 使用大O符号,可以根据输入的增长速度来表示运行时间,因为…
前言 最近因为项目需要写了一段时间的 Go ,相对于 Java 来说语法简单同时又有着一些 Python 之类的语法糖,让人大呼"真香". 但现阶段相对来说还是 Python 写的多一些,偶尔还得回炉写点 Java :自然对 Go 也谈不上多熟悉. 于是便利用周末时间自己做个小项目来加深一些使用经验.于是我便想到了之前利用 Java 写的一个博客小工具. 那段时间正值微博图床大量图片禁止外链,导致许多个人博客中的图片都不能查看.这个工具可以将文章中的图片备份到本地,还能将图片直接替换到…
0x01  前言 一直在思考如何编写一个自动化注入工具,这款工具不用太复杂,但是可以用最简单.最直接的方式来获取数据库信息,根据自定义构造的payload来绕过防护,这样子就可以. 0x02 SQL注入工具 A.联合查询 union select 实现起来最为简单,报错注入的实现方式也基本一致,主要思路:获取所有数据库名--选择数据库--查看这个数据库下所有表---选择表--查询这个表下所有列名. 代码详情: #! /usr/bin/env python # _*_ coding:utf- _*…