2014 年度 Git@OSC 最热门的 50 个项目
2013年5月份开源中国正式推出 Git 代码托管系统 (git.oschina.net) ,经过一年多的发展,Git@OSC 现在已经是国内最大的基于 Git 的代码托管系统。2014年11月,为了满足 Git 仓库不断增长的要求,我们将 Git 系统从云平台迁移到独立的服务器,为进一步发展打下坚实的基础。 Git@OSC 系统能发展这么迅猛,全依赖用户的大力支持。并非 Git@OSC 牛逼,而是这个 Git@OSC 上的项目牛逼,给你们点赞!!! 每到年底总会出现各种排行榜、各种总结,我们也不能免俗。每个排行榜都会有角度的问题,其实在我眼里,能为我所用的就是最牛逼的项目。 此次我们整理的”2014 年度 Git@OSC 最热门的 50 个项目“,我们主要从 Fork/Star/Issues/Views 等几个角度按照不同的权重进行了排序,得出了前 50 个项目。更多 Git@OSC 上推荐的项目请看这里。 下面是这 50 个项目的完整列表,你的项目在里面吗? 1. JFinal JFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有ruby、python、php等动态语言的开发效率!为您节约更多时间,去陪恋人、家人和朋友 :) http://git.oschina.net/jfinal/jfinal 2. android-app OSCHINA 的 Android 客户端源码,可在 Google Play 或者国内几个应用市场上搜索“开源中国”来安装此app http://git.oschina.net/oschina/android-app 3. jeewx 免费开源Java微信公众账号开发平台 http://git.oschina.net/jeecg/jeewx 4. CrossApp 跨平台移动应用开发引擎 http://git.oschina.net/9miao/CrossApp 5. LigerUI 基于jQuery的UI框架,包括表单、布局、表格等等常用UI控件,使用LigerUI可以快速轻松地创建风格统一的界面效果。 http://git.oschina.net/ligerui/LigerUI 6. 师说CMS 一款使用Java语言开发的CMS,使用了Spring MVC,Spring,MyBatis等流行框架,提供首页大图管理、目录管理、文章管理和管理员管理等功能。是学习和二次开发的首选。 http://git.oschina.net/shishuo/CMS 7. smeoa 基于ThinkPHP开发的PHP开源OA办公系统 http://git.oschina.net/smeoa/smeoa 8. iphone-app OSCHINA 的 iPhone 客户端源码,可直接在 App Store上搜索“开源中国”来安装此app http://git.oschina.net/oschina/iphone-app 9. jeecg […]
View DetailsNginx配置文件详细说明
在此记录下Nginx服务器nginx.conf的配置文件说明, 部分注释收集与网络. #运行用户 user www-data; #启动进程,通常设置成和cpu的数量相等 worker_processes 1; #全局错误日志及PID文件 error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; #工作模式及连接数上限 events { use epoll; #epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,可以大大提高nginx的性能 worker_connections 1024;#单个后台worker process进程的最大并发链接数 # multi_accept on; } #设定http服务器,利用它的反向代理功能提供负载均衡支持 http { #设定mime类型,类型由mime.type文件定义 include /etc/nginx/mime.types; default_type application/octet-stream; #设定日志格式 access_log /var/log/nginx/access.log; #sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,对于普通应用, #必须设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,以平衡磁盘与网络I/O处理速度,降低系统的uptime. sendfile on; #tcp_nopush on; #连接超时时间 #keepalive_timeout 0; keepalive_timeout 65; tcp_nodelay on; #开启gzip压缩 gzip on; gzip_disable "MSIE [1-6]\.(?!.*SV1)"; #设定请求缓冲 client_header_buffer_size 1k; large_client_header_buffers 4 4k; include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; #设定负载均衡的服务器列表 upstream mysvr { #weigth参数表示权值,权值越高被分配到的几率越大 #本机上的Squid开启3128端口 server 192.168.8.1:3128 weight=5; server 192.168.8.2:80 weight=1; […]
View Details安装Nginx
预编译版 Linux 和 BSD 的预编译包 大部分 Linux 发行版和 BSD 衍生版的源里都有 Nginx,使用通常安装其他软件的方式即可安装(在 Debian 上用 apt-get,Gentoo 上用 emerge,FreeBSD 上用 ports,等等)。 请注意这些包通常不是最新版本。如果你想使用最新功能和 Bug 修复,建议从源码编译安装(实际上,编译安装也相当简单)。 Win32 预编译包 现在nginx官方已经发布了官方版的nginx/Win32了,欢迎大家使用。在先前Kevin Worthington 负责维护一个 Windows 的最新预编译版分支,如果您已经习惯了使用这个版本也可以选择使用这个版本的。 源代码发布 Nginx 有两个版本:稳定版 (1.0.x), 和 历史稳定版 (0.8.x)。同时,我们在svn中也提供开发版。开发版分支会较快获得新功能和缺陷修复,但同时也可能遇到新的缺陷。一旦更新稳定下来,就会被加入稳定版分支。然而新功能不一定会被加到旧的稳定版中去。 作为生产环境,通常建议使用稳定版,但其实开发版本也相当稳定。如果您的网站不是基于Fcgi,建议使用开发版。请参考 FAQ。 从源代码编译Nginx 把源码解压缩之后,在终端里运行如下命令: ./configure make sudo make install 默认情况下,Nginx 会被安装在 /usr/local/nginx。通过设定编译选项,你可以改变这个设定。 Nginx/Win32 安装 为了安装Nginx/Win32,需先下载它。然后解压之,然后运行即可。下面以C盘根目录为例说明下: cd C: cd C:\nginx-0.8.54 start nginx Nginx/Win32是运行在一个控制台程序,而非windows服务方式的。服务器方式目前还是开发尝试中,Nginx/Win32可以使用以下开关来管理它: Nginx -s stop 快速关闭Nginx,可能不保存相关信息,并迅速终止web服务。 Nginx -s quit 平稳关闭Nginx,保存相关信息,有安排的结束web服务。 Nginx -s reload 因改变了Nginx相关配置,需要重新加载配置而重载。 Nginx -s reopen 重新打开日志文件。 【责任编辑:杨赛 TEL:(010)68476606】 from:http://os.51cto.com/art/201111/304425.htm
View Details2014年新交规C1科目三(大路考)考试过关技巧
2014年新交规C1科目三(大路考)考试有原来的13项道路驾驶技能项目增加到16项,并且考试里程不少于3公里,其中需抽取不少于20%进行夜间考试;不进行夜间考试的考生,应当进行模拟夜间灯光使用考试。下面我们就为大家介绍一下C1科目三考试过关技巧: 工具/原料 考试项目:上车准备、起步、直线行驶、加减挡位操作、变更车道、靠边停车、直行通过路口、路口左转弯、路口右转弯、通过人行横道线、通过学校区域、通过公共汽车站、会车、超车、掉头、夜间行驶,共16项! 方法/步骤 1 上车准备:上车之前需绕车一周,对车辆外观及周围的环境进行正确观察,确认安全。特别是在打开车门之前应观察后方的交通情况,以防后方有车或行人路过。这个习惯在以后开车过程中也会用到!大家千万不要忽视这个细节,很重要的哦。 2 起步:上车准备之后,拉开车门上车起步,起步前检查车门是否完全关闭,调整座椅、后视镜,系好安全带,检查驻车制动器、挡位,启动发动机。检查仪表,观察内、外后视镜,侧头观察后方交通情况,开启转向灯,挂挡,松驻车制动,起步。起步过程平稳、无闯动、无后溜,不熄火。建议起步时右脚踩刹车,以坡道起步标准起步,防止路面不稳导致起步熄火。 3 直线行驶:根据道路情况合理控制车速,正确使用挡位,保持直线行驶,跟车距离适当,行驶过程中适时观察内、外后视镜,视线不得离开行驶方向超过2秒。大家切记看的远才能跑的直,如果眼睛只看车前最终不能行驶直线是肯定的。 4 加减档位操作:根据路况和车速,合理加减挡,换挡及时、平顺。加减挡的时候一定要左手握紧方向盘,不然在加减挡的时候会出现跑方向的情况。操作过程:踩油门[转速1500转(15迈)时]→踩离合、松油门→换二档→松离合、踩油门[当转速1500或25迈时]→踩离合、松油门→换三档→快松离合(不踩油门)→[无需加油]踩离合→换四档→快松离合、踩离合→换三档→松离合→[把速度降到20迈]踩离合→换2档→慢松离合。 5 变更车道:变更车道前,观察与判断车辆后方、侧方和准备变更的车道上的交通流情况,确认安全后,打开转向指示灯示意,再次通过后视镜观察两侧道路上有无车辆超越,确认准备驶入的车道是否允许留有安全距离。在不妨碍该车道内车辆正常行驶的情况下,平稳转向驶入所需车道后,关闭转向指示灯。 6 靠边停车:听到考官的“靠边停车”的指令后,开右转向灯,看右侧反光镜,观察情况;适量踩下制动踏板;向右转动方向盘(第一把轮向右靠边);在车速降低至低于一档的时速时踩下离合器踏板,当右前轮靠近路沿时,再向左转方向(第二把轮,调正车辆并且调整车身与路沿的距离);向左回转方向(第三把轮,车正轮正)迅速停车。在车辆近停时,稍许抬起制动踏板减缓刹车惯性,平稳停车;拉紧手刹车,挂空档,抬离合器抬刹车踏板,关闭转向灯。整个靠边停车动作完成。 7 直行通过路口、路口左转弯、路口右转弯:需合理的观察四周交通情况,减速或停车观察,根据车辆行驶方向选择相关的车道行驶,正确使用转向灯,根据不同路口采取正确的操作方法,安全通过路口。路口左转弯和路口右转弯的时候重要的是观察两侧环境并减速行驶,不然会有甩车的现象出现。 8 通过人行横道线:在通过人行横道的时候首先减速,观察两侧的交通情况,确认安全以后,合理控制车速通过,遇到行人需停车让行。在此过程中需注意档位,如果减速不及时减档会出现脱档现象。 9 通过学校区域:动作要领是提前减速至30km/h以下,注意观察情况,文明礼让,确保安全通过,遇有学生和行人横过马路的时候应该停车让行。,不得鸣喇叭或与学生抢行。 考试扣分基础点: 1、不观察左、右方交通情况,不合格; 2、不按规定减速慢行,不合格; 3、遇行人通过人行横道不停车让行,不合格。 10 通过公共汽车站:提前减速慢性,观察公共汽车进、出站动态和乘客上下车动态情况,着重注意同向公共汽车前方或对向公共汽车后方有无行人横穿道路。需要保持较大的安全间距进行超越,并随时做好停车避让的准备。 考试扣分基础点: 1、不观察左、右方交通情况 不及格 2、不按规定减速慢行 不及格 11 会车:正确判断会车的地点,前方道路的宽度、坚实情况,路旁行人、车辆情况,路旁停车以及障碍物情况等。会车有危险的时候,控制车速,提前避让,调整会车地点,会车时与对方车辆保持安全间距。在会车时候要注意的细节:会车中不使用紧急制动、猛抬油门、猛打方向盘;不要在有障碍物、窄桥、窄路、隧道、急转弯等复杂地段会车;夜间会车需关闭远光灯。特别注意的事如果有会车让行标志,面对标志的车辆在会车需停车让行。 考试扣分基础点: 1、会车前不使用转向灯 扣20分 2、会车前,开转向灯少于3秒即转向 扣10分 3、在没有中心隔离设施或者中心线的道路上会车时,不减速靠右行驶,并与其他车辆、行人或者非机动车未保持安全距离 不及格 4、会车困难时不让行 不及格 5、横向安全间距判断差,紧急转向避让相对方向来车 不及格 6、在规定的时间、路程内,未按语音指令会车 不及格 12 超车:超车之前,需要保持与被超越车辆的安全距离。观察车辆左侧交通情况,开启左转向灯,选择合理时机,鸣喇叭或交替使用远近光灯,从被超越车辆的左侧超越。切记是从左侧超车哦,超车的时候,侧头观察右侧被超越车辆的动态,保持横向的安全距离。超越之后,在不影响被超越车辆正常行驶的情况下,开启右转向灯,逐渐驶回原车道,关闭转向灯。 在超车队的时候,加速连续超越。若对面道路不能保证安全的横向间距,应及时开右转向灯,见机插入车队,待对面车过后再超越车队。不要在交叉路口、弯道、坡顶、岔路口、会车、被超车辆正在超车的时候超车。 13 掉头:掉头之前开启左转向灯、减速,注意观察路况,同时密切注意来往车辆情况(特别是车速快的车辆),必要时停车等待。掉头行驶只要控制速度,只要速度控制好基本没问题。 14 夜间行驶:起步之前开启前照灯。行驶过程中正确使用灯光。无照明、照明不良的道路使用远光灯;照明情况好的道路、会车、路口转弯、近距离跟车的时候使用近光灯。在超车和通过急弯、坡路、拱桥、人行横道或没有交通信号灯控制路口的时候,应交替使用远近光灯示意。夜考重点就在于灯光的使用。 考试扣分基础点: 1、不能正确开启灯光,不合格。 2、同方向近距离跟车行驶时,使用远光灯,不合格。 3、通过急弯、坡路、拱桥、人行横道或者没有交通信号灯控制的路口时,不交替使用远、近光灯示意,不合格。 4、会车时不按规定使用灯光,不合格。 5、在路口转弯时,使用远光灯,不合格。 6、超车时未变换使用远、近光灯提醒被超越车辆,不合格。 7、对低能见度道路情况判断差,不合格。 8、在有路灯、照明良好的道路上行驶时,使用远光灯,不合格。 END 注意事项 考试时候时刻观察周边情况,安全行驶是关键。听从指令,在做项目之前正常是减速慢行! 一个良好的心态是考试的关键,而且这些考试项目在后期行车中也会经常用到,多联系并养成好习惯很重要。 FROM:http://jingyan.baidu.com/article/e75aca8551b61a142edac68f.html
View Details移动终端和pc浏览器版本检测
/* * 智能机浏览器版本信息: * */ var browser = { versions: function () { var u = navigator.userAgent, app = navigator.appVersion; return {//移动终端浏览器版本信息 trident: u.indexOf('Trident') > -1, //IE内核 presto: u.indexOf('Presto') > -1, //opera内核 webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核 gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核 mobile: !!u.match(/AppleWebKit.*Mobile.*/) || !!u.match(/AppleWebKit/), //是否为移动终端 ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端 android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器 iPhone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1, //是否为iPhone或者QQHD浏览器 iPad: u.indexOf('iPad') > -1, //是否iPad webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部 }; } […]
View Details智能判断移动端和电脑浏览器代码
基于移动端的微信和wap网站开发,日益火起来,下面贴一段智能判断分流的代码,希望对菜鸟有所帮助! <?php function isMobile(){ $useragent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : "; $useragent_commentsblock = preg_match('|(.*?)|',$useragent,$matches) --> 0 ? $matches[0] : "; } function CheckSubstrs($substrs, $text) { foreach ( $substrs as $substr ) { if (false !== strpos($text,$substr)) { return true; } return false; } $mobile_os_list = array ( 'Google Wireless Transcoder', 'Windows CE', 'WindowsCE', 'Symbian', 'Android', 'armv6l', 'armv5', 'Mobile', 'CentOS', 'mowser', 'AvantGo', 'Opera Mobi', 'J2ME/MIDP', 'Smartphone', 'Go.Web', 'Palm', 'iPAQ' ); $mobile_token_list = array ( 'Profile/MIDP', 'Configuration/CLDC-', '160×160', '176×220', '240×240', '240×320', '320×240', 'UP.Browser', 'UP.Link', 'SymbianOS', 'PalmOS', 'PocketPC', 'SonyEricsson', 'Nokia', 'BlackBerry', […]
View DetailsWebBrowser打印设置
webbrowser,居然被用作套打。。。。。。 由于是套打,格式要求很严格,页眉页脚、页边距等等等等。 在网上找到下列代码,做适当修改后基本上能满足要求了,但是由于是用JS修改注册码,因此和客户端的IE设置有很大关系,必须要求客户IE允许Activex。如果不允许,var Wsh=new ActiveXObject("WScript.Shell");将抛出一个异常。 <script language="JavaScript" type="text/javascript"> var HKEY_Root,HKEY_Path,HKEY_Key; HKEY_Root="HKEY_CURRENT_USER"; HKEY_Path="\\Software\\Microsoft\\Internet Explorer\\PageSetup\\"; //设置网页打印的页眉页脚为空 function PageSetup_Null() { try { var Wsh=new ActiveXObject("WScript.Shell"); HKEY_Key="header"; Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,""); HKEY_Key="footer"; Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,""); HKEY_Key="margin_bottom"; Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"0"); HKEY_Key="margin_left"; Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"0"); HKEY_Key="margin_right"; Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"0"); HKEY_Key="margin_top"; Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"0"); } catch(e){ //alert(e); } } //设置网页打印的页眉页脚为默认值 function PageSetup_Default() { try { var Wsh=new ActiveXObject("WScript.Shell"); HKEY_Key="header"; Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"&w&b页码,&p/&P"); HKEY_Key="footer"; Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"&u&b&d"); } catch(e){} } </script> 第二种方法:直接在.cs文件中写方法。 protected void Page_Load(object sender, EventArgs e) { //PageSetup("", ""); } private void PageSetup(string header, string footer) { Microsoft.Win32.RegistryKey rk = Microsoft.Win32.Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Internet Explorer\\PageSetup\\", true); rk.SetValue("header", header); rk.SetValue("footer", footer); rk.SetValue("margin_bottom", 0); rk.SetValue("margin_left", 0); […]
View DetailswebBrowser给documenttext赋值
今天使用webbrowser的时候给documenttext赋值老是没用,查了半天资料才发现要先navigate一下才行 最后的使用方法如下 using (WebBrowser wb = new WebBrowser()) { wb.Navigate(“about:blank"); wb.Document.Write(content); ///需要更改的内容 el = wb.Document.GetElementById("sender"); if (el != null) el.InnerHtml = EnviromentManager.Username; string html = wb.Document.Body.InnerHtml; } from:http://blog.csdn.net/xiao_rory/article/details/6030160
View Details让编程速度慢下来
我老爸经常对我说,“慢点,儿子,这样事情会完成的更快。” 我曾经在旧金山湾区的多家高科技初创公司工作过。现在,我52岁了,我编码时速度慢了、思考的东西多了。 我像一个写代码的设计师;当你读这篇文章的时候你会明显地感觉到这一点:) 最近当我和一些年轻的程序员一起开发一个项目时,慢速编程对我来说是个问题,他们信仰快速实现、迭代式修改代码。开发时,我们被鼓励使用相同的代码库,它就像一大锅汤,如果我们持续地、用力地搅拌它,一个完整的东西就会出现。 然而它不会。 这些程序员中的许多相信所有的工程师都是可替代的这个谬误,以及没人应为代码的任何一方面负责的观点;任何程序员都应能在任何时间改变代码的任何一个片段。毕竟,我们有像github一样能管理、合并任意多的,来自任意数目员工的异步提交的优秀服务。只要每个人经常提交commit,且不破坏任何东西,那么一切都会工作得很好。 扯淡。 你不可能仅靠心意就取代了设计过程。它自文明的曙光以来就一直存在着。而且,即使是那些最新的灵活开发工具,不管它们有多灵活,都不能取代能建立起大教堂,铺设出铁路,拍摄出唱片电影的良好的实践与真实的合作。 同样,再怎么多的编程总量也不能产生一件能节约软件开发时间,把开发速度加快到一堆代码猴子水平的编程工具。 节奏紊乱 让我从快速编程的程序员之中脱颖而出,成为一名慢速程序员的那次意外,其实是一中形式的 节奏紊乱 – 那时候我有一个被其他的程序员笑称是机关枪式迭代的编码节奏. 我的编程风格被描述成拥有各种各样的大小和时间尺度的有机弧线, 其中每一个的开始都是探索、反复尝试以及各种错误、小伎俩,以及临时变量. 基本上,还算是感觉良好. 看上去还是像模像样的. 过段时间后,我会回过头来圈圈点点。每一段弧线的结尾都像是某种准备实现的代码. (“打扫战场”是每个回合结束后必须要折腾的事情). 我编写代码做出贡献的同时,策略、设计方案以及架构上的突发情况不断. 而有时,在一个成熟的机制出现之后, 我却会回过头去重新开始, 因为我那时候就会想到实现某个东西的更好方式. 有时候我是错的。有时候我又是对的. 除非完全成型之后让我眼见为实,否则永远都没办法知道对错. 总而言之,让我们回到一起搞大掺和的程序员们身上. 问题就成了这样: 如果整个软件生态系统没有任何的迟滞和停顿——在发展和应用设计的整个过程中按部就班风平浪静,那么一个人,或者甚至是一个快速的编程者,他是如何做出一个好的设计来的呢? 任何生成快速编程同慢速编程其实一样 (除开前者比较快之外), 都是没有真正理解设计过程的. 同样的原因,很多的神经学家现在都认为类似流体流动的神经元放电会在整个大脑有一种临时占据所有思想和意识的浑(混)响,那就是好的设计需要花费时间. 降低编程速度运动 据wikipedia所说,“降低编程速度运动”是“降速运动”的一部分。这是一种强调仔细设计、品质代码、软件测试与思考的软件开发哲学。这项运动旨在防止不成熟的组装件、有问题的代码和过快的开发周期。 wikipedia同时对“慢软件开发”有着相应的内容:“作为敏捷软件开发运动的一部分,世界上成群的软件开发者期待着具有预见性的项目,旨在获得可持续的职业生涯与工作生活的平衡。他们进行了例如结对工作、代码审查、代码重构等尝试,希望能开发出更令人信赖与强健的软件产品。” 处在旧金山湾区的,由风险投资所支撑的软件开发都是行进在热火朝天的快车道之上的. 在一个流程中资金被动态的投入到了非自然的需求上,其实应该最好是留给设计革新的自然行业节奏上去的. 快并不总是好主意. 事实上,慢一点实际上有时候就意味着更快 – 那种时候所有的东西都是讨论和做好过的. 数字科技是如何侵入我们的自然规律式的节奏的,这一个主题早就被 Rushkoff 的 现实冲击 一问所阐释. 还有另外一个问题: 对技术近乎狂热的崇拜和追求– 迷信般的迷恋着工具. 人们很想知道软件问什么这么烂(是的,它很烂). 软件很烂大都是因为纸上谈兵. 快速的编程者会围绕一些拥有小伎俩的工具去构建一些拥有小伎俩的工具来帮助他们编写代码. 这也是为什么, 我相信软件开发需要各种老人参与其中, 包括: 女性, 教育家, 艺术家. 需要更多的"人-人", 更少的"事-人". 我指的参与, 不是让他们在咨询台服务, 或是装饰下界面(UI flower arranging). 我指的是真正参与开发– 让软件更加人性化. 还好, 我不是码字员. 我的一个朋友, 一个成熟的女性软件工程师, 她有一句名言: “编程不等同于码字”. 虽说这个道理大家都知道, 不过, 常用它来提醒下自己, 也不是什么坏事. Brendan Enrick 也在讨论这方面的问题. 正是因为敲击键盘的是程序员, 才使得这项工作变成了编程, 而不是码字. 说白了, 编程其实就是, 把各种想法, 设计 语言, 逻辑和心智建构(mental construction)存入计算机记忆体中的一项活动. 我的妻子经常走到院子里问我:“你在编程吗?”我的答案常常是“是的”。我经常是在用花园剪修剪树枝或是在移动堆肥。 植物、泥土和剪刀对于编程的作用就像键盘和发光的屏幕一样。 我们正从工业与经济时代过渡到一个可持续发展的年代。是的,新的软件与生意需要生长。然而,为了可持续性,它们需要缓慢地生长,需要我们的呵护,一如我们对待美酒,对待孩子一般。 from:http://www.oschina.net/translate/the-case-for-slow-programming
View Details盘点互联网巨头奉献的十大开源安全工具
Facebook等大型互联网公司推动的服务器与数据中心、大数据工具的开源化项目类似,当大型互联网公司们在超大规模基础设施运营方面面临的挑战 超出技术厂商的能力时,这些巨头就选择反客为主,成为创新技术的推动者和提供者。同样的情况也在信息安全领域中发生着。不少大型互联网公司经常会将自己开 发的顶级安全工具开源,推动整个互联网的安全发展。 本月早些时候安全牛曾介绍过Google开源的web安全测试工具Firing Range、Nogofail以及Facebook开源的Osquery等。 事实上不仅Google、Facebook,包括Netflix甚至Etsy.com这样的电商网站也都贡献过精品开源安全工具。 以下安全牛为大家汇总整理十大互联网巨头的开源安全工具,供大家收藏参考: 一、安全猴 Security Monkey “安全猴”是Netflix三年前开发的一个安全工具,能够对亚马逊云服务的配置进行监控和安全分析,组件功能包括监控各种AWS账号组件,机遇规则的开发和执行活动,在审计规则被触发时通知用户,并存储配置历史信息用作电子取证和审计目的。 二、OSquery OSquery是Facebook刚刚发布的一个安全工具,为安全专业人士提供了一个可调用底层操作系统功能的系统,例如启动进程、加载内核模块、在SQL数据库表中打开网络连接进行查询和监控等。 三、Skyline Skyline是电商网站Etsy技术团队开发的一个类似Nagios的实时异常侦测系统,主要目的是为安全团队提供一个可扩展的被动监控指标体系——可以同时跟踪成百上千的指标。 四、MIDAS MIDAS是Etsy与Facebook安全团队合作为Mac电脑开发的一个轻量级可扩展的入侵侦测系统。开发团队希望从MIDAS开始,企业开始留意OSX系统端点的常见攻击模式。 五、Secureheaders Secureheaders是Twitter送给web开发者的一份大礼,作为一款web安全开发工具,Secureheaders能够自动实施安 全相关的header规则,包括内容安全政策(CSP),防止XSS、HSTS等攻击,防止火绵羊(Firesheep)攻击以及XFO点击劫持等。 六、Google Rapid Response GRR(Google Rapid Response)是Google开发的一个时间响应框架,支持进行远程实时取证。Google将GRR以开源工具的方式与安全界分享,可以作为FireEye/Mandiant 的MIR事件响应平台的替代产品。 七、Scumblr和Sketchy Scumblr和Sketchy是Netflix今年夏天同时发布的两款web应用,可以帮助安全团队监控和记录社交媒体和网络聊天中的安全威胁和攻击。 八、Conceal Conceal是面向Android平台的一组简单的Java API,能够对SD卡等公共存储设备中的大文件进行快速加密和认证。Conceal由Facebook设计,开发者可利用Conceal开发出能适用于老版本Android的内存和处理器开销较低的加密算法。 九、Rappor RAPPOR(Randomized Aggregatable Privacy-Preserving Ordinal Response )是Google上月才发布的隐私工具,能够从终端用户软件采集众包统计数据,同时又不侵犯用户隐私。 十、Moloch Moloch由AOL的技术团队开发,是一个网络流量分析取证工具,能够大规模抓取IPv4数据包,进行索引并存储,可通过一个简单的web界面浏览、搜索和输出所有PCAP数据。 稿源:安全牛 FROM:http://www.oschina.net/news/57334/10-opensource-security-tools
View Details