优大网

6 / 15

开发者必备:测试网站速度的五个免费在线工具

http://www.csdn.net/article/2013-11-04/2817380-website-speed-testing-tools

摘要:网页性能很大程度上决定了用户体验,最终可以决定网站的成功。虽然大家都知道提高浏览速度的重要性,可很多时候不知道什么元素拖了后腿。本文将介绍测试网站速度的五个免费在线工具,帮你设计出高效的网站。

如果你认为一个网站建成后,工作就已经完成,你就大错特错了。你需要不断监测其可用性和可访问性,一个小问题,可能毁了一切。而网页载入速度对于一个网站来讲至关重要,试想一下,你喜欢进一个需要很长时间才载入完毕的网站吗?而且,搜索引擎对网页载入速度也提出了要求。“The web should be fast。”据悉,网站若没有在4秒内读取出来,大多数的访客就会选择离开,甚至Google也将网页载入速度作为网站排名的众多因素之一,唯有提升网站效能才能让你的网站访客更多、更快乐。

国外开发/设计网站DesignInstruct推荐了5个最具代表性的测试工具,将帮助你确保你的网站正常、高效工作。

1. Pingdom Website Speed Test

Pingdom是一个免费的网站速度测试工作,不仅是看起来非常棒,而且尽可能多的呈现出你的网站的各方面信息。它可测试网站加载速度,对页面和大小进行分析。测试完成后会得到一份非常详细的测试报告,包括图片、CSS等,告诉你哪些地方出现问题。

2. Load Impact

Load Impact是一款在线网站压力测试工具。只需要输入网址进行测试,其便可以统计出加载网站的一些详细载入数据。包括整体加载和站内图片,javascript, CSS等代码载入。测试完成之后,网站还可以存储测试过的统计数据。(注:如果你未注册该网站使用进行测试,那么你的网站性能信息可能会被公开在网上。)

测试有两种方案,虽然免费方案能够测试的虚拟访客比较少(免费仅能够测试10、20、30、40、50人同时在线上),但一般使用已经足够了!如果不够,可以考虑购买Premium Account服务。不过,其功能可能会对网站产生一定的压力,大家可别用它去DoS别人网站哦。

3. Google PageSpeed Insights

相信有接触前端开发的大神们都听说过Google官方的PageSpeed Tools,这个网页载入速度检测工具有在线版本也有一个 Chrome 扩展,叫PageSpeed Insights。

PageSpeed Insights 的Chrome扩展是由谷歌官方开发的一款可以分析页面载入的各个方面,包括资源、网络、DOM以及时间线等等信息的插件,安装以后会附加到Developer Tools(开发者工具)中。所以安装之后,大家只需要在页面上点击右键——审查元素,就可以在最后一个标签中看到PageSpeed了。

PageSpeed的分析基于一个分为五类的最佳实践列表:

  • 优化缓存——让你应用的数据和逻辑完全避免使用网络
  • 减少回应时间——减少一连串请求-响应周期的数量
  • 减小请求大小——减少上传大小
  • 减小有效负荷大小——减小响应、下载和缓存页面的大小
  • 优化浏览器渲染——改善浏览器的页面布局

去谷歌开发者官网看了看,发现PageSpeed 不仅仅只是个在线工具、插件那么简单,还有开发者使用的API、SDK;甚至还有可以安装在Apache或者Nginx服务器上的开源模块!

4. OctaGate SiteTimer

OctaGate SiteTimer 是一个在线的网页读取速度测试工具,效果图基于AJAX技术,而且它是所有工具里面最直观的;如果你就想知道你的网页里面哪个元素拖了后腿,就跑这个工具。它就一张图,告诉你每个网页元素下载需要时间。

5. GTmetrix

有些网站速度测试工具如Baidu仅提供页面元素加载时间;有些工具如Pingdom提供的Start Time、Connect Time、First Byte和Last Byte细分仍无法满足要求。功能更强大的GTmetrix是国外的一个免费评测网页载入速度的服务,可提供详细报告:显示出网页里每个元件载入、开启或存取的时间;而且会保存每一个网站的记录,方便查看一个网站载入速度的历史变化。

如果你想将报告设定为不公开、或是储存报告、定时检查网页评分的话,可以免费注册GTmetrix帐户。

测试的工具有很多,上述五个相对具有代表性,下面再简介三个:

  • Web Page Analyzer——可让用户测试网站速度以提升性能,同时可计算网页大小、 复杂度和下载时间。
  • WebPagetest——原本是由AOL开发内部使用的工具,后来在Google Code上开源,是一款非常优秀的网页前端性能测试工具。

