自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

【良少课堂】

余好读书,乐思善疑。微信公众号:liangshaoclassroom

原创 配置国内的pip源以提高使用pip安装python软件包的速度

python安装软件包的常用工具是pip。 但是,最近用pip安装软件包,速度实在太慢了。有时根本无法成功安装软件包。 解决这个问题的方法,就是配置使用国内的pip源,这样就能大大提高pip安装软件包的速度。 如果是临时需要使用国内的源,可以在pip命令中添加 -i https://m...

2020-05-24 19:27:50 141 0

原创 用Go替代Python在生产环境中进行数据分析

Python 是执行数据分析工作的神器。在探索性的数据分析场景下,使用 Python 开发程序非常适合。但 Python 的运行效率太低,建议用 Go 替代 Python 在生产环境中进行数据分析。

2020-05-10 23:09:34 884 3

原创 从每个Python文件快速得到项目根目录的绝对路径

路径问题 开发程序时,如果写死各类资源文件的路径,那么如果部署环境中的路径和开发环境不同,程序就无法正确工作。 为了解决这个问题,需要动态获取程序中各类资源的绝对路径。一般资源文件是放在项目根目录下的一些子目录中的。 因此,只要能够动态得到项目根目录的绝对路径,就能准确定位各类资源文件。 ...

2020-05-05 20:37:48 227 0

原创 Go语言获取程序各类资源的绝对路径的方法

路径问题 开发程序时,如果写死各类资源文件的路径,那么如果部署环境中的路径和开发环境不同,程序就无法正确工作。 为了解决这个问题,需要动态获取程序中各类资源的绝对路径。这样,不论程序被部署在什么地方,都可以正确读取各类资源文件。 各种编程语言,都有一些技巧可以获取程序各类资源的绝对路径的方法...

2020-05-03 18:34:33 856 0

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

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

2016-05-23 04:29:57 12637 2

原创 用Redis轻松实现秒杀系统

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

2016-04-08 01:03:49 114665 52

原创 Excel的数据类型转换方法

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

2016-03-29 16:21:21 10677 1

原创 Git超级简明手册

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

2015-12-10 12:46:28 6334 0

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

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

2015-09-14 18:54:26 32040 2

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

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

2015-08-12 13:17:10 8006 0

原创 编程能力层次模型

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

2015-02-15 15:30:39 16485 11

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

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

2014-12-08 10:25:26 8379 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 11645 0

转载 qemu虚拟机与外部网络的通信

一、基本概念为了使虚拟机能够与外界通信,Qemu需要为虚拟机提供网络设备。Qemu支持的常用网卡包括NE2000、rtl8139、pcnet32等。命令行上用-net nic为虚拟机创建虚拟机网卡。例如,qemu的命令行选项                            -net nic,...

2013-07-25 14:03:56 7134 1

转载 Git常用命令备忘

from  http://robbinfan.com/blog/34/git-common-commandGit配置git config --global user.name "robbin" git config --global user.email "fa...

2013-03-06 15:06:04 5795 0

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

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

2013-02-03 01:00:55 15681 8

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

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

2012-09-09 18:07:43 5895 0

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

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

2012-09-09 15:03:47 21252 0

原创 构建自己的debian软件包仓库

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

2012-09-02 16:24:21 9446 0

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

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

2012-05-22 18:23:54 17705 1

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

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

2012-03-22 20:31:10 67196 17

转载 Linux防火墙应用珠玑

广为人知的iptables命令行Netfilter作为Linux内置的主机防火墙,它可以使用iptables命令处理IPv4协议,也可以使用ip6tables命令处理IPv6协议。在iptables之前,Linux 2.2中使用ipchains来配置防火墙,Linux 2.0中则使用ipfwadm...

2012-01-21 11:12:35 5396 0

转载 Google C++ 风格指南 - 中文版

from    http://code.google.com/p/google-styleguide/  版本:3.133原作者:Benjy WeinbergerCraig SilversteinGregory EitzmannMark MentovaiTashana Landr

2011-09-09 09:51:21 14285 3

转载 外汇储备不是中国人的难道是火星人的?

from http://duanhongbin.blog.sohu.com/179657358.html      近日,外汇局发布《外汇储备热点问答(二)》,外汇局在问答中否认了“外储是老百姓血汗钱”的说法,称外储形成过程中,企业和个人是将外汇卖给国家并获得等值人民币,交易出于

2011-07-30 10:26:30 3130 3

原创 C99的新关键字_Bool

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

2011-07-19 21:32:43 5360 1

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

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

