作者归档:xinlu

打造一支自驱动力强的团队

 普通团队与自驱动团队的区别?
  团队是什么,团队是由基层和管理层人员组成的一个共同体,它合理利用每一个成员的知识和技能协同工作,解决问题,达到共同的目标;也是指一些才能互补、团结和谐并为负有共同责任的统一目标和标准而奉献的一群人。由此可见,团队是一个自律、有思路,并且有目标的组织。
  那么它与自驱动的团队有什么区别?用火车与动车比喻再合适不过了。一般的团队都像火车组,由火车头牵引全组一起动起来;而动车组则是不同的,动车组的每一节车箱都是一个独立体,每一组都有驱动的动力,跑起来时速超前,这也是自驱动团队带有的特征,每一个团队的成员都能自我驱动,自我约束,自我拼搏完成团队的任务。
  为什么有些团队能达到自我驱动的状态而有些团队却没有呢?显然而见,这是建立在信任的基础上,在信任的氛围中去促使团队完成这样的一件事。

  如何去打造一个自驱动的团队?
  一、选人。选人在建设团队中一个持续的过程,也是自驱动团队建设中非常重要的一个部分。从能力模型去选人,一般看重的是专业技能、团队合作、务实诚信、教练育人与创新思维;当然,除此外,选人最重要的是还是看人品、心态、价值观,而非过分的重视知识、学历和文凭。
  二、用人。在以才服众的当下,80、90后的就业者不畏权的情况下,职位高者指挥与操纵一切的时期已过了,要让听见炮火的人指挥战斗,让在一线战斗的战士指挥现场。其次便是要用比自己能力强的人,这世界上永远都存在比自己能力强的人,要敢于用这一类能人。最后便是要知人善用,了解团队每一位建设者,用其长处,这样对方也会深怀知遇之恩,成为自驱动团队优秀的一员。
  三、沟通。沟通是人与人之间、人与群体之间思想与感情的传递和反馈的过程,以求思想达成一致和感情的通畅。每一种沟通都要有美好的感觉,学会细心倾听、清楚表达与准确不误反馈,自驱动团队的高效沟通都是这样形成的。
  四、协作。协作与合同有所不同,协作带有同道而行的,兴趣相投,相向相行的协作精神,自驱动团队也是需要这一种精神,在协作的过程中通过合理分工、相互配合、相互监督,为共同目标而努力拼搏。
  五.激励。由马斯洛需求层次理论总结得出,人的基本需求分为:物质需求、社会认同需求、追求自我价值需求;通过制定目标、有效授权、培训指导、有效激励,制定合理的激励路径,让团队接受到达平等,才能顺利开展。
  任何一个自驱动团队都是通过战斗中去建设与锻炼的,团队的建设者要懂得以战养队,敢打胜仗,在战斗中赢得伙伴。总的来说,一个真正的自驱动团队都是在战争之中积累,在胜利后沉淀。

单点登录

https://github.com/shuzheng/zheng
https://github.com/apache/shiro
https://github.com/zhangkaitao/shiro-example
https://github.com/hs-web/hsweb-framework
https://github.com/thinkgem/jeesite

Qt的国际语言怎么用

1.ts文件编写




 //可以有N多个上下文件,每个上下文就是一个类或一个QML文件
    SystemTray  //这个名字为类名,在工程里它只会翻译SystemTray类实例的相关文字。
    
        E&xit
        退出(&x)
    
    
        Hello World
        世界,你好
    


    main  //这个名字为main.qml的不带后缀名的文件名。
    
        E&xit
        退出(&x)
    
    
        Hello World
        世界,你好
    


2.使用Qt语言家即Linguist程序,发布成qm文件。


3.代码启用

QString lang = QLocale::system().name();
    QTranslator translator;
    if (translator.load(":/res/i18n_zh.qm")) {
        QApplication::installTranslator(&translator);
    }

Centos7的vsftp的简单配置

1.安装yum install vsftpd
2.添加用户名

useradd vsftp -s /sbin/nologin
passwd vsftp修改用户密码。

3.在/etc/vsftpd/vsftpd.conf文件底部添加如下配置

anonymous_enable=NO

chroot_local_user=YES
allow_writeable_chroot=YES
write_enable=YES
userlist_file=/etc/vsftpd/vsftpd.user_list
userlist_enable=YES
userlist_deny=NO

开启主动模式
pasv_enable=YES 
pasv_min_port=30000
pasv_max_port=30999

4.在/etc/vsftpd/vsftpd.user_list文件中添加用户vsftp
5.重启

pom文件中的repositories配置


        
            offical
            Maven Official Repository
            http://repo1.maven.org/maven2
            
                false
            
        
        
            repo2
            Human Readable Name for this Mirror.
            http://repo2.maven.org/maven2/
        
        
            CN
            OSChina Central
            http://maven.oschina.net/content/groups/public/
        
        
            alimaven
            aliyun maven
            http://maven.aliyun.com/nexus/content/groups/public/
        
        
            spring-milestone
            https://repo.spring.io/libs-milestone
        
        
            true
            repository.spring.snapshot
            Spring Snapshot Repository
            http://repo.spring.io/snapshot
        
		
			net-cn
			Human Readable Name for this Mirror.
			http://maven.net.cn/content/groups/public/
		
		
			nexus
			Team Nexus Repository
			http://192.168.1.178:8081/nexus/content/groups/public
		
	

直接使用XMLHttpRequest对象的例子

var mp4check_xhr = function (weburls, url, callback) {
        var url_mp4 = url.replace(".webm", ".mp4");
        var xhr = new XMLHttpRequest;
        xhr.open('head', url_mp4);
        xhr.onload = function () {
            var length = xhr.getResponseHeader('content-length');
            if(length > 100){
                var weburl = weburls[url];
                for(var id in weburl) {
                    weburl[id].recordFile = url_mp4;
                }
                delete weburls[url];
                if(Object.keys(weburls).length <= 0) {
                    callback();
                }
            }else{
                delete weburls[url];
                if(Object.keys(weburls).length <= 0) {
                    callback();
                }
            }
        };
        xhr.onerror = function () {
            delete weburls[url];
            if(Object.keys(weburls).length <= 0) {
                callback();
            }
        }
        xhr.send();
    };

JAVASCRIP全局错误捕获

Audit JavaScript execution errors by logging the errors.

window.addEventListener('error', function(e) {
    var errorText = [
        e.message,
        'URL: ' + e.filename,
        'Line: ' + e.lineno + ', Column: ' + e.colno,
        'Stack: ' + (e.error && e.error.stack || '(no stack trace)')
    ].join('\n');

    // Example: log errors as visual output into the host page.
    // Note: you probably don’t want to show such errors to users, or
    //       have the errors get indexed by Googlebot; however, it may
    //       be a useful feature while actively debugging the page.
    var DOM_ID = 'rendering-debug-pre';
    if (!document.getElementById(DOM_ID)) {
        var log = document.createElement('pre');
        log.id = DOM_ID;
        log.style.whiteSpace = 'pre-wrap';
        log.textContent = errorText;
        if (!document.body) document.body = document.createElement('body');
        document.body.insertBefore(log, document.body.firstChild);
    } else {
        document.getElementById(DOM_ID).textContent += '\n\n' + errorText;
    }

    // Example: log the error to remote service.
    // Note: you can log errors to a remote service, to understand
    //       and monitor the types of errors encountered by regular users,
    //       Googlebot, and other crawlers.
    var client = new XMLHttpRequest();
    client.open('POST', 'https://example.com/logError');
    client.setRequestHeader('Content-Type', 'text/plain;charset=UTF-8');
    client.send(errorText);
});