DDD峰会归来话DDD
一场大戏落幕,首届DDD中国峰会如大会主题色一般的红。或许在12月9日这一天,全中国的DDD粉丝大约有一半都汇聚在了国家会议中心。听起来是幸,其实是不幸,因为DDD在中国的人群基数实在是太少了。 因为要负责大会的其中一个Track,期间又要接受采访,另外还有朋友到访,所以除了前面的两个keynote ...
分布式、服务化的ERP系统架构设计
ERP之痛 曾几何时,我混迹于电商、珠宝行业4年多,为这两个行业开发过两套大型业务系统(ERP)。作为一个ERP系统,系统主要功能模块无非是订单管理、商品管理、生产采购、仓库管理、物流管理、财务管理等等。作为一个管理系统,大家的一般开发习惯就是使用.Net或Java技术,建立一个单块(单进程)架构的 ...
设计稿自动生成可用页面的展望
这篇文章只打算描述我加入支付宝之后,在设计稿生成代码这个方向上自己做的尝试和看到的团队中的尝试。不谈行业历史,不争论方向。文章以现状的形成和我的想法演进为主脉络,文末会提到我所看到的新契机。所以读者如果对现状和推演没兴趣可以直接翻到后面《投石》一章。 立足 三年前刚开始做 Sketch 生成代码插件 ...
.NET Core跨平台的奥秘[下篇]:全新的布局
综上所述,要真正实现.NET 的跨平台伟业,主要需要解决两个问题,一是针对不同的平台设计相应的运行时为中间语言CIL提供一个一致性的执行环境,而是提供统一的BCL以彻底解决代码复用的难题。对于真正跨平台的.NET Core来说,微软不仅为它设计了针对不同平台被成为CoreCLR的运行时,同时还重新设... ...
什么是内存(二):虚拟内存
通过上一篇文章的扯淡,我们应该已经明白了存储器的层次结构,技术细节很复杂,但是思想却不难理解,因为就是很简单的缓存思想。那么本文我们开始讨论关于内存的另一个话题. 虚拟内存 。其实思想也是很容易理解的。 我不知道有多少人听过虚拟内存这个概念,但是虚拟内存是计算机系统最重要的概念之一,并且它成功的主要 ...
.NET Core跨平台的奥秘[中篇]:复用之殇
在《.NET Core跨平台的奥秘[上篇]:历史的枷锁》中我们谈到:由于.NET是建立在CLI这一标准的规范之上,所以它天生就具有了“跨平台”的基因。在微软发布了第一个针对桌面和服务器平台的.NET Framework之后,它开始 “乐此不疲” 地对这个完整版的.NET Framework进行不同范... ...
.NET Core跨平台的奥秘[上篇]:历史的枷锁
微软推出的第一个版本的.NET Framework是一个面向Windows桌面和服务器的基础框架,在此之后,为此微软根据设备自身的需求对.NET Framework进行裁剪,不断推出了针对具体设备类型的.NET Framework版本以实现针对移动、平板和嵌入式设备提供支持。除此之外,在Window... ...
剖析Linux系统调用的执行路径
本文主要描述了操作系统是如何通过系统调用这个接口为上层提供服务的。文章通过printf函数调用过程为例,详细剖析了系统调用是如何一层层由用户态深入到内核态的过程,同时涉及到Linux处理中断的一般流程。 ...
初探性能优化——2个月到4小时的性能提升
一次项目架构和性能上的优化,该项目功能更描述十分简单,但可以说麻雀虽小五脏俱全,可以掌握Java很多优化性能的知识。 ...
一个程序员送给大学生弟弟的那些话
前言: 昨天一个大学生弟娃问了我一些问题,他是想赚点钱,因为读书嘛没什么钱,又谈了恋爱,想通过一些方式赚点外快。 虽然平时也没怎么联系,但是作为大湿人,也不免多啰嗦几句,把我能想到的一些观点告诉他,希望对他能有所启发。 在博客园里,我越来越倾向于写更多“硬菜”,和技术紧密相关的文章。 但也如我博客园 ...
从银行转账失败到分布式事务:总结与思考
思考这个问题的初衷,是有一次给朋友转账,结果我的钱被扣了,朋友没收到钱。而我之前一直认为银行转账一定是由事务保证强一致性的,于是学习、总结了一下分布式事务的各种理论、方法。 事务是一个非常广义的词汇,各行各业解读都不一样。对于程序员,事务等价于Transaction,是指一组连续的操作,这些操作组合 ...
MMORPG战斗系统随笔(三)、AI系统简介
转载请标明出处http://www.cnblogs.com/zblade/ 在设计一款游戏的时候,如果我们是玩家,是希望自己能够操作角色畅玩游戏的。在一款MMORPG游戏中,大部分的实际游戏角色,是需要玩家来操作的,通过在游戏大世界相互完成游戏中的任务等等来体验游戏。在大世界交互场景中,不可避免的会 ...
前端系列——jquery.i18n.properties前端国际化解决方案“填坑日记”
前言:最近,新的平台还没有开发完成,原来的老项目又提出了新的需求:系统国际化。如果是前后端完全分离的开发模式,要做国际化,真的太简单了,有现成的解决方案,基于Node构建的时下热门的任何一种技术选型都有成熟的方案,比如: vue + vue-i18n angular + angular-transl ...
如何写代码 —— 编程内功心法
写代码就是学一门语言然后开始撸代码吗?看完了我的[《GoF设计模式》](https://www.bughui.com/2017/06/10/gof-design-pattern-overview/)系列文章的同学或者本身已经就是老鸟的同学显然不会这么认为。编程是一项非常严谨的工作!虽然我们自嘲为码农... ...
【javascript】函数中的this的四种绑定形式 — 大家准备好瓜子,我要讲故事啦~~
最近在阅读《你不知道的javascript》,里面关于this的介绍的那个章节真的很赞!! 基本把this使用的各种场景都讲清楚了,今天,我就给大家讲讲我的“读后感”,为了让文章不显得枯燥,我决定讲述一个叫"迪斯"(this)的年轻人穿越到一个叫 “伽瓦斯克利”(javascript)的异世界的故事 ...
如何编写轻量级 CSS 框架
Github: https://github.com/nzbin/snack Docs: https://nzbin.github.io/snack 前言 这篇文章我已经酝酿了半年之久,或者说拖沓了这么久吧。想说的东西很多,却又无从说起。如今轻量级框架如雨后春笋,层出不穷。我想每个人都应该归纳总结工 ...
小时到分钟 - 一步步优化巨量关键词的匹配
60万 条短消息记录,5万 关键词,看我如何一步步地将耗时 10小时 的作业优化到 10分钟 以内。优化过程中的心得、坑和结论方法,希望能大家一些启发。 ...
在Visual Studio 2017中使用Asp.Net Core构建Angular4应用程序
前言Visual Studio 2017已经发布了很久了。做为集成了Asp.Net Core 1.1的地表最强IDE工具,越来越受.NET系的开发人员追捧。随着Google Angular4的发布。我一直在想,怎么能够用这个地表最强IDE工具编写Angular4的Asp.Net Core项目。经过不... ...