221125-Android Studio 报错(Installed Build Tools revision 3x.0.0 is corrupted)解决方法

由于谷歌应用市场要求编译sdk最低为31,最近升级却发现一直有问题,重复卸载、下载好几次,提示都一样

编译报错:Installed Build Tools revision 31.0.0 is corrupted. Remove and install again using the SDK Manager

下面的解决方案适用于win系统

221122-Maven私服配置Downloading from maven-default-http-blocker问题解决方法

最近配置maven的私服地址,发现私服里的包无法下载,一直报Downloading from maven-default-http-blocker: http://0.0.0.0/com的异常

从异常描述看,主要问题就是这个域名解析为了http://0.0.0.0

主要的原因在于在maven的 3.8.1 版本开始,maven禁止从http协议的仓库地址下载依赖

官方描述可以参考: https://maven.apache.org/docs/3.8.1/release-notes.html#cve-2021-26291

官方给出的解决方案

1
2
3
4
5
6
7
8
9
10
11
How to fix when I get a HTTP repository blocked?
If the repository is defined in your pom.xml, please fix it in your source code.

If the repository is defined in one of your dependencies POM, you'll get a message like:

[ERROR] Failed to execute goal on project test: Could not resolve dependencies for project xxx: Failed to collect dependencies at my.test:dependency:version -> my.test.transitive:transitive:version: Failed to read artifact descriptor for my.test.transitive:transitive:jar:version: Could not transfer artifact my.test.transitive:transitive:pom:version from/to maven-default-http-blocker (http://0.0.0.0/): Blocked mirror for repositories: [blocked-repository-id (http://blocked.repository.org, default, releases+snapshots)]
Options to fix are:

upgrade the dependency version to a newer version that replaced the obsolete HTTP repository URL with a HTTPS one,

keep the dependency version but define a mirror in your settings.

我们下面给出的解决方案自然就有俩个

  • 配置https的私服地址
  • 降级maven版本,找一个3.8.1之前的版本

220824-基于引入包选择具体实现类的使用姿势小结

最近遇到一个需求场景,开源的工具包,新增了一个高级特性,会依赖json序列化工具,来做一些特殊操作;但是,这个辅助功能并不是必须的,也就是说对于使用这个工具包的业务方而言,正常使用完全不需要json相关的功能;如果我强引用某个json工具,一是对于不适用高级特性的用户而言没有必要;二则是我引入的json工具极有可能与使用者的不一致,会增加使用者的成本

因此我希望这个工具包对外提供时,并不会引入具体的json工具依赖;也就是说maven依赖中的<scope>设置为provided;具体的json序列化的实现,则取决于调用方自身引入了什么json工具包

那么可以怎么实现上面这个方式呢?

220809-实战小技巧20:巧用函数方法实现二维数组遍历

对于数组遍历,基本上每个开发者都写过,遍历本身没什么好说的,但是当我们在遍历的过程中,有一些复杂的业务逻辑时,将会发现代码的层级会逐渐加深

220808-纯java实现相片素描化

修图可以说是国内技术领先的一大特点了,现在的图片处理技术可以说是非常厉害了,比如老旧照片修复,自动美化,各种滤镜,自动抠图等等,结合高大上的机器学习,功能越强大,感觉对于我这种图像门外汉来说,门槛也响应的越来越高了

那么有什么简单的方式,可以实现照片的处理嘛,接下来介绍一个纯java的工具包,来做图片处理

220707-MySql按时、天、周、月进行数据统计

最近遇到一个统计的需求场景,针对db中的数据,看一下每天的数据量情况,由于DB中时间字段采用的是int存的时间戳,所以最开始想到的是直接对时间进行按天取整,然后再Group统计数据;

除此之外,使用DATE_FORMAT函数来处理可能是更简洁的方法了,下面分别介绍下两种方式

220608-Nginx重定向的两种配置方式

一段时间没有配置过nginx,果不其然之前学到的又还回去了,下面给出基于rewrite/alias的两种重定向配置方式

需求设置 /ximg 路径下的请求,访问 /home/yihui/html 下的html文件,应该怎么配置?

220602-Ubuntu终端实现Maven中央仓库包上传

最近换了个win10的笔记本,发布jar到中央仓库就得重新配置下了,特此记录一下,在win10的ubuntu终端界面下,如果我们希望实现发布jar包到中央仓库,需要的完整环境安装配置教程

220526-程序员的浪漫-用她的名字作画Python版

hello,大家好,我是一灰灰,之前介绍了一篇使用她的名字来画出她的美图的文章,其中主要使用的Java来实现的,今天呢,我们再来用Python来实现一下

同样最终的代码量也不会超过三十行

220525-Guava HashMultimap使用及注意事项

hello,各位大佬上午|中午|下午|晚上|凌晨好,我是一灰灰,今天给大家介绍一个相对基础的知识点 HashMultmap;

guava基本上可以说是java开发项目中,大概率会引入的包,今天介绍的主角是一个特殊的容器 – HashMultmap,可以简单的将它的数据结构理解为Map<K, Set<V>>

那么为什么会突然想到介绍一下它呢,因为昨天刚因为对它理解不够深刻,把它当作了Map<K, List<V>>来使用,结果出了问题;既然如此那就好好盘一盘,反思一下

220522-程序员的浪漫:用她的名字作画

hello,各位小伙伴们大家早上|中文|晚上|凌晨好,相信看这篇文章的有很多新朋友,估计也有少量的老朋友,首先做个简短的自我介绍,我是一灰灰,码农界的资深搬运工;今天呢,没有站在我身边的捧哏老师,那就只好给大伙来个单口的灌水博文了

大街上铺天盖地的520促销优惠买一赠一的宣传语,宣告了初夏的第一个特殊节日,可好巧不巧的是到了5.21号这天我才发现,居然又到了520啊,然后再一看手机,卧槽,居然过了。。。这特么回家还不得跪我那斥巨资200大洋买的机械键盘了

赶紧发动一下高达249IQ的大脑,思考一下有什么补救的措施,是时候解开封印已旧的人肉爬虫技能,看看票圈晒图的朋友们,能不能提供有价值的灵光一现

功夫终负有心人,果不其然毫无收获;老老实实的发挥一下职业特长,码农可以整些什么浪漫的活 呢?

  • 写个html页面,陪她去看流星雨
  • 用她的照片组个带音乐、能自动播放的PPT
  • 黑个商场大屏幕,附上她的美图秀秀 + 爱你一万年
  • AI自动写个xxx 爱你一万年的藏头诗
  • 写个无界面的APP,偷偷装在她的手机上,设置定时弹出一朵鲜花(不怕被打的话恐怖图片也可以🤭)

可选择的不少,接下来就剩下一个小问题了,5.21号送出5.20号的小礼物能被原谅么?(请看到这里的美少女么摸着自己的良心,在评论区大声告诉我”能“ 好么)

话接上文,就算有再多得小仙女告诉我能,讲道理我也不敢信啊,接下来免费给各位看官分享一个价值99的idea,用她的名字做一幅画(如下),下面这么大的工作量,delay个一两天不很正常么(请大声告诉我,是不是很机智)

放大有惊喜

接下来,老司机教你如何使用三十行用她(他它)的名字画出她的艺术画

220507-mysql-connector-java-utf8mb4编码支持

对于mysql而言,我摩恩知道utf8与utf8mb4两种编码之间是不同的,通常来说我们推荐使用后者,可以用来存储emoj表情;通常而言,上面的编码对于我们的实际使用并没有什么影响,然而现实总有特殊场景

下面记录一下定位mysql-connector-java客户端建立连接,设置编码的全过程

220425-MySql之json_extract函数处理json字段

在db中存储json格式的数据,相信大家都或多或少的使用过,那么在查询这个json结构中的数据时,有什么好的方法么?取出String之后再代码中进行解析?

接下来本文将介绍一下Mysql5.7+之后提供的json_extract函数,可以通过key查询value值

220412-ElasticSearch基本使用姿势二

本文作为elasticsearch 基本使用姿势第二篇,包含以下内容

  • 查询指定字段
  • 限制返回条数
  • 分页查询
  • 分组查询
  • 高亮
  • 自动补全提示
  • 排序
  • 返回结果聚合,如统计文档数,某个field value的求和、平均值等

更多相关知识点请查看: * 210331-ElasticSearch 基本使用姿势 - 一灰灰Blog

220321-ElasticSearch开启权限验证

为了保证es的安全性,一般来讲我们会对es集群开启权限验证,下面将简单记录一下如何开启Basic Auth验证

220226-解决Centos下载时异常 Failed to download metadata for repo AppStream

阿里云ecs服务器,通过yum install安装命令时,突然发现报错,提示信息如下

1
2
3
4
5
Repository extras is listed more than once in the configuration
CentOS Linux 8 - AppStream 18 kB/s | 2.3 kB 00:00
Errors during downloading metadata for repository 'appstream':
- Status code: 404 for http://mirrors.cloud.aliyuncs.com/centos/8/AppStream/x86_64/os/repodata/repomd.xml (IP: 100.100.2.148)
Error: Failed to download metadata for repo 'appstream': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried

搜索一番之后发现原因貌似是

2022年1月1日起CentOS官方将不再对CentOS 8提供服务支持,虽然系统可以正常使用,但CentOS 8的yum源已经移除无法使用了,使用yum安装会报错:Repository extras is listed more than once in the configuration CentOS Linux 8 - AppStream Errors during downloading metadata for repository 'appstream': - Status code: 404 for

220225-巧用NC实现文件传输

之前在服务器上拷贝文件时,要么使用scp, 要么就是上传到ftp服务器,然后再需要使用的服务器上重新下载,虽然这两种方式也没啥毛病,但是缺陷也比较明显

  • scp: 要求授权验证
  • ftp: 需要一个第三方的存储系统,用完之后如果不删除的话这个文件就一直在那

接下来介绍下使用ncat(即nc)来实现文件拷贝

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×