2020 10-25

Go 包管理历史以及 Go mod 使用

之前也写过Go管理依赖工具godep的使用,当时看godep使用起来还是挺方便,其原因主要在于有总比没有强。关于依赖管理工具其实还是想从头聊聊这个需求以及大家做这个功能的各种出发点。 GOPATH和GOROOT GOROOT这个变量的作用就是为了告诉当前运行的Go进程当前Go安装在哪里,当你想要运行的时候去哪里找GoSDK相关的类。 GOPATH这个设定其实从语言层面上来说就有点反设计模式。主要原因在于Go刚出生的时候没有自带包管理功能,默认所有的项目和引用的第三方包都下载到src目录下,第三方

2020 10-25

java面试题:多线程交替输出偶数和奇数

一个面试题:实现两个线程A,B交替输出偶数和奇数 问题:创建两个线程A和B,让他们交替打印0到100的所有整数,其中A线程打印偶数,B线程打印奇数 这个问题配合java的多线程,很多种实现方式 在具体实现之前,首先介绍一下java并发编程中共享变量的可见性问题。 可见性问题: 在java内存模型(JMM,javaMemoryModel)中定义了程序中各种共享变量的访问规则。 这里的共享变量指的是可以在线程之间共享的变量,包括实例字段,静态字段和构成数组对象的元素。 不包括局部变量和方法参数(这些

2020 10-25

浅谈1——用Eclipse调试JAVA程序

本篇博客主要介绍如何用Eclipse调试简单的JAVA程序。 1、如下图,一个简单的JAVA程序      2、设置断点。 方法:选中需设置断点的行代码,按快捷键Ctrl+Shift+B,设置断点; 断点设置成功该行会变成绿色。如上图。   3、进入调试页面。点击爬虫图标进入调试页面。   4、下图左侧图标为StepInto, 中间图标为StepOver,右侧的为Step Return; StepInto:单步执行,遇到

2020 10-25

由反转链表想到python链式交换变量

这两天在刷题,看到链表的反转,在翻解体思路时看到有位同学写出循环中一句搞定三个变量的交换时觉得挺6的,一般用的时候都是两个变量交换(a,b=b,a),这种三个变量的交换还真不敢随便用,而且这三个变量都是可变类型.心存疑惑然后就多方查找,于是有了下面的测试代码和解体思路.这里需要了解dis查看字节码了解变量的大致交换过程,顺带也延申了反转链表时哪几种是可用的,以及为什么?好了,废话不多说,代码中注释也比较充分,应该能帮助理解. __doc__=""" Python的变量并不直接存储值,而只是引用一

2020 10-25

BMP位图调色板说明

网上一搜,可以看到BMP位图结构的详细说明,这篇文章专门谈一下其中的调色板。 多少位位图并不是指每一个颜色该用多少位表示,对于颜色来说,它始终都是24位(RGB),或者是32位(RGBA),而是指该位图每个像素点用多少位表示,若是n位位图,则该位图每个像素点用n位表示,该位图共有2n种颜色(对应于调色板的颜色索引)。对于小于24位的位图,一个像素点所用的位数不足以表示一个颜色,所以要用调色板,而每一像素所用的位数存放的是对应于调色板的索引,所以有多少位就能表示2n种颜色; 比如:有一个长宽各为2

2020 10-25

手把手绕过安全狗

本文主要介绍过绕过安全狗的注入以及上传方法,内容偏新手,大佬勿喷。。 知识点介绍 开始先将本文所使用到的绕过方法知识点列出来 1.内联注释绕过 在mysql的语法中,有三种注释方法:--和#(单行注释)和/**/(多行注释)如果在/*后加惊叹号!意为/**/里的语句将被执行在mysql中/*!....*/不是注释,mysql为了保持兼容,它把一些特有的仅在mysql上用的语句放在/*!....*/中,这样这些语句如果在其他数据库中是不会被执行,但在mysql中它会执行。如下语句/*!50001s

2020 10-25

一个基于canvas的移动端图片编辑器

欢迎使用canvas_mobile_drag 项目地址:https://github.com/xiaosu95/canvas_mobile_drag 点击查看demo(在移动端上查看) 该插件是一款脱离jq的移动端图片编辑器。可以应用在移动端H5页面或者微信小程序中。 插件实现的功能为可页面内初始化载入图片、手动添加手机相册内的图片、或者添加服务器端的图片(服务器端需要开启允许图片跨域)。拥有多种的编辑模式。支持操作画布内的所有图片和单独设置某一种图片的状态或者位置等。 插件操作模式支持手

2020 10-25

jacoco-1-java代码测试覆盖率之本地环境初体验

前言 jacoco是一个开源的覆盖率工具,它针对的开发语言是java,其使用方法很灵活,可以插桩到Ant、Maven中,可以使用其JavaAgent技术监控Java程序等。 那么本次主要使用对java代码进行覆盖率统计,比如A测试攻城狮在功能测试时/接口测试时,实际覆盖测试了多少java代码,可以作为一个评判。 jacoco官网地址:http://www.eclemma.org(有墙) 一、jacoco基本介绍 1、jacoco是根据控制流Type来采用不同的探针插桩策略的。(植入探针) 2、探

2020 10-25

反直觉的三门问题

三门问题又被称为蒙提霍尔问题,是一个很反直觉的问题,出自美国的一个电视游戏节目。 题目非常简单:参赛者面前有三扇门,其中一扇门后面有一辆小汽车,另外两扇门后面都是山羊,如果参赛者选中有汽车的那扇门,就可以把汽车开回家。 当参赛者选择了其中一扇门后,此时主持人打开剩余两扇门其中的一扇,里面是一只山羊,那么现在主持人给参赛者一次重新选择的机会,那么参赛者应不应该换门去选择另外一扇门? 我初次看这个问题时觉得当主持人打开一扇门后,那么小汽车在剩余两个门内的概率必然都是50%,那么换不换门其实意义不

2020 10-25

威佐夫博奕

威佐夫博奕 威佐夫博奕(WythoffGame):有两堆各若干个物品,两个人轮流从某一堆或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜。 这种情况下是颇为复杂的。我们\((a_k,b_k)\)(\(a_k\leb_k,k=0,1,2,…,n)\)表示两堆物品的数量并称其为局势,如果甲面对(0,0),那么甲已经输了,这种局势我们称为奇异局势。前几个奇异局势是:(0,0)、(1,2)、(3,5)、(4,7)、(6,10)、(8,13)、(9,15)、(11,18)、(