课堂上,茂伟很骄傲地说这些内容在内部叫做“红宝书”,是自己亲身经历和实践经验。从他的讲课内容中,我也受益匪浅。的确,很多时候一句微不足道的问候,很多时候也能产生巨大的能力。

【关心组员】
  • 生日
  • 生活情况
  • 情感情况
  • 了解业余爱好和工作爱好
  • 家庭住址
  • 密切关注组员的精神状态


【帮助兄弟们】(研发类工作女孩子少,所以都称兄道弟了,请不要见怪)
  • 一起解决原本属于他的工作上的问题
  • 让兄弟们了解项目前景、团队进展、公司进展,帮兄弟们建立信息
  • 提供相亲资源
  • 实施过程中,为兄弟们把握实施进度,把关技术框架,把关核心代码逻辑
  • 提升能力,提供机会


【重视兄弟们】
  • 一起面试
  • 告诉他在团队中的重要性,他的强项
  • 跟他分享你生活的点滴
  • 跟他分享公司和团队的成长信息及近远期规划
  • 了解他们的兴趣,自己的发展意愿,提供机会给他工作中的兴趣
  • 提供机会展示他生活中的兴趣:例如各种活动


【忌】
  • 任务不分解
  • 沟通不充分
  • 贪功
  • 吝惜赞美


茂伟的课主要围绕着上面的内容展开的,具体的内容篇幅太长,只说一些简单的,作为抛砖引玉。
例如上面有一点,【了解组员的家庭住址和生日】。知道这些能干什么?其实知道这些信息很有用。例如团队出去唱K吃饭,完后大家各自回家了,下车时才发现原来另一个同事也是住同一个小区,那场景会不会有点尴尬?或者是有人喝醉了,你如果知道他住在哪里,或许你就能送他回家了。假如你知道同事的生日,那在他生日那天给他一声问候,对方就会觉得你很有人情味。
posted @ 2012-01-06 19:21 小马歌 阅读(219) | 评论 (0)编辑 收藏
 
     摘要: 一、简介和示例SWFUpload is a small JavaScript/Flash library to get the best of both worlds. It features the great upload capabilities of Flash and the accessibility and ease of HTML/CSS。官方站点:http://www.swfup...  阅读全文
posted @ 2011-12-30 20:52 小马歌 阅读(843) | 评论 (0)编辑 收藏
 
     摘要: 作者: 阮一峰日期: 2011年8月16日jQuery的开发速度很快,几乎每半年一个大版本,每两个月一个小版本。每个版本都会引入一些新功能。今天我想介绍的,就是从jQuery 1.5.0版本开始引入的一个新功能----deferred对象。这个功能很重要,未来将成为jQuery的核心方法,它彻底改变了如何在jQuery中使用ajax。为了实现它,jQuery的全部ajax代码都...  阅读全文
posted @ 2011-12-23 18:06 小马歌 阅读(288) | 评论 (0)编辑 收藏
 
from : http://www.rainweb.cn/JavaScript/message-alert/demo.html

ymPrompt消息提示组件4.0版DEMO演示

页面IFRAME:


页面文本:

页面文本1
页面文本2

页面Select选择框


