自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 收藏
  • 关注

原创 使用 maven-semantic-release 实现自动化发版

“如何发布 Java 包到 Maven 中央仓库” 讲解了本地将 Java 包发布到 Maven 中央库的全过程。但在开源项目中,一般通过 GitHub 进行代码托管,并在 GitHub 的 Release 中进行发版并写明更新日志,还可能在 README 中添加 Maven 中央库的徽章。这一过程固定又繁琐,本文通过 maven-semantic-release 和 GitHub Actions 进行自动化操作,完成上述的整套流程。演示仓库位于 https://github.com/seriouszyx

2021-10-16 16:27:07 1177

原创 如何发布 Java 包到 Maven 中央仓库

如何发布 Java 包到 Maven 中央仓库准备工作CoordinatesGPG在 Sonatype 创建 Issue配置发布信息分发管理和认证Javadoc 和源代码GPG 签名组件发布原文发布于 https://seriouszyx.com/archives/36/最近参与一些开源项目,涉及到发版相关的问题,没有看到详细又不过时的教程,于是自己调研摸索,总结出了这篇文章。本文主要参考官方文档进行编写,演示仓库位于 https://github.com/seriouszyx/maven-rel

2021-10-16 10:53:48 870

原创 ONOS 开发教程02-搭建开发环境

作者:seriouszyx首发地址:https://seriouszyx.com代码均可在 GitHub 上找到源码配置作为一名开发者,Release 包不能满足所有的需要,下载源码成了绕不开的路。git clone https://gerrit.onosproject.org/onosONOS 提供了很多利于开发的工具,将它们添加到 bash 配置文件中,就可以直接使用这些工具。ONOS 源码目录需要按自己的情况指定,我将配置写入到 /etc/profile 中。export ONOS.

2020-12-11 16:41:03 1964 6

原创 ONOS 开发教程01-简介和快速使用

作者:seriouszyx首发地址:https://seriouszyx.com代码均可在 GitHub 上找到SDN 控制器发展控制器算是 SDN 中相当重要的技术了,SDN 概念刚刚兴起时,各个控制器逐一展露头角,经过十几年的沉浮后,作为主流使用且仍旧蓬勃发展的却为数不多了。2008年的时候,OpenFlow 论文问世,Nicira 开源了业界第一款 SDN 控制器 NOX,C++ 编写,算是控制器们的祖师爷,但当时只在学术圈有影响。2009年,Nicira 团队又发布了 NOX 的纯 .

2020-12-11 14:34:16 7498

原创 最新超详细VMware虚拟机下载与安装

作者: seriouszyx独立博客记录了日常学习总结代码均可在 Github上找到(求Star)VMware下载与安装一、虚拟机的下载1.进入VMware官网,点击左侧导航栏中的下载,再点击图中标记的Workstation Pro,如下图所示。2.根据操作系统选择合适的产品,在这里以Windows系统为例,点击转至下载,如下图所示。3.在1处可以选......

2020-11-05 09:25:20 1080505 264

原创 LeetCode 10. 正则表达式匹配

原题链接给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 '.' 和 '*' 的正则表达式匹配。'.' 匹配任意单个字符'*' 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖 整个 字符串 s 的,而不是部分字符串。说明:s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从 a-z 的小写字母,以及字符 . 和 *。示例 1:输入:s = "aa"p = "a"输出: false解释: "a" 无法匹配 "aa" 整个字符串。示例 2:输入

2020-06-17 11:39:17 305

原创 LeetCode 9. 回文数

原题链接判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。解题思路直接反转整数即可。由示例2可知,负数的情况全都应该输出 false。另外,反转过程中可能出现溢出

2020-06-17 09:09:51 192

原创 LeetCode 8. 字符串转换整数(atoi)

原题链接请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。接下来的转化规则如下:如果第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字字符组合起来,形成一个有符号整数。假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成一个整数。该字符串在有效的整数部分之后也可能会存在多余的字符,那么这些字符可以被忽略,它们对函数不应该造成影响。注意:假如该字符串中的第一个非空格字符不是

2020-06-16 14:31:02 208

原创 LeetCode 7. 整数反转

