【良少的专栏】

余好读书,乐思善疑。有过目不忘之能,亦有掩卷即忘之病,故尝攥文以记之。博客地址:https://github.com/shendl1978/blog/wiki...

排序:
默认
按更新时间
按访问量

软件架构设计原则和模式(上):分层架构设计

绪论本文打算探讨一下软件架构设计的一些设计原则与经过实践验证的设计模式。 前端(MVC模式)和后端(接口层-业务层-助手层)的分层设计经过了几十年大量软件的证明。分层的思想,就是每一个层次专注做一件事情。每一个层次都为上层提供服务。每一个层次对于其上层来说,都是可以复用的。分层设计的软件,结构清晰...

2016-05-23 04:29:57

阅读数:8855

评论数:2

用Redis轻松实现秒杀系统

秒杀系统,是典型的短时大量突发访问类问题。对这类问题,有三种优化性能的思路: 写入内存而不是写入硬盘 异步处理而不是同步处理 分布式处理 用上这三招,不论秒杀时负载多大,都能轻松应对。更好的是,Redis能够满足上述三点。因此,用Redis就能轻松实现秒杀系统。 用我这个方案,无论是电商平台特价秒...

2016-04-08 01:03:49

阅读数:64326

评论数:25

Excel的数据类型转换方法

最近在用程序读写excel文件,碰到了一些excel单元格的数据类型的相关问题。总结了几个小技巧。对于用程序操作excel,或者需要用excel函数的朋友会有一些助益。

2016-03-29 16:21:21

阅读数:6474

评论数:0

本博客在2016/02/28被入侵了

本博客在2016/02/28被入侵了本博客在2016/02/28被入侵了。我不清楚黑客到底用我的帐号做了什么。无论做过什么,都与我无关。

2016-02-29 23:34:56

阅读数:3342

评论数:0

Git超级简明手册

Git超级简明手册,是一篇完整覆盖从git服务器搭建到使用的完整实战参考手册。一册在手,git无忧!

2015-12-10 12:46:28

阅读数:5285

评论数:0

最简单实现跨域的方法----使用nginx反向代理

跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制。 现在随着RESTFUL的流行,很多应用提供http/https接口的API,通过xml/json格式对外提供服务,实现开放架构。 Web应用也在向单页面方向发展。 越...

2015-09-14 18:54:26

阅读数:29477

评论数:2

关系型数据库表结构的两个设计技巧

设计关系型数据库的表时,需要给表添加一个ID字段(自增字段,或者uuid字段)和一个version字段(数值类型)。ID字段作为物理主键,用于保证记录的不可重复性和用作外键关联。 version字段用于实现乐观锁,提供比悲观锁更好的性能。特别是对于UI显示并可能出现并发更新的数据,...

2015-08-12 13:17:10

阅读数:6713

评论数:0

编程能力层次模型

程序员的编程技能随着经验的积累,会逐步提高。我认为编程能力可以分为一些层次。 下面通过两个维度展开编程能力层次模型的讨论。 一个维度是编程技能层次,另一个维度是领域知识层次。 ...... 有些程序员可能把精力都花在提升编程技能上了,领域知识知之甚少,这其实在日常工作中也是极其有害的。有些...

2015-02-15 15:30:39

阅读数:14662

评论数:10

物理学和天文学的最新进展

科幻大片《星际穿越》正在热映中,作为一名经常看科普图书的青年,在这里给大家汇报一下近几年物理学和天文学的最新进展。由于本人是物理学和天文学小白,本文定有很多错误,请大家原谅。主要介绍宇宙年龄,宇宙半径,多重宇宙,宇宙最终命运等最新发现。

2014-12-08 10:25:26

阅读数:7312

评论数:0

修改、重新生成和安装srpm源码包

RHEL/CentOS/Fedora/Suse等Linux发行版都使用rpm包作为软件包格式。另外还有一个相关的格式srpm包(后缀是.src.rpm),它包含了源代码,可以用它重新生成rpm包。如果rpm包有问题,我们可以去http://ftp.redhat.com/redhat/linux/e...

2014-02-26 18:11:12

阅读数:10350

评论数:0

QT4项目移植到QT5项目的方法

QT4项目在QT5中打开,常常会报告一些莫名奇妙的错误。QLabel,QApplication,QPushButton等常用的头文件都报告找不到。       到qt的安装目录中一看,却是存在的。这是怎么回事呢?       原来,QT5中很多常用的QT头文件都被移到core gui widget...

2013-02-03 01:00:55

阅读数:14351

评论数:8

处理空格的就地字符串处理函数的实现

处理空格的就地字符串处理函数的实现

2012-09-09 18:07:43

阅读数:5324

评论数:0

把物理机转换为虚拟机的简单方法

把物理机转换为虚拟机简单方法

2012-09-09 15:03:47

阅读数:16425

评论数:0

构建自己的debian软件包仓库

by http://blog.csdn.net/shendl         deb是Debian软件包格式,文件扩展名为.deb,跟Debian的命名一样,deb也是因DebraMurdock(Debian创始人IanMurdock的前妻)而得名。        Debian包是Unixar的标...

2012-09-02 16:24:21

阅读数:8340

评论数:0

Python怎样得到资源文件的绝对路径

路径有两种,相对路径和绝对路径。  对于Unix-Like系统来说,绝对路径就是以/开头的路径。  相对路径就是不以/开头的路径。          其实,操作系统中实际只有一种路径,那就是绝对路径。   相对路径,只是程序自己帮我们修改为绝对路径了。          操作系统的程序运行器利用环...

2012-05-22 18:23:54

阅读数:16286

评论数:1

在linux上用dd命令实现ghost功能

ghost和g4l        安装操作系统,速度太慢,整个过程太冗长乏味了。       安装过程中,需要回答若干问题,系统需要安装无数个软件,创建和写入无数的文件。因为涉及到大量的文件定位和读写,速度一定是快不起来的。        Windows下我们常常使用ghost系统来备...

2012-03-22 20:31:10

阅读数:61717

评论数:17

C99的新关键字_Bool

<!-- @page {margin:2cm} p {margin-bottom:0.21cm} a:link {} -->

2011-07-19 21:32:43

阅读数:5141

评论数:1

使用call_usermodehelper在Linux内核中直接运行用户空间程序

有时,我们的内核模块或者内核线程希望能够调用用户空间的进程,如,一个内核线程想神不知鬼不觉地偷偷运行个有特权的后门程序。call_usermodehelper函数可以让我们在内核中轻松运行用户空间程序,完成任何你想要的需求。本文介绍如何使用call_usermodehelper

2011-07-19 21:03:50

阅读数:14450

评论数:7

又见木村拓哉

<!-- @page {margin:2cm} p {margin-bottom:0.21cm} --> <!-- @page {margin:2cm} p {margin-bottom:0.21cm} a:link {} --

2011-07-15 16:24:43

阅读数:2972

评论数:2

Linux内核中链表和散列表的实现原理揭秘

inux内核的实现,大量使用了数据结构,包括了数组、链表和散列表。其中用的最多的是双向循环链表。Linux内核使用的是自己定义的链表和散列表,简单而高效,使用方法也非常的别具一格。研究Linux内核的链表和散列表对于看懂Linux内核源源代码有重要的意义。

2011-07-14 11:37:02

阅读数:9460

评论数:7

提示
确定要删除当前文章?
取消 删除
关闭
关闭