摘要: 前言 自前端框架风靡以来,路由一词在前端的热度与日俱增,他是几乎所有前端框架的核心功能点。不同于后端,前端的路由往往需要表达更多的业务功能,例如与菜单耦合、与标题耦合、与“面包屑”耦合等等,因此很少有拆箱即用的完整方案,多多少少得二次加工一下。 1. UmiJS 简述 优秀的框架可以缩短 90% 以 阅读全文
posted @ 2018-12-10 17:53 捷义 阅读(986) 评论(1) 推荐(9) 编辑
摘要: 前言 本文主要探讨基于 DSL(domain specific language) 之上的插件设计,他们是领域的附属,为领域提供额外的服务,但领域不依赖于他们。 1. 论述 领域应当尽可能地去专注他的核心业务规则,应当尽可能地与其他辅助性的代码解耦,一些通用的功能可以耦合进框架或者设计为中间件;但还 阅读全文
posted @ 2018-12-10 08:55 捷义 阅读(1353) 评论(0) 推荐(21) 编辑
摘要: 前言 DSL 全称为 domain specific language(领域特定语言),本系列应当会很长,其中包含些许不成熟的想法,欢迎私信指正。 1. DSL 简述 我理解的 DSL 的主要职能是对领域的描述,他存在于领域服务之上,如下图所示: 其实,我们也可以认为 DomainService 阅读全文
posted @ 2018-12-08 10:36 捷义 阅读(594) 评论(0) 推荐(19) 编辑
摘要: 前言 时间的处理与日期的格式转换几乎是所有应用的基础职能之一,几乎所有的语言都会为其提供基础类库。作为曾经 .NET 的重度使用者,赖其优雅的语法,特别是可扩展方法这个神级特性的存在,我几乎没有特意关注过这些个基础类库,他们如同空气一般,你呼吸着,却不用感受其所在何处。煽情结束,入坑 Java 后甚 阅读全文
posted @ 2018-07-18 15:01 捷义 阅读(1689) 评论(16) 推荐(33) 编辑
摘要: 前言 最近折腾了一番自建 gitlab,在此做个记录,供君参考。整个构建过程基于 Docker Swarm(近期有计划将微服务移植到 Kubernetes,但还没倒腾顺手,暂时先沿用旧的方案),主题配图与主题无关,请忽略...... 1. 快速启用 配置的一般原则是先可用再优化,简单启动 gitla 阅读全文
posted @ 2018-06-04 08:10 捷义 阅读(4378) 评论(2) 推荐(14) 编辑
摘要: 前言 系统复杂了,抽离单一职责的模块几乎是必须的;若需维护多个项目,抽离公用包上传私有仓库管理也几乎是必须的。其优点无需赘述,以下将记录操作过程。 1. 多模块拆分 在.NET 中由于其统一性,实现上更自然一点。Spring Boot 通过 Maven 构建多模块工程也不麻烦,假如我的项目中包含以下 阅读全文
posted @ 2018-05-04 02:08 捷义 阅读(4019) 评论(5) 推荐(15) 编辑
摘要: 前言 我在上篇博客 “ "Spring Boot 的实践与思考" ” 中比对不同规范的 ORM 框架应用场景的时候提到过主从与读写分离,本篇随笔将针对此和分库分表进行更深入地探讨。 1. 漫谈 在进入正题之前,我想先随意谈谈对架构的拓展周期的想法(仅个人观点)。首先,我认为初期规划不该太复杂或者庞大 阅读全文
posted @ 2018-04-04 08:02 捷义 阅读(4621) 评论(6) 推荐(40) 编辑
摘要: 前言 本篇随笔将汇总一些我对消息队列 RabbitMQ 的认识,顺便谈谈其在高并发和秒杀系统中的具体应用。 1. 预备示例 想了下,还是先抛出一个简单示例,随后再根据其具体应用场景进行扩展,我觉得这样表述条理更清晰些。 RabbitConfig: Client: java @Component pu 阅读全文
posted @ 2018-03-28 23:36 捷义 阅读(2232) 评论(19) 推荐(25) 编辑
摘要: 前言 本篇随笔将对 Spring Boot 中的常用注解做一个简单的整理归档,写作顺序将从启动类开始并逐步向内外扩展,目的即为了分享也为了方便自己日后的回顾与查阅。 1. Application 启动类示例如下: 第一个要讲解的注解是:@SpringBootApplication,从直观的感受来看, 阅读全文
posted @ 2018-03-21 18:17 捷义 阅读(924) 评论(1) 推荐(17) 编辑
摘要: 前言 本篇随笔用于记录我在学习 Java 和构建 Spring Boot 项目过程中的一些思考,包含架构、组件和部署方式等。下文仅为概要,待闲时逐一整理为详细文档。 1. 组件 开源社区如火如荼,若在当下我们还要去重复 “造轮子” 那真是罪过罪过(当然也并不意味着所有的一切都可拿来即用,了解他,使用 阅读全文
posted @ 2018-03-16 15:57 捷义 阅读(2062) 评论(18) 推荐(26) 编辑
摘要: 前言 本篇随笔是继 "“Docker Engine”" 与 "“Compose & Swarm”" 之后的一个实例补充,初衷是记录测试环境中的一次 MySQL 事故,就当做 "“Docker 系列”" 的一个小收尾吧。其实在生产环境中不推荐使用 Docker 部署 MySQL 和 Redis,那可是 阅读全文
posted @ 2018-03-09 16:14 捷义 阅读(2880) 评论(1) 推荐(21) 编辑
摘要: 前言 任何相对完整的应用服务都不可能是由单一的程序来完成支持,计划使用 Docker 来部署的服务更是如此。大型服务需要进行拆分,形成微服务集群方能增强其稳定性和可维护性。本篇随笔将对 Docker Compose 和 Docker Swarm 的原理和配置做整理归纳,并分享其使用经验。 1. YA 阅读全文
posted @ 2018-03-07 23:31 捷义 阅读(18726) 评论(4) 推荐(12) 编辑
摘要: 前言 前段时间需要配置一台私网 ECS 联外网,阿里云比较推荐的方案是创建一个 NAT 网关并绑定 EIP, 以此来统一所有 ECS 的网络出口。由于我已经拥有一台外网 ECS(不想多掏钱,且我自己的测试环境不需要严格的稳定性要求),因此我决定使用 Iptables 对私网 ECS 的请求进行源地址 阅读全文
posted @ 2018-02-27 20:53 捷义 阅读(739) 评论(0) 推荐(7) 编辑
摘要: 前言 用了 Docker 方才觉得生产环境终于有了他该有的样子,就像集装箱普及之后大型货轮的价值才逐渐体现出来,Docker 详细说明可查阅 "“官方文档”" 。本篇为 Docker Engine 的笔记,也就是我们通常说的 Docker,他包含了提供容器技术实现的 Docker daemon 及终 阅读全文
posted @ 2018-02-19 00:11 捷义 阅读(7175) 评论(2) 推荐(10) 编辑
摘要: 前言 Nginx 作为高性能的 http 服务器,知名度不必多言,相似产品中无出其右。本篇随笔记录我认为较为重要的原理和配置。 1. 原理解析 1.1 结构 以上是 Nginx 的结构图,其包含一个 master 和 n 个 worker,master_processes 用于外部通信和统一管理其下 阅读全文
posted @ 2018-02-12 18:06 捷义 阅读(1183) 评论(0) 推荐(2) 编辑
摘要: 前言 无论多么复杂的问题,其实拆解它、解决它的思路和手段都是相通的,大致可分为以下四个步骤:1.明确和理解问题;2.拆分和定位问题;3.提出解决方案;4.总结问题。其次,想要解决问题,必须用 80% 的精力去拆解和定位这个问题,剩下的 20% 的精力去寻找解决方案就足够了。 1. 明确和理解问题 遇 阅读全文
posted @ 2018-02-09 14:38 捷义 阅读(418) 评论(0) 推荐(2) 编辑
摘要: 前言 本篇随笔用于记录一些不好归类和比较简短的 macOs 配置,或者暂存某些记录,方便日后回顾和整理。 按键符号 ,`⌥ option ⇧ shift ⇪ caps lock ⌃ control ↩ enter`。 快捷键(一般规律:⌘为主,其次⇧、⌥、⌃) 关闭退出: 关闭当前标签, 关闭当前窗 阅读全文
posted @ 2018-01-23 19:53 捷义 阅读(581) 评论(0) 推荐(2) 编辑
摘要: 前言 写完 "“Ubuntu 自动化配置”" 这篇文章后,每次连服务器心情指数都上升好几个百分点,于是想着应该将 macOs 的开发环境也梳理梳理,应该会对开发效率有所增益。 1. iTerm2 配置 虽然Mac默认的终端已经非常强大,但从功能的丰富程度和开发效率上来看,对于我来说iterm2无疑是 阅读全文
posted @ 2018-01-23 18:45 捷义 阅读(11377) 评论(1) 推荐(1) 编辑
摘要: 前言 Contour 是一款比较优秀的编剧辅助软件,按理说这篇文章应该归类到 中,但其操作非常简单,基本上以写作提示为主。只怪所有提示都是英语,而且很多,每次使用打开 Contour 个别单词都要重新查字典,于是决心花点时间整理和背诵,既学了单词又学了编剧,一举多得。 Ideas && Guide 阅读全文
posted @ 2018-01-16 19:32 捷义 阅读(682) 评论(0) 推荐(2) 编辑
摘要: 前言 工欲善其事,必先利其器。经过多次的重复配置 ubuntu 开发坏境,我终于决定花点时间总结一下,并将其写成一个自动化配置脚本。服务器实例:ubuntu 16.04,技术栈:shell,python。 1. 主机名 可以通过 修改主机名,不过最好是写入 /etc/hostname 文件,重启生效 阅读全文
posted @ 2017-12-26 08:03 捷义 阅读(2876) 评论(0) 推荐(7) 编辑
摘要: 费心思做了一个简单的 迁移工具,欢迎大家使用和交流 工具所做的工作: 查找所有输入目录的子目录和上级目录,获取包含 的项目集合,可批量迁移。 替换 文件中的 为 ,并且更新解决方案的 guid 让 vs2015 能正确加载项目。 读取每个项目的 文件,获取 RootNamespace、Project 阅读全文
posted @ 2017-02-14 13:44 捷义 阅读(489) 评论(1) 推荐(3) 编辑
摘要: .NET Core 已经热了好一阵子,1.1版本发布后其可用性也越来越高,开源、组件化、跨平台、性能优秀、社区活跃等等标签再加上“微软爸爸”主推和大力支持,尽管现阶段对比.net framework还是比较“稚嫩”,但可以想象到它光明的前景。作为 .net 开发者你是否已经开始尝试将项目迁移到 .n 阅读全文
posted @ 2016-12-05 09:21 捷义 阅读(1941) 评论(11) 推荐(24) 编辑
摘要: 从事前端的朋友应该对“字体图标”这个词汇不陌生,为了适应越来越挑剔的屏幕,网页图标和简单图案使用 .png 来搭建已经基本上被淘汰了。取而代之的是使用 css3 和 svg 来绘制,而对于网页小图标,我们更希望在整个系统的前端架构中将它们做成字体库统一管理。如下图: 如果在任意一个页面只需要引用一个 阅读全文
posted @ 2016-12-03 20:32 捷义 阅读(1050) 评论(8) 推荐(5) 编辑
摘要: 在 form 表单的前端布局中,我们经常需要将文本框的提示文本两端对齐,例如: 比较粗暴的做法是在需要隔离边距的文本中加标签,然后分别控制每个文字的边距,这种方法比直接加空格或者占位符更精准,我之前也都是这么做的。但是写的多了之后开始思考能不能抽象出来用于更多的场景?让代码更好看一些?维护成本更低一 阅读全文
posted @ 2016-12-02 09:23 捷义 阅读(1275) 评论(7) 推荐(8) 编辑