SPRING 四月 24, 2020

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

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

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

... 查看全文

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...
查看全文

BOOK 四月 10, 2020

《Netty in Action》书摘

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

Start at: 2020-01-05
End at: 2020-03-28
Process: 298/298

3.1.2 Interface EventLoop

  • An EventLoopGroup contains one or more EventLoops.
  • An EventLoop is bound...
查看全文

WEB 四月 03, 2020

CSS3 动画还不够香

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

页面加载完毕静置一小会之后,CPU 使用率居高不下,风扇巨响,发热严重。关闭页面后现象消失。

重现方式

$ git clone https://github.com/AlphaHinex/AlphaHinex.github.io.git
$ cd AlphaHinex.github.io
$ git checkout cdf1d11
$ npm install
$ npm audit fix
$ cd themes/obsidian
$ npm install
$ cd ../..
$ hexo ...
查看全文

DEVOPS 三月 27, 2020

GitHub Actions 实战

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

JenkinsTeamCityTravis CI 类似,GitHub Actions 是 GitHub 提供的一个持续集成平台。

GitHub Actions Jenkins TeamCity Travis CI
代码仓库平台无关性 ×
构建配置即源码 × ×
无需单独部署 × ×
自动回调 GitHub 构建状态接口 × ×
无需配置敏感信息 × × ×
  • 代码仓库平台无关性:GitHub Actions 绑定 ...
查看全文

MAC 三月 20, 2020

Mac 录播推流 RTMP 方案

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

有时我们可能希望提前录制一些内容,在进行直播时推流至 RTMP 服务。本文提供了一个在 Mac 环境上实现此需求的方案。

屏幕录制可以利用 Mac RTMP 直播方案 中提到的 OBS
也可以直接使用系统自带的 QuickTime Player,占用的资源(主要是 CPU)更少,还提供了鼠标点击的可视化效果。

选择 新建屏幕录制,并选择 内置麦克风 即可,完成录制后,保存为 .mov 格式的视频。

the RTMP encapsulates MP3 or AAC audio and FLV1...

查看全文

OTHERS 三月 12, 2020

视频容器介绍

文章字数 11k 阅读约需 10 mins.

以下内容节选自 使用 HTML5 技术播放视频,图片有更新。

我们常见的视频格式有 avimp4 等,这些所谓的视频格式,实际上指的只是视频容器的格式。就像 zip 格式的压缩包里面可以放置任意类型的文件一样,视频容器格式可以简单理解为只定义了如何将视频及音频流数据存储在容器文件中。实际情况会比这更复杂一些,因为不是所有的视频流都可以兼容存入任意视频容器中。

一个视频文件通常包含多个轨道(track)—— 一个视频轨道(不包含声音),叠加一个或多个音频轨道(没有图像)。轨道之间通常是相互关...

查看全文

AGILE 三月 04, 2020

敏捷之我见

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

  • 团队以一个恒定的效率进行输出:敏捷不是一把梭,重要的是持之以恒
  • 考核团队的绩效,而非个人的绩效:一个人可以走的很快,但一群人能走得更远
  • 任务可视化:进度及工作饱和度的直观反馈
  • 基于 TDD 及 CI/CD:灵魂
  • 明确的目标:遵循 SMART 原则的目标,才能得到尽可能小的偏差
  • 上层的支持:统一思想,某个环节敏捷没有用

两周一个 Sprint

  • 每月 2~3 个迭代,频率适中,也方便与月度、季度、年度等目标对应。
  • 每个 Sprint 明确必须达成的目标(高优先级),以及中、低优先级目标。

Kanban...

查看全文

AGILE 二月 26, 2020

敏捷开发之测试驱动开发从入门到放弃

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

MAC 二月 20, 2020

Mac RTMP 直播方案

文章字数 1.5k 阅读约需 1 mins.

OBS 为 Mac 下可用的直播软件。上手简单,网上教程也很多。
不过因为 RMBP 的分辨率太高,直播画面必须进行缩小,否则 Mac 不一定能吃得消。MacBook Pro (Retina, 15-inch, Mid 2015) 播一会就提示资源不足,需降低分辨率之类的了。最后使用的如下配置,观看直播的分辨率基本可接受,录制起来也不会提示需要降低输出质量。

不过风扇还是会疯了一样响,如果使用 Mac 内置麦克风,可能会产生比较大噪音,影响直播效果。可以接入耳机,并且为声音添加降噪滤镜。

在...

查看全文
加载更多
0%