一切福田,不離方寸,從心而覓,感無不通。

Category Archives: Backend

一个数字转换为汉字的函数

/** * 数字转换为中文 * @param string|integer|float $num 目标数字 * @param integer $mode 模式[true:金额(默认),false:普通数字表示] * @param boolean $sim 使用小写(默认) * @return string */ function number2chinese($num,$mode = true,$sim = true){ if(!is_numeric($num)) return '含有非数字非小数点字符!'; $char = $sim ? array('零',’一',’二',’三',’四',’五',’六',’七',’八',’九') : array('零',’壹',’贰',’叁',’肆',’伍',’陆',’柒',’捌',’玖'); $unit = $sim ? array(",’十',’百',’千',",’万',’亿',’兆') : array(",’拾',’佰',’仟',",’萬',’億',’兆'); $retval = $mode ? '元':’点'; //小数部分 if(strpos($num, '.')){ list($num,$dec) = explode('.', $num); $dec = strval(round($dec,2)); if($mode){ $retval .= "{$char[$dec['0']]}角{$char[$dec['1']]}分"; }else{ for($i = 0,$c = strlen($dec);$i < $c;$i++) { $retval .= $char[$dec[$i]]; } } } //整数部分 $str = $mode ? strrev(intval($num)) : strrev($num); for($i […]

龙生   28 Sep 2013
View Details

四款不可错过的 Android 开发工具

Android以其极强的开放性吸引着世界各地的开发者去开发各种各样的移动应用开发,而各种SDK更是为各个层次的开发者提供了一个可以尽情展示 他们专业技能和创造性的平台。虽然Java是各种平台最常用的编程语言,但是其它一些开发工具包只支持C、C++和Ruby。除此之外,所要开发应用的特 性在一定程度上也决定了开发环境的选择,开发工具内置的库能够降低开发强度,而特定的功能也能进行模块式独立开发,以下是Android开发者不可错过的 四款强大的Android开发工具: 1. Basic4Android Basic4Android是Android平台上一个简单而又强大的可视化快速应用开发工具,可以开发基于云计算的Android应用,同时还内 置了企业级移动应用开发所需的代码库;Basic4Android可被用来开发和测试数据库通信,甚至可以被用来开发2D的即时游戏。 Basic4Android兼容了Google的AdMob数据库,所以开发者可以在他们开发的应用中植入广告来获取收益。 主要特性: 编译为原生的bytecode,不需要运行库。生成的APK文件与Java / Eclipse生成的文件完全一样 与Java编写的应用性能相同 与Visual Basic类似的事件驱动编程语言,支持对象和代码模块 不需要写任何XML文件 可视化编辑器支持多屏幕和各种分辨率 支持Android 1.6及其以上版本的所有移动设备 支持自动完成、内置文档、内部索引和其它高级功能 强大的单步调试功能 支持所有的Android核心特性 2. Gimbal context ware Gimbal是高通旗下Qualcomm Labs推出的一款面向iOS和Android平台的SDK。Gimbal中的内置函数库能够为开发者提供特定位置或地理围栏解决方案。Gimbal环境 感知SDK帮助开发者向手机用户提供及时、个性化的相关内容,开发者可以从SDK中选择所需的软件库加入应用中。 这些SDK包括: Gimbal Geofence:旨在提供基于地理围栏的低功耗位置识别服务。这一工具将赋予应用“环境感知”功能,即能够根据用户所在的位置对用户做出有益调整。 Gimbal Interest Sensing:使应用能够根据终端用户的个人信息和兴趣做出调整,此工具可以针对特定受众提供定制应用。 Gimbal Image Recognition:使终端用户可以通过智能手机的摄像头发起互动体验。 Gimbal Manager:是一款基于Web的工具,用于管理地理围栏、个人信息规则、图像目标、内容、发布和分析。 Gimbal Privacy:供终端用户管理Gimbal及其功能,Gimbal旨在让终端用户了解和掌控他们分享环境和兴趣的内容和时间,并保护用户的个人信息。 3. Titanium SDK Titanium旨在为跨平台的原生移动开发提供一种更高级的API,所以开发者可以访问一系列从用户界面组件、插座接口到通知系统集成的原生特性 和功能。Titanium的目的是将Titanium应用程序和纯原生应用程序之间在功能方面的差异缩小到几乎为零。目前,Titanium支持iOS、 Android、BlackBerry和Windows Phone。此外,Titanium借助统一的JavaScript API,针对特定平台的功能特性以及原生性能,实现代码重用,大大地缩减了开发者的工作时间。 主要特性: 开源:Titanium采用宽松的Apache 2.0许可证 高效开发:通过代码重用,减少了开发者的工作时间,调高工作效率 廉价特性:通过使用JavaScript SDK降低了跨平台操作的成本 4. Vuforia Vuforia是一款能将现实世界物体转变为互动体验的扩增实境平台。旨在帮助开发者打造全新级别的真实世界物品与虚拟物品的互动。它使用家算计视 觉技术来实时地识别和跟踪平面图像以及简单的3D图像,使开发者能够在现实世界和数字体验之间架起桥梁。 Vuforia通过Unity游戏引擎扩展提供了C、Java、Objective-C和.Net语言的应用程序编程接口。从而Vuforia SDK能够同时支持iOS和Android的原生开发,这也使开发者在Unity引擎中开发AR应用程序时很容易将其移植到iOS和Android平台 上。 主要特性: 跨平台:同时支持iOS和Android系统 AR特性: Vuforia是移动设备最好的增强现实体验平台 最佳的性能体验:通过无与伦比的交互性实现现实与虚拟的完美互动 文字识别功能:支持借助智能手机和平板电脑摄像头实现实时文字识别 文章来源:Examiner /CSDN

龙生   26 Sep 2013
View Details

去他的“工程师逻辑”

金山网络CEO 傅盛 以前我当产品经理的时候,经常因为“逻辑”跟工程师吵得一塌糊涂。 那个时候的工程师们都喜欢树型结构。虽然今天已经销声匿迹了,但他们仍然喜欢把“逻辑”挂在嘴边。他们会在产品上花很多心血,很多功能都舍不得扔掉,却不知道用户能接受的其实只是最简单的点。 我讲个例子。有一天,太太跟我说家里电脑太暗了,我一看是因为出差前我调成了最暗,回来后忘记设置了。遇到这种情况你的第一反应会是什么?我首先想到的 是找设置,于是点到控面板,打开有很多分类,在硬件里没找到,再去显示器设置里面找还是不行。最后谁知道在哪?在个性化里面!我找了三天才找到,那两天忍 着眼要瞎的感觉,屏幕非常暗,文字基本看不清。 当时我就想:微软看着我那么暗地用电脑,为什么不提示我一次呢?一个屏幕亮度设置需要这么复杂吗? 我想说,简单是世界上最了不起的能力了。这个世界经济体系很复杂,马克思写了一千多页《资本论》,里面用了一个最简单的词——“剩余价值”囊括了所有; 市场变化很复杂,包括各种各样的机构,最后亚当斯密用了一句话说明——“看不见的手”;相对论很复杂,最后就是一个公式,虽然我们都不知道什么意思。这些 无一例外地都使用了一种极简的表达,你会发现在这个世界上真正能走下去的东西都是“大道至简”,而不是靠复杂取胜。 到今天,过去那种繁复的计算机思维仍在隐秘地发挥作用,虽未被人们觉察,但它已经成为“让产品变轻”的最大绊脚石。 问题究竟出在哪儿? 大家都知道,一些IT行业巨头如微软和谷歌都是工程师文化。工程师文化的本质特点是什么?就是特别喜欢强调逻辑性。 我记得,以前学校开设类似图书管理和信息分类的专业课,大部分的内容都是关于“逻辑分类”。例如大家要学习windows的分类方式,一定要在开始菜单放程序,我的电脑里放文件,桌面上放快捷方式,全部分好类后,里面还有各种各样的分类。 但是,本质上用户的脑海里没有任何逻辑,用户脑海里有什么?只有用还是不用,常用还是不常用。所以你看苹果的整个逻辑就是这样,没有回收站,没有很深的 目录。从来不会说这一排应该是打电话的,不该放音乐。换作一般工程师肯定抓狂,这不合逻辑啊,怎么能这样呢?程序、文档、视频不是应该归类吗?后来发现苹 果的第一页既有日历,也有短信,还有摄像。用工程师的观点看,整个都是杂乱无章,毫无美感。 当然,如果你受过专业训练,没问题,可以按照逻辑分类,但老百姓没这个概念,他只知道他要用什么,把常用的放在第一页,不常用的就拖过去。需要去分类吗?根本不需要!所以,“逻辑分类”是我们脑海里一个根深蒂固的东西。 后来为了跟身边的同事说明这个问题,我还一直给他们讲百度首页的例子。百度是一个搜索网站,但是搜索栏上面放的是什么?新闻、网页、贴吧、音乐、图片等等。你想进贴吧的时候根本不必使用搜索功能,你只需在搜索框里输入想要看的贴吧内容,一点贴吧就直接进去了。 如果按照“工程师逻辑”,网页旁边怎么可能是贴吧呢?应该是垂直搜索才对。如果垂直再分类的话,又是什么衣食住行,琴棋书画,生老病死,基本上就是这些“逻辑分类”。我推测百度是把用户最需要的放出来,用户上来想找什么,就把谁放上去,没有“逻辑分类”。 关键在于:最早接触计算机的这一群人都是我们这种所谓学过程序的人,“逻辑分类”的思维根深蒂固,大家从接触这一行开始就觉得,一定要显得有逻辑,但事实上它并不重要。 我们要知道,互联网的整个逻辑在今天已经变了! 转自:http://www.oschina.net/news/44513/engineer-logic

龙生   25 Sep 2013
View Details

体验飞一般的感觉 安装Win8后必做的十大优化

Win8 在性能尤其是开机速度等多个方面都超过了Win7(且看 Win8 RP和Win7性能全面测试:Win8快一倍),很多人受不了 Windows8 这个诱惑,信誓旦旦的准备用那个传说中最具革命性的OS,结果安装后性能咋比 Windows7 还不给力,打开文件夹还会卡顿,启动后硬盘读个不停,CPU占用碉堡了!这是在坑爹么? 其实深入了解下Win8,上面出现的问题,统统不是问题,围观下面的安装好Win8后必做的优化。 安装好Win8后必做的优化: 1.关闭家庭组,因为这功能会导致硬盘和CPU处于高负荷状态 关闭方法:Win+C – 设置 – 更改电脑设置 – 家庭组 – 离开 如果用不到家庭组可以直接把家庭组服务也给关闭了:控制面板 – 管理工具 – 服务 – HomeGroup Listener 和 HomeGroup Provider 禁用 2.Windows Defender 全盘扫描下系统,否则打开文件夹会卡顿。 然后可以排除信任的EXE程序,建议排除explorer.exe(资源管理器进程),如果你不用系统自带的杀毒软件,也可以直接关闭它。 Win+X – 控制面板 – Windows Defender – 设置 – 实施保护 -去掉勾 和 管理员 – 启用 Windows Defender – 去掉勾。 控制面板 – 管理工具 – 服务 – Windows Defender Service 禁用。 3.用好索引选项,减少硬盘压力。 控制面板 – 索引选项 – 选中索引项 – 修改 – 取消不想索引的位置。(索引服务对系统性能的影响) 如果习惯用 everything 这款神器来搜索文件,可以关闭索引功能。控制面板 – 管理工具 – 服务 – Windows Search 禁用。 4.关闭磁盘碎片整理计划 用好磁盘碎片整理可以提高磁盘性能,如果习惯手动整理,可以关闭整理计划,避免在你工作的时候自动整理,影响性能。 资源管理器,选中磁盘 – 属性 – 工具 – 对驱动器进行优化和碎片整理 – 优化 – 更改设置 – 取消选择按计划运行 5.设置好 Superfetch 服务 控制面板 – 管理工具 – 服务 – Superfetch – 启动类型 – 自动(延迟启动),可以避免刚启动好Win8对硬盘的频繁访问。 6.如果覆盖或者升级安装Win8,需要清理产生的Windows.old文件夹,腾出C盘空间。 方法1:快捷键Win+X  – 命令提示符 – 输入 rd X:windows.old /s (X代表盘符) 方法2(推荐):C盘 – 右键 – 属性 – 磁盘清理 – 选中 以前的 Windows 安装 复选框 – 确定清理。 7.设置Win8 自动登陆,省去输入密码步骤,开机更快 快捷键Win+R – 输入 netplwiz  – 取消使用计算机必须输入用户名和密码的选项 – 然后双击需要自动登录的账户 – 输入你的密码。 8.关闭ipv6 部分网卡驱动开启 ipv6会导致开机系统未响应,假死。如果你不是ipv6用户建议关闭,否则就更新网卡驱动试试看。 网络共享中心 – 网络连接 – 以太网 – 属性 – 取消 ipv6 。 9.开启 Hybrid Boot Win8启动飞快 。默认是启动的,如果没有启动,可以到控制面板 – 电源选项 – 选择电源按钮的功能 – 更改当前不可用的设置 – 关机设置 – 勾上启用快速启动。 如果没有看到这功能,请先开启休眠:Win+X – 命令提示符 – 输入 powercfg -h on 10.关闭性能特效 系统属性 – 高级 –  性能 – 设置 – 关闭淡出淡入效果。打开文件夹,小软件之类的,唰唰的快!反正Win8都反璞归真,取消了Aero磨砂效果,不在乎这点特效 了,直接关闭吧。 通过以上的优化设置后,Win8飞一般的感觉,还可以关闭你不需要用的系统服务,这里就不介绍了,过度优化会出现各种毛病,需谨慎! 兼容软件方面,常用软件基本没问题。 平反:Win8不兼容腾讯网游?别开玩笑了 …… 是腾讯的网游不兼容Win8,腾讯的游戏有TP保护功能,据说是为了防止外挂、木马… 转自:http://www.ithome.com/html/win8/25805.htm

龙生   21 Sep 2013
View Details

创业项目该如何选择技术?

这些年,许多人问过我下面相同的问题: 我开始了一个新项目,你认为我该使用什么技术呢? 通常,这些人属于下面两类中的一类: 已经做出决定的技术人员 需要鼓励支持的非技术人员 在一天结束的时候,我怀疑这些人是否真正关心我的答案。或许他们只是想知道我们是否面对相同的问题或只是需要鼓励支持。 坦白的说,作为一名工程师,我信奉这个说法:伟大的想法可由几乎任何技术构建。它们都有自己的优点和缺点。无论你选择什么技术,你都要为它带来的风险买单。但真的,你项目的成功与否更多的取决于愿景、领导团队、执行和市场,而并非技术的选择。 现在,我是一个负责人,我每天做技术上的决断。当我选择了一个特定技术时,我要能够证明这个决定,向我自己、我的合合伙人/员工和潜在的投资者。我根据项目及公司愿景做技术选择。 项目要成功你必须有一个坚定的愿景。如果你能将你的愿景转化成一组衡量你每个决定的值,你的前进道路会更清晰,也更容易找到合适的加入你的人。 除了愿景,许多初创公司专注于文化。人们都说文化是由创始人、最初的几个员工及产品本身确立的,然而,技术抉择对公司文化有直接影响这个说法却没怎么被提到。 你的项目初创可能基于J2EE、Oracle、Perl、PHP、Rails、Node.js或.NET,随之而来你的团队工程师将有不同的期望,不同的价值观,和不同的关注点。这些技术没有本质上是坏的。伟大的事情都有各自不凡的所在。它们伴随而来的是一种文化。 几年前,我遇到一位负责人选择使用Node.js来搭建自己的应用。出于好奇,我问他为什么选择Node。他的回答很简单:基础的工程师对Node.js很兴奋,所以我可以更容易招募到愿意免费贡献的人,因为他们希望积累相关经验。 这个决定显式地定义了工程师文化和团队成员——那些能够在这个项目中工作或感兴趣这个项目上工作的人。 问一个不一样的问题 那么我们不应该问什么技术是我们需要使用的, 我们应该问我们自己: 这个技术符合我们公司的核心价值观吗? 这显然是个更为之困然的问题,因为你需要切切实实地了解你公司的核心价值观。这将是创建一个成功项目的关键。 你不能盲目地套用技术就像你不用套用别人的商业计划那样。这是公司身份的一部分,你的核心价值观,你的目标,你的团队,你的期望都是跟别人不一样的。 关于“这技术在某某公司用得适合啊”这样的论据是很少有效的。例如Facebook使用PHP,它“在Facebook公司用得很适合”,但是这意味着我们选都应该使用PHP吗? 技术文化联盟 要具体描述这些技术社区的特性是很困难的,但我会个你分享我在不同选择上的观点与看法。请自由在评论里分享自己的看法,也可以包括关于其他技术社区的。 古典学校:  这里有些是“经典“的语言:他们已经被使用很长的一段时间,并且被证明他们的价值。他们的使用范围已经很广泛,但却引不起别人更大的激情。 注意:我在这没有提及Perl,因为我并不知道有哪个创业项目是以Perl作为核心技术来创建的(6?)。 PHP 理念: 功能都实现出来,这非常重要 就像互联网的基础一般 只要有一个方法去实现它,那么就不会被破坏 只要它运行起来并且速度很快,那么其他东西都是没有意义的 不要太理论化了,我们的语言是非常通熟易懂的,任何人一眨眼的功夫就能上手了。你可以用Java做同样的事情看看! 面向对象是种落后的想法 常见的使用例子: (在2013年中期) 你的第一个web app WordPress/Drupal的扩展 个人观点: PHP拥有它光荣的日子。它真的让web开发更加简单,容易上手. 但是, 大概因为大量新的程序员开始使用PHP并且它拥有个不是那么地坚持自己观点的社区,所以只有少数人能写出漂亮的PHP代码。 良好的拥有规范的代码例子是很难找到的,并且我甚至不敢肯定PHP拥有自身的规范。这导致了PHP社区以糟糕的代码质量,缺乏测试,安全问题如同梦魇和像在2000年代初期般的落后品味而著名。 拥有良好规范约定,开发流程和指南的强大的PHP团队,是可以完成伟大的事情的,但这样团队很稀少。 Java 理念: 可移植性 像C/C++般的能力和表现,但却能够自动管理内存 更多地关注面向对象 IDE是必须有得 我们要消耗所有的内存,因为它们是一文不值的 线程处理是个好方法! 不要提起Java applets 看看我可爱的JVM! 开源(但拥有者为Oracle) 缓慢但更为安全的开发流程 个人观点: Java是非常有趣的。在几年前很多开发者已经厌倦了Java,他们找到了其他新大陆。他们开始转向一些脚本语言,像PHP,Pyhton,Ruby或者一些更加难懂小众的语言像Erlang。 尽管如此,Google通过Android展示了Java并不像我们脑海里的那么糟糕(只要你并不是使用J2EE或者Swing)。现在有一种”赶时髦“的趋势视乎暗示着Java再次变得酷起来了。这些大多建立在两件事情上: JVM 让人难以置信高质量的代码库 即便如此,对于我们来说,花一整天来编写Java程序看起来并不是一件吸引人的事。如果你打算依靠Java的堆栈,那么有一系列的其他JVM语言供你选择,他们成熟而且兼容Java扩展的库(例如:Scala, Groovy, JRuby, Clojure),你总是可以混搭使用它们。 自从大量毕业生学习Java后,聘请Java程序员并非一件难事,但是要找那些前期创业公司,高水准的工程师并且对写Java程序感兴趣是一件极具挑战性的事情。 另外注意:如果你的目标是Android,那么不用想得太复杂,即使你认为其他JVM语言更好,你也要坚持使用官方的堆栈。 我们仍然有许多的原因在你的创业项目里使用Java技术,但你可能会想同时使用一些的”更快,更灵活“的解决方案(Ruby, Python, Node…)。对于公司跟工程师来说,一个多语言环境带来了大量的价值,这就是为什么Java社区看起来节奏很慢,但却肯定是活跃的。 Java绝大部分是吸引了那些受到了传统的训练的工程师,他们向往舒适,有重复性,总所周知的编程模式。他们习惯关于使用这种语言,这种工具,这种自然的节奏。或许他们并不是最具有求知欲的开发者,但是他们却是很可靠的(当然,你要挑选了正确的人)。 C#/.NET 理念: 是更加好的Java 最初是为了桌面与嵌入式软件设计的 我们比开发Java的小伙伴们拥有更好的IDE 虽然是企业级般的重量了,但是我们提供了大部分Rails很酷的特性 我们有矛盾的开源版本 缓慢但更为安全的开发流程 个人观点: 当我回顾C#在发布C#5的时候,我不得不惊叹,我真的对该语言新的特性留下了深刻的印象。单从纯粹的语言设计角度来看,C#是有一丁点的领先于Java。在Visual Studio里写Javascript时的欣悦感让我感到很惊喜(自从我用VS主要为了C++后,我真的再也没有期待过什么了)。 另一件让我印象很深的是:C#可利用的文档的质量非常显著!但是C#并不是开源的,和Visual Studio + MSDN 非常昂贵,并且整个环境都因为licenses跟内存损耗而变得很糟糕,这些事实多少让这个好印象打折扣了。 […]

龙生   17 Sep 2013
View Details

不良编程文化

“这代码真垃圾”,当我们翻查一些代码寻找一个特别讨厌的bug时,同事大声这样说。“是吗”,我回答到。 像 这样的谴责,以及其它一些类似的话,在办公室里经常会听到,而且频率在增加。而最令人不安的是,这代码并不是特别的糟糕。我这话是什么意思?不能把它们写 的更好吗?当然!大多数的代码都有改善的空间——只要有足够的时间和资源。垃圾代码确实有,我们都看得见,而且都是我们自己写的,但这并不是问题。 问题是我们有一个不良的“这代码真垃圾”文化。 这是一种我感觉在web开发社区中越来越常见的文化。接着上面的例子,我请同事解释一下,解释为什么这代码很垃圾,我得不到一个直接的答复。 “这还不垃圾,你看这代码”,他回答说,那种趾高气扬我需要仰头才能看到他,紧邹的眉头就好象是说,如果不能看出这代码有多烂,那就是个傻子。结果你知道怎么着?我开始感觉有点傻了。我差点就忍不住开始跟着他一起嘲笑,认定这代码真的有多烂,多糟糕。 在 我继续下面的内容之前,我发现上面的内容并没有在最好的光线下描绘我的同事。所以,让我弥补一下。他是个非常好的小伙。坦白的说,他是我见过的最和善的小 伙之一。他友善,有一个他很爱的家庭,他跑马拉松,乐于助人,聪明,等等等等。还有一点要说明:他是一个经验不多的新手。他还在学一些基础的开发知识。这 没什么好羞愧的,我们都经历过这个阶段。那么,为什么这样一个友善、聪明的小伙,在他参与的第一个大型web项目上,他的第一反应就是去指责一些代码很垃 圾?——他甚至还没有真正的去理解它。 生活规律:垃圾往下倒。 这个问题并不单独出现在程序员新手中。很多精明人士都有这 习惯。你也许是一个奇才,一个久经考验的程序员,但如果有这样一种习惯,整个团队和项目都会受到负面影响。因为新手们把你当作知识和经验的源泉。越多的人 拥抱这种“这代码真垃圾”文化,这种文化就会越被认可,越成为模仿的对象。很快,程序员开始变的不是积极在项目上出力,而是去贬低别人在项目上的贡献。最 大嘴、最反面的程序员很快就成了最受尊敬的人。所有人都受折磨,项目受影响,而一部分人却能能得到赞美,为倒是都是垃圾而感到心满意足。 我们应该怎么做? 没有人想显得愚蠢,没有人想自己的工作被认为劣质。一旦“这代码真垃圾”文化开始传播,唯一能确保自己在别人之上的办法就是贬低别人。最终,这变成了一种负能量,而不是想着去解决问题。 那 么,对这样的一种特殊现象有什么解决方法?阻止它。不要不加思索的否定别人的代码——在没有原因、没有理解的情况下。有很多的方式可以处理那些看起来有问 题的代码。如果发现代码中有异味,想办法改进它。从理解这些代码开始,在此基础上修正。如果你发现项目中有一些不良风气,不要跟随。如果有人对你说“这代 码真垃圾”,问他为什么,然后了解查明,去做一些事情让它变的不垃圾。向最初写这些代码的人了解,也许他们这样写代码是有原因的。帮助他们,而不是诋毁他 们。 下一次,当我发现从显示器里飘出可疑的异味时,我会转身问我的同事,“我们如何改进这段它?”因为,我们要面对它们,有时候代码会很垃圾,但这不意味着我们也去变成垃圾。 [英文原文: Code culture problem ] 转自:http://www.oschina.net/news/44112/code-culture-problem

龙生   12 Sep 2013
View Details

10 个最佳的免费项目管理工具

项目管理对一个项目的设计和开发起着至关重要的作用;因此选择一个项目管理工具有时候是非常讲究的。它完全取决于你的需求,你是需要任何时候都可以提供在线方案,或只是一个本地应用。 项目管理是管理该项目计划,定义,监控,控制以及交付的过程,因此它的优势是大家公认的。项目是即时的,唯一的,是极力的去完成某一既定目标的。项目管理是为不断变化的项目提供专业的管理。 whats_java 翻译于 昨天(10:59) 0人顶 顶 翻译的不错哦! 它不仅包含技术还有工具的使用来描述,管理,发布一系列活动成果,预算及时限。你需要的工具是一个能满足你所有关于项目管理的需求。     随着不同地域的软件产业提出越来越多的明确需求,需要一个更好的免费的项目管理工具来管理越来越高效的软件。一个高效的好的项目管理必须是健壮的快速的且必须包含以下几个特点: 项目时间点安排 成本控制 资源分配 预算管理 文档管理 通力协作 沟通交流 在这篇文章里,我们将特别讨论10个最佳的免费项目管理工具,这将会对你的项目管理有所帮助。 whats_java 翻译于 昨天(11:20) 0人顶 顶 翻译的不错哦! OpenProj 这是一款免费并且开源的桌面应用用于替代到微软的项目中。OpenProj为桌面应用项目的管理人员提供了完美的解决方案,并且它在Unix,Linux,Windows甚至是Mac上都是相当可靠的。他是所有微软项目桌面应用的替代品,甚至可以打开本地的项目文件。它分享了业界许多基于项目需求的高质量的时间调度引擎。该方案具有成本核算,网络图(PERT图),Gantt图表,RBS、WBS报表,等等。 GanttProject 这是一款非常容易上手使用的,基于Gantt图表的项目时间调度和管理的免费工具。主要功能包括任务的分配和层级的划分,Gantt图表,生成PERT图表,资源负荷图表,HTML和PDF报告,MS项目的导出/导入,还有基于WebDAV的工作组管理。 DotProject 这是一款支持在线,多语言,多用户的项目管理解决方案。它是开源免费的,并且有开源社区的志愿者们在不断的维护更新。它主要的特点如下: 任务和项目管理 公司,联系人和部门管理 资源分配 待办事项 论坛功能 日历功能 横道图功能 报告功能 whats_java 翻译于 昨天(12:25) 0人顶 顶 翻译的不错哦! TaskJuggler 这是一款功能非常强大的现代化的,开源免费的项目管理工具。它采用了全新的方式来规划和跟踪项目,它是一个更好、更灵活地编辑一贯使用的横道图的工具。它总是被成功地应用在许多项目中,其中也包括一些有许多资源和任务比例的小项目。这成为了高级项目经理的解决方案。这涵盖了完整的项目管理开始从最初的想法到完成项目任务的整个过程。它在项目范围内的收支计划、资源调配、沟通交流和风险管理给你提供帮助。 TaskJuggler可以提供最优的时间调度,计算出你项目的时间线,资源分配,基于你给出的项目大纲和一些限制条件。内置的一致性检查和资源平衡卸载使你不需要担心不恰当的细节和警告,如果项目顺利进展,你可以腾出手来。灵活的"根据实际的需要"的方法,提供尽可能多的细节让你规划你的项目,它也非常适合新颖的管理策略,例如轻量级的项目管理和极限情况下的规划。 whats_java 翻译于 昨天(12:52) 0人顶 顶 翻译的不错哦! PHProjekt 这也是一款开源免费的模块化应用,用于协调工作组的活动,通过网络分享文档好信息。构成PHP项目的是组员日程,时间片系统,项目管理,文件管理,邮件客户端,与管理者接触,当然还有很多就不一一列举了。 ConsultComm 这是一款轻量级的,小型化的,独立的开发平台使用java语言编写的,可以让任何人同时管理多个项目,任务,客户,可以高效地跟踪在每个项目上花费的确切时间。关键特征包含如下: 轻松集成在现有的计费系统或时间管理,还包括JDBC支持,瞬间让你可以上传你的项目和所需的时间到大多数ODBC和JDBC兼容数据库。 作为一个开源免费的项目,让你不必担心专用化或供应商锁定问题。 跨平台,这样你就能联合你的Windows,OS X,Solaris和Linux工作站去处理同一个应用。 可以利用标准的JavaBean框架创建的组件迅速拓展功能,用户和其他的开发人员可以很轻松地创建他们自己的插件,快速的添加自定义功能。 定制适合你的独特的风格偏好。 whats_java 翻译于 昨天(13:21) 0人顶 顶 翻译的不错哦! ProjectPier 这也是一款自己管理PHP的,开源免费的项目管理工具,用于管理任务,团队和项目,通过自带的Web接口。这将有助于您的公司沟通,携手共进,完成既定的任务。事实上它的功能类似于其他的商业项目管理产品,不同点是可拓展性和允许自托管。 OpenGoo 它是一个完整的基于Web的解决方案,致力于提升您的团队的生产力,协作,管理和沟通。主要功能包括: 管理任务,联系人,文档,日历,电子邮件。 管理项目的进展情况,为你的客户制定账单,并跟踪时间段。 访问优雅和简洁的仪表板的信息。 与供应商,客户和同事沟通。 whats_java 翻译于 昨天(13:32) 0人顶 顶 翻译的不错哦! Collabtive 这是另一种现代化风格的Web应用程序,它使得项目团队共同努力,管理文件、项目节点和任务,并发送即时消息给对方。它支持多语言,甚至超过20种语言。它使用XML API集成了其他的Web服务。它提供的导入功能也可以从其他应用程序导入数据。 Redmine 这是一个开源的,灵活的项目管理的在线解决方案。使用的Ruby on Rails框架写的,它是跨数据库和跨平台。主要功能包括: 基于灵活的访问控制 多个项目支持 灵活的问题跟踪系统 横道图 […]

龙生   12 Sep 2013
View Details

为 PHP 开发者准备的 12 个调试工具

PHP是在实践中发展迅速并被最多使用的脚本语言;包含了诸如详细的文档、庞大的社区、无数可使用的脚本及支持框架等许多特性。PHP提供的这些特性使得它比Python或Ruby等脚本语言更容易上手。 为构建极具创新乐趣的Web应用,PHP开发人员持续搜寻着有用的工具。在这篇文章中,我收集了开发人员的12个PHP调试工具,它们将有助于开发人员轻松找出并调试应用程序及脚本中的错误。下面的PHP调试工具支持Ajax请求,并包含通用数据采集器和基于堆栈的错误处理器。我希望你能在未来的项目中体会到这个列表的方便和有用之处。 1. Kint 当调试PHP代码时,var_dump()、print_r()和debug_backtrace()是我们最常用的工具。Kint,一个开源软件,一个不需安装的替代者,它提供了更好的调试体验。它巧妙地检测几乎不可读的数据,并将它们定制成规则的输出显示。变量名、文件、行号及包装的函数它全能提示出来。 源码 2. DebugBar DebugBar是一个自由开源软件,它可以被集成到任何PHP项目用来收集和定位数据。它没有第三方依赖,支持Ajax请求,包含通用数据收集器且集成常见的库。生成的bar是100% JavaScript实现的并被放置在页面底部(像开发工具一样)。新的收集器和视图可以被轻松的添加,并且可以保存或重新运行以前的请求。 源码 3. Pinba Pinba是一个可作为PHP统计服务使用的开源MySQL存储引擎。它使用收到的数据来分析PHP应用性能并快速定位任何问题。 源码 4. PHPMD PHPMD是一个易于配置,对PHP原始依赖指标友好的前端。它在你的代码中的寻找多种潜在问题,包括可能的bug、不适合的代码、未使用的参数等。 源码 5. Xde Bug Xdebug是一个自由开源的用于调试和分析PHP脚本细节的PHP扩展。由于它是一个扩展,所以使用起来很方便,且在编码端只需要很少的设置。它可以提供错误信息中堆栈跟踪和函数跟踪的所有数据,包括用户定义函数的所有参数、函数名、文件名以及行标志。Xdebug还可以提供内存分配、分析信息和代码覆盖率分析的数据。 源码 6. Whoops Whoops是一个使错误处理和调试更容易的PHP库。这个库提供基于堆栈的错误处理,并且有一个好看的界面。它有一个处理异常的简单API,能够跟踪帧及它们的数据,并可以与任何框架整合(end和Silex已经内置集成)。 源码 7. Krumo 很多PHP开发者使用print_r()和var_dump()对输出难读或未格式化的结果进行调试。Krumo是这些函数的一个替代者,它可以显示任何PHP变量的结构化信息。Krumo运行后,输出会显示成一个围绕PHP变量的可折叠的DHTML树结构。同时,它通过自身把调试过程“关掉”而不是禁用代码里的所有追溯路径的能力加快了调试过程。 源码 8. Php Debugger 调试是发现并修复bug的过程,PHP Debugger是帮助你快速的找到错误并将它们从你的PHP程序中移除的最好的工具。你可以在PHPEd中设置远程调试,通过Wizardand DBG向导中的PHP调试设置开启。 源码 9. Php Debug PHP_Debug的基本目的是在调试PHP代码时提供援助。 源码 10. Webgrind Xdebug是最受欢迎的PHP调试扩展之一。它提供了许多有用数据来帮助你在源码中查找bug。 源码 11. PHP_Dyn PHP_Dyn是有一个优秀的开源PHP调试工具。你可以跟踪函数执行并得到函数参数和返回值的一个输出。 源码 12. MacGDBp MacGDBp是一个MAC OS上的PHP调试器。它有你所期望的所有特性,是一个包含逐句运行及设置断点等功能的全功能调试器。 源码   转自:http://www.oschina.net/translate/12-php-debugging-tools-for-developers

龙生   12 Sep 2013
View Details

如何成为伟大的技术领袖

【IT经理网点评】大多数成功的IT项目和产品背后都有一个说一不二的技术领袖,他们不是传统意义上的管理者,而是让团队成员保持最佳状态和效率,朝着正确方向前进的"牧羊犬",他们是合理分配团队资源和处理能力的差速锁,他们是脑子和手一样快的四分卫。伟大的技术领袖关心的不是人,而是代码,因此他们再忙也会“发明时间”为团队写点代码;他们用案例说事,用手为团队选择方向而不是用嘴描述方向;他们是团队前进道路上的清道夫和保护伞…现在,你明白为什么伟大的技术领袖如此珍稀了吧。 最近,曾经就职于Google、Square等公司的软件工程师兼博客作者David Byttow认为,虽然不同的企业文化各异,面临的挑战不同,但是优秀的技术领袖通常具备相似的特征、特质和方法。Byttow在VB撰文总结了伟大的技术领袖在推动项目前进时需要亲力亲为的三十二件事,对于那些可望"从优秀到卓越"的企业的技术管理者来说,有很多可以借鉴参考的地方 : 创建和维护项目启动、测试和发布计划。 主持高效率的工程师团队会议。 确保会议尽可能的简短有效。 帮助创建和排布项目的优先级事项。 经常对新的或不需要的功能说不。 为所关注的问题定义最佳实践。 成立专门的攻坚或调试团队。 维护跨职能关系。 设定目标里程碑日期。 了解最新的优秀工具的动态 担当团队里工程师的"教练"。 从其他团队招揽工程师。 关照实习生,帮他们成功。 仔细阅读代码并给出具体有用的反馈。 阅读、撰写并反馈设计文档。 在正确的时间写正确的代码。 必要时在管理层面前保护你的工程师。 与其他工程团队协作。 发现"技术债务"。 解释决策背后的原因。 为正确的设计决策而战斗。 为"技术债务"的解决挤出时间。 实现团队工作的负载均衡。 为团队物色新的人选,并帮助新工程师入职。 必要的时候对工期和时间节点进行调节。 定义项目的MVP人选,并维护其地位。 评估架构决策和相关影响。 确保对核心功能进行测试。 维持在岗工作流程的正常运转。 必要时屏蔽更多议题。 为产品的隐私和安全问题把关。 时不时蹦出点牛逼的想法和解决方案。 文章来自IT经理网

龙生   02 Sep 2013
View Details

20 个势头最猛的开发者工具

近年来风险投资和天使投资人似乎非常偏爱开发者工具,根据最新的报告,2012年投资者在开发工具上投入了6.46亿美元,这使得开发工具成立最热门的创业领域之一。 在资本的趋势下大批公司投身开发开发者工具,很多新产品非常优秀也卖得不错,但是也有不少产品噱头大过功能,很快被用户束之高阁。随之而来的问题是,面对如雨后春笋般冒出来的新开发工具,除非你是技术专家并花费大把时间试用新产品,否则你很难区分这些开发工具的优劣。 最近,帮助投资人筛选创业公司的投资研究机构Mattermark,分析了各开发工具的用户增长势头,给出了20个发展最快的前端和后端开发者工具的列表。其中一些开发工具已经拿到了风险投资,所有上榜开发工具的用户数最低不少于1万。 Mattermark制作开发工具排行榜的数据来源很多,包括新闻报道、AngelList、App Store排名、Alexa排名等。 以下是Mattermark给出的顶级开发工具公司排名: 10大前端软件开发工具 Ink Mobility -让智能手机应用之间通讯互动的工具 Bootstraptor-为Web开发者准备的Twitter Bootstrap模板 Macaw-支持语义HTML和简洁CSS的web开发工具 XingCloud-“一键”本地化你的网站 FlauntResponsive-自适应设计的转化工具 Statuspage.io-简单的宕机沟通工具(刚刚在Y Combinator上发布) GrowthGiant-不间断的A/B测试工具(beta内测,尚未正式发布) Spinnakr-A/B测试内容工具,为不同用户显示不同信息 Dakwak-能为访客显示本地化网站版本的工具 Nitrous.IO-快速开发环境管理与代码协作   10大后端开发工具 Bitnami-在亚马逊、Azure和VMware上运行的服务器软件的应用商店 Flywheel-为设计师准备的WordPress托管和管理服务 Pivotal-企业PaaS云计算服务(来自EMC和VMware) Salt Stack-为DevOps组织提供的系统与配置管理 KnackHQ-在云端管理数据库 HortonWorks-Apache Hadoop商业版本发行商,用于大数据存储 Digital Ocean-面向开发者的云托管服务 Fastly-下一代内容分发网络(CDN) Honeybadger-Rails的错误管理服务 Mean.io-MongoDB、Node.js、Express和AngularJS应用的样板 转自:http://www.oschina.net/news/43791/top-developer-tools

龙生   02 Sep 2013
View Details
1 237 238 239 280