git仓库代码统计

git仓库代码统计

虽然以代码行数来衡量项目或者程序员并不是一件靠谱的事,但是从统计角度看趋势对于技术管理人员还是很有帮助的!推荐一个比较好用的git仓库代码统计工具:git_stats,它用于按git提交人、提交次数、修改文件数、代码行数、注释量在时间维度上进行统计,亦可按各文件类型进行简单的统计,非常方便。实际上,这么多功能通常都是用WEB在多个页面上显示的,git_stats也是如此,它需要你先安装好ruby以生成基础的页面,再用gem安装好git_stats,最后用git_stats一条语句即可生成展示页面。这些静态页面如需共享,那么搭个nginx显示静态页面即可。废话不多说,演示下步骤:

1、首先[……]

阅读全文

创造 :未来商业就是智能商业 (6月底CSDI大会预告)

创造 :未来商业就是智能商业 (6月底CSDI大会预告)

引言:一个好的行业,只要开放行业就好,少搞顶层设计,根据业务决定做什么,故为“因之”。硅谷成功的秘诀之一是:政府没有能力管,只把商业发生的事情交给商业本身。 燃えてヒーロー 沖田浩之 – 僕らのアニメ・ヒッツ 作者▕  董笑含

编辑▕  七七

人们在满足衣食住行基本需求后,多少会追求享受和娱乐,随着经济在人民生活水平中的提高,消费升级带来更多商机。科技的发展让我们足不出户的购物、交友、轻娱乐、游戏等,甚至移动互联网在前几年兴起之时,社交功能无不充斥在每个应用中。如今衍生的摄影、交易、机器人、直播技术、无人驾驶、语音识别、图像识别等,而“易经”告诉我们[……]

阅读全文

Udp的反向代理:nginx

Udp的反向代理:nginx

在实时性要求较高的特殊场景下,简单的UDP协议仍然是我们的主要手段。UDP协议没有重传机制,还适用于同时向多台主机广播,因此在诸如多人会议、实时竞技游戏、DNS查询等场景里很适用,视频、音频每一帧可以允许丢失但绝对不能重传,网络不好时用户可以容忍黑一下或者声音嘟一下,如果突然把几秒前的视频帧或者声音重播一次就乱套了。使用UDP协议作为信息承载的传输层协议时,就要面临反向代理如何选择的挑战。通常我们有数台企业内网的服务器向客户端提供服务,此时需要在下游用户前有一台反向代理服务器做UDP包的转发、依据各服务器的实时状态做负载均衡,而关于UDP反向代理服务器的使用介绍网上并不多见。本文将讲述udp协[……]

阅读全文

《见识》读书笔记:大家智慧

《见识》读书笔记:大家智慧

周末抽空在读吴军老师的《见识》,今天在读“大家智慧”章节时对商业的一些看法有所感,在此记录一二。

吴军提到拉里佩奇的商业智慧是从本质中寻找商业模式。这个本质就是将有用的信息带给用户,想做到这一点其实挺难的。比如百度,你想搜索对你有用的信息,比起google来需要更多的技巧,添加更多的关键字。为什么呢?产品的商业价值在影响着这一点,百度的竞价排名里认为你需要综合考虑百度的利益,所以结果展示不会以对你有用的信息传达给你为首要价值。说到这里,对当年google离开中国又多了一些理解,因为中国监管对搜索结果展示的要求确实违背了google的核心价值。当然,展示有用的信息也需要高超的技术才能实现。[……]

阅读全文

详解python django面向关系数据库的ORM对象映射系统(1)

详解python django面向关系数据库的ORM对象映射系统(1)

django是一套开发成本低、迭代周期快的python web框架,而如mysql等关系数据库则是网站的必备组件,django通过设计一套python对象与数据库表的映射系统ORM,使得开发者不用写一行SQL语句就能实现极其复杂的关系数据库操作,特别是关联多张表的SQL操作。这让开发者的精力可以放在业务的迭代实现中,忽略SQL细节,同时提供了还不错的SQL语句性能。本文主要分析该ORM系统的实现原理及其设计思路,顺带描述python元类这个“黑魔法”。接下来,我们首先描述django model的一般用法,再说明ORM系统的结构,以及为何如此设计。

