11月
Setting up an active-passive Gitlab instance

Gitlab is an open source DevOps platform used in many companies. The instruction will set up a hot standby OSS Gitlab in self-hosted environment.

10月
国庆北疆游记

由于《阿勒泰的角落》的热播,新疆的旅游变得火热,尤其是阿勒泰独特的高海拔深林景观。本次记录了2024年国庆在北疆的走马观花游记。

09月
《非对称风险》摘要

本书实际上是以有机主义(Organicism)与实用主义(Pragmatism)为锚,对道德,经济与宗教等现象的分析。

06月
A guide to upgrade subversion to 1.14

This guide will walk through an approach that helps engineers upgrade subversion servers.

02月
英文的发音方法

本文希望帮助读者尽可能能找对发音位置,基本掌握入门原理。不求完全没有口音。

12月
2023 Summary

转眼间又到了年底,总体来说还算满意,没有被收割太狠。

10月
Sentences, clauases and modifiers in Japanese grammar

Learning sentences and clauses is foundamental to parse complex syntax tree in Japanese, this title describles the comprehensive classification in Japanese.

10月
Formal noun and nominalization in Japanese grammar

形式名詞keishiki meishi is a special type of Parts of Speech in Japanese. While officially translated as formal noun, grammatically it would be more accurate to categorize it as a versatile placeholder that mainly undergoes a modification of nominalization.

10月
Security design for token authenticates

This article describes how to choose appreciated tokens in security design.

08月
2023中国银行赴港开户攻略

香港开户的问题在于政策不断更新,因此存在时效性。本文提供2023年的开通参考。

07月
Design a Fine-grained Authorization System with RBAC and ACL

Implementing flexible, fine-grained permission management is an essential component of robust software design. This article will walk through various authorization system designs that aim to achieve that goal.

06月
What leads to a disinterest in a course

Last week I was invited as a part-time teacher to provide compulsory courses for new staff. Here was something interesting that I didn’t anticipate.

02月
Memory diagnosis for java application on kubernetes

This post will introduce how to analyse native and JVM memory on containers.

01月
托业通过800攻略分享

本文供英语已经通过CET6级,希望通过托业听力阅读(TOEIC LR)考试800分的读者。

12月
Profiling IO performance on different buffer size

Recently I’m working on a project with the IO streams, here are some details.

12月
2022 summary

虽然还没有到年底,但是后续已经没有意外了。

10月
英语时态与Modality大纲

本文供已经有一定水平,但是需要完整复习实验的读者使用,并提供了优先级规划。

09月
英语语法大纲

本文是假设英语已经有一定水平,再次系统复习需要注意的点。语法复习主要难在时态、接续与从句上。

08月
基于词频的背单词方案

本文将提出一个可复制、可跟踪与度量的背单词方案,能够在2.5个月( 70 工时)内将单词量从4000稳定地提升到7000。

07月
A comparison on git Multi-Site geo-replication

Here are some solutions for repository Multi-Site(cross data-center) replication for enterprise.

06月
关于算法、物理与哲学中的时间观念整理

在研究递归算法、分布式Raft的Term、语言中的因果关系与康德的先天综合中,都不可避免地涉及到时空观。本文依据历史时间线对主流观点进行整理。

05月
初探《纯粹理性批判》

康德(1724~1804,大约是乾隆年号)是调和了经验主义与理性主义的伟大思想家,最主要的著作是《纯粹理性批判》(1781年,大清还在处理起义),尤其讨论了认识论。当然他不仅是思想家,他在道德、美学等领域,甚至教书也有很多成就。

04月
罗素《Wisdom of the West》的读书导图

本文是对罗素著作《哲学简史》进行整理的、并补充作者写作时期后的一些现代观点。

04月
递归在应试场景下的使用

在上一篇的递归中,我们从形而上的角度(数码物)去了解递归,本文从工程角度对递归进行进一步分析。

03月
K8S与常见加固

开源版K8S以繁琐复杂而闻名,本文是在其基础上的常见加固方案。