原题链接给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21解题思路很简单的题,按位取出就好了,一个循环搞定,时间复杂度为 O(n)O(n)O(n)。C++ 中的取模运算对于负数是取数值的模再加负号,所以不需要特殊处理。AC代码模拟 O(n)O(n)O(n):class Solution {public: int rev

2020-06-16 14:08:24 160

原创 LeetCode 6. Z 字形变换

原题链接将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下:L C I RE T O E S I I GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"LCIRETOESIIGEDHN"。请你实现这个将字符串进行指定行数变换的函数:string convert(string s, int numRows);示例 1:输入: s

2020-06-16 14:00:16 221

原创 LeetCode 5. 最长回文子串

原题链接给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例 2:输入: “cbbd”输出: “bb”解题思路字符串长度小于1000,所以可以直接使用暴力。枚举每个字符 SiS_iSi​,以 SiS_iSi​ 为中心,依次判断两侧的字符是否相等,并记录最大的长度。需要注意的是,对于奇数和偶数长度的字符串应该分别处理。对于奇数,L=i−k,R=i+

2020-06-16 12:16:48 158

原创 LeetCode 3. 无重复字符的最长子串

原题链接给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必须是 子串 的长度,“pwke” 是一个子序列,不是子串

2020-06-15 10:53:57 193

原创 LeetCode 2. 两数相加

原题链接给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807解题思路本题是一个模拟题,虽然标着 Medium,不过

2020-06-15 10:15:35 266

原创 LeetCode 1. 两数之和

原题描述给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]解题思路一种很简单的做法就是两重循环遍历数组,不过较暴力,时间复杂度也达到了 O(n2)O(n^2)O(n2)。我们试着使

2020-06-15 10:04:58 195

原创 【Ad Hoc】叁 OLSR 协议详解

1、LSR 协议LSR 为基于链路状态的路由算法。如何判断链路状态呢?在无线通信的环境下,只需要节点能够收到另一节点的包,就说明链路有效。另一方面,为了建立端到端的路径,路由算法需要发现并检查一跳由多个单跳链接组成的多条链路的可用性,这就需要不断的洪泛广播(flooding)来进行。这种洪泛的方式是非常浪费的。为了在网络中同步节点状态,需要各个节点进行洪泛广播,产生大量冗余的通信,在能源受限...

2020-03-14 10:58:22 8995 10

原创 【Ad Hoc】贰 AODV 协议详解

一、AODV 概念AODV 是按需路由协议,当一个节点需要给网络中的其他节点传送信息时,如果没有到达目标节点的路由,则必须先以多播的形式发出 RREQ 报文,邻居节点收到 RREQ,首先判断目标节点是否是自己,如果是,则向发起节点发送 RREP,如果不是,首先在路由表中查找是否有到达目标节点的路由,如果有,则向源节点单播 RREP,否则继续转发 RREQ 进行查找。在网络资源充分的情况下,AO...

2020-03-14 10:55:10 5605

原创 【Ad Hoc】壹 速览 Ad Hoc 网络

一、概述自组织网络(Ad Hoc)是一种移动通信和计算机网络相结合的网络,是移动计算机网络的一种,用户终端可以在网络内随意移动而保持通信。早在上世纪,随着 IEEE 802.11标准的开发,Ad Hoc 的概念就已经诞生了,IETF 标准化的 Ad Hoc 网络称为 MANET,现在通常用 MANET 描述一切 Ad Hoc 网络。在随后的几十年中,Ad Hoc 相关技术稳步发展,在军事、民用...

2020-03-14 10:52:02 1867

原创 【数字图像处理】2.1 人类的视觉感知系统

人眼基本构造首先了解一下人眼的几个重要的构造(好像回到初中生物课2333):晶状体:可以依靠肌肉的收缩、扩张来控制焦距。视网膜:布满了整个后部的内壁。当眼睛适当地聚焦时,来自眼睛外部物体的光在视网膜上成像。中央凹:黄斑中央的凹陷称为中央凹,是视力最敏锐的地方,因为他在1.5mm 的圆形区域中集中了视网膜中的大部分视锥细胞,锥状体负责色彩,杆状体负责亮度。眼睛中图像的形成...

2020-02-29 15:49:00 3854 2

原创 到底什么才是区块链?

作者: seriouszyx首发地址:https://seriouszyx.com/代码均可在 Github 上找到(求Star)区块链现在是紧跟着人工智能、大数据的新名词,提起区块链,大多数人首先想到的是炒币,充斥着虚假、浮躁,再加上前几年国家对这种现象的抵制,让很多人对区块链技术望而却步。殊不知,比特币只是区块链技术的一个分支,而区块链本身,凝聚了许许多多计算机科学家的智慧,发展突...

2019-11-07 12:46:19 1755 2

原创 微信小程序《消灭病毒》抓包修改数据

作者: seriouszyx首发地址:https://seriouszyx.github.io/代码均可在 Github 上找到(求Star)消灭病毒算是最近蛮火的一款微信小程序游戏,据说开始一个月用户数就超千万,现在也有每月几十万的用户增长。我这周才上手这款游戏,确实画面和打击效果都很好,不过武器升级比较麻烦,六七十关后升级就略显陡峭了,每升一级要花数 M 的金币,估计游戏后期要好多天...

2019-06-16 13:18:05 30043 6

原创 普林斯顿算法课程Part1-week4 优先队列和符号表