2011-07-19 21:03:50 16635 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 3085 2

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

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

2011-07-14 11:37:02 9744 7

原创 虚拟机活迁移揭秘

前几天有个朋友问我vmware虚拟机活迁移后台是怎样实现的。我给他讲解了KVM活迁移的原理。今天就在这里写出来分享。 vmware是闭源的,因此无从知道它的活迁移究竟是怎么做的。但是KVM的功能比vmware并不少,也实现了活迁移。Vmware的活迁移应该在原理上和KVM相同吧

2011-05-10 19:59:00 9582 14

原创 进程是准虚拟化的虚拟机—容器虚拟化的原理

<br /> <!-- @page { margin: 2cm } P { margin-bottom: 0.21cm } H1 { margin-bottom: 0.21cm } H1.western { font-family: ...

2011-05-06 09:55:00 9670 34

原创 遍历Linux kernel的链表时删除元素的方法

内核的链表list_head设计相当巧妙。今天我说一下对list_head链表的遍历时如何删除元素。         链表遍历时,如果删除当前元素,一般都是会出错的。在所有语言的各种库中的链表都是如此。list_head也一样。       如,在java的遍历中删除当前元素,会

2011-05-05 19:10:00 6412 0

原创 Linux Mount NTFS分区造成的权限问题的解决方案

本文介绍了正确mount NTFS格式分区的配置方法。 默认的配置会给NTFS赋上不正确的权限,影响使用。

2011-03-31 11:41:00 10565 1

原创 构建一个分布式操作系统的简单方案—答陈硕的“分布式系统中的进程标识”一文

本文提出了构建一个分布式操作系统的简单方案。核心是使用ssh的强大能力,构建一个简单、安全、灵活、高效的分布式操作系统!并且没有单点失效的问题。注意,是通用的分布式操作系统,而不是专用的分布式系统。

2011-03-29 16:20:00 8921 57

原创 “三峡大坝能防万年一遇的洪水”,”中国反应堆厂房抗万年一遇地震“?

2003年,“三峡大坝能防万年一遇的洪水”,2007年,“大坝能防千年一遇的洪水”,2008年,“大坝能防百年一遇的洪水”,2010年,“大坝蓄洪能力有限,不能把希望全部寄托在大坝上”,以上四种说法都来自于权威媒体。从“万”到“千”到“百”到“有限”,三峡把“牛皮吹破了吗”?昨日,三峡大坝方面在接...

2011-03-18 14:03:00 6483 16

原创 福岛核事故和切尔诺贝利核事故的比较

    让我们看看7级核事故:切尔诺贝利核事故的情况 切尔诺贝利核事故来自 http://www.hudong.com/wiki/%E5%88%87%E5%B0%94%E8%AF%BA%E8%B4%9D%E5%88%A9%E6%A0%B8%E4%BA%8B%E6%95%85切尔诺贝利核事故 - 概...

2011-03-14 16:01:00 8411 4

原创 Pydev下django开发环境的安装方法

<br /> 安装pydev插件  pydev 是 Eclipse的一个插件,是最好的Python开发工具,还支持django。<br />    更新网址:http://pydev.org/updates         <br />   <br /&g...

2011-03-14 12:33:00 7919 0

转载 Linux内核代码风格

                              Linux内核代码风格                                                                                                          ...

2011-03-08 10:27:00 12568 5

原创 Unix编程哲学和软件设计方法

      Unix编程哲学: 1,模块原则:使用简洁的接口拼合简单的部件。2,清晰原则:清晰胜于机巧。3,组合原则:设计时考虑拼接组合。4,分离原则:策略同机制分离,接口同实现引擎分离。5,简洁原则:设计要简洁,复杂度能低则低。6,吝啬原则:除非确无它法,不要编写庞大的程序。7,透明性原则:设计...

2011-03-02 23:06:00 2757 4

原创 Windows下开发中遇到问题的解决方案汇总

1,Visual Studio中报这个错误:Project : error PRJ0002 : Error result 31 returned from 'C:/Program Files/Microsoft SDKs/Windows/v6.0A/bin/mt.exe'.如下方

2011-02-17 10:57:00 5224 3

原创 创建和使用本地ubuntu source镜像服务器

ubuntu发行版光盘中都只有少数常用软件包。ubuntu上要安装的软件,常常需要到ubuntu源服务器上下载。 使用如下命令可以搜索和安装可用的软件包。 apt-cache search packageName sudo apt-get install packageName ...

2011-02-10 13:53:00 5618 1

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