無標題文檔

各无聊网站圣诞 Logo 大变脸

本来已经 计划 好圣诞节出去 Happy 一下的,但是偏偏杭州该死的天气却下起了雨来,真的是一件非常郁闷的事情。到现在我都弄不清楚西方的圣诞节和国人有什么关系,但是几乎很多网站都不一的将自己的 Logo 改得非常的「圣诞」。

本人无聊,下面逐一的点名。首先是 wiLdGoose 兄 ,他的圣诞版 Logo 非常的强大,经董事会(不好意思,就我一人)一致通过,被评为本年度最花哨的 Logo。

https://friable.rocks/_/2007_12_20/894591397.jpg

70 兄弟 也非常低调地将自己的 i 上的一个点改成了小红帽的样子。嗯,简约而不简单,这个偶稀饭。

https://friable.rocks/_/2007_12_21/1797456408.jpg

压轴出场的自然是最精彩的,下面就是 Gracecode.com 的圣诞版 Logo(和 70 兄的看起来很像?!不会吧,人家是 i 上面的,我是 G 上面的)。按照 wiLdGoose 兄弟的话说就是「非常的 G」。

https://friable.rocks/_/2007_12_20/1052909183.jpg

各大网站的 Logo 几乎都有变动,比如 淘宝Yupoo 等等,无非就是围绕「红帽子」、雪地、麋鹿(不是《海贼王》那个)等等,大家自己去挖掘了。「最 G」的自然是 Google 那疙瘩,地球人都知道这伙人的涂鸦嗜好已经成为他们的企业文化了。

PS: 但愿这篇无聊的文章没有吓倒小朋友和花花草草。

数据库选择何种 API 摘记

这几天翻阅了尘封已久的 MySQL Reference Book 。虽然这是一本老书并且已经阅读过多次,但是反复的阅读还是能温故知新。里面有段关于如何选择数据库 API 的言论,我认为这不仅仅是在 MySQL 上面适用,其他的数据库也同样可以参照这个总结。

于是我就花了一点时间做了一下摘记。大家如果有更好的见解,欢迎指出。

平台和应用程序要求

通常,在开发使用的平台决定了对 API 或编程语言的选择。这种情况下,在选择 API 是能够使用的语言和开发环境将起到决定的作用。例如 C 编译程序可以在大多数体系结构中使用,但是 PHP 和 Perl 的解释程序可能就不行。

在决定选择变成语言和 API 时,应用程序的要求也会起到非常重要的作用。不同的语言会具有不同的特点,比如 Perl 对于文本处理具有优势,而 C 和 C++ 可以提供对内存管理的更精密的控制。重要的是要利用语言的长处,满足应用程序的实际要求。

性能

十分明显,应用程序的性能在选择 API 和语言中是一个十分重要的决定性因素。总体目标是让应用程序更快,更加方便用户。假设其他条件都相同,则基本的决定因素就是希望对于应用程序使用一种编译语言(如 C)、还是一种解释语言(如 PHP)。

两种方法都有其优缺点。编译代码的实行速度通常必要解释型的代码要快,应为执行编译程序是,就已经把源代码转换成了机器语言,因此与解释型的代码行必,其速度有了实质性的改善,处理速度会很快。但是,解释性语言是一种很好的代码开发和排错工具,因为这些代码在每个阶段的测试之前不需要进行编译。

编译代码在不同的平台之间一般不可移植,应用程序在即将运行的平台上需要重新进行编译,而解释型程序则可以在任何平台或结构上面运行,只要提供相应的解释器就可以。

简单性

KISS 原则(尽量简单扼要)适用于很多的软件工程,简单化和容易使用的原则在决定使用哪种 API 时成为重要的因素。大多数实际的项目开发时间都很紧张,费用压缩即使在具体语言可能在技术上最适合应用程序的情况下,如果开发的代码属于时间和资源紧密型的,也可能无法通过成本效益测试。

这种情况下,时间和费用的因素可能必要使用最优化的技术更为重要,退而求此次可能会使解决方案更简单。

可提供的库和工具