作者: seriouszyx首发地址:https://seriouszyx.top/代码均可在 Github 上找到(求Star)优先队列和符号表优先队列在入队时与传统队列相同,而出队时可以指定规则,比如最大元素/最小元素出队等,下面是一个简单的 API:二叉堆二叉堆是堆有序的完全二叉树,键值存储在节点上,且父元素的键值比子元素的键值大。我们可以推测出最大的键值在根节点上,也就是...

2019-05-22 15:43:13 432

原创 普林斯顿算法课程Part1-week3 归并排序和快速排序

作者: seriouszyx首发地址:https://seriouszyx.top/代码均可在 Github 上找到(求Star)归并排序归并排序的思想是把数组一分为二,然后再不断将小数组递归地一分为二下去,经过一系列排序再将它们合并起来。private static void merge(Comparable[] a, Comparable[] aux, int lo, int m...

2019-05-22 15:41:04 410

原创 普林斯顿算法课程Part1-week2 栈和队列

栈和队列栈:先进(入栈)后出(出栈)队列:先进(入队)先出(出队)在实现之前,老师提到了模块化的思想,它使得我们能够用模块式可复用的算法与数据结构的库来构建更复杂的算法和数据结构,也使我们能在必要的时候更关注效率。这门课也会严格遵守这种风格。栈假设我们有一个字符串的集合,我们想要实现对字符串集合的存储、定期取出并返回最后添加的字符串、检查集合是否为空。下面是 API:链表实现...

2019-05-22 15:37:15 440

原创 普林斯顿算法课程Part1-week1并查集

作者: seriouszyx首发地址:https://seriouszyx.top/代码均可在 Github 上找到(求Star)coursera 课程 《Algorithms,Part 1》第一周作业解答 —— 渗透模型。问题Programming Assignment 1 是一个并查集的应用——渗透模型。给定义一个 n×nn\times nn×n 的矩阵(代表一个系统),黑...

2019-05-22 15:34:22 529

原创 大数据学习(一) | 初识 Hadoop

作者: seriouszyx首发地址:https://seriouszyx.top/代码均可在 Github 上找到(求Star)最近想要了解一些前沿技术,不能一门心思眼中只有 web,因为我目前对 Java 语言及其生态相对熟悉,所以在网上搜集了 Hadoop 相关文章,并做了整合。本篇文章在于对大数据以及 Hadoop 有一个直观的概念,并上手简单体验。Hadoop 基础概念...

2019-01-05 08:28:22 571

原创 “就决定是你了” | 为你的终端安装 Pokemon 皮肤