如果你喜欢的测试工具不在上述中,也欢迎你在文章评论中发表自己的看法。(文/钱曙光 责编/魏兵)

图说Java

Top 8 Diagrams for Understanding Java

A diagram is sometimes worth 1000 words. The following diagrams are from Java tutorials on Program Creek, they have received the most votes so far. Hopefully, they can help you review what you already know. If the problem is not clear by the diagram itself, you may want to go to each article to take a further took.

 

1. String Immutability

The following diagram shows what happens for the following code:

String s = "abcd";
s = s.concat("ef");

string-immutability

2. The equals() and hashCode() Contract

HashCode is designed to improve performance. The contract between equals() and hasCode() is that:
1. If two objects are equal, then they must have the same hash code.
2. If two objects have the same hashcode, they may or may not be equal.

java-hashcode

3. Java Exception Class Hierarchy

Red colored are checked exceptions which must either be caught or declared in the method’s throws clause.

Exception-Hierarchy-Diagram

4. Collections Class Hierarchy

Note the difference between Collections and Collection.


5. Java synchronization

Java synchronization mechanism can be illustrated by an analogy to a building.

6. Aliasing

Aliasing means there are multiple aliases to a location that can be updated, and these aliases have different types.

Java Aliasing

7. Stack and Heap

This diagram shows where methods and objects are in run-time memory.

Java-array-in-memory

8. JVM Run-Time Data Areas

This diagram shows overall JVM run-time data areas.

JVM runtime data area

 

http://www.programcreek.com/2013/09/top-8-diagrams-for-understanding-java/

响应式导航设计案例解析(多图)

http://www.csdn.net/article/2013-10-10/2817135-responsive-navigation

摘要:导航设计包含多种设计元素,本文收集了响应式设计网站中各种主流的导航设计趋势,如果你想设计出更好的导航设计或者了解新的响应式设计潮流,那么这篇文章不容错过!

响应式导航的设计遵循了响应式Web设计理念,页面的设计往往会根据用户行为以及设备环境(系统平台、屏幕尺寸、屏幕定向等)进行相应的调整。通过同比例缩减元素尺寸、调整页面结构布局以及内容的优化调整等方式,使用户在不同的平台上有着独一无二的用户体验。

本文收集了响应式设计网站中各种主流的导航设计趋势,如果你想设计出更好的导航设计或者了解新的响应式设计潮流,那么这篇文章不容错过!

调整尺寸&定位

这是响应式导航设计首个步骤,也被视为最简约的方法。目的在于设计一款永不被隐藏且能优雅的调整窗口大小。设计简短的导航链接,让页面看起来更加简洁、亮丽。

Fiafo就是一款典型的案例。导航链接设计居右侧,当浏览器窗口被压缩后,链接呈现在Logo下方,就如同一个单一的导航栏。当你调整浏览器尺寸后,该页面也会随之而更改,完全不受影响。

这种设计风格非常具有吸引力,因为它不需要隐藏任何链接,无需CSS3或JavaScript,页面上任何条目都能显示出。最大的缺点是,该导航限制了最多链接数量。

Paid to Exist采用了另一种设计趋势,其链接是浮动的。当浏览器的尺寸缩小到最小尺寸时,该链接不会扩大到像100%宽度那样。其采用了区块层级设计元素,导航横向排列不变,由一行变为两行,页面简洁清晰且用户体验一致。

菜单选择样式

菜单选择在响应式导航设计中,被设计师认为一种较为棘手的设计。一起来看下设计案例。

Apache CouchDB的设计案例中可以看出,其设计布局呈现细长型且容易操控,因为它是一款单页面设计。

在移动设备上用户可能不会在意导航设计样式。导航菜单选择并不一定要采用漂亮的解决按干,只要它们能易于操作即可!

随着响应式设计的发展趋势,未来可能会有其他的解决方案来替代菜单选择。如果你需要一个快速的导航,且能够用支持所有的操作系统,那么HTML元素倒是个不错的选择。

覆盖下拉菜单

在响应式设计中,隐藏菜单是一个非常流行的设计趋势。这是因为它能为页面节省更多的空间。

在移动设备上,屏幕的运用是极其宝贵的,因此,你要尽可能地向用户提供更多的空间。采用下单隐藏菜单是个完美的选择,突出高优先级内容的处理方式。

Designmodo便采用了这种布局,通过设定图标点击对菜单进行收缩或展开,列表将显示新的下拉元素。

StickyGram采用了区块级别链接,不会因调整尺寸大小而有所更改,适用于任何设备,以最好的方式呈现在你的面前。


 Tilde Inc采用了模块下拉菜单设计。