关系数据库相对于hbase等面向海量数[……]

阅读全文

BDTC2017北京大数据技术大会参会心得

BDTC2017北京大数据技术大会参会心得

12月7、8、9号三天在北京参加了BDTC大会,主题是人工智能与大数据,除了第一天的全员大会外,我参加了第二天上午的大数据云服务、下午的知识图谱、第三天的机器学习论坛。在此做一个回顾,也希望能为未参加大会的朋友们分享从我个人角度思考的心得。

禇晓文教授的《基于GPU的性能建模与分布式深度学习框架评价》是在GPU训练性能上讨论了benchmark分析方法。从CPU到GPU后,训练时间降低了一些,但能降得更多些吗?换成多块GPU显卡,可以再下降吗?应当采购什么样的显卡,性价比最好?这场分享回答了以上问题。先来看一张图:

可见,显卡的计算单元ALU速度很快,从518到了15000[……]

阅读全文

深入浅出人脸识别技术

深入浅出人脸识别技术

在深度学习出现后,人脸识别技术才真正有了可用性。这是因为之前的机器学习技术中,难以从图片中取出合适的特征值。轮廓?颜色?眼睛?如此多的面孔,且随着年纪、光线、拍摄角度、气色、表情、化妆、佩饰挂件等等的不同,同一个人的面孔照片在照片象素层面上差别很大,凭借专家们的经验与试错难以取出准确率较高的特征值,自然也没法对这些特征值进一步分类。深度学习的最大优势在于由训练算法自行调整参数权重,构造出一个准确率较高的f(x)函数,给定一张照片则可以获取到特征值,进而再归类。本文中笔者试图用通俗的语言探讨人脸识别技术,首先概述人脸识别技术,接着探讨深度学习有效的原因以及梯度下降为什么可以训练出合适的权重参数,[……]

阅读全文

区块链技术学习笔记

区块链技术学习笔记

1、区块链技术是一个解决了拜占庭将军(百度百科拜占庭将军问题)节点的分布式数据系统!这是它最大的不同,也导致了这个技术存在诸多限制。

为了方便理解,先插个话题。做服务器端开发的程序员,都对zookeeper不陌生,我们解决分布式ACP问题时,寻找一致性解决方案时都会想到它。zookeeper实际使用了paxos的简化版算法(本文不展开,请参考我之前写过的两篇文章:paxos分布式一致性算法–讲述诸葛亮的反穿越 以及paxos算法如何容错的–讲述五虎将的实践)。想搞明白比特币(成于区块链技术)的算法,应先弄明白paxos算法(便于对比),目前商用的方案中,我们都假定服务器内网是不能被攻破的[……]

阅读全文

API的接口变迁

API的接口变迁

最近前端团队越发觉得目前API接口有些不好用,所以我也借此重新理一下我们的API接口。
API没有什么完美的设计理念和原则,只有最适合当下的设计。这个最适合包括:当前使用的技术架构、团队规模、团队成员技术特点、开发时间、人力成本、未来业务与技术的预期等。我先来回顾下我们产品的API变迁过程。

[……]

阅读全文

基于websocket接口的jmeter自动化测试实践(2)

基于websocket接口的jmeter自动化测试实践(2)

1、通常我们会使用用户自定义变量,把每个用例共用的东西提取出来。然而,当测试环境多起来时,这些写死在jmx脚本里的变量就不那么好用了。例如,对多个环境测试时,难道要复制多个脚本、单独改变量值?

此时,我们可以使用jmeter属性。因为属性是可以通过命令行传递的,例如:

-Jtestproperty=202

而在需要使用变量的地方直接用${__P(testproperty,)}使用命令行传递的值。

当然,如果脚本已经大量使用了user defined variable,且可能会有一个默认环境一批默认值,那么,在user defined variable里把变量的值设为${__P(testpr[……]

阅读全文

浙公网安备 33010802009076号