03月
SVN/JFrog/NFS的ACL权限模型介绍

很多版本管理工具都基于ACL Path实现了管理权限,本文加以综述介绍。

02月
递归相关的形而上思考整理

本文整理了递归的历史和观点,并综述了各个时期的学者对递归的哲学思考。

01月
云中的网络相关介绍

最近接触了私有云相关的应用方案部署设计,将部分云上的网络知识记录。

12月
2021 Summary

今年总体上非常杂,同时又给自己加了很多附带的活,导致非常忙。

11月
部分UML图的介绍

很多开发者可能将软件工程的UML模型仅作为“考试题目”。其实这些理论本身都是其他领域fork出来的字系统,尤其是咨询与制造领域,还是值得看一下的。

10月
基于Open Policy Agent的Authz权限设计探索

本文分析了数十款知名项目的权限架构,并提出了一款基于云原生权限框架的灵活配置思路。

10月
读《黑客与画家》

最近机缘巧合,再次重读了《黑客与画家》,特此分享。

09月
开源项目选型流程分享

当前作为项目SE,长期进行技术选型和设计工作,特此分享开源或第三方软件的选择流程。

09月
Writing a sonarqube plugin

Writing a sonarqube plugin is not always requiring a parser at the beginning. We are able to import a third-party report into sonarqube database.

09月
如何快速通过考试

当前同时参加多个考试,为了提高效率,研究出了高效应试的实施流程。基于大前研一的MECE流程,简单而可信。

09月
An breif introduction on self-hosted sentry

Sentry is an open source Application Monitoring Service for app crashes. It’s also free self-hosted available.

08月
常见分布式系统介绍

本文总结一下常见的分布式与高可用方案

08月
导读《导读德勒兹与加塔利《千高原》》

在之前的认识论文章中曾介绍过野中郁次郎的SECI模型与科学解释的模型。而本文介绍的千高原(A Thousand Plateaus)是非线性,网状、根茎状、相互交叉的知识结构模型。

07月
N4学习分享

本文是在系统学习N4后的一些流程与方法论的分享。

07月
常见存储方案分类整理

本文是对常见存储方案的简要汇总介绍。

06月
文档笔记软件场景对比

结构化笔记软件,相对于传统的Hexo等工具有更强的Tag与Block支持,那么这些工具与传统的Blog/Wiki有什么不同呢?

05月
Saas(ToB)产品推广的拙见

ToB项目有着跟进周期长、高定制,客户内部复杂的特点,非常难做,本文分享低人力成本下的推广思路。

05月
自己编译开源RISC-V CPU

随着开源软件的兴起,传统的芯片领域也不断地被侵蚀,本文简要介绍利用开源工具实现数字电路到BES综合的流程。

05月
读《博雅语言学》

语言学(Linguistics)虽然是文科,但是它实际上是强逻辑、高难度的学科,本文是对《博雅语言学》的部分总结。

04月
JMdict/Edrdg native dictionary for macOS

JMdict is a freely-available Japanese/English dictionary, I adapted a native macOS dictionary which can be used with force touch.

03月
N5学习分享

本文是在系统学习N5后的一些流程与方法论的分享。

02月
常见健康饮食资料整理

近日PDD等公司员工猝死的新闻时有发生,虽然钱很多,然而健康却越来越远,本文综述一下普通人能解决的事情。

01月
《救命饮食》相关读书摘要

《救命饮食》是一本主张通过素食来降低各种疾病风险的书籍,这本书在发售后就很有争议,本文对书中观点进行批注与摘要。

01月
项目实施中时间短缺化对策

随着工作年限的增加,技术人员不能仅限于纯编码与技术方案,而是需要作为团队担当同时去整体交付任务,这样也带来了新的挑战。对于入门者,首当其冲的就是时间分配与劳而无功问题。

01月
免修改源码的常见AOP埋点方案

为了提高软件开发的效率,开源/商业软件的引入也越来越广泛,但是一旦涉及到修改源码,将带来高成本的分支维护问题。本文介绍基于代码、容器、网关等AOP免修改源码的设计方案。