下拉菜单的共通点是:默认情况下菜单隐藏,一旦用户需要导航链接,点击图标菜单展开,选中后菜单自动消失隐藏,下一次操作时重复。优点是不会影响其他的页面内容。

多级导航

当你需要多个子链接的导航菜单,那么你不得不规划出一个完美的解决方案。 除了采用区块层级下拉菜单,你还可以选择创建多级导航菜单。

SonySony公司的网站设计为例。用户通过滚动页面找到任何他们想要的内容。

页脚链接

一旦用户点击导航按钮,它会自动跳转到采用哈希元素ID的页脚。用户可以快速访问页脚链接,无需手动滚动。

再来看下Contents Magazine设计风格,只有几个少有的顶部导航链接。调整浏览器,你就会看到一个搜索栏,并且会呈现出一些模块链接。目的是在于保持页面布局均匀,而无需额外的脚本,比如jQuery。

隐藏滑动菜单

这种设计趋势在Apple Store里经常可看到,这也是备受iOS开发者欢迎的设计风格。

虽然在CSS3中可创建这种效果,但请记住,不是所有浏览器都能支持。jQuery倒是个更加稳定的选择,甚至还有一些免费的开源插件可供你选择。

点击查看Sequence的设计风格。

英文出自:Teamtreehouse

5款工具助你写出更好的Java代码

摘要:工欲善其事,必先利其器。一名优秀的开发者手里肯定握着不少秘密武器,本文开发者分享了他在开发Java项目时,所用到的5款有助于提高代码质量的工具。

作者在IDR解决方案中,一直寻找方法来编写出更好的代码,后来他们发现,通过使用一些工具使用好的工具不仅可以提高代码质量,还可以提高开发人员的工作效率。在本文,作者将介绍5款在IDR解决方案的(开发语言为Java)中,最常用也最实用的工具给Java开发人员,希望它们帮你开发出更好的代码。

1.FindBugs

顾名思义,FindBugs是一款帮助开发者发现bug的工具,它是一个开源项目,遵循GNU公共许可协议,运行的是Java字节码而不是源码。

它是一款静态分析工具,它检查类或者JAR文件,将字节码与一组缺陷模式进行对比来发现可能存在的问题,这些问题包括空指针引用、无限递归循环、死锁等。

FindBugs在发现错误后,会进行等级划分,它把发现的错误分为四个等级:

 

  1. scariest(恐怖的)
  2. scary(吓人的)
  3. troubling(令人困扰的)
  4. of concern(值得关注的)

 

FindBugs是一个独立的GUI应用程序,有多种使用方式,可以作为Eclipse、NetBeans、IntelliJ IDEA插件使用,也可以从命令行、Ant、Maven使用。

2.Apache Ant

Apache Ant是由Apache软件基金会所提供的一款开源软件,是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,主要用于Java环境中进行软件开发,它还可以用于构建C或C++应用程序,也可以针对目标任务运用在多种软件开发过程上。

Apache Ant有大量商用或开源的“antlibs”供大家使用,它非常灵活,因为他对编码约定或目录布局都是没有任何限制的。Apache Ant被广泛运用在各种Java IDE环境中,如Eclipse、NetBeans、IntelliJ IDEA等。

3.JProfiler

JProfiler是一个商业授权的Java剖析工具,由EJ技术有限公司开发,主要是针对Java EE和Java SE应用程序使用。它把CPU、内存和线程分析析组合在一个强大的应用中,从而可以用来分析性能瓶颈、内存泄漏、CPU负载以及线程问题。

JProfiler支持多种剖析模式:本地会话实时分析模式、远程会话实时分析模式、离线分析模式、快照比较、查看HPROF快照。此外,JProfiler既可以作为单独的应用程序使用,也可以作为一个插件使用,也可以在Adobes Coldfusion和Glassfish中作为应用服务器集成的一部分。

4.Bash

全称是Bourne-Again SHell,发布于1989年。它是一个Unix shell或命令式语言解析器,它作为GNU项目,是Bourne shell的一个免费替代。它在GNU操作系统上作为shell被广泛运用,它已是大多数Linux系统以及Mac OS X v10.4默认的shell,它能运行于大多数Unix风格的操作系统之上,甚至被移植到了Microsoft Windows上的Cygwin系统中,以实现Windows的POSIX虚拟接口。此外,它也被DJGPP项目移植到了MS-DOS上。

它通常被用作一个命令处理器,通常运行在一个文本窗口,它还可以从文件中读取各种命令、支持通配符的文件名、piping、命令替换、变量、控制结构等用来进行条件或迭代测试。

5.Sonarqube

Sonarqube是一个开源平台,是一款代码质量管理和环境搭建工具。它目前支持25种以上语言,包括Java、C/C++、C#、PHP、Flex、JavaScript、Python、PL/SQL、COBOL等,此外,它还可以作为Android开发的一部分。

