JAVA 六月 19, 2020

Gradle HTTP 超时设置

文章字数 3.1k 阅读约需 3 mins.

在使用 Nexus 时,很罕见的遇到了超时问题:

> Unable to load Maven meta-data from http://localhost:8081/repository/test...
查看全文

JAVA 六月 19, 2020

Gradle HTTP 超时设置

文章字数 3.1k 阅读约需 3 mins.

在使用 Nexus 时,很罕见的遇到了超时问题:

> Unable to load Maven meta-data from http://localhost:8081/repository/test/io/github/alphahinex/example/0.1.2-SNAPSHOT/maven-metadata.xml.
   > Could not HEAD 'http://localhost:8081/repository/test/io/github/alphahinex...
查看全文

OTHERS 六月 12, 2020

SSH Port Forwarding, aka SSH Tunneling

文章字数 9k 阅读约需 8 mins.

SSH(Secure Shell)端口转发(SSH Port Forwarding),也叫 SSH 隧道(SSH Tunneling),是 SSH 中的一种机制,可以在 SSH 客户端与服务端之间,建立一条隧道,将客户端端口转发至服务端,也可将服务端端口转发至客户端。利用这种机制,可以为老式应用,提供加密通讯的途径,以及其他一些更广泛的用途。

利用 SSH 客户端,即可完成隧道的创建,创建隧道时,需指定隧道两端的端口,故也叫端口转发。

端口转发分为两种:

  1. 本地端口转发
  2. 远程端口转发

下面以...

查看全文

OTHERS 六月 05, 2020

Why was '~' chosen to represent the home directory?

文章字数 1.7k 阅读约需 2 mins.

Why was ‘~’ chosen to represent the home directory?

Quoting Wikipedia:

On Unix-like operating systems (including BSD, GNU/Linux and Mac OS X), tilde often indicates the current user’s home directory: for example, if the current user’s home directory...

查看全文

GIT 五月 29, 2020

JitPack 真香

文章字数 2.6k 阅读约需 2 mins.

GitHub Packages in Action 中,我们介绍了 GitHub Packages Registry(GPR)的用法。GPR 有其应用场景,但也经常会有蹩手的感觉,尤其是在传错了包,需要邮件联系客服进行删除,而客服又迟迟没有回复的时候……

直到发现了 JitPack,除了真香,找不到别的词来形容了。

只要代码仓库是使用 GitHub,或者 其他几种常见的 Git 仓库托管服务,就可以立即接入 JitPack。

https://github.com/AlphaHinex/checkstyle...

查看全文

GIT 五月 22, 2020

Git 三招脱坑指南

文章字数 6.9k 阅读约需 6 mins.

孔子云:知之为知之,不知为不知 —— 用分支!

分支的使用方针

  1. 一次只做一件事
  2. 用后即弃
  3. 为分支起一个有意义的名字

alias

~/.gitconfig

[alias]
    st = status -sb
    cm = commit -m
    co = checkout
    cam = commit -a -m
    onelog = log -p -1
    oneline = log --pretty=oneline --since='2 days ago'
    logs = log --all --graph...
查看全文

OTHERS 五月 15, 2020

神油!WD-40

文章字数 575 阅读约需 1 mins.

用了几年的雷蛇黑寡妇竞技版,对其尺寸及没有令人眼花缭乱的键盘灯甚是满意。

不想突然开始频繁出现按键失灵及双击的现象,非常影响输入效率。

千方百计与雷蛇客服联系上了,却被告知“俺们雷蛇只换不修,如果没过保可以直接给你换一个”。

这个馅饼落到我头上了的话也就没有下边的故事了。

不能免费以旧换新,花钱修一下也行啊,雷蛇依旧高冷的回复:没地方修,新买一个吧。

那就死马当活马医吧。

雷蛇黑寡妇蜘蛛竞技机械键盘“无奈”换轴记录 描述了同款键盘的换轴过程,但专业的操作令我望而却步。

偶然又发现了一篇文章 关于...

查看全文

NGINX 五月 08, 2020

使用 Nginx 作为 HTTP 文件服务

文章字数 2.9k 阅读约需 3 mins.

ngx_http_autoindex_module 模块可处理请求并生成目录列表。启用后当 ngx_http_index_module 模块无法找到 index 文件时,会将请求交给 ngx_http_autoindex_module 模块处理。

配置示例:

location / {
    autoindex on;
}

其他相关指令可查看 官方文档

另外,需要配合 ngx_http_core_module 模块的 root 指令指定文件服务的根路径,如:

location /i/ {
    root /...
查看全文

SPRING 四月 30, 2020

Servlet 注册到了哪?

文章字数 4.1k 阅读约需 4 mins.

还在给每个请求加前缀避免模块间接口冲突呢? 中内容,我们可以通过 ServletRegistrationBean 注册多个 DispatcherServlet,那么 Servlet 被注册到哪了呢?

简单的回答:Servlet 容器。

没毛病!但马达马达大内!注册到了 Servlet 容器里的哪?存在什么结构里?

让我们以 Tomcat 容器为例,刨根问底。

ServletRegistrationBean 中,有一个 addRegistration 方法,将具体的 Servlet 添加到...

查看全文

SPRING 四月 24, 2020

还在给每个请求加前缀避免模块间接口冲突呢?

文章字数 3.8k 阅读约需 3 mins.

Spring MVC 按模块开发时,可能经常会遇到这个场景:一个模块由一个开发人员负责开发,模块内能较好的保证 RequestMapping 的 path 不重复,但模块间就很难有效的方式保证唯一。

通常有两种处理方式:

  1. 对开发进行规范或约定,为每个模块起一个前缀,要求在模块内开发的所有 controller 都带上前缀,这样就只要保证模块内唯一即可。
  2. 每个模块部署为单独的服务,通过 servlet context path 进行区分。

两种方式都能解决问题,但同时也都会带来一些问题:

  1. 依...
查看全文

SPRING 四月 17, 2020

Spring 中如何根据请求调用对应方法

文章字数 16k 阅读约需 15 mins.

假设能够获得到一个 HttpServletRequest,需要根据这个请求内的具体信息,找到其所对应的 Spring Controller 中的方法,并对方法进行调用,获得该方法的返回值。

这个需求,与 DispatcherServlet 的作用非常类似。先看一下请求到达 DispatcherServlet 之后的处理流程:

因为最终目标是获得请求对应的 Controller 方法的返回值,所以上图中的流程走到第 4 步即可。

  1. HttpServletRequest 请求抵达 DispatcherServlet...
查看全文
加载更多
0%