月度归档:2018年02月

WebRtc的支持

因为代码需要翻墙下载,故建议在海外的主机上,先在docker容器中建立相应的编译环境,然后把镜像拷贝回来。如果镜像的系统与本地的系统是同一个版本如centosv7.3,则可以从镜像中把包拷贝出来,在宿主机编译。
————————-
源代码获取步骤
1.下载depot_tools工具,并把执行路径加入环境变量中。

export PATH=$PATH:/path/depot_tools

2.按以下步骤

mkdir webrtc-checkout
cd webrtc-checkout
fetch --nohooks webrtc
gclient sync,在这个步骤时如果出错,可能是缺少bzip2及bzip2-devel库。

编译步骤
1.把depot_tools的执行路径加入到系统中。
source depot_tools_env.sh
2.在webrtc_checkout/src目录下,生成或清理原编译代码。
gn gen out/Default && gn clean out/Default
3.在webrtc_checkout/src目录下,执行程序编译指令
ninja -C out/Default
—————————————
编译工具使用:depot_tools
https://storage.googleapis.com/chrome-infra/depot_tools.zip
官方建议使用WebRtc Api的版本进行开发。

一、Android预编译库
https://webrtc.org/native-code/android/
https://bintray.com/google/webrtc/google-webrtc

二、IOS预编译库
https://webrtc.org/native-code/ios/
https://cocoapods.org/pods/GoogleWebRTC

三、原生API
https://webrtc.org/native-code/native-apis/

OpenWebRtc的版本,最后更新日期是2015年4月26日
https://www.openwebrtc.org/

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

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

  如何去打造一个自驱动的团队?
  一、选人。选人在建设团队中一个持续的过程,也是自驱动团队建设中非常重要的一个部分。从能力模型去选人,一般看重的是专业技能、团队合作、务实诚信、教练育人与创新思维;当然,除此外,选人最重要的是还是看人品、心态、价值观,而非过分的重视知识、学历和文凭。
  二、用人。在以才服众的当下,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文件编写

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="zh_CN" sourcelanguage="en">
<context> //可以有N多个上下文件,每个上下文就是一个类或一个QML文件
    <name>SystemTray</name>  //这个名字为类名,在工程里它只会翻译SystemTray类实例的相关文字。
    <message>
        <source>E&amp;xit</source>
        <translation>退出(&amp;x)</translation>
    </message>
    <message>
        <source>Hello World</source>
        <translation>世界,你好</translation>
    </message>
</context>
<context>
    <name>main</name>  //这个名字为main.qml的不带后缀名的文件名。
    <message>
        <source>E&amp;xit</source>
        <translation>退出(&amp;x)</translation>
    </message>
    <message>
        <source>Hello World</source>
        <translation>世界,你好</translation>
    </message>
</context>
</TS>

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配置

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