它提供了完全自动化的分析工具,并且可以与Maven、Ant、Gradle和其它集成工具很好地集成,也可以与Java IDE进行很好的集成。它还可以用于报告重复的代码、编码标准、单元测试、代码覆盖率、复杂的代码、潜在的bug、评论、设计和架构。

来自:IDR solutions

http://www.csdn.net/article/2013-09-06/2816856-5-tools-to-help-you-write-better-Java-Code

有胆你就来!11个在线编码大赛

摘要:只要你敢挑战自己,那么都可以在文中提及的这些平台上展示、PK你的编码技能。或许你就是下一个幸运儿,让你有机会在这些大公司实习或工作。感兴趣的话就来试试吧!

如果你拥有出色的编码技能,或者虽然你只是名初学者,但你愿意去锻炼自己的编码能力,愿意去和顶尖的编码者进行PK,那么这篇文章就是为你而准备的。本文提供了11个在线编码竞赛,与来自世界各地的编码人员进行PK。

文中提及的这些网站都有各自的实践问题、训练课程以及竞赛试题。另外,这些项目的赞助商(包括微软、IBM、Facebook等)公司负责人也在密切关注此项目,或许你就是下一个幸运儿,让你有机会在这些大公司实习或工作。感兴趣的话就来试试吧!

Topcoder

TopCoder可以说是全球最大的竞赛软件开发社区,全球各地的开发者都会来此参加比赛。该社区提供各种类型的编程竞赛,包括算法、测试、设计、组装、SRM、马拉松等。赞助商包括微软和NSA等一些巨头公司为获奖者提供现金奖励。提交的解决方案可以采用的语言有:Java、C++、C#或VB。

CodeChef

CodeChef是一个非营利性组织,这是印度的一家软件公司DirectI提供的,总部设在孟买。它是一个全球性的编程社区,举办网上竞赛、培训等各种活动。

Sphere online judge (SPOJ)

Sphere online judge是最早的竞赛网站之一,支持超过40种编程语言以及编译器。如今,SPOJ平台已经建立了在线评测系统,用于自动评估用户提交的项目。

CodingBat

CodingBat是一个现场编程网站,支持利用Java和Python构建的相关问题。该问题提供即时反馈,此外,它还可以作为编码者实践和掌握编程基础知识的实用平台。

Google Code Jam

由谷歌公司推出的Google Code Jam是一年一度的编程竞赛。在这里,专业人士和学生程序员可自主选择编程语言在有限的时间内挑战复杂的算法竞赛。

Dream in Code

Dream In Code (DIC)是一个专为程序员和Web开发者提供的在线社区。该社区会员可以免费访问成千上万的编程教程、代码片段、论坛主题等。

Codeforces

Codeforces是一个在线编程平台,基于该平台你可以练习各种问题,提交竞赛试题并与其他用户提交的问题进行PK。

UVa Online Judge

这个在线编码网站是由西班牙Valladolid(巴利亚多利德)大学维护。在这里你可以找到以往编程竞赛各种类型问题,包括ACM国际编程大赛;此外你还可以提交各种编程语言的源代码。

Python Challenge

以Python为主,Python Challenge是个系列性的编程竞赛。尽管任何一门语言都可用来解决这个问题,但倘若你用Python,将更加有助于你理解问题。

Facebook Puzzles

顾名思义,这套编程问题是由Facebook提供的。用户可以利用各种语言提交解决方案,包括C++、C、Haskell、Java、Perl、PHP、Python、Ruby。

ACM-ICPC

ACM – ICPC是世界上最大的编程竞赛之一,每年举行一次。该竞赛是由IBM为学生团队组织的。这个竞赛主要涉及编程算法问题。从各个地区中选拨,最终进入世界级总决赛。目前支持两种语言:C/C++和Java。

值得一提的是,还有一些平台也不错,它们是 IEEEXtremehackers.orgTimus Online JudgeDWITE

英文出自: Efytimes

http://www.csdn.net/article/2013-09-03/2816800-Online-Coding-Contests-For-Programmers

积少成多:十大高效原型设计工具

摘要:本文为开发者介绍了对开发者最有效的原型工具。免费的工具现在越来越多,如何在众多工具中找到最有效,最适合自己的工具成为了开发者的难题,答案就在这里。

免费的工具其实有很多,但是哪款工具可以名副其实地提高你的效率呢?我们会在接下来的时间为大家总结出移动和Web原型设计的工具。拥有一个原型设计的工具库对于开发者,特别是对那些需要立刻针对客户反馈进行修改的开发者来说,可以提高他们的工作效率。开发者也可以根据客户的不同需求设计出不同版本的原型设计。