12月
2020 Summary

今年总体上就是快与单调,前几个月只有上班与居家,后几个月赶进度,就这样过完了。

10月
基于语境收敛的项目实施流程

本文主要是通过基于符号、概念、属性、类比的认知方式,降低项目分析的Context失真,在拍脑袋与事必躬亲间做一个平衡的选择。

09月
Kroki for Hexo plugin released

Kroki provides a unified and free API for drawing diagrams. I just released a new plugin for Hexo to draw diagrams with Kroki.

09月
逻辑与形而上学的部分术语概念

离散数学、计算理论、逻辑学与形而上学是密不可分的学科,它们既可以是简单的与非门,也可以是黑格尔的存在本质与概念体系。本文主要是逻辑学中的数理逻辑部分摘要总结。

08月
An introduction to Redash

Redash is a free, open source, lightweight business intellegince tool connecting to any data source, query and visualization.

07月
读VSI《休谟》

本文是哲学家大卫休谟的部分理论笔记,WIP。

07月
读VSI《科学哲学》通俗读本

本文是《牛津通识读本-科学哲学》的部分章节阅读分享。

06月
读《神经科学讲什么》

本书将复杂的神经科学与哲学认知进行了结合,是一本很不错的通俗读物。作者本身是医生,此书写的逻辑很严密与理性。

06月
认知、直觉与成见

本文是对徐英瑾教授所著的《认知成见》《语境建模》,与Daniel Kahneman的《思考,快与慢》的部分阅读心得。

05月
非暴力沟通模型整理

非暴力沟通指通过感受、需求、请求、反馈的循环流程来解决问题的模型。

05月
SECI的知识模型介绍

SECI(知识创造的方法论)是管理专家野中郁次郎(のなか いくじろう)提出的知识论与认识论的理解方法。本书虽然介绍的是企业组织的知识创造方法,但是对个人也适用。

04月
微服务中网络层抽象与改进

本文从集中API Gateway到Sidecar介绍了抽象网络的多个方案,供读者参考。

03月
Nomad调度框架对CGroups的使用

本文从应用侧调度软件开始介绍调度器,并主要以单机版OS为例,介绍了CGroups的隔离。

03月
Linux隔离与调度「Namespace」

Namespace主要是通过CLONE_FLAG实现资源隔离。其实无论是Docker还是其它容器,它底层的隔离实现是内核早就有的功能。在内核中,通过ns_proxy实现。

02月
动态规划与JenkinsCPS技术

本文先从Fibonacci递归计算开始,介绍了通过DP消除栈的算法,以及CPS的基本概念与Jenkins底层实现。

02月
关于数据库事务的QA

很多Java码农(包括我)第一步使用事务就是无脑上@Transaction注解,但是这样可能就不明不白地用20年,本文是对常见事务问题的QA解答。

01月
招聘与年齢差別

最近很多大龄程序员被裁员,甚至ZGPA的码农也不顾派遣社员的身份来应聘。作为一线面试人员,我也感到经济下行的寒意。本文论述了年龄歧视(年齢差別)的对策。

12月
2019 Summary

唯有时间对所有人公平。

11月
Jenkins multiple masters using Consul

Consul is HashiCorp’s service networking solution for naming service. In this post, we will show how to use consul to design serverless Jenkins clusters.

10月
Resilient Jenkins Agents Provisioning with HashiCorp's Nomad

Nomad is an easy-to-use workload orchestrator which is more lightweight and operational than Kubernetes. With nomad, we can create a scalable jenkins cluster running up to 1k jobs on the bare metal machines.

10月
PlantUML for Hexo plugin released

Since a lot of plugins for PlantUML diagrams are no longer maintained, I just released a new fork with compatibility for latest Hexo.

09月
Jenkins Agent Scaling And Distributed Tunning

With Increasing jobs on compiling task with Jenkins, we are facing agent scaling issues.

08月
SE企画与上线记录

