2013年12月 ’ 的文章存档

在Linux程序中输出函数调用栈

程序发生异常时,将函数的调用栈打印出来,可以大大提高定位效率。

阅读全文

15分钟学会使用Git和远程代码库

Git是个了不起但却复杂的源代码管理系统。它能支持复杂的任务,却因此经常被认为太过复杂而不适用于简单的日常工作。让我们诚实一记吧:Git是复杂的,我们不要装作它不是。但我仍然会试图教会你用(我的)基本的Git和远程代码库干活的工作步骤,在15分钟内。
阅读全文

MySQL 加锁处理分析

本文来自:何登成的技术博客

 

一、背景

MySQL/InnoDB的加锁分析,一直是一个比较困难的话题。我在工作过程中,经常会有同事咨询这方面的问题。同时,微博上也经常会收到MySQL锁相关的私信,让我帮助解决一些死锁的问题。本文,准备就MySQL/InnoDB的加锁问题,展开较为深入的分析与讨论,主要是介绍一种思路,运用此思路,拿到任何一条SQL语句,都能完整的分析出这条语句会加什么锁?会有什么样的使用风险?甚至是分析线上的一个死锁场景,了解死锁产生的原因。
阅读全文

从Java类库看设计模式–Observer模式

很多时候,对于一个设计来说(软件上的,建筑上的,或者它他工业上的),经验是至关重要的。好的经验给我们以指导,并节约我们的时间;坏的经验则给我们以借鉴,可以减少失败的风险。然而,从知识层面上来讲,经验只是作为一种工作的积累而存在于个人的大脑中的,很难被传授或者记录。为了解决这样的问题,人们提出了所谓的模式的概念。所谓模式,是指在一个特定背景下,反复出现的问题解决方案。模式是经验的文档化。

软件模式的概念现在比较的广泛,涉及到分析,设计,体系结构,编码,测试,重构等软件构造生命期中的各个部分。这儿主要讨论的是设计模式,指的是在软件设计过程中反复出现的一些问题的解决方法了。不过我们一般在提到设计模式的时候,一般都是指GOF的经典书《Design Pattern–Elements of Reusable Object-Oriented Software》出现的23个模式,因而,它是具体的针对于面向对象软件设计过程的。
阅读全文

换个心境搞IT,在IT职场如何打拼?

 

有一个朋友问我:在公司待两年多了,升不了职怎么办?搞了两年多还是个悲催的程序猿(员),每天敲代码,改需求,解bug,晚上做梦都是代码片段,都快抑郁了。要么换工作,要么熬到上级走人,否则无望啊。好不容易工作两年,这时候走,还真有点可惜。熬着吧,又有点心不甘,迷茫啊~

我的回答:回去看几遍《肖申克的救赎》,仔细体会你就有答案了。
阅读全文

nginx实践笔记

1、开启ssi时会去解析包含的内容,不开始时则不解析。
阅读全文

https、SSL与数字证书介绍

在互联网安全通信方式上,目前用的最多的就是https配合ssl和数字证书来保证传输和认证安全了。本文追本溯源围绕这个模式谈一谈。

名词解释

首先解释一下上面的几个名词:
阅读全文

教你找出那个拖慢浏览器速度的插件

1

 
阅读全文

触屏键盘设计准则(内附绝密小抄)【译】

(Christian Holst著     Charrywang 译    Sevenshao/Crispinzhu校正  )

通常来说,人们会理所当然的认为触屏设备要比几十年的电脑鼠标和键盘直观的多。用户与触屏直接交互,缩小了用户行为与软件响应之间的距离。然而,在移动设备上——尤其是在智能手机上——打字是一件相当恐怖的事情。因为那既慢,又痛苦,而且容易出错。

阅读全文

Nginx 战斗准备 —— 优化指南

大多数的Nginx安装指南告诉你如下基础知识——通过apt-get安装,修改这里或那里的几行配置,好了,你已经有了一个Web服务器了!而且,在大多数情况下,一个常规安装的nginx对你的网站来说已经能很好地工作了。然而,如果你真的想挤压出nginx的性能,你必须更深入一些。在本指南中,我将解释Nginx的那些设置可以微调,以优化处理大量客户端时的性能。需要注意一点,这不是一个全面的微调指南。这是一个简单的预览——那些可以通过微调来提高性能设置的概述。你的情况可能不同。
阅读全文