更换皮肤:  修改默认配置:遮罩颜色: 遮罩透明度: 
组件调用方式1(传统参数传入方式):
示例调用方法
ymPrompt.alert('http://www.qq.com',null,null,'确认要提交吗?',handler)
ymPrompt.succeedInfo(document.getElementById('text').innerHTML,400,260,null,handler2)
ymPrompt.errorInfo('操作失败!',null,null,null,handler)
ymPrompt.confirmInfo('信息确认框功能测试',null,null,null,handler)
ymPrompt.win('<div class=\'myContent\'>普通弹出窗口</div>',300,200,'普通弹窗测试')
ymPrompt.win('http://www.qq.com',500,300,'腾讯QQ官方网站',handler,null,null,true)
组件调用方式2(JSON方式):
示例源码
ymPrompt.alert({message:'http://www.qq.com',title:'确认要提交吗?',handler:handler})
ymPrompt.alert({message:'http://www.qq.com',title:'确认要提交吗?',handler:handler})
ymPrompt.succeedInfo({message:'<br /><br />当前版本号:'+ymPrompt.version+'<br />发布日期:'+ymPrompt.pubDate,width:400,height:260,handler:handler2})
ymPrompt.errorInfo({message:'操作失败!',handler:handler})
ymPrompt.confirmInfo({message:'信息确认框功能测试',handler:handler})
ymPrompt.win({message:'<div class=\'myContent\'>普通弹出窗口</div>',width:300,height:200,title:'普通弹窗测试'})
ymPrompt.win({message:'http://www.qq.com',width:500,height:300,title:'腾讯QQ官方网站',handler:handler,iframe:true})
其他使用方式演示:
示例源码
ymPrompt.alert()
ymPrompt.alert('消息内容')
ymPrompt.alert({title:'我的标题',message:'我的内容'})
ymPrompt.alert({title:'fixPosition使用演示',message:'我会随滚动条一起滚动',fixPosition:true})
ymPrompt.alert({title:'dragOut使用演示',message:'我不能拖出到窗口可见区域以外',dragOut:false})
ymPrompt.alert({title:'autoClose使用演示',message:'程序控制关闭',autoClose:false,handler:autoClose})
ymPrompt.win({message:'<br><center>无标题栏</center>',handler:noTitlebar,btn:[['关闭我']],titleBar:false})
ymPrompt.alert({message:'不显示遮罩',title:'不显示遮罩',showMask:false})
ymPrompt.alert({message:'右下角弹出',title:'右下角弹出',winPos:'rb'})
ymPrompt.alert({message:'自定义弹出位置',title:'右下角弹出',winPos:[200,1000]})
ymPrompt.win({message:'自定义按钮',title:'自定义按钮测试',handler:testHd,btn:[['是','yes'],['否','no'],['取消','cancel']]})
组件方式及属性调用演示:
示例源码
ymPrompt.win('<div class=fmt>版本号:'+ymPrompt.version+'<br>发布日期:'+ymPrompt.pubDate+'<br>组件当前配置信息:'+json2str(ymPrompt.cfg)+'</div>',250,450)
ymPrompt.win({message:'iframe.html',width:500,height:300,title:'getPage测试',handler:handlerIframe,iframe:true})
ymPrompt.alert({message:'一秒钟后我的大小改为[400,300]',height:200,width:250});
setTimeout(function(){ymPrompt.resizeWin(400,300)},1000);
ymPrompt.alert({message:'两秒钟后自动点击确定按钮',handler:handler});setTimeout(function(){ymPrompt.doHandler('ok')},1000);
ymPrompt.alert({message:'悬浮右下角,模拟qq',fixPosition:true,winPos:'rb',showMask:false})
ymPrompt.alert({message:'英文化成功',handler:en})
ymPrompt.alert({message:'中文化成功',handler:cn})

posted @ 2011-12-23 14:37 小马歌 阅读(2522) | 评论 (0)编辑 收藏
 


默认的
new Dialog('这是一个默认对话框').show();
非模态对话框
new Dialog('非模态对话框,可以打开多个!',{modal:false}).show();
自动关闭
new Dialog('5秒后自动关闭',{time:5000}).show();
非fixed模式
new Dialog('对话框不随滚动条移动',{fixed:false}).show();
显示指定ID的内容
// 将显示本标签内的内容。
new Dialog({type:'id',value:'content-type-id'}).show();
加载一张图片
new Dialog({type:'img',value:'http://www.caixw.com/public/uploads/demo/images/300x125.gif'}).show();
加载一URL地址
new Dialog({type:'url',value:'http://www.caixw.com/public/uploads/demo/jquery/dialog/test.html'}).show();
加载一URL到iframe
new Dialog({type:'iframe',value:'http://www.caixw.com'}).show();

自定义CSS