Pokemon-Terminal正值精灵宝可梦大热时期,在逛 GitHub 时发现了一个特别强的东西 —— Pokemon-Terminal这是一款美化终端的神器,将口袋妖怪与终端完美结合,先上几张图让大家感受一下:![Pokemon Terminal README md at master · LazoCoder Pokemon Terminal](http://pi0evhi68.bkt...

2018-11-27 13:47:18 1576

翻译 2018 年 5 款最好的 Linux 游戏

2018 年 5 款最好的 Linux 游戏本篇文章是我第一次在 Linux 中国 | LCTT 投稿,看似简单的一次翻译,带来的收获确实巨大的。我不仅仅在翻译过程中了解了更多 Linux 及游戏的相关背景知识,同时深刻理解了 git 的 forking 工作流。如果你技术欠缺但也想参与开源组织,LCTT 是一个不错的选择。Linux 可能不会很快成为游戏玩家选择的平台 —— Valve...

2018-11-25 21:47:31 490

原创 SSM 整合案例 —— Java 高并发秒杀 API

SSM 整合案例 —— Java 高并发秒杀 API说明本文根据慕课网 Java 高并发秒杀系列整理而成,在于加深初学者对 SSM 三大框架整合的理解,项目源码已发布在我的 GitHub,如果对你有帮助的话,请给一个 star。项目创建项目使用 maven 创建,3.5 以上版本丢弃 create 改用 generate 创建。mvn archetype:generate -Dgroup...

2018-11-25 21:28:45 727

原创 CS61B sp2018笔记 | Efficient Programming

Efficient Programming “An engineer will do for a dime what any fool will do for a dollar” – Paul Hilfinger编程的效率取决于以下两方面因素:编程时的消耗(programming cost)你花费多长时间编写好程序?你的代码是否易读、是否易于更改、易于维护?运行时的消耗...

2018-10-24 18:20:37 1646

原创 Tomcat 引入jar包导致的 NoClassDefFoundError 报错的问题解决

问题处理今天在慕课网上学习时用到了一个问题:在 Tomcat 下跑项目时 new SAXreader(); 方法不执行。项目运行到 SAXReader reader = new SAXReader(); 时直接跳出整个方法,没有执行后面的代码,且控制台没有报错信息。我使用 Maven 构建项目,pom 文件中的确引入了相关依赖,而且是目前最新的版本,不存在版本不兼容问题。 <!-- ...

2018-10-06 10:53:03 3850 2

原创 Spring IoC容器浅析及简单实现

Spring IoC容器浅析及简单实现- [Spring IoC 概述](#spring-ioc-概述)- [Spring IoC 简单实现](#spring-ioc-简单实现)- [源码](#源码)- [总结](#总结)Spring IoC 概述原生的 JavaEE 技术中各个模块之间的联系较强,即耦合度较高。比如完成一个用户的创建事务,视图层会创建业务逻辑层的对象,再在内部...

2018-09-22 12:50:59 942

原创 CS61B sp2018笔记 | Exceptions, Iterators, Iterables

1. Throwing and catching1.1 Throwing Exceptions在程序运行过程中,可能会遇到某些错误需要终止,这时程序就会抛出一个异常。让我们看看一个常见的情况——IndexOutOfBounds异常。下面的程序向ArrayMap中插入value为5,key为”hello”的一组数据,试图获取key为”yolp”的value:public st...

2018-08-31 08:13:36 405

原创 Linux 基本操作总结(后端必备)

Linux 基本操作 与慕课网Linux 基础搭配使用效果更佳。Linux 目录结构以及操作命令 1. Linux 命令格式2. Linux 目录结构3. 目录管理命令4. 文件操作命令5. 目录及文件管理命令Linux 下用户管理以及群组管理 1. 用户管理2. 群组管理Linux 下权限与角色 1. 权限、角色的作用2. 权限、角色的...

2018-08-11 15:57:18 2091

原创 Java生成解析二维码

Java生成二维码一、介绍1. 理解二维码黑点代表二进制中的1,白点代表二进制中的0,通过1和0的排列组合,在二维空间记录数据。通过图像输入设备,读取其中的内容。2. 二维码分类二维码有不同的码制,就码制的编码原理而言,通常分为三种类型:线性堆叠式二维码 建立在一维条码的基础之上,按需要堆叠成两行或多行。矩阵式二维码 最常用的类型。在一个矩...

2018-08-05 12:54:09 5357 1

原创 CS61B sp2018笔记 | Generics and Autoboxing

1. Automatic Conversions1.1 Autoboxing and UnboxingJava中的泛型用到了<>,当我们实例化一个泛型的时候,必须要指明一个确定的类型。回忆一下,Java有8中基本类型,其他所有的类型都是引用类型。Java的一个特点就是不能把基础类型当作参数传递给泛型,比如说,ArrayDeque<int>是一个语法错误,正确...

2018-07-29 15:57:00 771

原创 hexo搭建个人独立博客 | NexT主题深度美化方案

NexT主题定制优化  使用Hexo来搭建静态网站已经越来越简单,网上的教程也有很多,所以在这里主要讲一下我的美化方案,先给大家看一下我的样式(慢慢死宅气2333): 我的网站链接主题NexT: NexT.Gemini评论livere搜索Swiftype托管国内:Coding Pages国外: GitHub...

2018-07-28 12:24:06 17556 20

原创 CS61B sp2018笔记 | Inheritance, Implements

1. Intro and iterfaces1.1 The Problem  回想我们之前写过的两个类SLList和AList,如果你仔细观看它们的文档的话,会发现他们非常相似,事实上,他们支持的所有方法全都一样。   下面我们来设计一个类WordUtils,它包含了一些可以处理一系列字符串的方法,其中的一个方法是找到SLList中最长的字符串,下面是这个方法的实现:...

2018-07-27 21:32:50 616

原创 CS61B sp2018笔记 | Testing and Selection Sort

  调试程序可以说是最能体现程序员水平的能力之一了,接下来我们将讨论如何写test来保证你的程序的正确性,与此同时我们将讨论一种比较算法——选择排序。1. Ad Hoc Testing  在写sort类之前,我们先来设想并实现TestSort类。public class TestSort { /** Tests the sort method of the Sort c...

2018-07-25 20:57:31 736

原创 jQuery on()方法监听动态加载对象

动态监听加载对象  当使用js或jQuery动态创建元素(例如append),再用on(事件, function(){...})或addEventListener监听事件时,事件并不会触发,因为传统的$('.selector').click()只能监听html初始的对象,对于动态加载的操作,需要在加载后给他的操作行为绑定方法。   所以,我们可以使用jQuery的on()事件来获取未加载页面...

2018-07-25 13:30:40 12602

原创 CS61B sp2018笔记 | Lists

Lists1. IntLists  下面我们来一步一步的实现List类,首先你可以实现一个最简单的版本:public class IntList { public int first; public IntList rest; public IntList(int f, IntList r) { first = f;...

2018-07-22 11:16:00 7049 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除