一周极客热文:每个程序员应该知道的12个API

目前,API的数量还在不断增加,但它们并没有完全公开和为所有人使用。大部分好的工具是Google,并且利用收费来获得使用。以下是值得我们程序员注意的12个API。它们都很现代化,能为你的网站增添不少亮点。

  1. GeoNames——能将输入的字符串转换成地图上的维度和经度。它的数据库包括地理名字和政治实体。
  2. FlightStats——跟踪数以上千的飞机,监控飞机因延迟和改线而破坏旅行。
  3. FollowTheMoney——收集公开的捐款给政客,并且汇集它们提供任何人来查询记录。
  4. USA.gov——美国政府创建的一个官方的社交媒体名单列表,可查出真实的官方号等。
  5. StockTwits——提供在股票、外汇和债券的基本查询。
  6. Yahoo Content Analysis——从文字段落中抽离出这重要的部分,而这部分通常称为“entities(实体)”。
  7. Moodstocks——它能比较相片与那些存储在服务器的图片集。
  8. MusixMatch——收集了500000多名歌手的560多万首歌的歌词。
  9. OpenStreetMap——提供一种编辑地图数据的API和在网页中展现数据的另一种API。
  10. Panoramio——提供API来查找地理关联的相片,和窗口来展现他们。
  11. 3D Geo Stats——它就像传统的地图API,但通过Flex组件它的数据画在3D地球之上的。
  12. New York Public Library——通过API来浏览纽约公共图书馆。

欲知每个API的具体详情请阅读原文

下面就让我们一起来看下上周极客头条上热门的文章吧!

一、 为什么Linux不需要文件系统的碎片整理?

如果你是一个Linux用户,你可能会听说Linux的文件系统不需要碎片整理。你也可能会注意到Linux的发行版本也都没有磁盘碎片整理的功能。这是为什么呢?

Linux的ext2,ext3,ext4文件系统——ext4是Ubuntu和目前大多发行版所采用的文件系统——会以一种更加智能的方式来放置文件。Linux的文件系统会将文件分散在整个磁盘,在文件之间留有大量的自由空间,而不是像Windows那样将文件一个接一个的放置。当一个文件被编辑了并且变大了,一般都会有足够的自由空间来保存文件。如果碎片真的产生了,文件系统就会尝试在日常使用中将文件移动来减少碎片,所以不需要专门的碎片整理程序。

二、 什么是内存泄漏?

Java最显著的优势之一就是它的内存管理机制。你只需简单创建对象,然后Java垃圾回收机制便会小心的分配和释放内存。然而,事实并非如此简单,因为在Java应用程序中经常发生内存泄漏。

以下是一些阻止内存泄漏的快速动手技巧。

  1. 注意集合类,例如HashMap,ArrayList,等等。因为它们是内存泄漏经常发生的地方。当它们被声明为静态时,它们的生命周期就同应用程序的生命周期一般长。
  2. 注意事件监听器和回调,如果一个监听器已经注册,但是当这个类不再被使用时却未被注销,就会发生内存泄漏。
  3. “如果一个类管理它自己的内存,程序员应该对内存泄漏保持警惕。”[1] 很多时候当一个对象的成员变量指向其他对象时,不再使用时需要被置为null。

三、 8款让前端开发者心动的jQuery/CSS3应用

jQuery让很多前端开发者都十分心动,通过结合CSS3技术,会让页面变得更加绚丽多彩。下面向大家分享8款让前端开发者心动的jQuery/CSS3应用。

  1. jQuery小盒子菜单——这是一款富有特色的jQuery菜单,菜单有典雅的背景,点击菜单项时可以动画展开子菜单。「在线演示 / 源码下载
  2. CSS3 图片3D旋转相册——这是一款非常酷的CSS3相册插件,鼠标滑过缩略图时,图片就会旋转放大,非常有3D立体的感觉。「在线演示 / 源码下载
  3. jQuery多条件筛选插件代码——这是一款基于jQuery的多条件查询插件,可以选择日期、单选框、多选框、文本框等。 「在线演示 / 源码下载
  4. jQuery滑盖式自定义radio选择框按钮——还在嫌弃浏览器自带的radio丑陋外观吗?下面这款jQuery插件可以帮助你实现自定义radio选择框,它可以把radio选择模式改成滑盖模式,是很新颖的一款jQuery表单插件。 「在线演示 / 源码下载
  5. 带动感抖动效果CSS3焦点图——这是一款简单的CSS3焦点图,该CSS3焦点图的特点是鼠标滑过焦点图时图片会产生抖动的效果。「在线演示 / 源码下载
  6. jQuery CSS3 3D按钮——这是一款jQuery 和 CSS3的3D立体按钮,按钮制作非常简单。「在线演示 /源码下载
  7. CSS3制作导航与分享按钮——这是一款基于CSS3技术的菜单导航,该CSS3菜单的特点是有一款非常漂亮的分享按钮。「在线演示 / 源码下载
  8. jQuery动画图标菜单导航插件imgbubbles——这是一款基于jQuery的动画按钮菜单插件,鼠标滑过按钮时,按钮会有逐渐放大的特效,放大的速度可以自定义。 「在线演示 / 源码下载