Pencil

Pencil是一款开源的手绘风格原型图绘制工具,可以用来绘制各种架构图和流程图。Pencil向开发者提供一个免费、开源的GUI原型工具,具备了多种原型设计模板、多页背景文档、跨页超链接、富文本编辑支持等功能,安装十分简单。

Balsamiq Mockups

使用Balsamiq Mockups有一种画画的感觉,而且由于这一切是数字化的,“画家”们可以简单地进行修改。一个开发团队需要对界面设计进行反复地修改。有了Balsamiq Mockups,产品经理、开发者甚至是客户可以坐在一起,用同一个工具共同修改。达成统一之后,开发者再进行代码的编写。

Lumzy

作为一款针对Web和应用的原型工具,Lumzy无需注册、无需下载,可以在浏览器上进行原型设计的工具。功能全面但并不复杂,这就是Lumzy最大的特点。

Jumpchart

Jumpchart其实不仅仅是一个项目管理软件,它基于Web,用于快速规划和创建原型。除了所需的项目管理功能,还可用它来追踪与Web设计相关的任务。Jumpchart有一个免费版本,不过功能受限。

Mockup Builder

Mockup Builder是一款原型设计工具,支持网页、桌面应用、移动应用。此工具具有UI模型,交互的线框图,页面布局,客户端原型甚至站点地图和屏幕导航等功能。这是一款完全免费的开发工具。

UXPin

UXPin是一款大众化的原型设计工具。UXPin公司里面经验丰富的UX设计人员提供了一系列完整实用的设计元素和模式,对新手有极大帮助。UXPin的目标是帮助项目经理为各种方案和设备开发响应式的线框图和UI原型。

iPlotz

iPlotz可以帮助你迅速创建一个可以点击的界面和网页原型的布局。iPlotz是基于Flash/Flex平台上的产品原型设计软件,允许你直接将各种元件通过鼠标的拖拽至画布上构建自己的Web项目;另外iPlotz还提供了基于Adobe AIR的客户端软件,从而能够方便用户在Windows、Mac OS X和Linux等不同平台上使用这款软件。

MockFlow

不仅是页面布局,MockFlow为开发者提供了一系列的写作Web创新服务,它是完全基于Web浏览视窗的产品。MockFlow内置了许许多多经常使用到的Widget控件,能够有效地帮助用户提高对传统软件以及富互联网应用软件的快速设计和交互式用户界面实体模型的规划进程。

Cacoo

Cacoo是一款用户在线绘图工具,允许你在线创建站点的原型、UML统一建模和框架图等。这款工具基于Flash技术,具有良好的用户体验。与此同时,Cacoo还支持实时的同步协作功能,允许多个用户同时对同一幅电子图表进行在线远程协作编辑等。

Creately

Creately在线图表制作协作平台是一款优秀的绘制产品原型的在线工具。Creately拥有50种图表、上千种样品构成的库和强大的协作功能,因此用起来很方便。

(文/侯亭 责编/张宁)

文章来源:smashingapplumzyCreately

http://www.csdn.net/article/2013-09-03/2816802-10-useful-prototype-tool

Android 将取代 Linux 成为面向物联网的开放平台

美国 Web 和移动技术专家、手机群聊服务 GroupMe 事业发展主管史蒂夫•切尼 (Steve Cheney) 近日撰文,对 iOS 和 Android 的未来前景进行了展望。

我们已经进入了一个新的时代。在这个时代里,iOS 和 Android 的影响力已经渗透到移动领域以外。就整个生态系统的发展而言,有许多事情正在发生。移动领域中的进步和投资正在推动所有硬件和软件聚合产品前进的步伐,而硬件的创新活动也正在凭借这种顺风而不断加速。以下是有关这两个占据主导地位的平台未来前景的一些想法。

1、据市场研究公司 IDC 公布的最新报告显示,Android 操作系统在全球移动市场上所占份额正在大幅增长。但据美国市场研究公司 Asymco 的报告显示,Android 可能已经见顶,目前正处于下滑趋势中

那么,当传闻中的低价“iPhone 5C”智能手机上市时,将会有什么情况发生呢?到那时,全球形势可能发生重大的变动。

2、与移动战争相比,平台战争更加激烈。在物联网和电视(Chromecast)等非移动市场上,Android 正在取得重大的腾飞。到目前为止,Linux 一直都是这个领域中占据主导地位的操作系统,但现在 Android 正在争取到原本会基于 Linux 系统运行的一些嵌入式设计产品。