自定义背景遮盖层
#dialog1-overlay
{
  background
:blue;
  opacity
:0.8;
  filter
:alpha(opacity=80);
}
new Dialog('自定义背景遮盖层',{id:'dialog1'}).show();
自定义内容部分背景
#dialog2 .content
{
  width
:250px;
  height
:80px;
  background
-image:url(http://www.caixw.com/public/uploads/demo/images/300x125.gif);
}
new Dialog('自定义内容部分背景',{id:'dialog2'}).show();

回调函数

show()函数
new Dialog('show()回调函数'
   
{beforeShow:function(){alert('before show'),return true},afterShow:function(){alert('after show');}})
   
.show();
hide()函数
dlg = new Dialog('hide()回调函数'
   
{beforeHide:function(){alert('before hide'),return true},afterHide:function(){alert('after hide');}})
   
.show();
dlg
.hide();
    

close()函数
new Dialog('close()回调函数'
   
{beforeClose:function(){alert('before close'),return true},afterClose:function(){alert('after close');}})
   
.show();
posted @ 2011-12-23 13:59 小马歌 阅读(1941) | 评论 (0)编辑 收藏
 

1.显示消耗内存/CPU最多的10个进程

ps aux | sort -nk +4 | tail ps aux | sort -nk +3 | tail

2.查看Apache的并发请求数及其TCP连接状态

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

3.找出自己最常用的10条命令及使用次数(或求访问最多的ip数)

sed -e 's/| //n/g' ~/.bash_history |cut -d '' -f 1 | sort | uniq -c | sort -nr | head

4.日志中第10个字段表示连接时间,求平均连接时间

cat access_log |grep “connect cbp” |awk‘BEGIN{sum=0;count=0;}{sum+=$10;count++;}END{printf(sum=%d,count=%d,avg=%f/n”,sum,count, sum/count)}

5.lsof命令

lsof abc.txt 显示开启文件abc.txt的进程 lsof -i :22 知道22端口现在运行什么程序 lsof -c abc 显示abc进程现在打开的文件 lsof -p 12 看进程号为12的进程打开了哪些文件

6.杀掉一个程序的所有进程

pkill -9 httpd killall -9 httpd

注意尽量不用-9,数据库服务器上更不能轻易用kill,否则造成重要数据丢失后果将不堪设想。

7.rsync命令(要求只同步某天的压缩文件,而且远程目录保持与本地目录一致)

/usr/bin/rsync -azvR –password-file=/etc/rsync.secrets `find . -name “*$yesterday.gz” -type f` storage@192.168.2.23::logbackup/13.21/

8.把目录下*.sh文件改名为*.SH

find . -name "*.sh" | sed 's//(.*/)/.sh/mv /0 /1.SH/' |sh find . -name "*.sh" | sed's//(.*/)/.sh/mv & /1.SH/'|sh (跟上面那个效果一样)

9.ssh执行远程的程序,并在本地显示

ssh -n -l zouyunhao 192.168.2.14 "ls -al /home/zouyunhao"

10. 直接用命令行修改密码

echo "zouyunhaoPassword" |passwd –stdin zouyunhao   ssh-keygen ssh-copy-id -i~/.ssh/id_rsa.pub user@remoteServer

12.以http方式共享当前文件夹的文件

$ python -m SimpleHTTPServer 在浏览器访问http://IP:8000/即可下载当前目录的文件。

13.shell段注释

:<<'echo hello,world!'

14.查看服务器序列号

dmidecode |grep "Serial Number"

(查看机器其他硬件信息也可用这个命令)

15.查看网卡是否有网线物理连接

/sbin/mii-tool
posted @ 2011-12-21 17:17 小马歌 阅读(174) | 评论 (0)编辑 收藏
 
     摘要: 1、配置java环境(详见在linux下安装java)2、安装mysql如果没有安装mysql的话可以快速安装Mysql 5.1.36 auto-install按照以上方法即可快速安装一般我习惯将脚本全部放入/usr/local/src/scripts中# chmod +x mysql_5.1.36.sh # ./mysql_5...  阅读全文
posted @ 2011-12-21 15:29 小马歌 阅读(1493) | 评论 (1)编辑 收藏
 
一.安装nagios这里不做说明
1.nagios map显示出不来,要装GD 和GD-DEV*  然后再重新编译nagios,要么就一开始就装好。
二.nginx部分
1.安装
2.配置部分,nginx不能执行外部程序,所以我们要用fastcgi协议来调用外部程序。
Nginx并不提供支持对外部程序的直接调用或者解析(所以缺少像apache里的mod_php这样的模块),所有的外部程序(包括PHP)必须通过fastcgi接口来调用,在Linux下接口是socket (文件socket或者Internet socket)。所以为了调用CGI程序,我们需要一个fastcgi的wrapper,这个wrapper绑定在某个固定socket上(比如端口或者文件socket),当nginx将CGI请求发送给这个socket的时候,wrapper接纳请求并fork一个新的线程,这个线程调用外部的程序或者解释器处理脚本并读取返回值,而wrapper再将返回的数据(网页或者图片等)通过fastcgi将数据通过那个固定的socket传递给nginx
目前有网上流行的两种fastcgi管理器,perl-cgi和spwan-cgi,用spwan-cgi启动php部分
例:spwan-cgi -a 127.0.0.1 -p  9000 -f /usr/local/php-cgi  -C 20
这里我们也可以用-s 参数来启用sock通信,例:unix:/var/run/nginx.sock
命令用法可以用--help来查看,然后再nginx.conf写入
location ~ \.php$ {
            root           /usr/local/nagios/share/;
           fastcgi_pass    127.0.0.1:9000;
          # fastcgi_pass unix:/var/run/nagios.sock;
           fastcgi_index  index.php;
           fastcgi_param  SCRIPT_FILENAME /usr/local/nagios/share/$fastcgi_script_name;
           include        fastcgi_params;
        }
把所有php结尾的访问交给php来处理。
下面是perl-cgi的内容,它也是根据fastcgi协议写的
#!/usr/bin/perl
use FCGI;
#perl -MCPAN -e 'install FCGI'
use Socket;
#this keeps the program alive or something after exec'ing perl scripts
END() { } BEGIN() { }
*CORE::GLOBAL::exit = sub { die "fakeexit\nrc=".shift()."\n"; }; eval q{exit}; if ($@) { exit unless $@ =~ /^fakeexit/; } ;
&main;
sub main {
                #$socket = FCGI::OpenSocket( ":3461", 10 ); #use IP sockets
                $socket = FCGI::OpenSocket( "/var/run/nagios.sock", 10 ); #use UNIX sockets - user running this script must have w access to the 'nginx' folder!!
                $request = FCGI::Request( \*STDIN, \*STDOUT, \*STDERR, \%ENV, $socket );
                if ($request) {request_loop()};
                        FCGI::CloseSocket( $socket );
}
sub request_loop {
                while( $request->Accept() >= 0 ) {
                   #processing any STDIN input from WebServer (for CGI-GET actions)
                   $env = $request->GetEnvironment();
                   $stdin_passthrough ='';
                   $req_len = 0 + $ENV{CONTENT_LENGTH};
                   if ($ENV{REQUEST_METHOD} eq 'GET'){
                                $stdin_passthrough .= $ENV{'QUERY_STRING'};
                        }
                        #running the cgi app
                        if ( (-x $ENV{SCRIPT_FILENAME}) && #can I execute this?
                                 (-s $ENV{SCRIPT_FILENAME}) && #Is this file empty?
                                 (-r $ENV{SCRIPT_FILENAME})     #can I read this file?
                        ){
                                #http://perldoc.perl.org/perlipc.html#Safe-Pipe-Opens
                open $cgi_app, '-|', $ENV{SCRIPT_FILENAME}, $stdin_passthrough or print("Content-type: text/plain\r\n\r\n"); print "Error: CGI app returned no output - Executing $ENV{SCRIPT_FILENAME} failed !\n";
                                if ($cgi_app) {print <$cgi_app>; close $cgi_app;}
                        }
                        else {
                                print("Content-type: text/plain\r\n\r\n");
                                print "Error: No such CGI app - $req_len - $ENV{CONTENT_LENGTH} - $ENV{REQUEST_METHOD} - $ENV{SCRIPT_FILENAME} may not exist or is not executable by this process.\n";
                        }
                }
}
用一个脚本启动
#!/bin/bash
## start_nginx_cgi.sh: start nginx cgi mode
## ljzhou, 2007.08.20
PERL="/usr/bin/perl"
NGINX_CGI_FILE="/usr/local/nagios/bin/perl-cgi.pl"
#bg_num=`jobs -l |grep "NGINX_CGI_FILE"`
#PID=`ps aux|grep "perl-cgi"|cut -c10-14|xargs kill -9`
PID=`ps aux|grep 'perl-cgi'|cut -c10-14|sed -n "1P"`
echo $PID
sockfiles="/var/run/nagios.sock"
kill -9 $PID
$PERL $NGINX_CGI_FILE &
sleep 3
`chown nobody.nobody $sockfiles`
 然后再加如下配置到nginx
location ~ \.cgi$ {
     rewrite ^/nagios/cgi-bin/(.*)\.cgi /$1.cgi break;
     fastcgi_pass unix:/var/run/nagios.sock;
     fastcgi_index index.cgi;
     fastcgi_param SCRIPT_FILENAME /usr/local/nagios/sbin$fastcgi_script_name;
     fastcgi_param HTTP_ACCEPT_LANGUAGE en_US;
     include fastcgi_params;
  }
     location ~ \.pl$ {
     fastcgi_pass  unix:/var/run/nagios.sock;
     fastcgi_index index.pl;
     fastcgi_param SCRIPT_FILENAME  /usr/local/nagios/sbin$fastcgi_script_name;
     include       fastcgi_params;
  }
到处为止OK
posted @ 2011-12-17 15:20 小马歌 阅读(530) | 评论 (0)编辑 收藏
 
     摘要: 1.缘起关于PHP,很多人的直观感觉是PHP是一种灵活的脚本语言,库类丰富,使用简单,安全,非常适合WEB开发,但性能低下。PHP的性能是否真的就 如同大家的感觉一样的差呢?本文就是围绕这么一个话题来进行探讨的。从源码、应用场景、基准性能、对比分析等几个方面深入分析PHP之性能问题,并通过真 实的数据来说话。2.从原理分析PHP性能从原理分析PHP的性能,主要从以下几个方面:内存管理、变量、函数、...  阅读全文
posted @ 2011-12-17 11:26 小马歌 阅读(251) | 评论 (0)编辑 收藏
 
Bftpd是一款FTP服务器,其可以广泛应用于Linux、BSD/OS、FreeBSD、Solaris、DG-UX以及Tru64平台。Bftpd主旨成为一款高速、小巧而且配置方便的服务器,我们可以使用其默认的配置选项,也可以通过交叉编译将其嵌入在我们不同的应用平台上。


posted @ 2011-12-16 14:39 小马歌 阅读(256) | 评论 (0)编辑 收藏
仅列出标题
共95页: First 上一页 43 44 45 46 47 48 49 50 51 下一页 Last