四、 软件开发中团队首领的好坏之分

软件开发的成败更多的是在于人,而不是技术。虽然跟优秀的团队首领交往能给人非常好的感觉,但糟糕的团队首领却能凸显出领导能力的真正价值。

    https://img-my.csdn.net/uploads/201401/19/1390107939_2986.jpg

另外还有信任、任务分配、报告问题、代码审查、挫折和新思想等方面存在很大的区别。欢迎点击小标题阅读原文。

五、 为什么main方法是public static void?

Main方法是我们学习Java编程语言时知道的第一个方法,你是否曾经想过为什么main方法是public、static、void的。当然,很多人首先学的是C和C++,但是在Java中main方法与前者有些细微的不同,它不会返回任何值。原文讲述了main方式是public、static、void的原因。最后总结如下:

  1. main方法必须声明为public、static、void,否则JVM没法运行程序
  2. 如果JVM找不到main方法就抛出NoSuchMethodError:main异常,例如:如果你运行命令:java HelloWrold,JVM就会在HelloWorld.class文件中搜索public static void main (String[] args) 放法
  3. main方式是程序的入口,程序执行的开始处。
  4. main方法被一个特定的线程”main”运行,程序会一直运行直到main线程结束或者non-daemon线程终止。
  5. 当你看到“Exception in Thread main”如:Excpetion in Thread main:Java.lang.NullPointedException ,意味着异常来自于main线程
  6. 你可以声明main方法使用java1.5的可变参数的方式如: >public static void main(String... args)
  7. 除了static、void、和public,你可以使用final,synchronized、和strictfp修饰符在main方法的签名中,如: >public strictfp final synchronized static void main(String[] args)
  8. main方法在Java可以像其他方法一样被重载,但是JVM只会调用上面这种签名规范的main方法。
  9. 你可以使用throws子句在方法签名中,可以抛出任何checked和unchecked异常
  10. 静态初始化块在JVM调用main方法前被执行,它们在类被JVM加载到内存的时候就被执行了。

六、 被高估人士的七个习惯

被高估意味着你表现平平,但人们却认为你做了很大贡献;又或者是你毫无才能但是因为种种原因这点被忽略了。当你观察那些被高估的人时,就会发现他们有一些共同的习惯。

  1. 废话多多
  2. 专横且刻薄
  3. 无耻的自我吹嘘
  4. 改变讨论的细节
  5. 保持自己看起来优秀(或者其他人看起来差劲)
  6. 提前准备好借口
  7. 取得无法被反驳的成绩

如果你正在考虑要不要按照这些来做的时候,请放弃吧。如果你当前正在做上面提到的这些,请停止吧。

七、 StackOverflow架构设计和开发内幕(视频与演讲稿)

StackOverflow核心团队的开发者Marco Cecconi在2013年12月德国开发者大会DC13上介绍了这家知名问答网站的架构设计和团队研发情况

演讲的视频无法直接访问。演讲稿在SpeakerDeck,可以直接观看。另外蒋涛在微盘里放了一份,可以下载

Hacker News的讨论也很有价值。

八、 2014年Java值得期待的五大理由

如果你还在为Oracle收购Sun公司给Java社区的变化所纠结,请站在Oracle的角度替它想想吧。2013年大部分时间里,Oracle都在与遗留的Java安全问题作战,这些安全漏洞仍然会是2014年大家关注的热点。下面是未来12个月内的热点提示。

  1. 物联网已经成为现实
  2. 多语言复兴
  3. Java 8(这次他们是真的要发布)
  4. Java开发(逐渐)变得更加开放
  5. 编程成为一种时尚
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值