Android 正在有效地解除与无线运营商之间的耦合关系,将自己的影响力扩展到非移动市场上;与此同时,Android 还拥有丰富的相关工具和现有的开发者生态系统,这很可能将巩固其作为下个十年中具有决定性优势的开源操作系统的地位。对谷歌来说,这不仅是一种优势,同时也会带来意外后果。

3、对于非移动(插入式)设备来说,“Android + ARM”是一种“足够好”的模式,将在嵌入式操作系统的全球市场上赢得多数份额。英特热将无法渗透这个市场,除非设备需要很高的功率(比如说游戏平台或机顶盒等)。

其原因在于,Chromecas 的整体物料清单价格仅为 20 美元,而英特尔无法一边提供足够低的价格来与其展开竞争,同时还能保持较高的利润率。与此同时,苹果将继续利用垂直整合的非移动设备(如传闻中的 iTV 和 iWatch 等)来谋取利润。

4、对于(电池供电的)移动设备来说,情况则完全不同。移动计算不仅整体上的表现足够好,而且在能耗方面的表现也足够好。来自于苹果的硬件和软件整合产品很可能将在性能表现这一方面保持优势,这些产品将不断优化多核芯片以便取得更好的能耗表现,同时还将对其软件进行升级,最近苹果发布的 iOS 7 操作系统即可为证。

谁都不知道苹果是否在任何给定的时间段里都比竞争对手领先 6 个月或 18 个月,但预计该公司将拥有这一范围内的领先优势是合理的。较低的能耗需求将推动产品设计的聚合。

5、有传闻称,三星将转向使用 ARM 芯片,原因是三星认为自己的片上系统(SoC)需要与苹果的 A6/A7 和高通 Krait(均使用定制设计的核心)展开竞争。除了苹果和三星(可能会在不久以后实现 100% 的垂直整合)以外,高通也将使用定制设计的核心来持续改善能耗表现,从而赢得剩余的高端 OEM(原始设备制造商)。

而与此同时,联发科技 (Mediatek) 则将占据中低端市场。这就意味着,博通和英伟达等公司的空间有限,而英特尔在这一领域中则更是毫无机会可言。

6、在 Android 平台上,碎片化 (Fragmentation) 将继续对 Android 造成不利影响,但现在将会上升至新的层面,开始对生态系统造成影响。明天的苹果将不再只是与硬件/软件整合产品有关,而是与整个生态系统有关。软件是事先开发的,而硬件则是随后设计定制的,开发者拥有你的应用程序接口(API),所有这些都可协同运作。

从某种程度上来说,谷歌将可利用其控制下的产品来做到这一点,但非一致性将开始在谷歌并未开发的智能手机网络服务上对 Android 造成越来越大的损害。

7、iOS 操作系统中用于本地网络的新应用程序接口将变得很大——开始时使用案例将集中在美国市场上(随后是欧洲和日本市场),这将巩固苹果在美国高端市场上所占据的地位。当 iOS 7 发布时,所有应用程序接口将可向后兼容两年时间(也就是可兼容 iPhone 4S 及以后产品)。

这意味着,95% 的苹果用户将可彼此共享文件,并使用蓝牙/iBeacon 进行支付活动,而 Android 则将在服务层面上进入非一致性“战争”的第二回合。

在最新版本的 Android 操作系统推出一年以后,仅有 30% 的用户会升级(或能够升级)至新版本。开发者不会在 Android 应用中为 BTE 和本地 WiFi 共享开发网络/支付服务,原因是未来 18 个月时间里仅有一小部分 Android 手机将可支持新版本。

在 Google Play 应用商店中有一些二级市场应用,但其兼容性相当差。Android 4.3 添加了低功耗蓝牙支持功能,但由于仅有 30% 设备将在一年时间里可运行新版本的操作系统,因此其被用户采用的时间将比 iOS 慢 12 到 24 个月。

8、近场通信(NFC)已死,但令人感兴趣的并非这一方面,而是苹果如何才能利用蓝牙 4.0 和 WiFi 来复制近场通信功能。在支持这种功能的同时,还需要向后兼容至 iPhone 4S。蓝牙一直存在,但到目前为止还没有什么价值。

蓝牙 LE(也称为蓝牙 Smart)将改变所有事情。连接、配对和设备管理等将在 100% 的时间里持续运作,而蓝牙将成为行业领先的技术。无线广播将在我们周围无处不在,带来令人难以置信的移动使用体验。传闻中的苹果 iWatch 也将在发布以后与 iPhone 协同运作。

