- 博客(82)
- 资源 (8)
- 收藏
- 关注
原创 B站有哪些好的Java视频教程,看这篇就够了!
大家好,我是青空。这段时间在知乎上答题,经常看到很多新手都在求推荐Java相关的学习视频。看久了之后,我就想把几个回答下的所有的视频都收集到一起,整理到一下,还发现了很多视频链接都已经失效了。该视频资源思维导图涵盖了Java基础、并发、设计模式、源码解析、数据结构与算法、Spring Boot 、Spring、Spring MVC、Spring Cloud、分布式框架、项目实战、计算机原理、编译原理、数据库、运维、Linux等,基本上Java开发者能用上的都有了。持续更新中……Java学习视频资源总结持续更
2021-09-06 08:10:26 14874 2
原创 [Linux 命令] ls 显示目录内容列表
ls命令 就是list的缩写,用来显示目标列表,在Linux中是使用率较高的命令。ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件。
2023-04-19 11:01:40 1014 1
原创 一个操作,轻松迁移 Maven 至 Gradle
今天我们来讲讲如何将 Maven 项目转换为 Gradle 项目。 这个过程还是蛮简单的,下面通过一个例子来说明怎么转换。如果没有安装 gradle, 我们可以从 Gradle 官网下载最新的版本,根据gradle官方的文档安装即可。 可以看我们之前的文章,这里不过多的描述。假设我们有这样一个 maven项目,pom.xml 文件如下:有了maven项目,也安装了gradle,那我们就可以动手转换到gradle了。我们在终端跳转到Maven项目的根目录,就是包含pom.xml 文件的目录, 然后执行 命
2022-12-05 14:29:29 3824
原创 OpenCV4.4.0 error: (-5:Bad argument) CAP_IMAGES: can’t find starting number (in the name of file)
经过几轮测验,我们选择了 mjpeg streamer ,我们在使用 opencv 的 videocapture 进行图片接收的时候 遇到了以下问题。剩下的解决方式基本就是 要么自己编译opencv, 要么找出具体的依赖dll。结果在c++ opencv build 文件夹中也找到该文件, 把该文件放到 System32 目录下,重新尝试了一把,成功了。的方式可以打开,但是在 windows 环境下就跪了,表示不能理解。最近一直在做相机照片传输相关的事情,在传输的过程中使用了好几种方法。...
2022-08-30 11:04:27 3765
原创 分享一下自己开发 kindle 电子书下载助手
最近亚马逊官宣了Kindle业务退出国内市场, 停止kindle电子书的业务。今天就给大家分享下自己开发的一个下载工具。前前后后花了一个星期的样子, 做了一个桌面版和命令行版本。 桌面版针对的是Windows 用户, 命令行针对的是Mac、Linux的用户...
2022-06-16 10:00:00 1156 6
原创 PCL点云 CSV格式转 PLY格式
最近在做项目的时候,遇到了需要把CSV 转换成点云文件的情况,主要是为了从csv 转换成的点云文件和从深度图转换成的点云文件做一个对比校验作用。
2022-06-13 10:02:31 1563 7
原创 使用 FFmpeg 删除导出视频字幕文件
该方法适用于软字幕,下次直接做个软件来执行这个命令行,有需求的可以留言或者加我微信,空了可以做一个。
2022-06-09 08:15:00 4020 5
原创 将现有的、未提交的工作转移到Git中的新分支上
大家好,我是青空。Git是现在非常流行的一个版本控制系统。 在本文中我们将探讨如何将现有的但未提交的修改转移到一个新的分支。问题概述首先,让我们想一想在Git管理的项目中添加一个新特性的典型工作流程。创建一个新的特性分支,例如 feature ,然后切换到该分支实现该功能并提交到我们的本地仓库将该特性分支推送到远程仓库,并创建一个拉取请求经过其他队友的审核,新的修改可以被合并到 master 或 release 分支中。然而,有时我们已经开始做修改了,却忘记了创建一个新的特性分支并切换到
2022-05-16 10:00:00 1538
原创 OpenCV 教程入门篇
大家好,我是青空。之前也写过一些 OpenCV 的文章,最近正好在考虑 写一个 OpenCV相关的工具,目前还是在开发过程中,边开发边更新。预计会持续一段时间。目前的想法是把 OpenCV 的 API 在这个工具上都实现一遍。OpenCV 的内容挺多的,而且不使用的话,容易忘记,所以通过制造工具的方式来给自己加深印象,平常要处理图片的时候,就可以用自己的工具直接处理,不需要每次都去重复的写代码。今天我们就来看看,学习 OpenCV 如何加载图片,显示并保存图片。下面的最左边的美女照片想必大家可能都
2022-03-07 14:29:44 3057
原创 做了一款 TCP/IP 调试工具
大家好,我是青空。由于现在工作上,有很多socket交互的情况,自己在网上找了一些工具, 但是要么不好用,要么就是只能使用几天,就需要收费了。 青空就想着自己搞一个好了, 针对自己的应用场景,直接定制。那就先上个图吧已实现的功能目前已经完成了第一个版本。功能点如下:根据TCP/IP 协议链接到服务端通过 ASCII、Hex 两种编码格式进行消息互通格式化显示消息发送、接收数据自动重发命令记录命令发送历史核心代码在这个工具中,最核心的不过是在于,建立socket链接,然后进行消
2022-03-07 14:27:54 5275 2
原创 【数学知识】角度与弧度
大家好,我是青空。弧度在数学中,弧度是角的度量单位。它是由国际单位制导出的单位,单位缩写是rad。定义:弧长等于半径的弧,其所对的圆心角为1弧度。(即两条射线从圆心向圆周射出,形成一个夹角和夹角正对的一段弧。当这段弧长正好等于圆的半径时,两条射线的夹角的弧度为1)。角度角度是用以量度角的单位,符号为“∘\circ∘”。一周角分为360等份,每份定义为1度(1∘1^\circ1∘)。弧度的几何意义是以逆时针为正,以顺时针为负,以 111 为半径的扇形的弧长是圆心角弧度的绝对值。从而平角的弧度是 π
2022-02-07 17:34:42 16516
原创 OpenCV制作黑客帝国风格的照片
大家好,我是青空。前不久,黑客帝国系列最新的 《矩阵重启》 上映了。黑客帝国是早期科幻类型的翘楚。但是这次有点垮了。豆瓣评分不到6分。小的时候,看到黑客帝国的那些照片,一串串数字从上而下, 感觉特别酷炫。 今天我们就来看看怎么制作类似的效果。准备工作一张基努里维斯的照片准备好项目需要使用到的库 opencv,在 CMakeLists.txt 里配置完成。cmake_minimum_required(VERSION 3.17)project(opencv_demo)set(CMAKE_CX
2022-01-23 11:20:19 2936
原创 JavaCV 实现照片打马赛克功能
大家好,我是青空。青空最近在逛一些社区的时候发现了有很多图片是像素图,感觉挺好玩的。正巧最近自己在学习OpenCV,所以在这里给大家演示一下如何使用OpenCV来处理像素图。像素图其实有点类似于类似于打马赛克的功能。通过像素的变化,演示一个像素画的功能。像素画在 NFT 中特别的流行。准备工作我们先引入 JavaCV 的依赖库 <dependency> <groupId>org.bytedeco</groupId> <artifactId
2022-01-21 09:49:22 3426
原创 OpenCV实现像素画 c++版
大家好,我是青空。最近在学习OpenCV,准备后续更新一波OpenCV相关的内容。代码实现主要是以 C++ 为主, 另外为了辅助学习,还会使用C# 开发一款桌面的软件,用于演示各种功能。今天我给大家准备了一个类似于打马赛克的功能。通过像素的变化,演示一个像素画的功能。像素画在 NFT 中特别的流行。准备工作需要安装好 OpenCV,OpenCV的安装过程在这里不再赘述。另外我们准备了一个图片。代码实现首先我们需要在 CmakeLists.txt 文件中, 添加 OpenCV 的依赖find_
2022-01-20 19:23:11 3618 2
原创 谈谈Java 如何做 HTTPS 双向认证
大家好,我是青空。想必大家对 HTTPS 都有一定的了解吧。今天青空将给大家聊聊 HTTPS 是如何做安全认证的。 HTTPS 是 HTTP 的一个扩展,允许计算机网络中的两个实体之间进行安全通信。HTTPS 使用TLS(传输层安全)协议来实现安全连接。TLS 可以通过单向或双向的证书验证来实现。在单向中,服务器分享其公共证书,以便客户可以验证它是一个受信任的服务器。另一个选择是双向验证。客户端和服务器都分享他们的公共证书以验证对方的身份。青空将重点介绍双向证书验证,服务器也将检查客户的证书。Ja
2021-12-28 14:23:10 1229
原创 List 转 Map , 齐活了
大家好,我是青空。在我们平时的工作中,充满了各种类型之间的转换。今天青空带大家上手 List 转 Map 的各种操作。我们将假设 List 中的每个元素都有一个标识符,该标识符将在生成的 Map 中作为一个键使用。定义一个类型我们在转换之前,我们先暂定一个类来用于各种转换demo的演示。public class Animal { private int id; private String name; // 构造函数 、 get 、 set}我们假定 id 字段
2021-12-28 14:17:56 717
原创 字符串拼接这种小事,我翻车了……
大家好,我是青空。最近青空在一个字符串拼接的小事情上翻车了,真的是万万没想到。Java 提供了多种方法和类可以用来拼接字符串。但是如果我们不注意 null 对象,则生成的 String 可能包含一些不需要的值。问题场景假设我们要拼接的 String 数组的元素,其中任何元素都可能为 null。举个例子String[] values = { "Java ", null, "", "is ", "great!" };String result = "";for (String value :
2021-12-28 14:14:44 494
原创 用 Java 生成和识别二维码就这么简单
大家好,我是青空。青空最近一直在思考一个问题,Java 能不能做一些比较有意思的事情,但是在网络上搜索的时候,有意思好玩的东西,都被 Python 给做了。Java 似乎就只剩下八股文,面试,框架,架构等等的内容。那为什么很少有人用 Java 做这些好玩的东西呢?在大家的固有观念里,Java 是比较笨重的,每次写代码必须要开启一个庞大的IDE来完成。但是也不妨碍我们拿 Java 出来玩一玩。今天青空就先带大家做一个二维码玩玩。现在二维码在我们的生活中非常的常见。在我们的生活、交流、出行等等场景中,都用
2021-11-25 15:08:48 3884 1
原创 openvino 使用 yolov5模型
大家好,我是青空最近在折腾了一个yolov5的模型,然后想使用在openvino上使用。Unknown model format! Cannot find reader for model format: onnx and read the model: last.onnx. Please check that reader library exists in your PATH.
2021-11-12 15:36:26 5548 11
原创 Ubuntu 16.04 安装 anaconda 3
大家好,我是青空。最近青空在做一些计算机视觉的工作,需要使用到 yolov5,安装yolo的前提是有anaconda。在这里我就来讲讲怎么安装anaconda。下载1、官网https://www.anaconda.com/products/individual#Downloads2、清华源https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=D我这里选择了最新版本 Anaconda3-2021.05-Linux-x8
2021-10-28 15:40:39 476
原创 pip或者conda安装库的时候报错ValueError: check_hostname requires server_hostname
大家好,我是青空。今天在使用 conda 安装 pytorch 的时候,遇到了一个奇怪的错误,ValueError: check_hostname requires server_hostname。从字面上看,hostname 有问题。第一反应是我电脑的hostname 有问题,然后检查hosts 文件,一切正常。最后发现是我开了代理的原因,我把代理关闭就恢复了。...
2021-10-28 15:28:55 508
原创 Java数组基础梳理
大家好,我是青空。今天青空将要给大家介绍Java 数组。数组在Java表示为一种数据结构,用来存储一组相同类型的数据。可以通过一个整型下标访问数组种的每一个数据。声明方式下面我们来了解一下,声明一个数组变量,需要做哪些操作。我们直接来看示例:int[] a;从示例可以看到,Java数组的声明方式很简单,先定义数组类型为 int,数组类型后面紧跟[], 然后是变量名称。我们刚才只是简单的做了声明,并没有对数组变量a 进行初始化。 数组的初始化在Java中需要通过new运算符来创建。int[]
2021-10-20 08:15:00 183
原创 Mac 安装使用 OpenCV 图像处理神器
大家好,我是青空。最近在折腾图像处理相关的事情,今天就给大家分享一下,Mac 上如何安装和使用 OpenCV。安装方法一 使用homebrew安装其实 Mac 上安装 OpenCV 很简单,一个命令行就能搞定。brew install opencv等待完成即可。这种安装方式最为方便,且不需要各种复杂的配置。方法二 源码编译1、 使用homebrew 安装 cmakebrew install cmake2、下载 opencv 源代码Releases - OpenCV 或者 Rele
2021-10-05 22:33:23 6754
原创 1000道大厂Java面试题之 Java 8 篇章
大家好,我是青空。今天青空给大家带来的是Java 8 相关面试题文末领取面试大全1.Lambda表达式的参数列表与Lambda箭头运算符有何不同?Lambda表达式可以一次携带零个,一个或甚至多个参数。另一方面,Lambda箭头运算符使用图标“->” 将这些参数从列表和主体中分离出来。2.是什么使JavaSE8优于其他?Java SE 8具有以下功能,使其优于其他功能: 它编写并行代码。它提供了更多可用的代码。它具有改进的性能应用程序。它具有更易读和简 洁的代码。它支持编写包含促销的数据库。3.什么是
2021-09-23 20:55:07 435
原创 IntelliJ IDEA 的 WIN 和 Mac 快捷键大全 2021 最新版
IntelliJ IDEA 的 WIN 和 Mac 快捷键大全 2021 最新版大家好,我是青空。IntelliJ IDEA 是Java开发者的必备神器,但是对于初学者来说,上手不是特别容易。青空当初从eclipse转到 IntelliJ IDEA 的时候,来回反反复复搞了很久才适应过来。今天给大家整理了最新版的IDEA 快捷键,掌握IDEA的快捷键可以让你事半功倍,彻底从一手鼠标一手键盘从解放出来,彻底放弃鼠标,全程使用快捷键,提高开发效率。激活戳这里 https://java.huitools.
2021-09-23 20:54:15 474 1
原创 Java 每日一题 11 附答案
大家好,我是青空。快来和青空看看今天的Java每日一题吧题目编写代码,以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于或等于x的结点之前。解法预警不建议直接看下面答案,可以自己先思考一下怎么处理再看答案比较合适解法要是链表换作数组,搬移元素时就要特别小心,因为搬移数组元素的开销很大。不过,移动链表的元素则要容易许多。我们不必移动和交换元素,可以直接创建两个链表: 一个链表存放小于x的元素;另一个链表存放大于或等于x的元素。我们会迭代访问整个链表,将元素插入before或af
2021-09-18 10:18:36 90
原创 1000道大厂面试题之Spring Boot
大家好,我是青空。今天青空给大家带来的是Spring相关面试题文末领取面试大全1.SpringBoot 2.X有哪些新特性?与1.X有什么区别?配置变更、JDK版本升级、第三方类库升级、响应式Spring编程支持、HTTP/2支持、配置属性绑定、更多改进与加强2.保护SpringBoot应用有哪些方法?在生产中使用HTTPS使用Snyk检查你的依赖关系升级到最新版本启用CSRF保护使用内容安全策略防止XSS攻击3.Spring Boot的核心注解是哪些?他由哪几个注解组成的?启动类上面的注解是
2021-09-18 10:00:58 151
原创 Github爱好者周刊第7期
大家好,我是青空,欢迎关注公众号「蚂蚁原图」, 每周五为您奉上热门项目。目录Java - DorisPython - Real-ESRGANC# - OpenRAGo - NetpollJavaScript - Tech Interview HandbookJavadorisDoris是一个基于MPP的交互式SQL数据仓库,用于报告和分析。它的原名是Palo,在百度开发。在捐赠给Apache软件基金会后,它被重新命名为Doris。Monthly Active Contributorsgithub.c
2021-09-17 09:51:36 405
原创 Java每日一题 8 删除链表重复节点
大家好,我是青空。快来和青空看看今天的Java每日一题吧题目编写代码,移除未排序链表中的重复结点进阶: 如果不得使用临时缓冲区,该怎么解决?解法预警不建议直接看下面答案,可以自己先思考一下怎么处理再看大看比较合适解法要想移除链表中的重复结点,我们需要设法记录有哪些是重复的。这里只要用到一个简单的散列表。在下面的解法中,我们会直接迭代访问整个链表,将每个结点加入散列表。若发现有重复元 素,则将该结点从链表中移除,然后继续迭代。这个题目使用了链表,因此只需扫描一次就能搞定。 public
2021-09-16 09:46:08 91
原创 1000道大厂面试题之Redis面试题
大家好,我是青空。今天青空给大家带来的是Redis相关面试题文末领取面试大全1.Redis如何做内存优化?尽可能使用散列表(hashes),散列表(是说散列表里面存储的数少)使用的内存非常小,所以你应该尽可能的将你的数据模型抽象到一个散列表里面。比如你的web系统中有一个用户对象,不要为这个用户的名称,姓氏,邮箱,密码设置单独的 key,而是 应该把这个用户的所有信息存储到一张散列表里面。2.Redis中的管道有什么用?一次请求/响应服务器能实现处理新的请求即使旧的请求还未被响应。这样就可以将多个命令发送到
2021-09-16 08:54:21 256
原创 Java 每日一题 9 附答案 链表
大家好,我是青空。快来和青空看看今天的Java每日一题吧题目实现一个算法,找出单向链表中倒数第k个结点。解法预警不建议直接看下面答案,可以自己先思考一下怎么处理再看大看比较合适解法下面会以递归和非递归的方式解决这个问题。一般来说,递归解法更简洁,但效率比较差。 例如,就这个问题来说,递归解法的代码量大概只有迭代解法的一半,但要占用O(n)空间,其中 n为链表结点个数。注意,在下面的解法中,k定义如下:传入k = 1将返回最后一个结点,k = 2返回倒数第2 个结点,依此类推。当然,也可以
2021-09-15 10:23:58 69
原创 1000道Java面试题之mysql篇
大家好,我是青空。今天青空给大家带来的是mysql相关面试题文末领取面试大全1.解释 MySQL 外连接、内连接与自连接的区别先说什么是交叉连接: 交叉连接又叫笛卡尔积,它是指不使用任何条件,直接将一个表的所有记录和另一个表中的所有记录一一匹配。内连接则是只有条件的交叉连接,根据某个条件筛选出符合条件的记录,不符合条件的记录不会出现在 结果集中,即内连接只连接匹配的行。外连接 其结果集中不仅包含符合连接条件的行,而且还会包括 左表、右表或两个表中 的所有数据行,这三种情况依次称之为左外连接,右外连接,和全外
2021-09-15 09:15:00 658
原创 Java 每日一题 7 附答案
大家好,我是青空。快来和青空看看今天的Java每日一题吧题目假定有一个方法isSubstring,可检查一个单词是否为其他字符串的子串。给定两个字 符串s1 和s2,请编写代码检查s2 是否为s1 旋转而成,要求只能调用一次isSubstring。(比如, waterbottle是erbottlewat旋转后的字符串。)解法预警不建议直接看下面答案,可以自己先思考一下怎么处理再看大看比较合适解法假定s2由s1旋转而成,那么,我们可以找出旋转点在哪。例如,若以wat对waterbottle旋
2021-09-14 15:30:36 101
原创 1000道Java面试题之 Mybatis
大家好,我是青空。今天给大家分享的Mybatis相关的面试题目,共计15题。文末领取面试大全1.Mybatis的一级、二级缓存一级缓存: 基于 PerpetualCache 的 HashMap 本地缓存,其存储作用域为 Session,当 Session flush 或 close 之后,该 Session 中的所有 Cache 就将清空,默认打开一级缓存。二级缓存与一级缓存其机制相同,默认也是采用 PerpetualCache,HashMap 存储,不同在于其 存储作用域为 Mapper(Namespac
2021-09-14 15:03:28 266
原创 Java 每日一题 6 附答案
大家好,我是青空。快来和青空看看今天的Java每日一题吧题目编写一个算法,若M×N矩阵中某个元素为 0,则将其所在的行与列清零。解法预警不建议直接看下面答案,可以自己先思考一下怎么处理再看大看比较合适解法乍一看,这个问题似乎很简单:直接遍历整个矩阵,只要发现值为零的元素,就将其所在的 8 行与列清零。不过这种方法有个陷阱:在读取被清零的行或列时,读到的尽是零,于是所在行与列都得变成零。很快,整个矩阵的所有元素都会变为零。避开这个陷阱的方法之一,是新建一个矩阵标记零元素位置。然后,在第二次
2021-09-14 15:02:25 97
kindle 电子书下载助手
2022-06-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人