影响选择 API 的另一个重要因素是可以为这种语言提供的十分复杂的库模块。这种额外的库的提供,实际上可以减少开发新新功能花费的时间。而同时通过使用经过测试的、可以公开使用的代码模块改善了可靠性。

可移植性

可移植性也是坐在选择开发语言时需要考虑的一个重要因素。很明显,只能在单一处理器或者架构上使用的语言,要比可以跨多种处理器和平台平台的语言的价值要低。

如果应用程序将计划在不同的平台上使用,则在实现编写代码之前需要探讨一下可移植性方面的问题。如果处理不当,到了后面阶段问题将会相当的严重。

成熟性

在决定使用一个 API 时,应该考虑的因素还包括这种语言的成熟性。一种成熟的开发语言满足公开标标准,可以支持开发者社区,而且还能得到广泛的文档支持和在线社区的帮助。

虽然他们属于非技术的因素,但是这些因素在决定原则语言是将起决定性的作用。十分明显,文档越多、支持越广,也就越容易提高应用程序的开发速度,从而能确保按时提交产品。

费用

一个重要的因素而且经常在纯技术讨论中会被忽略的因素是:使用某种语言需要的开发工具费用。这种计算项目所需工具的真正费用是一件重要工作,并且有时会限制使用针对特别重要的某些语言或 API,例如类似 C 和 Java 语言可能需要投资一些高质量的商业编译程序。

改变你的 User-Agent

很多的时候我们会非常的惊奇为什么网站会知道我们用什么浏览器,什么操作系统。比如 Kaku 的 Blog 上就有一个 插件 就是显示用户区域,浏览器和系统的。

其实你大部分的时候并不用担心这件事情,因为这些信息是浏览器「主动」告诉服务器的。这样是为了让服务器知道,「我在使用某个平台下的某个浏览器,请送给我知道的数据」。而 Agent 的特性不仅仅是浏览器方面有,很多的网络程序都会发送相似的「标识符」,标识自己的身份。有关 User-Agent 更详细的介绍你可以参考 这个连接

但是这种技术有时候会是双刃剑。如果你并不想被别人知道你在使用什么系统、什么浏览器,通常情况下这个时候,就往往显得非常的无能为力(大部分浏览器默认都没有这个选项)。如果你现在正在使用 Firefox,那么恭喜你实现了第一个家庭梦想 -- 你可以通过插件指定你自己喜欢的 User-Agent。

这个帮助我们的 Firefox 插件就是 User Agent Switcher ,你可以从 官方下载 。安装和设置非常的简单,比如我的 Firefox 设置好了以后就是这个样子:

https://friable.rocks/_/2007_12_23/1151185277.jpg

(再推荐一个网站,你可以访问 这个连接 得知你目前的 User-Agent。)

虽然「人肉」根据字符串分析用户的浏览器和系统非常的直观。但由于 User-Agent 没有一个统一的标准(虽然 Mozilla 已经在做 这件事情 ),所以用程序分析该字符串的所使用的系统和浏览器版本还是一件比较复杂的事情。

Javascript 方面可以参考 这个链接 (希望不要被其「冗余」的代码吓到)。相对的,PHP 可以使用

<?php
echo $_SERVER['HTTP_USER_AGENT'];
?>

获得当前客户端的 User-Agent 字符串。

最后请注意,更改 User-agent 会引起服务器对你的浏览器误判,可能会造成不必要的麻烦。PS: 但愿 Kaku 看见我这篇文章不要踹我。

我的照片

您好!我叫「明城」,八零后、码农、宁波佬,现居杭州。除了这里,欢迎您通过 GitHubTwitterInstagram 了解我的更多动态。

本博客原名 Gracecode.com 、现更名 「無標題文檔」「精于心、简于形」以此践行极简、务实的理念。 在工作之外的个人生活方面,我崇尚简单、追求平淡,偶尔也带着一些可能不被所有人理解的幽默感。

同时为避免争议和麻烦,在此郑重声明:本站所有内容为非 AI 生成,所有观点及立场均仅代表我个人,不代表任何我所就职或关联的公司与组织。

如果您想联系我,可以发我邮件 `echo bWluZ2NoZW5nQG91dGxvb2suY29tCg== | base64 -d`

分类

搜索

文章