9、非一致性将在位置共享和支付应用中对 Android 和谷歌造成损害。当只有你一个人受到影响时,碎片问题并不重要;但当你的 Android 手机无法与其他手机进行通信,或无法在 POS 终端进行通信时,就很难为此找到借口。在 Android 平台上,蓝牙 LE 正在发展中,但非一致性对开发者来说将变成一个“杀手”,这意味着先进的本地发现/无线应用很少会支持 Android 系统。

这种事情已经在发生,举例来说,Tile 已经从 50 万名支持者那里筹集了 300 万美元左右的资金,而且不会支持 Android 系统。

10、对于本地商务来说,未来两年时间将是最令人激动的时刻之一。共享和网络服务以及原生蓝牙应用程序接口最终将激活一个生态系统,带来新的使用案例,催生销售点商务。

举例来说,蓝牙将可在用户使用手机进行柜台支付时提供支持,或者可在消费者走入商店时为发送至用户 iPhone 上的优惠券提供支持。Suare 已经推出了“Square 钱包”(Square Wallet) 产品,成为了这一领域中的先驱;而现在 iOS 正在为整个生态系统制定标准。这将有助于推动在线到离线商务活动的发展。

在这个领域中,Android 将落后 12 到 24 个月时间。这意味着,Android 和 iOS 平台上的本地商务活动将是电子商务的真实写照(Android 平板电脑/手机用户的购买量不及 iOS 用户)。如果这种情况在高端市场上发生,那么从智能手机销售量来看,苹果仍将在美国市场上占据优势。从全球范围来看,想要判断这种使用案例将如何发展则比较困难一些。

整体而言,很明显低端和高端市场正在分层,各个地区之间也正呈现出这种趋势。由于嵌入式平台目前几乎仅受移动技术影响的缘故,所有事情都正在发生变化。这提供了更多的证据,表明移动平台很可能不会追随以往计算平台的发展模式。

本文来自物联网智库 编辑张超

 

http://tech2ipo.com/61246

开源无线连网硬件:Flutter

Flutter——两片电路板,或者再加一根天线,就打造出一个很强力的无线连网组件,信号可覆盖一公里距离。对于想要 DIY 可连网、可与手机交互的智能设备的同学们,这款产品能够帮助节省很多精力和时间。该开源组件如图。

你可以使用 Flutter 将灯泡、小汽车、空调都变作可以用手机遥控的智能产品。

 

该产品正在筹资,捐资人资助该项目 20 美元,便可获得一件产品作为回报。

标签: flutter

直接拿来用!10段超有用的Git命令行代码

 

摘要:本文分享了10条非常有用且先进的Git命令行语句,无论是运用在团队环境或是在私人项目中,你都可以直接来拿用。

本文分享了10条非常有用且先进的Git命令行语句,无论是运用在团队环境或是在私人项目中,你都可以直接来拿用。