最近半年终于从零上线了一个公司内部的startup项目,领队专家能力很强,我个人也学到了很多,特此记录。

04月
高强度工作下的自我时间管理

近日996非常火爆,本文介绍一下如何在高强度加班下管理出空余时间。

03月
对敏捷与估算工时的看法

说起敏捷(Agile, /'ædʒl/)开发,有很多组织把它看作能够管控项目,实现将人转变为可替换零件的银弹;王垠认为它与软件工程一样是扯淡,是浪费资源的祸根,提出者应该被开除

02月
秋葉原メイドカフェ体验

秋葉原是Tokyo必去的街区之一,甚至可以逛好几天。除了被大巴送过来爆買走马观花的大陆游客,也有各种电器店与其它特色店铺。本文记录的当然是Maid Coffee啦。

01月
Mac下安装与使用Wine最全指导

Wine可以看作ELF解释器(Interceptor),并实现了WindowsAPI(自己手写一套)与Direct的Runtime,因此可以复用native的性能,而不用虚拟机去执行虚拟指令集.

01月
SonarQube是如何工作的

SonarQube是来自瑞士的代码检查工具,除了用来检查项目,它本身也是开源的,源码(代码结构/技术文档等)也必然是值得一读。

12月
RISC-V处理器读书笔记

本书主要介绍了一款开源CPU的前端设计,对Silicon领域或者计算机组成有兴趣的可以看一看。它是一本非常有价值的书,建议投入一定时间去精读。

12月
如何推动团队持续改进

随着经验与能力的提高,作为码农要开始承担团队的责任,推动团队发展。在团队中承担管理责任的主要有PL(Project Leader,非技术管理,本文不介绍)与SE(System Engineer,本文重点介绍),本文将介绍如何完善这个角色。

11月
PlantUML for GitBook plugin released

Yet another offline puml rendering plugin for gitbook.

10月
Use GitHub trending filter to block spamming repositories

As I noticed there are full of spamming or Chinese-only repositories in Github Trending. It wastes my time on find a TRUE interesting project.

09月
个人Feedly地址分享

随着知识爆炸增长,面对海量信息我们总是无法适从。我个人更推荐使用RSS作为自己的技术等信息源,下文分享的主要是技术类博客为主。

08月
如何解决项目历史债务与保持后续质量

在每个项目中,可能由于种种历史原因导致项目渐渐腐化陈旧,后续接手时很难维护,作为码农除了进行代码整改,还要主动推动开发流程的优化。

07月
Mermaid for GitBook plugin released

Since a lot of plugins for mermaid diagrams are no longer maintained, I just released a new Gitbook plugin with compatibility for GitBook 3.

06月
Mask sensitive data with custom jackson annotations

In this article, we’ll see how to use custom jackson annotations to mask sensitive data with asterisk.

06月
JS静态分析工具ClosureCompiler介绍

Closure Compiler是谷歌推出的一款Javascript压缩工具,在业界有广泛的使用。与传统压缩工具不同的地方在于,它将对代码的AST进行静态分析,而不是简单的正则表达式压缩。

06月
Racket实现计算器解释器

本文是纯折腾兴趣,时间充裕的可以玩一玩。

06月
端到端拉通实现Web首屏优化

随着业务的增加,客户对IT系统的前端速度不太满意,希望通过改造提高速度。

05月
Generating Excel in declarative language with Java8

This article describes how to use a third library to generate Excel and profile the performance problems of POI Excel generation with JVisualVM.

05月
Scanning i18n properties without hard coding

This guide will give you an introduce on how to auto scan properties files into MessageSource without hard coding file names in Java.

03月
Migrating from SpringMVC&Struts mixed webapp to SpringBoot

After weeks of work, I have succeeded in migrating from a Struts/SpringMVC mixed webapp to SpringBoot.

12月
AngularJS双向绑定的实现

本文将分析第一代AngularJS的主流程,结合笔者最近改造与培训的实践,将快速帮助Java后端开发掌握原理,写出前端界面,早点下班回家。

12月
各种语言中Promise的源码实现

在NodeJS/Netty/Java/AngularJS等框架中,均有Promise的异步API设计,本文将结合多个框架,分析Promise的设计思路。

11月
Quartz任务与日志的持久化

定时任务在企业IT与互联网系统中使用非常广泛,一般用于去做耗时的分析、统计、报表、对账等任务. 现实开发中,一般采用Quartz作为Job实现。但是直接基于内存使用有如下痛点

11月
如何技术招聘--兼谈识别简历造假

本文是将IT招聘工作流程化自动化,分享组建团队的一些持续改进的过程记录。

09月
通过GitBook打造自己的知识体系

在学习了新知识后,需要总结与验收

08月
过程改进

网上软件工程相关的书籍与文档已经有很多了,但是一般都存在一定的幸存者偏差,比如《人月神话》作者叙述如何在IBM带团队,而现实中反而大部分遇到的项目是领导拍脑袋决定几天搞定业务;或者给你一堆不是你面试的外包/新员工;或者临时给你交接一个锅

08月
Serverless开源项目分享-Spring-Cloud-Function

Spring Cloud Function实现了类似于AWS Lambda的云函数调用,属于Serverless架构。它是基于SpringBoot开发的FAAS项目,目前Star只有100多,可以说是玩具级别。但是功能还是很全的。它基于Reactor进行设计,类似于Akka中的Actor或者RxJava中的Lift管道操作符

07月
华为微服务框架ServiceComb的简要介绍

话说菊花厂真的对开源不是很上心,很多时候都仅仅是受限于GPL而开源。不过今天介绍的项目不同,此项目由2012架构部专家亲自编写,并已经在内部商用,质量很好,值得一读。

07月
动态规划与Groovy的记忆化

本文主要来自如下章节的心得,文章很短

06月
JMX的一些简要知识点

JMX在实际开发中很多人都用过,鼠标点一下就可以执行Java代码。本文适用于已经会在JConsole等工具中调用JMX,但希望进一步了解JMX的人。

06月
如何在两周内培训一个小团队?

本文标题党了,但是适用于有一定技术能力,又打算兼任项目进度的读者。主要讲了如何从培训到干活的流程,并讨论了项目风险控制,自动化工具使用等方法论。

04月
规则引擎的介绍与Drools的流程分析

规则引擎(RuleEngine)是一个有限状态机,通过入参实现状态转移,在Java中定义为JSR94规范。规则引擎目前的开源实现主要是JBoss家族的Drools,采用友好的Apache协议(意味着可以作为商业产品)。以及据说非常贵的ILOG引擎,还有一些国内引擎。

04月
《大型网站技术架构》读书笔记

最近有一个月没有写文,主要是9106加班与看书比较多。今天写下最近买的一本书的读书笔记。

02月
《Groovy程序设计》读书笔记

其实这本书早就买了,本来是作为字典查知识点的,现在又读了一遍。使用Groovy已经有了接近一年的时间,再读一遍。本文就是一些总结。

12月
我的2016

又到了年底,去年年底还懒散地打联机游戏,并抱怨着PM2.5,现在却在深圳关外当加班狗,过着906的生活。多的不说,总结下今年有什么收获吧。

12月
Shell快速入门心得与自动化脚本

本文结合博主这两个月(实际使用肯定有6~7年了)的Shell系统化学习经历,介绍如何在已有Shell的基础上开始解决业务问题。

10月
DSL编程技术的介绍

本文先介绍了元编程的概念,接着举了几个DSL的例子,最后总结了DSL开发的前景。

10月
谈胶片与价值呈现

PPT(胶片)相比于Word,使用图形化、低密度的表达方法,将作者的意图展现给观众。相对于写长篇大论的Word,胶片需要做减法,表达的内容需要更精确化,因此比文章更加难写。本文以常见的工作总结为例,通过将此问题分解并逐步解决,讲解胶片是如何完成的。

10月
集合类工具Guava与惰性求值

在Java中,各种大厂的集合类工具如下

10月
代码规范最佳实践

代码规范是一个老生常谈的问题,涉及到一个码农的软技能。网上有很多类似的文章,但是有些文章比较落后了,因此需要补充新鲜的文章

09月
Zookeeper-内部树的实现

本文首先介绍了Zookeeper的应用、接着叙述了zk的端到端流程,最后讲解了Zookeeper中数据结构DataTree的实现方法。

09月
Android下的基于NFC的金融业务开发

随着物联网与O2O业务的发展,NFC在小额支付领域的前景越来越广阔。本文结合多个公开文档,简要介绍了NFC的工作场景,同时使用RxAndroid实现了对NFC字节流的读取与异常捕捉;介绍了卡模拟过程中与Android底层的交互原理与简单示例。

09月
Android的实时Blur渲染---BlurDrawable

目前有很多厂家/APP都在做Blur,比如魅族高端机(mx4以后的机器)提供了实时模糊选项,并给第三方相应的sdk。有的第三方app(比如最美壁纸,雅虎天气,开眼等)看似使用了实时模糊,实际上只是两张截图的alpha变换而已,网上大多数开源项目亦是如此;还有的第三方库,比如14年非常火的GlassActionbar,的确可以实现动态模糊,可是fps不太满意,而且内部使用了AsyncTask作为异步处理,考虑到线程池中创建,销毁,上下文切换的损失,也不太敢用。

09月
Picasso源代码走读

A brief source code review of Picasso

09月
打造高仿iOS的BlurDialog

Github上有许多仿iOS的dialog,但是都没有让背景模糊,第三方的view太坑,不如自己对着iOS模拟器的图与动画做出来。耗费了很久时间终于搞定了,如下图,左边是仿iOS的dialog,右边是SupportV7的dialog。

09月
探究Android的冷启动优化

Cold Startup Perfermance Improvement in Android

09月
关于Null、Empty与Exception的思考

本文首先讲了如何对null等场景写防御代码,接着介绍了多种返回异常数据的表示方法。

08月
Spring下的控制反转(IOC)

控制反转是一种简化开发的方法,可以轻易地获取对象而不用考虑如何构建,实现了高效解藕与测试。在Java后端、Android端、PHP等领域均很常见,比如Server端的Autowired、Android中的getSystemService都是控制反转的例子。

07月
高效学习正则表达式Regex

还在用C语言的方法进行for循环处理字符串吗?是时候使用Regex了。

07月
如何写一个Parser

解释器(Parser),顾名思义,就是对数据处理的实现。是一个能够输入一个命令或者描述后,内部进行运算,并输出数据的工具。

07月
强迫症的Windows效率APP指南

最近由于工作原因,暂时离开了自己喜爱的Mac平台,而用上了所谓的云桌面,即Windows,虽然分到的E5虚拟机的配置吓人,但是简单的环境并不能让你的效率更高,今天讲一下如何使用开源免费软件提高效率,下面基本上都是跨平台软件。

01月
Retrofit2源码分析[动态代理]

Retrofit2 目前已经越来越主流稳定了,它终于完全抛弃了其它的网络库而是使用了OkHttp3作为依赖,功能也更加插件化了。经常听到动态代理这个词而不知所云,现在知识水平高了,分析一下,以飨(xiǎng)读者。

11月
在Mac终端下配置Proxy

Gradle下载jar包慢到飞起?Github同步一半断了?Docker下载频繁报错?是时候为你的终端统一设置一个代理了。本文以Mac(Unix平台)与HTTP_PROXY为例,讲解如何在终端下进行配置代理。

09月
函数式编程RxJava操作实例

通过几个实际的例子,加深对RxJava的理解

03月
Android反编译对比

本文介绍并对比几个逆向工具

02月
Android-HTTP的几种抓包方法

本文介绍常见基于劫持等抓包方案

12月
Mac下最好的Gif转换软件

MD都是支持Gif的,为了找到最好的Gif转换软件试了很多,最后找到了这一款软件GifBrewery