[推荐热贴]
文章平均质量分 91
良少
资深挨踢人士,精通Python,C,Java,JavaScript,Linux内核,网络协议,虚拟化,云计算,分布式存储,kubernetes,数据仓库等技术。擅长微服务架构设计,DevOps。目前致力于以Fintech助力普惠金融。
展开
-
智能的本质—DIKW结构
本文描述了我理解的智能的DIKW结构(数据层Data->信息层Information->知识层Knowledge->智慧层Wisdom),希望凭借这个框架解释智能的来源和本质。原创 2020-10-01 22:40:22 · 2092 阅读 · 0 评论 -
基于对象和面向对象编程范式辨析和主流编程语言中的应用
基于对象和面向对象编程范式辨析和主流编程语言中的应用 前言 本文的目的是想告诉大家,为什么C++的模板这么强大。为什么Ruby的Duck Typing(像鸭子那样编程)这么强大! 基于对象和面向对象编程范式关于基于对象和面向对象编程范式,我有着不同于传统的理解。我认为我的理解更能体现出这2个范式的本意。原创 2008-06-09 01:41:00 · 9524 阅读 · 11 评论 -
主流编程语言优劣考
主流编程语言优劣考 前言 本文的目的并非是想挑起语言之争,而是希望通过客观地分析每一种主流语言的能力,辨明其长短,让程序员能够扬长避短,有效地使用各种语言。让各种语言能够各安其位,为你更好的服务。程序员应当成为语言的主人,而不是语言原创 2008-06-10 00:19:00 · 41276 阅读 · 88 评论 -
从自己实现Ruby单例模式揭秘Ruby模块内幕
从自己实现Ruby单例模式揭秘Ruby模块内幕缘起整个故事要从某一天开始说起,那天,我看到一篇文章介绍了Ruby中实现单例模式的模块。Singleton模块,只要include Singleton模块,就可以为一个Ruby类添加单例功能。我颇为惊奇,于是查看Singleton.rb源码,洋洋洒洒几百行,看不懂。做技术的都知道,遇到不理解的东西我们总是想探究清楚,否则必茶原创 2009-01-23 08:50:00 · 6294 阅读 · 2 评论 -
构建一个分布式操作系统的简单方案—答陈硕的“分布式系统中的进程标识”一文
本文提出了构建一个分布式操作系统的简单方案。核心是使用ssh的强大能力,构建一个简单、安全、灵活、高效的分布式操作系统!并且没有单点失效的问题。注意,是通用的分布式操作系统,而不是专用的分布式系统。原创 2011-03-29 16:20:00 · 9313 阅读 · 57 评论 -
Linux内核中链表和散列表的实现原理揭秘
inux内核的实现,大量使用了数据结构,包括了数组、链表和散列表。其中用的最多的是双向循环链表。Linux内核使用的是自己定义的链表和散列表,简单而高效,使用方法也非常的别具一格。研究Linux内核的链表和散列表对于看懂Linux内核源源代码有重要的意义。原创 2011-07-14 11:37:02 · 10116 阅读 · 7 评论 -
使用call_usermodehelper在Linux内核中直接运行用户空间程序
有时,我们的内核模块或者内核线程希望能够调用用户空间的进程,如,一个内核线程想神不知鬼不觉地偷偷运行个有特权的后门程序。call_usermodehelper函数可以让我们在内核中轻松运行用户空间程序,完成任何你想要的需求。本文介绍如何使用call_usermodehelper原创 2011-07-19 21:03:50 · 19395 阅读 · 7 评论 -
编程能力层次模型
程序员的编程技能随着经验的积累,会逐步提高。我认为编程能力可以分为一些层次。 下面通过两个维度展开编程能力层次模型的讨论。 一个维度是编程技能层次,另一个维度是领域知识层次。...... 有些程序员可能把精力都花在提升编程技能上了,领域知识知之甚少,这其实在日常工作中也是极其有害的。有些需求可能早已经有了现成、开源免费的解决方案,或者只需要组合几个现有软件就可以快速搞定,而他们却不得不自己花大量时间去开发。另外,缺少领域知识,在程序出现非预期状况时,很难快速定位到问题的根源,很难解决bug。原创 2015-02-15 15:30:39 · 17967 阅读 · 11 评论 -
Ubuntu命令参考手册
本文包括两个部分, 第一部分是Ubuntu官网的Ubuntu命令技巧。 我添加、修改和补充了其中部分内容。 第二部分是我在Ubuntu上经常使用的其他常用命令。 会随时更新,以备大家查询。 Linux下常用的一些优秀软件,看我的另一篇文章《推荐一些Linux下常用的软件》http://blog.csdn.net/shendl/article/details/617340原创 2010-11-04 03:08:00 · 25486 阅读 · 32 评论 -
Git超级简明手册
Git超级简明手册,是一篇完整覆盖从git服务器搭建到使用的完整实战参考手册。一册在手,git无忧!原创 2015-12-10 12:46:28 · 7042 阅读 · 0 评论 -
软件架构设计原则和模式(上):分层架构设计
绪论本文打算探讨一下软件架构设计的一些设计原则与经过实践验证的设计模式。 前端(MVC模式)和后端(接口层-业务层-助手层)的分层设计经过了几十年大量软件的证明。分层的思想,就是每一个层次专注做一件事情。每一个层次都为上层提供服务。每一个层次对于其上层来说,都是可以复用的。分层设计的软件,结构清晰,代码各司其职,能够最大限度地重用代码。本文还给出了一套笔者使用多年的数学建模和识别领域对象的方法。原创 2016-05-23 04:29:57 · 15364 阅读 · 3 评论 -
最简单实现跨域的方法----使用nginx反向代理
跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制。 现在随着RESTFUL的流行,很多应用提供http/https接口的API,通过xml/json格式对外提供服务,实现开放架构。 Web应用也在向单页面方向发展。 越来越多的web应用现在是这样的架构: 静态单个web页面 ajax调用 RESTFUL服务 我们本可以利用各个网站提供的API,做出很多精彩的Web应用。但浏览器执行javascript时的跨域限制,原创 2015-09-14 18:54:26 · 34030 阅读 · 2 评论 -
开源项目SpringOSGINoDM—OSGI环境下使用Spring的唯一完美解决方案
开源项目SpringOSGINoDM —OSGI环境下使用Spring的唯一完美解决方案 2008年8原创 2008-08-19 23:18:00 · 7352 阅读 · 1 评论 -
JavaEE路径陷阱之getRealPath
JavaEE路径陷阱之getRealPath本文是《Java路径问题最终解决方案—可定位所有资源的相对路径寻址》一文的姐妹篇。请同时阅读该文。JavaEE程序有一大路径陷阱,那就是ServletContext的getRealPath方法。我们常常使用getRealPath(“/”)来获得Web应用程序根目录的绝对路径。这是绝原创 2006-12-03 12:17:00 · 23584 阅读 · 5 评论 -
Java路径问题最终解决方案—可定位所有资源的相对路径寻址
Java路径问题最终解决方案 —可定位所有资源的相对路径寻址前言原创 2006-12-03 01:34:00 · 47081 阅读 · 15 评论 -
驳熊节和Martin Fowler的Java消亡论!
刚刚看到熊节的一篇文章,胡说什么Java将在3-5年内消亡,Ruby将会崛起的谬论! http://blog.csdn.net/gigix/archive/2006/09/11/1210180.aspx 熊,胡说八道!java会在5年内消亡?我看,Java至少还要统制江湖10年! Ruby也不过而而。更何况Java作为一个平台,本身就可以引入更多的动原创 2006-09-14 16:18:00 · 17845 阅读 · 100 评论 -
JPDL3.1规范手册
JPDL3.1规范手册jBPM业务程序定义语言(jBPM Process Definition Language (JPDL)) Blog: http://blog.csdn.net/shendl/原创 2006-10-13 23:53:00 · 5640 阅读 · 1 评论 -
向应用程序中加入jBPM组件
本文介绍怎样把jBPM组件添加到Web应用程序中。所需要用到的资源,可以在jbpm-starters-kit-3.1.2中找到。一、首先安装jBPM数据库。jBPM是一个停止状态的组件,需要数据库表持久化保存:1)业务程序定义和业务程序实例及相关的工作流数据。保障工作流引擎的执行。2)异步系统使用数据库表来模拟消息系统的功能。需要把消息到数据库表中,由消息系统的命令执行器异步查询和执行。原创 2006-10-23 17:39:00 · 10315 阅读 · 7 评论 -
开发健壮的企业级应用的研究
开发健壮的企业级应用的研究 Research on Develop Hale Enterprise Applications 1.03版 作者: shendl_s@hotmail.com [注: 这篇文章,是我的原创。我同时也在其他网站发布了这篇文章。不要误会我掠人之美原创 2006-06-23 10:48:00 · 7213 阅读 · 10 评论 -
由操作系统的没落和虚拟机的崛起看性能和开发效率之争
由操作系统的没落和虚拟机的崛起看性能和开发效率之争 性能和开发效率之争,是编程世界恒久的话题。来自不同开发技术背景的程序员对此有不同的看法。性能和开发效率孰轻孰重,这个问题没有普遍适用的答案。对于某些要求高性能的特定应用,肯定是高性能更重要一些。但是,对于绝大部分的软件开发领域,应该来说,还是开发效率比性能更重要一些。随着CPU的发展,即使不对软件进行性能优化,也原创 2006-11-19 12:39:00 · 6735 阅读 · 33 评论 -
多核、超线程CPU时代将成就Java性能之王的地位
多核、超线程CPU时代将成就Java性能之王的地位 传统上提升CPU性能的主要手段是提高CPU的主频。但是,经过30多年的发展,CPU的主频速度已经接近物理极限,很难再提高CPU的主频。现在,CPU已经进入了超线程、多核CPU的时代。为了提高CPU的运算性能,现在只有使用具有超线程技术的多核CPU。传统的CPU,只有一个内核,这个内核也只能够同时运行一个线程。采用超线程技术原创 2006-11-19 11:58:00 · 5884 阅读 · 19 评论 -
极限编程最佳实践的深入研究
极限编程最佳实践的深入研究 目录极限编程概述... 1极限编程的力量源泉... 2极限编程的真谛... 4极限编程的假设... 4极限编程的真谛... 6极限编程的最佳实践... 11首先,是计划阶段... 11然后,是开发原创 2006-07-15 23:24:00 · 2719 阅读 · 0 评论 -
事务管理最佳实践全面解析
事务管理最佳实践全面解析 前言写作这篇文章的起因,是前一段时间,我使用Jbpm工作流引擎开发工作流管理系统的过程中,使用编程方式管理事务时遇到的问题。由于之前很长一段时间,我一直都在使用Spring和EJB容器的声明式事务管理,因此,咋一遇到Jbpm这样的编程方式管理事务的情况,一下子搞原创 2006-11-27 00:03:00 · 9814 阅读 · 12 评论 -
事务管理最佳实践多余的话之一“每次请求,一次数据库连接,一次事务”是不是金科玉律?
事务管理最佳实践多余的话之一 ----“每次请求,一次数据库连接,一次事务”是不是金科玉律?前言《事务管理最佳实践全面解析》一文发表之后,关于事务管理最佳实践,还有一些未尽之言。今天又想到一些,所以就撰写原创 2006-11-27 22:59:00 · 8851 阅读 · 0 评论 -
事务管理最佳实践多余的话之二:Transaction后缀给声明式事务管理带来的好处
事务管理最佳实践多余的话之二Transaction后缀给声明式事务管理带来的好处 前言《事务管理最佳实践全面解析》,两篇文章发表之后,关于事务管理最佳实践,我又想到了一些,就作为《事务管理最佳实践多余的话之二》的内容吧。《事务管理最佳实践多余的话之一“每次请求,一次数据库连接,一次事务”是不是金科玉律?》 Transaction后缀给声明式事务管理带来的好处良原创 2006-11-29 08:25:00 · 3727 阅读 · 0 评论 -
事务管理最佳实践多余的话之三Spring声明式事务管理出错示例与解决之道
事务管理最佳实践多余的话之三 Spring声明式事务管理出错示例与解决之道 前言今天,发现了一个以前写的使用Spring声明式事务管理的程序爆出了数据库连接错误,感觉是非常典型的一个误用Spring声明式事务管理的例子,拿出来为大家点评一下。请先阅读我之前写的关于事务管理的文原创 2006-12-01 00:21:00 · 8649 阅读 · 2 评论 -
Java路径问题最终解决方案使用演示
Java路径问题最终解决方案使用演示前言在《Java路径问题最终解决方案—可定位所有资源的相对路径寻址》一文中,我给大家提供了一个助手类ClassLoaderUtil ,和它的public static URL getExtendResource(String relativePath)方法。这个方原创 2006-12-03 14:32:00 · 4480 阅读 · 2 评论 -
测试驱动的面向接口编程的开发流程
测试驱动的面向接口编程的开发流程1. 引言 OOP面向对象编程,这个大家都没什么争议(除了那些不能算是程序员的人之外)。但是,什么是OOP面向对象编程呢,这个各人的理解就有很大的不同。有人认为,OOP面向对象编程,核心是对象Object。对象是一个封装了数据和操作的代码集合。也有人认为,OOP面向对象编程,实际应该是面向类编程。因原创 2005-11-17 23:45:00 · 2912 阅读 · 5 评论