1.  在最后提交中更改Export(Export changes done in last commit 

这个命令通常会使用定期发送已更改的项目,以方便其他人审查/集成。

 

1
git archive -o ../updated.zip HEAD $(git diff --name-only HEAD^)

 

2.  在两次提交之间更改Export文件(Export changed files between two commits)

同样地,如果你需要在两次提交之间更改文件,可以选择以下这段代码。

 

1
git archive -o ../latest.zip NEW_COMMIT_ID_HERE $(git diff --name-only OLD_COMMIT_ID_HERE NEW_COMMIT_ID_HERE)

3. 克隆一个特定的远程分支(Clone a specific remote branch) 

 

如果你想从远程资源库中克隆一个特定的分支,而无需克隆整个资源库分支,那么下面的这段代码将对你有用。
 

 

 

1
2
3
git init 
git remote add -t BRANCH_NAME_HERE -f origin REMOTE_REPO_URL_PATH_HERE 
git checkout BRANCH_NAME_HERE

4.  从不相关的本地资源库中应用补丁(Apply patch from Unrelated local repository) 

这里有个快捷方式可帮助你实现。

 

1
2
view plaincopy to clipboardprint?
git --git-dir=PATH_TO_OTHER_REPOSITORY_HERE/.git format-patch -k -1 --stdout COMMIT_HASH_ID_HERE| git am -3 -k

5.  检查分支是否在其它分支中遭到更改(Check if your Branch changes are part of Other branch)

 

cherry这个命令,能够检查你的分支在其他分支中是否被更改。它会在当前的分支上显示变化,并注明+或-标识符。+代表不存在,-表示在现有的分支中存在。

 

1
2
3
4
view plaincopy to clipboardprint?
git cherry -v OTHER_BRANCH_NAME_HERE
#For example: to check with master branch 
git cherry -v master  <br>

 

6. 启动一个无历史记录的新分支( Start a new Branch with No History)

有时,你想启动一个新的分支,但并不想运行漫长的历史记录,例如,你想将代码放置在一个公共的域中(开源),但又不想共享历史。

 

1
git checkout --orphan NEW_BRANCH_NAME_HERE

7. 从其他分支签出文件但无需切换分支( Checkout File from Other Branch without Switching Branches 

这里将教你如何获取想要的文件。

 

1
git checkout BRANCH_NAME_HERE -- PATH_TO_FILE_IN_BRANCH_HERE

 

8. 忽略追踪文件中的更改( Ignore Changes in a Tracked File )

如果你是在某个团队中工作,他们都在使用同一个分支,也许你会频繁使用提取/合并(fetch/merge),但这有时需要重置特定的配置文件,这就意味着在每次合并后你必须去做更改。现在,使用这个命令,你可以要求Git忽略更改特定文件。

 

1
git update-index --assume-unchanged PATH_TO_FILE_HERE

9. 检查已提交部分是否在发布的版本中遭到更改(Check if committed changes are part of a release)
 

name-rev这个命令可以告诉你已提交到最新版本的某个位置。使用这个代码可帮助你检查,提交的部分是否在已发布版本中遭到更改。

1
git name-rev --name-only COMMIT_HASH_HERE

10. 用复位替代合并(Pull with rebase instead of merge )

当某项特性分支被合并到主流中,此时该分支合并会在Git中以合并提交来进行记录。但是当团队中多个成员在同一个分支上工作时,常规的合并会导致多个合并消息在日志中呈现混乱状态。因此,你可以使用复位(rebase)来保持历史清晰,清除无用的合并消息。

 

1
git pull --rebase

此外,你还可以通过配置一个特定的分支来复位。
 

 

1
git config branch.BRANCH_NAME_HERE.rebase true

英文出自: Webdeveloperplus

 

http://www.csdn.net/article/2013-08-22/2816665-10-useful-advanced-git-commands

近期十大优秀jQuery插件推荐

摘要:当今,设计领域竞争越来越激烈,唯有做出最优秀的产品才能在该领域独树一帜。而jQuery插件为设计和开发提供了强大的支撑力。本文将推荐从jQuery网站的Plugin频道中推选出的近期十款优秀jQuery插件,以便开发者借鉴。

当有限的开发知识限制了设计进展,你无法为自己插上创新的翅膀时,jQuery可以扩展你的视野。本文将推荐从jQuery网站的Plugin频道中推选出的近期十款优秀jQuery插件。

1. jQuery URL Shortener

正如名字所清晰表达的那样,该jQuery插件利用Google URL shortener API可将URL转化成短链接。

 

下载 | 演示

2. Bootstrap Tokenfield

Bootstrap Tokenfield是一款针对输入框的高级标签插件,可获取键盘输入焦点,支持复制—粘贴。

 

下载 演示

3. Retinize

Retinize可将图片质量进行提升,以在Retina显示器上完美显示。在像素艺术中,当你不希望存储高质量版本的图片时,该jQuery插件显得特别有用。

 

下载 | 演示

4. jQuery Scrollbox

它是一款简单、轻量级的jQuery插件。利用它,用户可以像旋转木马、传统的滚动形式那样滚动展示列表。

 

下载 | 演示

5. jQuery Scanner Detection

这是一款小插件。可对用户所使用扫描仪(barcode, QR Code……)进行探测、跟踪,并给出特定的反馈。

 

下载 | 演示

6. jQuery finderSelect

该jQuery插件可激活文件管理器,高亮显示被选择的元素,支持Ctrl+单击、Command+单击、Ctrl+拖动、Command+拖动及Shift+单击操作。

 

下载 演示

7. Yet Another DataTables Column Filter (Yadcf)

利用Yadcf,用户可轻松地针对表格每列添加过滤器组件。该插件基于DataTables jQuery插件开发而成。

 

下载 | 演示

8. jQuery noInput

该插件用来显示输入字段预期值的提示信息,与HTML5的placeholder属性相似。

 

下载 | 演示

9. HeapBox

无论你是Web设计师,还是Web开发工程师,一定了解设置本地HTML表单外观及功能的艰辛。Heapbox现在可代替selectbox,用JavaScript编写,效果很不错。现在它只针对selectbox,还无法处理textbox、checkbox等。Heapbox基于jQuery设计,却改变了大部分人写JavaScript的方式。

 

下载 | 演示

10. QUAIL

该插件用来查找影响页面美观、亲和力的内容。它可查找现页面中的设计问题,如图片缺少替换文字等。

 

下载 | 演示

原文来自:The Design Blitz

http://www.csdn.net/article/2013-08-15/2816585

« 较早的 文章 较新的 文章 »

Copyright © 2024 优大网 浙ICP备13002865号

回到顶部 ↑