All posts by 龙生
[转]老菜鸟致青春,程序员应该选择java 还是 c#
致青春 还记得自己那年考清华失败,被调剂到中科大软院,当初有几个方向可以选,软件设计、嵌入式、信息安全等等,毫不犹豫地选择了信息安全。 为什么选信息安全?这四个字听起来多牛多有感觉,我本科是学物理的,记得做一个光学实验的时候,一个老师看我做的结果,说,学物理不是什么人都可以的,这个是需要一点智商的。 好吧,当初其实并非对我一个人所说,但我确实感觉到受到了鄙视,同时,我没有任何在物理上的精湛技艺可以反击我的老师。 由于整个大学期间,我都在沉迷游戏和小说,以至于辅导员说,现在找你都得预约。 而我的同学基本在学期开始和考试前能见到我,当时为了应付考试,我不得不学习复杂的物理公式和推导,有一门课程是激光原理,老师是双博士学位,大概是很厉害的,在我考试时,过来看我的卷子,说你的”背功“很厉害。 考试时如期通过,但老师大概都对我评价不高。自然,我是感到不愉快的。 回到我的毕业论文,大概是做一个电离层特征参量的反演,其实就是用迭代法解病态方程。 这个论文基本是没有人选的,因为题目本身可能相对比较难,也需要编程实现,好吧,当时下载的是盗版的matlab,参考的是一个日本学者和我导师的论文,铿铿锵锵地写出来了。还做了个所谓的参数优化,以使得结果看起来更平滑。 当时觉得很得意,我女朋友(现在的老婆)也很惊讶,我一个月做完了。 其实这不是第一次领略程序的魅力,在很久之前,高中时期,为了追一个女生,我做过flash,当时我就觉得拖来拖去很麻烦,但苦于没有基础,看不懂actionscript,所以难以深入体会编程的精妙,如果看到网上有一些类似雪花飘落、旋转字等效果,都是直接拷贝修改到完工。 现在回到,为什么选择信息安全上来,因为在大学时,很喜爱游戏,尤爱单机,国情大家是清楚的,而且我没有钱,也不知道哪里可以买到正版,这个猥琐了,呵呵。 仙剑、上古、火炬之光、火焰纹章,各种类型都喜欢。也很喜欢生存类游戏。给一个单机游戏做的exe补丁和用lua拓展的mod至今看来仍让我怀念。 讨厌网游是因为自己没有钱,搞不过RMB玩家,而且砸装备总失败。 唯独一个,2006年时,我玩完美世界,后来玩它的SF,为了砸装备,我第一次想到写封包外挂,由于当时已经有一些socket、tcp/ip的概念了,虽然C++玩不转,还是各种参考,写hook、写字节转换,同时完美当时打击WG很厉害,游戏基址容易变,又加了很多防调试的功能。 但为了不手工砸装备(SF里的石头几乎免费,就是砸上去的几率太低),我欲望那个强啊,所以用OD调试找网络发送的函数地址, 然后C++写代码hook。 程序最终工作很好,我还分享给了几个玩友。 后面也写过一些类似跳舞自动击键的WG,主要也是为了自娱自乐,因为我真的反应不过来屏幕上瞬间出现太多的key! 与程序为伍的日子很少,但每一次接触,似乎都是为了达到自己的一些目标。 所以凌乱的编程体验,虽然不系统,不精湛,却让我快乐。 再次回到为什么选择信息安全上来?也许答案已经很清楚。 当时觉得虚拟机加密太高深了,联网解密也难搞定,所以觉得信息安全一定是能解决我的问题的! 后来你猜到了,就是C,就是汇编,就是linux,我当时是多么反感linux,当时还用的是ubuntu,但为了课程,实在是没有办法,为了考研,自己系统自学了数据结构、计算机网络、操作系统、组成原理,当时在考研论坛上还和一个清华搞计算机体系的探讨问题,刷了好几页的帖子,现在看来,多幼稚!但,快乐也是固定在那个过程之中了。 我讨厌汇编,我讨厌C,我讨厌linux,但他们强大,能够满足需求,这就够了。 java还是 c#? 其实这不应该是我们真正的主题,而且入了行的也很少会java还是c#这么比,但初学的,java和c#往往就代表了两大流派,java代替了j2ee,c#代替了.net,ok,没有关系,这么作为title,不影响我们说事。 如果从语言的角度上来讲,c#毫无疑问胜出,易用、门槛低、优雅、较为简洁。但java和c#的语言特性是相似的。 在很多类的命名上,它们都如出一辙: //java System.out.println("java比C#强!j-a-v-a!"); //C# System.Console.WriteLine("你没看到#是4个+吗,我比c++还强2个+,你就歇菜吧!"); c#出现的时间比java晚,所以自然吸收、借鉴,同时又有它的创新,比如很早就支持lamda表达式、比如event和委托,比如var,比如linq。 但如果从面向接口来讲,java同样可以做到event和listener,只不过对象引用的传递比较直接。 而.Net的类库和jdk则各有千秋。 如果从应用的角度来看,javaee和.Net体系几乎都涵盖了主流的开发方向: 桌面、Web、服务端、数据库、网络、移动端、中间件。 哪个方向,哪个更强?这个留给读者自己体会吧。 微软给.Net一个宇宙最强的IDE,也给了各个方向统一而平滑的编程体验,不得不说,微软的上手要容易的多。 而java则一开始就和开源分不开,多如牛毛的框架、引擎、包,blabla,用java开发,程序员要懂得东西更多一些。应为你大部分情况下得自己整合。但整合的好了就是很强大的,比如SSH。 在近几年很热的大数据和云计算领域,hadoop、spark、tez、leveldb、mongodb、mariadb、hive、hbase,还有oracle,都各自在自己不同的层面发力,大部分的这些都对java是极为友好的。 很多java程序员,都觉得搞.net开发的,就是拖拖控件而已,其实我可以告诉你,说出这种话的java程序员一般都还比较小白,如果你是搞.net的,你也可以说搞java的都是拷贝别人的开源软件的代码,然后改改而已。 当然改改没什么问题,谁都不喜欢重复造轮子,比如,google里面也并非全部是创新,经常”拿“别人的东西自己改吧改吧,淘宝就很不用说了,招了一些能改c、会点编译的程序员,经常拿各种开源框架开刀,然后表明是自己的东西。比如双11的那个问题。 当然不是说淘宝找的人有问题,而是这个企业的文化就是销售和广告文化,后来的google也如此。 回到正题,wpf和silverlight(虽然已经EOL)中最大的创新莫过于xaml技术,如果你认为wpf只是winform的简单升级,或者说你只会在wpf中拖控件,说明你还是一个非常初级的.net程序员,不管你工资上w没有,或者你已经是项目经理了。 xaml天生就是为mvvm模型而生,这一点,搞前端的同学,应该熟悉,即使你不懂wpf,js和html怎么做mvvm,你也应该体会过它的好处。 wpf中在xaml中布局控件,并支持INotifyPropertyChanged接口,可以非常容易的实现界面和数据分离,做出一个mvvm模型出来。 说到标记性语言,我们看看jsp的jstl、struts2的tags,还有asp.net mvc3之后的razor引擎: jstl和aspx的标签类似,自由、强大,可以很容易的穿插交织到html标记中; struts的标签就是个另类,我个人反感这种既不遵循主流标准也不简洁的东西,虽然好多人会说好用,那是个习惯问题,我这么说,不是说这东西难学难掌握,只是比较一下和razor引擎中的标签语法,弱爆了。 razor,强大、简洁、优雅。 你肯定觉得我是微软.net的粉丝,其实我想告诉你的是,最强的标签语言只有两种,html和xml,穿插动态语句到服务端页面上,然后刷出html,从来都不是好的做法,因为不只你一个人写代码,后面可能会有其他人维护这个页面,本来这是需要由web designer来做的事情,但是有了语句,他的维护成本就很高。 规范的页面开发,程序员是不会染指一个css、style的,动态语言在aspx、view、jsp上面应该尽量少用。否则你不如使用php和asp。 这一点,你会在工作中会深有体会的。 青春的你,怎么选择? 看看现在的招聘吧,动不动就是 精通j2ee,精通struts、spring mvc、hibernate或者mybatis,对mysql、oracle有深入理解,精通webservice、精通多线程,能处理高并发,有的还得懂jvm,最好有hadoop等开发经验。最后再来个211以上。 .net方面呢? 精通.Net,精通mvc3-5、精通wpf、wcf、多线程,mssql等等等等。 我现在处于离职状态,所以每天收到猎聘上的一些推荐,都很郁闷,因为没有一项是我精通的。 但是不妨碍我在2012年实习中,就拿到了13K的月薪,比一些正式员工可能还要高。 而且,仔细想想,代码中经常讲到要容易维护、这个设计模式、那个AOP,这个大并发,那个高性能,我个人没有见到容易维护的代码。学习一个新公司的一套模式,一套老产品,比学习一门新技术需要的时间长得多,你会发现,99%的情况下,你最需要的,不是什么代码,模式,而是对产品的理解、对业务的理解,很多情况下,除非太菜太小白,大家的代码都差不多,谁有时间重构代码?程序员又为何加班? 这是行情,一个项目接一个项目,公司需要挣钱的,这是大部分公司的现状。 为了回答java还是c#的问题,我会从我的经历提供一些参考,既然是我的,那就不会是全面的和准确的,你自己判断。 还是从故事开始吧! 在科大软院(苏州),因为老婆想和我一起在外面过个年,我不得不去临时找实习,当时c和汇编不行啊,所以得选个流行的,什么流行呢,当时是web。 所以我遇到了java还是c#的问题,确切的是我遇到了j2ee还是.net的问题。 因为经常使用windows,又因为.net门槛如此低,所以毫不犹豫选择了.net,当时是不会写SQL的,但是却系统学习了数据库设计原理。 进入公司就接触mvc3,觉得好,外企的技术确实比较新呢,比我学习.net时学的aspx优雅,那个时候开始接触并尝试理解mvc模式和ddd的概念。 当时,时薪25人民币。 6个月的实习,基本能玩javascript和c#,然后sql还是不行,当时记得一个高级开发跟我说,他以前做delphi开发的时候,团队写sql写的好就牛,我深以为然。 只会用Entityframework + mvc3 + javascript,开发网站的我,用理解很浅的.net的web技术体系,支撑了我和老婆在上海的生活费用,当时10年,我们租的拎包式入住公寓1500一个月,不算生活费、水电费。 再一次,通过一项技术,达到了我的目标,支撑了我的计划,当时对技术的理解,但是偏执于.Net,对java阵营是不屑一顾的。 后来很快离开了科大软院和苏州,考取了中科院,到了北京,房租是1580一个月,照样不算生活费、水电费。 没办法,学校发的补贴根本不够押2付3的。 找实习,做过什么呢?office编程,而且当时的老板是从IBM下来的工程师,项目主要是java开发,jsf做页面,招我过去,做word编程,还不能使用.net,你猜到了,我用的是vba。 没做多久,公司发钱就开始拖延,两周后,我没有积蓄,只能被迫离职,后来加入一家公司,从4K到10k,用了8个月,在这里,我完善了程序员生涯中sql能力的快速成长,并且广泛地使用了silvelight、aspx、oracle、mssql技术。记得当时一个北邮毕业的同事,做了6个月的office文档在web展示,因为涉及到了com编程,所以运行非常不稳定也难于调试,更重要的是,拉一个页面到展示,需要20秒。 老板是中科院软件所的博士,架构很厉害,但对于这个技术细节并不擅长,问我有没有办法,我说做过vba,大概了解word的dom结构,我试试。那个同事说,如果你能做到稳定、快速的实现,你可以拿这个做你的毕业论文了。 我说,我试试。 […]
View DetailsMVC 基架不支持 Entity Framework 6 或更高版本
MVC 基架不支持 Entity Framework 6 或更高版本。有关详细信息,请访问 http://go.microsoft.com/fwlink/?LinkId=276833。 PS:新做一个小型系统时,在开始打框架的时候的碰到的. 查阅了下,在我们辛勤工作的时候,EF已经升级了从EF5已经更新到了EF6了.NuGet程序包更新的时候直接更新到最新版了. 我的VS2012 最高也才MVC4 所以悲剧的不兼容了. 结论就是 MVC4+EF5 或者 MVC5+EF6 调低版本吧. 步骤如下: 工具- 库程序包管理器 – 程序包管理控制台 先看http://blog.csdn.net/sat472291519/article/details/19114921 博文 1.从NuGet 卸载 ef 6.1 2.修改原语句 Install-Package <程序包名> –Version <版本号> Install-Package EntityFramework –Version 5.0.0 <程序包名>从NuGet管理器中就可以查看 或者在 packages.config 中查看 <版本号>知道就直接填上去 不知道 就需要到官网查 总共出了多少版本 选择自己适用的 最后更新下 匹配的中文语言包 Install-Package EntityFramework.zh-Hans –Version 5.0.0 from:http://blog.csdn.net/sat472291519/article/details/39522993
View Details40 个免费的扁平图标集 —— 2015年5月
每个设计师都知道图标可以表现非常多的意图,因此会尽量的把图标做得很漂亮。这里我们收集了最新的一些扁平风格的图标供你参考: Random Stuff Free Iconset by Ghani Pradita Happycons – 40 Free icons by Darius Dan Free CV Icon Pack by www.PixsHub.com Class Learning Achievement Icons by Create the Bridge Credit Cards by Tim Parker Free Polygon Flat Writing And Drawing Equipment Icon Set by Oxygenna Stripes & Co Line Styled Icon Set by www.PixsHub.com Smashicons by Oliver 70 Simple Icons by Young Kang Free Drinks/Lifestyle Icon Set by Oxygenna Icons by Michal Salva Art Icons by Wassim Flat Camera by Huzaifa Ratlam 21 Flat iOs Icon Set […]
View Details让Entity Framework支持MySql数据库
Entity Framework 4.0 也可以支持大名鼎鼎的MySql,这篇POST将向展示如何实现EF+MySql数据库的结构.首先,你必须下载 MySQL Connector/NET 6.3.5 ,也就是.net下连接MySql数据库的驱动程序. 还是像以往一样的,增加一个Entity data model: 将下面选择DataSource, 选择MySQL database 做为数据源. 接下来几步和以前一样,选择要Mapping的Tables: 好了,让我们来测试一下:
1 2 3 4 5 6 7 8 9 10 11 |
using(var context = new MySqlEntities()) { var myEvents = from e in context.Events from a in e.Attendees where a.Person.FirstName == "Gunnar" && a.Person.LastName == "Peipman" select e; Console.WriteLine("My events: "); foreach(var e in myEvents) { Console.WriteLine(e.Title); } } |
可以工作.就是这么简单. 另一个消息是Entity Framework Code-First (CTP5 发布了). 如果您有兴趣可以看一下. from:http://www.cnblogs.com/wintersun/archive/2010/12/12/1903861.html
View Details为 Web 开发者准备的 15 最棒 AngularJS 工具
Angular JS (Angular.JS) 是一组用来开发Web页面的框架、模板以及数据绑定和丰富UI组件。它支持整个开发进程,提供web应用的架构,无需进行手工DOM操作。 AngularJS很小,只有60K,兼容主流浏览器,与 jQuery 配合良好。 目前越来越多的网站会采用 AngularJS 来开发 Web 交互应用(包括:team.oschina.net),本文收集了 15 个使用非常棒的 AngularJS 相关的工具供你参考。 Karma AngularUI Angular fire Angular Deckgrid Yeoman Generator Angular Code Orchestra SublimeText LUMX NG Table Angular GetText Code Orchestra Videogular WebStorm Angular Kickstart Jasmine via developersfeed from:http://www.oschina.net/news/62235/15-best-used-angularjs-tools-for-web-developers
View Details刷爆朋友圈的 How-Old 是怎么猜出你年龄的?
人们的朋友圈又被刷屏了,这次走红的是一个名为“how-old.net”黄颜色网站,当用户把个人照片上传后,它就能够测算出照片人物的性别和年龄。 在网站上线几个小时之内,这个系统已经测试了超过 21 万张图片,而在几天之后的现在,究竟有多少人用过它已经很难统计了。有媒体称,在 Facebook 上,搜索 Howoldnet 有超过一百万个结果,在 Twitter 上相关推文的数量也已经接近百万。 这个网站给大家带来了很多乐趣,比如测试结果与拍照的光线、发型、角度、妆容等都或多或少有关系,因此人们总是不断上传一些新的照片,力图让自己在这个网站上能够显得“年轻”一些。甚至有用户调侃说,“我觉得这是最会聊天的工具,因为它通常会帮你减龄。” 原来,这个让很多人着魔的网站来自微软。 就 在上周的微软开发者大会上,微软宣布了Project Oxford,这是一个能够帮助开发人员创建智能应用的REST API与SDK开发包。简单来说,Project Oxford是一系列能够智能解析数据并且能让你应用变得更加“聪明”的服务,它提供的REST API以及SDK,可使开发人员能够利用微软的自然数据解析算法功能,为其解决方案添加智能服务。 现在,微软的提供的API包括以下几个: 脸部API——微软先进的基于云的脸部识别算法,可用来检测和识别图片中的人脸。 视觉API——视觉API是一组先进的图像处理算法,可基于视觉内容返回信息,并生成图像。 语音API——语音API提供最先进的算法处理语音。使用这些API,开发人员可以很容易地为他们的应用添加语音操控功能。在某些情况下,这些API还能够实现实时交互。 智能语言理解服务——智能语言理解服务(LUIS)为向应用中添加语言理解功能提供了一个快速有效的途径。 看到这里,也许你就该明白了。没错,朋友圈疯传的这个识别年龄的黄色框框正是基于Project Oxford所提供的脸部API。 Eason Wang是一位来自必应的高级工程师,他直接参与了这个项目的开发。他表示,坦白来讲这个小小的网站能够获得如此多的关注和广为流传,对他来说是个很大的惊喜。他解答人们都很想知道的问题:how-old.net网站到底是怎么从照片中判断出人们的年龄的。 他 表示,过去几年,在必应的图像搜索中,我们已经建立了一个最佳的图像理解能力,它被应用在必应以及微软其他的一些产品中。现在这个能力开发给了所有的开发 者。为了能够让这种能力能够应用在任意一个应用中,你可以简单地称其为API,并且能够在JSON格式中找到所有的必要信息,你甚至在Microsoft Project Oxford Home这个网页中上传照片。 它在几秒钟之内就能完成数据备份,其中脸部五官的坐标、性别、年龄信息都包括在内。而这个脸部API只是Project Oxford开放许多功能的其中之一,还有许多其他的核心功能的API来授权创新方案,而how-old.net只是其中的一个案例。 how- old.net主要是靠三个技术来完成的,它们分别是人脸检测、性别分类和年龄检测。其中人脸检测是其他两个技术的基础,而年龄检测和性别检测,它们只是 在机器学习的过程中解决了分类的问题。这个涉及到人脸特征的画像、收集可学习的数据,建立一个分类模型以及模型优化。 微软网站上也解释,该软件分析人们脸上的27个点得出结论。这些“地标式”的点是脸部的关键节点,比如瞳孔,眼角或鼻子——它们会随着年龄而发生明显的变化。除了这些关键节点,还有刚刚在上面提到的一些因素也会影响到年龄的测算,比如浓妆会让人显得更老。 现在微软声称该网站目前还处于优化阶段,每张照片的分析结果后面都附带免责声明。最后值得一提的是,how-old.net网站表示它并不会保存你所上传的任何照片。 from:http://www.oschina.net/news/62123/how-old
View Details史上最狡猾恶意软件现身:被发现后会自爆
[摘要]它可以拦截任何输入浏览器窗口中的纯文本,如果在安全检查中被发现,会竭力毁掉计算机。 腾讯科技讯 5月6日,思科安全情报研究团队Talos Group日前宣称,他们发现一种代号为Rombertik的新式恶意软件。它可以拦截任何输入浏览器窗口中的纯文本,并通过垃圾邮件和钓鱼邮件传播。如果在安全检查中被发现,这种恶意软件就会“自爆”,竭力毁掉计算机。 一旦用户通过点击链接下载Rombertik,它会通过多项检测。一旦其启动,并在Windows电脑上运行,就可以查看自己是否被发现。与其他恶意软件不同的是,Rombertik会尝试毁掉计算机。 Talos Group的安全专家本·贝克(Ben Baker)与阿历克斯·邱(Alex Chiu)写道:“这款恶意软件之所以十分独特,是因为一旦其发现与恶意软件分析相关的特定属性后(即可能被发现迹象),它就会积极尝试毁掉计算机。” Rombertik 的首要目标是主引导记录区(MBR),即计算机开机后加载操作系统前访问硬盘时所必须要读取的首个扇区。如果未能成功进入这里,Rombertik就会通 过随机使用RC4密匙加密的方法,迅速毁掉用户主文件夹中的所有文件。而一旦MBR或主文件夹被加密,计算机就会重启。MBR此后会陷入无限循环中,从而 阻止计算机重新启动。屏幕上会显示“Carbon crack attempt, failed”的代码。 研究人员称:“Romberik是一款非常复杂的恶意软件,其设计目的就是侵入用户浏览器阅读凭证和其他敏感信息,以帮助攻击者渗透和控制服务器。” 安全专家们发现,Romberik利用社交工程学手段诱使用户下载、解压缩以及打开附件,最终导致用户妥协。在分析样本时,含有Romberik的邮件似乎来自Windows Corporation。 袭 击者竭力说服用户查看附件,看他们的业务是否符合目标用户所在机构。如果用户下载和解压缩文件,随后就会看到类似缩略图的文件。一旦它被安装到电脑上,就 会自己解压。大约97%的解压文件内容看起来都是合法的,包括75张图片和8000多个实际上没有任何用处的诱饵功能。Talos Group专家称:“如此多的功能超过大多数人的分析能力,根本不可能查看每个功能。” 类似Romberik恶意软件过去曾出现过,比如2013年对韩国目标和去年对索尼娱乐有限公司发动的网络袭击。可是Romberik总是保持活跃状态,将一个字节的数据在内存中写下9亿次,这令追踪工具分析起来非常复杂。 Talos Group专家称:“如果分析工具试图记录所有9.6亿次指令,这些记录会暴增到100千兆以上。”该公司建议用户保持良好的安全习惯,比如确保安装杀毒软件、确保时常更新、不要点击未知发件人发送的附件、确保对电子邮件充分扫描等。 FROM:http://www.oschina.net/news/62193/most-cunning-malware
View Details为新项目添彩的 10+ 超有用 JavaScript 库
JavaScript 库是一种基础地预写入脚本语言,可以减轻基于应用的 JavaScript 开发,比如 AJAX 和其他以 web 为中心的技术。这些 JavaScript 库常常被称作 JavaScript 框架。比较流行的 JavaScript 库比如 Jquery,MooTools, Prototype, Dojo 和 YUI 都可以很好的完成常见的 JavaScript 任务。 这些库的主要用途是编写函数来嵌入或者合并从 HTML 页面和与 DOM 页面的交互。所有的这些框架都有常见的 JavaScript 任务函数,如动画,DOM 操作和 Ajax 处理。JavaScript 编程使得工作更加简单,安全和更加令人振奋。 JavaScript库的特点是能够成为最好的,面向结果的高级特性,如多点触控手势,Js小部件,鼠标捕捉等特性。所以让我们来开一下我们今天列举在 “为新项目添彩的10+超有用JavaScript库”中的所有特性。 Angular.js AngularJS能够让你编写基于客户端的web应用程序犹如你有个智能的浏览器。它可以让你使用旧HTML(或者HAML,Jada和friends!)作为你的模板语言,而且可以让你拓展HTML的语法来简单清晰的表现应用程序的组件。它能够通过双向数据绑定使用JavaScript对象自动同步来自UI上的数据。为了帮你更好的构建你的应用程序,使其容易测试,AngularJS告诉浏览器如何做依赖注入和控制反转。 React React一个构建用户接口的JavaScript库。 Foundation Foundation 是世界上最先进的响应式前端框架。你可以快速地原型和搭建站点或者app在任何带有Foundation 的设备上工作,包括布局构建(如完全响应式的网格),元素和最佳实践。 Meteor Meteor 是一个搭建现代化 web 应用的极为简单环境。 Three.js 此项目的目标在于创建一个轻量级的低复杂性的 3D 库-- 换句话说,就是仿制品。这个库提供<canvas>,<svg>,CSS3D和WebGL渲染器。 Pdf.js PDF.js 是一个便携式文档格式(PDF)查看器,由 HTML5 构建而成。PDF.js 是社区主导的并且由 Mozilla 实验室支持。我们的目标是创建一个一般用途,基于web标准的平台来解析和渲染 PDF。 Backbone Backbone.js 为 web 应用提供了架构,通过提供模型,带有键值对绑定和自定义事件,具有丰富的枚举函数 API 连接,声明事件处理视图,和通过 RESTful JSON 接口连接所有到已存在的 API。 Select2 Select2是select boxes基于jQuery的替代品。它支持搜索,远程数据集和结果分页。 Leaflet Leaflet是一个专为移动友好交互地图设计的开源JavaScript库。它是由来自拥有一个专用贡献者团队MapBox的Vladimir Agafonkin开发的。只有大概30KB的gzip JS代码,它拥有所有许多开发者曾经为在线地图开发的所有特性。 Ionic Ionic是HTML5开源移动框架,用来构建惊人的跨平台混合带有HTML,JavaScript和CSS的原生app。 Vis.js 一个动态的,基于浏览器可视化的库。这个库被设计成易于使用,来处理大量的动态数据,能够处理交互数据。这个库由数据集,时间线,网络Graph2D和Graph3D等组件构成。 Blast.js Blast.js 分隔文本是为了方便排版操作。它有四个内建定界符:字符,单词,句子和元素。另外,Blast也能够匹配自定义的正则表达式和语法。 […]
View Details300元打造智能影音中心
之前一在玩Arduino 和STM时就也曾想过玩玩上位机的滋味,只是一直也没有找到上位机中真能让我有兴奋点的东东。可能是出于视觉疲劳又或是自己见识太过浅薄,只见各种厂家拿着上位机做得最多也就是路由器和电视盒,而且是各有各渣尽是奇葩。悻然,我们还有小* 这种没节操的公司,敢打着向老乔至敬的口号无耻的抄袭苹果产品,让他们的东东还有点看头。一直认为在上位机上折腾还不如直接买个小*来得直接, 如果不是想拿个服务器到处跑的话,估计在短时间内我是没有什么兴趣碰上位机的。 所谓的上位机说白了就是一台准电脑,没有常规家用机那么庞大,当然也没有那么强大(传统意义)的一台小电脑。一般都能在淘宝上淘到,通常都是祼板。最为响当当的得数树梅派,还有就是国人山寨树莓的香蕉派,还有不伦不类的pcduino,它们的价格在190~340之间。买回来接上线就能跑,懂点装机知识就能动手自己搞。 由于看到了湖北一牛人竟然用90多台树莓搭了一台与服务器般大小的集群服务器,他称之为“树莓林”这倒也挺贴切的。其性能可以赶超IBM普通的企业服务器了,但价格却只有IBM服务器的1/5不到吧。这可真是典型的“好汉架不住人多”,单挑的不行来一群!深感其彪悍,是得给个赞! 受了刺激也想自己动动手,毕竟实践是验证真理的唯标准,总觉得自己对上位机可能存在一某些偏见那倒不如尝试动手一试体验一下。 在网上淘了一下,做了对比树莓虽说是流行,但最新的树莓2配置还是有点低,虽然提供了4个USB但基本上一下子将WIFI,蓝牙,鼠标键盘都接上那就没了。 以下是收集到的几种现行上位机的配置与对比 后来找到了号称超越树莓的香蕉派(真不知道这公司怎么想的,什么名字不好偏偏叫香蕉,估计当时是被雌性荷尔蒙灌了大脑吧),还算不错价格也就在190~210区间,而且他们还有个Pro版本是搭载了WIFI的才230~270,但配置上却实是比树莓上了一个档次,反正是拿来主义管他有没有节操,要买当然支持国人不鸟英国佬了直接入手香蕉破(BananaPro) 这里就提供一些香蕉图: 在价格上来说 Banana Pro 比起 BananaPi 贵了几十块钱,但却多了 WIFI (AP6181) 模块,至少可以省下一个USB口了,板子是纯黑的沉金板看起来也高档不少,当然没人愿意拿板子裸奔吧,那就买个盒子装一装,我喜欢换装所以盒子是自己用3D打印打的。 烧录系统映像 Lemaker 上提供一系列能装香蕉破的操作系统,还是挺齐全的。这里是下载页, 另外如果想看 BananaPro 全英参数的可以上香蕉的官网。 上位机的操作系统是装在SD卡上的,所以建议配一个8G以上的高速TF卡,也就24~36左右的价格区间。 在Windows 下只要下载两个软件,一个是用来格式化SD卡并去除SD卡上的分区表的,另一个是烧录操作系统映像文件的,地址如下: SD Formatter – SD卡格式化工具 Win32 Diskimager – SD卡系统烧录工具 用法不多说了,这个都不会就即时脑补吧。 OSX 值得一说的还是如何在Mac和Ubuntu上烧制系统吧 OSX 下做盘是很轻松的,不用安装任何工具,一切尽在终端内,先用 diskutil 指令查一下SD卡的盘名
1 |
diskutil <span class="hljs-keyword">list</span> |
我查到的是 disk1 ,然后用 unmountDisk 抹去分区信息,可别抹错了OSX的系统分区可是 disk0 这个不要搞错,否则出什么状况就自己抹脖子吧。
1 |
<span class="hljs-title">diskutil</span> unmountDisk disk1 |
最后,使用 dd 指令
1 |
sudo dd <span class="hljs-variable">if=</span>Lubuntu_For_BananaPro_v1412.img <span class="hljs-variable">of=</span>/dev/rdisk1 <span class="hljs-variable">bs=</span><span class="hljs-number">4</span>m && diskutil eject disk1 |
这里要注意的是 if= 后面要紧跟影像文件名称,rdisk1 是我们插入 SD 卡时跟SD卡名自动生成的,如果你挂入的SD卡不是 disk1 那就去磁盘工具查一下就好了。 还有就是 bs=4m 这里的意思是每次写入SD的数据区块的大小,4m就是4兆,如果你是低速卡那就只能悲剧的1m,我是用10m的,反正这个值越大写入的速度就会越高。 写入成功后OSX就不能再读取这个SD卡并且会弹出一个对话框提示将SD推出,那就直接推出SD然后插到香蕉的PP上就能通电试了。 Ubuntu 老实说,下面的这个我没有实践过是从网上收集过来的其实原理是与Mac上是一样的,废话就不多说直接写下指令: sdxx 是SD卡的盘号
1 |
umount <span class="hljs-regexp">/dev/</span>sdxx |
然后 dd sudo dd bs=4M if=[path]/[imagename] of=/dev/sdx 这个与OSX 是类似的 我试过安装 Lubuntu 一下就能成功,不用额外配置 WIFI,只是连一下就行了。性能上就将就着用吧,毕竟是lite版本,肯定是阉割了不少东西的能成移动服务器就行了总不能要求这么小的家伙能面面俱到。如果安装的是Raspbian那么就得手工加载 WIFI驱动: […]
View DetailsWindows下的Linux开发环境 Cygwin
Cygwin是许多自由软件的集合,最初由Cygnus Solutions开发,用于各种版本的Microsoft Windows上,运行UNIX类系统。Cygwin的主要目的是通过重新编译,将POSIX系统(例如Linux、BSD,以及其他Unix系统)上的软件移植到Windows上。Cygwin移植工作在Windows NT、Windows 2000、Windows XP以及Windows Server 2003上比较好,在Windows 95和Windows 98上,相对差劲一些。目前Cygwin由Red Hat等负责维护。 Cygwin包括了一套库,该库在Win32系统下实现了POSIX系统调用的API;还有一套GNU开发工具集(比如GCC、GDB),这样可以进行简单的软件开发;还有一些UNIX系统下的常见程序。2001年,新增了X Window System。 另外还有一个名为MinGW的库,可以跟Windows本地的MSVCRT库(Windows API)一起工作。MinGW占用内存、硬盘空间都比较少,能够链接到任意软件,但它对POSIX规范的实现没有Cygwin库完备。 但糟糕的是,Cygwin不支持Unicode。实际上,除了当前Windows系统以及OEM codepages(例如,一个俄语用户,他的codepages是CP1251和CP866,而不能是KOI8-R、ISO/IEC 8859-5、UTF-8等),Cygwin对其他字符集都不支持。 Red Hat规定,Cygwin库遵守GNU General Public License,但也可以跟符合开源定义的自由软件链接。Red Hat另有价格不菲的许可协议,这样使用Cygwin库的专属软件,就可以进行再发布。 授权协议: GPL 开发语言: C/C++ 操作系统: Windows 收录时间: 2008年10月30日 软件首页 软件文档 软件下载 from:http://www.oschina.net/p/cygwin
View Details