学习Linux需要知道的技巧
在Unix/Linux下,最有效率技巧的不是操作图形界面,而是命令行操作,因为命令行意味着自动化.下面是一个有点长的列表,正如作者所说,你并不需要知道所有的这些东西,但是如果你还在很沉重地在使用Linux的话,这些东西都值得你看一看基础学习 Bash 。你可以man bash来看看bash的东西,并不复杂也并不长。你用别的shell也行,但是bash是很强大的并且也是系统默认的。(学习zsh或ts
关于Shell 的几个冷门数据
Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。这篇文章向大家介绍Shell一些非广为人知、但却实用有趣的知识,权当品尝shell主食后的甜点吧。先科普几个你可能不知道的事实:Shell几乎是和Unix操作系统一起诞生,第一个Unix Shell是肯·汤普逊(Ken Thompson)以Multics上的Shell为模
编程能力与年龄成反比吗
最近我看到一篇老的论文,主要是关于编程能力和年龄关系的,但是也一定会有很多人都会找出各种理由来论证这篇论文的是错的,无所谓了,我把这篇文章送给那些和我一样准备为技术和编程执着和坚持的人。论文首先,我们先来看一篇论文《Is Programming Knowledge Related to Age?》,这篇论文是两个北卡罗莱纳州立大学计算机科学系的两个人Patrick Morrison 和 Emers
Mysql使用kill命令解决死锁问题
在使用mysql运行某些语句时,会因数据量太大而导致死锁,没有反映。这个时候,就需要kill掉某个正在消耗资源的query语句即可, KILL命令的语法格式如下:1 KILL [CONNECTION | QUERY] thread_id每个与mysqld的连接都在一个独立的线程里运行,您可以使用SHOW PROCESSLIST语句查看哪些线程正在运行,并使用KILL thread_id语句终止一个
简单又强大的SHELL
阅读以下部分前,强烈建议读者打开一个shell实验,这些都不是shell教科书里的大路货哦:!$!$是一个特殊的环境变量,它代表了上一个命令的最后一个字符串。如:你可能会这样:1 $mkdir mydir2 $mv mydir yourdir3 $cd yourdir可以改成:1 $mkdir mydir2 $mv !$ yourdir3 $cd !$sudo !!以root的身份执行上一条命令
有关代码执行效率提升的小例子
要调优性需要找到程序中的Hotspot,也就是被调用最多的地方,这种地方,只要你能优化一点点,你的性能就会有质的提高。在这里我给大家举三个关于代码执行效率的例子(它们都来自于网上)第一个例子PHP中Getter和Setter的效率(来源reddit)这个例子比较简单,你可以跳过。考虑下面的PHP代码:我们可看到,使用Getter/Setter的方式,性能要比直接读写成员变量要差一倍以上。这个并没有
这样可以写出无法维护的代码
我把文章节选了一些,也并没有完全翻译,简译一下,也加入了一些自己的调侃。对于有下面这些编程习惯的朋友,请大家对号入座。另外,维护程序的朋友们,你们死定了!!woodpeckerIf builders built buildings the way programmers write programs, then the first woodpecker that came along would
FACEBOOK 的系统架构
Web 前端是由 PHP 写的。Facebook 的 HipHop 会把PHP转成 C++ 并用 g++编译,这样就可以为模板和Web逻贺业务层提供高的性能。业务逻辑以Service的形式存在,其使用Thrift 。这些Service根据需求的不同由PHP,C++或Java实现(也可以用到了其它的一些语言……)用Java写的Services没有用到任何一个企业级的应用
架构师给程序员的一封信
下面的邮件是某Architect发给他的Engineering团队的,我觉得挺不错的,我相信我们所有的程序员都能从中学到很多东西。下面是这封邮件——每次当我开始做新的东西是我就会很兴奋。就算在软件圈里做了20年以后,每当开始新的旅程里,我都觉得我心中有一些东西不吐不快。这是我们大家一起的旅程。我强烈地相信我们详细规划的过程是很有乐趣的,富有挑战的和丰富多彩的。我想让这个旅程让你们难忘,并且能增添你
linux用户和组管理常见命令
本文总结了一些linux用户和组管理常见命令。供大家参考,具体如下:1、用户隶属于用户组的。2、用户与用户组配置文件1)用户组配置文件/etc/group第一列:用户组的组名第二列:组密码(真正的密码存储在了gshadow中)第三列:用户组组ID,用户组唯一标识 组ID为0的是超级用户组 组
C技巧:结构体参数转成不定参数
下面这段程序是一个C语言的小技巧,其展示了如何把一个参数为结构体的函数转成一个可变参数的函数,其中用到了宏和内建宏“__VA_ARGS__”,下面这段程序可以在GCC下正常编译通过:1#include <stdio.h>23#define func(...) myfunc((struct mystru){__VA_ARGS__})4 5struct mystru { cons
TWITTER的禁用口令
打开Twitter的注册页面,https://twitter.com/signup,查看一下源码,你会看到一个很长的禁用口令列表(见本文最下面),其中的某些口令的确很雷人。其中的某些口令需要向你解释一下:ncc1701 这是星际迷航中的战舰号。thx1138 这是乔治卢卡斯的第一个电影,1971年,其学生时代的作品。qazwsx 这是键盘的布局顺序键。666666 这是6个67777777 这是7
MySQL的版本以及版本号
针对不同的用户, MySQL 分为两个版本:MySQL Community Server(社区版):该版本完全免费,但是官方不提供技术支持。MySQL Enterprise Server(企业版):该版本能够以很高的性价比为企业提供数据仓库应用,支持 ACID 事物处理,提供完整的提交、回滚、崩溃恢复和行级锁定功能,但是该版本需要付费使用,官方提供电话技术支持。注意:MySQL Cluster 主
几个超级实用的css代码片段
1、伸展一个元素到窗口高度 在具体场景中,你可能想要将一个元素伸展到窗口高度,基本元素的调整只能调整容器的大小,因此要使一个元素伸展到窗口高度,我们需要伸展顶层元素:html和body:html, body { height: 100%;} 然后将100%应用到任何元素的高:div { height: 100%;}2、只在一边或两边
面试题:布尔变量
布朗变量的编程题
C语言和SH脚本的杂交代码
在网上看到了一个把 C语言和bash杂并起来的例子,这个示子如下所示。在下面这个例子中,我们把脚本用#if 0这个预编译给起来,这样就不会让其编译到C语言中了。1 #if 02 echo "Hello from bash!"3 exit4 #endif5 #include <stdlib.h>6 #include <stdio.h>7 int main(
程序命名的一些提示
一个正确的命名可以让你更容易地理解代码的程序,好的命名可以消除二义性,消除误解,并且说明真实的意图,甚至可以让你有清新的气息以让你更能吸引异性。;-)方法,类和变量正确的名字可以让你的程序顾名思义,下面是一些提示:不要使用”ProcessData()“这样的命名你如果在你的程序生涯中使用这样的函数名,那么这意味着你将是一个不合格的程序员而会被淘汰或解雇。请明确实际的功能。比如:ValidateUs
各种流行的编程风格
在过去的N年中,我遇到了很多使用囧然不同风格的开发者,下面是我所知道的一些,你还知道其它的吗?散弹枪编程这种编程风格是一种开发者使用非常随意的方式对待代码。“嗯,这个方法调用出错了……那么我会试着把传出的参数从 false 变成 true!”,当然依然出错,于是我们的程序员会这样:“好吧,那我就注释掉整个方法吧”,或是其它更为随意的处理方式,直到最后让这个调用成功。或是被旁边的某个程序员指出一个正
程序员的相关笑话(一)
问答Q:你是怎么区分一个内向的程序员和一个外向的程序员的?A:外向的程序员会看着你的鞋和你说话时。Q:为什么程序员不能区分万圣节和圣诞节?A:这是因为Oct 31 == Dec 25!(八进制的31==十进制的25) 刹车失灵有一个物理学家,工程师和一个程序员驾驶着一辆汽车行驶在阿尔卑斯山脉上,在下山的时候,忽然,汽车的刹车失灵了,汽车无法控制地向下冲去,眼看前面就是一个悬崖峭壁,但是很
如何使用PYTHON操作摄像头
用过USB摄像头的都知道,你需要使用鼠标来操作它,比如截个图,录个像什么的,要点N次鼠标,对于我们那些不喜欢多次点击鼠标的人来说,这是一件很boring的事情,所以,本文将教你如何使用Python来操作摄像头。这里,我们需要三个Python库: VideoCapture, PIL 和 pygame。使用这三个库你可以非常容易的编写一个摄像头程序。之所以使用pygame,其目的就是因为这