对于初学者来说,小型开源项目更容易理解和学习,那么目前有哪些值得学习的小型开源项目?本文收集整理了知乎上网友推荐的一些不错的小型项目,代码基本都在5000行以内,感兴趣的朋友可以研究下~ SeaJS Sea.js是一个遵循CommonJS规范的JavaScript模块加载框架,可以实现JavaScript的模块化开发及加载机制。Sea.js 追求简单、自然的代码书写和组织方式,代码非常精简。 Koa Koa 是下一代的 Node.js 的 Web 框架。由 Express 团队设计。旨在提供一个更小型、更富有表现力、更可靠的 Web 应用和 API 的开发基础。 pssh pssh 提供了并行版本的 OpenSSH 工具,特别适合用来控制有大量机器需要连接的情况,包括并行版本的 ssh、scp、rsync 和 kill 命令。该项目是Python写的,代码清晰而简短,数据结构定义的很清楚,看了之后你会称赞的。 grep-at-point 在写代码的时候,有时候会需要查看某个函数/类/变量在哪些地方被使用过。该项目用emacs lisp语言写成,可实现在项目目录下,所有指定扩展名的文件中,搜索当前光标所在的单词。 compile-make 该项目可实现emacs中一键编译的需求。在项目目录下寻找Makefile文件,并执行make命令进行编译。 语言:emacs lisp ;代码行数:19。 sigslot 很精简的 signal slot的实现,跨平台。这个源码有2000多行,但是一大半是为了模板适配不同个数的参数的代码,干货不足1000行。 UCOS uC/OS II(Micro Control Operation System Two)是一个可以基于 ROM运行的、可裁减的、抢占式、实时多任务内核,具有高度可移植性,特别适合于微处理器和控制器,是和很多商业操作系统性能相当的实时操作系统(RTOS)。 SQLite SQLite是遵守ACID的关联式数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。SQLite亦可以作为桌面数据库使用。 thttpd thttpd 是一个小型的、简单的、可移植的、快速以及安全的HTTP服务器。 Boa Webserver boa是一个小型的web服务器,可以用于多种平台,在嵌入式中比较常见。 C4 4个函数实现的c编译器,大约500行。基本上已经比较完备了,可以自己编译自己。 GLib GLib 是一个包含很多有用的 C 程序的开发包,例如树、哈希、列表等。GLib 之前是属于 GTK 工具包的一部分,现在独立出来成为单独项目。 tj/co 不到三百行,用于改善 node 异步回调语法。 shadowsocks shadowsocks 是一个基于 python 的轻量级 socks 代理软件(谁用谁知道)。 aosabook 这是一本牛书aosabook的续集,500 Lines or Less的源码。里面每一章的代码不超过500行,实现了web服务器、爬虫、OCR等等“大型系统”,每一章由不同领域的大牛完成。看看作者列表,可以说是软件领域的名人堂。 from:http://www.techug.com/15-simple-opensource-projects
View Details文章出处:池建强 问:池老师,我是个不爱互动的人,但是您所有的文章我都看了,非常感谢您的引导,我入手了人生第一台 MBP。现在问题来了,但是找不到更合适的人解答,只能求助于您了,如果您有时间的话。问题是这样的:我有个32bit unix file(开启一个服务进程),在 Mac 上执行时错误提示是:exec format error,但是在 Linux 服务器却可以执行,为何?Mac 上有可以运行的方案吗?期待您的回复,不胜感激。 答:Linux 和 OS X 是不同的操作系统,可以尝试在 OS X 里重新编译这个文件。 问:非常感谢!如果没有文件源码是不是就只能认命了? 答:可以在 Mac 上装 Docker,然后对服务进行端口映射就可以了。 答:茅塞顿开。谢池老师。 以上是我和一位读者的对话,这位小伙子在拿到答案之后像一缕烟尘一样消失无踪,之后再也没有出现过。 在微信上加了很多 MacTalk 的读者之后,经常会收到一些奇奇怪怪的问题,关于职场、关于选择、关于朋友、关于 Mac、关于技术等等,不一而足。但是我能回答的却很少。问题不好没法回答,问题太复杂没法回答,问题领域超出我的认知也没法回答,耗时太长的问题我也没 时间回答,实在是惭愧的紧。好在偶尔也能够帮助一些小伙伴解决一些实际问题,心理上略感安慰,比如上面这个问题。 把这段程序员之间的对话翻译一下,大致是这么个故事: 一 位读者有一个32位的 Unix 可执行文件,可以在某种版本的 Linux 服务器上正常运行,运行这个文件作用就是起个进程,开端口,然后与其他程序进行交互。但是这个文件拿到 Mac 上完全没办法运行。就在他趴在 Mac 上愁肠百结万念俱灰的时候,突然想到了「池老师」。不就是这个老家伙把 Mac 夸的像一朵玫瑰一样,让每个程序员都去采摘么?现在扎手了,你不管谁管?于是他给我发来消息,意思就是管也得管,不管也得管,您看着办。 我 拿到问题一看,不难。Linux 和 OS X 虽然师出同门,都是从老前辈 Unix 那儿毕业的,但是后来毕竟各练各的,在 Linux 编译好的程序不可能在 OS X 上用,但是在 OS X 上重新编译一下可能就没事了。我把这个想法告诉了这位程序员,得到的反馈是:对不起哥,没有源代码! 我被这个冷酷的回复震惊了,立刻意识到 刚才的想法并不是最优解决方案,因为在重新编译的过程中,各种包的依赖关系和编译错误足以让你焦头烂额,我随即提供了 B 计划:在 OS X 上安装 Docker,轻量级的容器 Docker 可以运行各种版本的 Linux,把文件扔到 Docker 里,然后通过主机和 Docker 之间的端口映射即可轻松解决这一问题。 虽然这里面会涉及很多技术细节,但是方向是没有问题的,所以这位程序员立刻表示「茅塞顿开」,然后「biu 」的一声就在屏幕对面消失了,没有留给我说「不客气」的机会。 这个问题装个 Linux 虚拟机也可以解决,但是虚拟机过于耗费资源,而且不如 Docker 灵活,所以不是最佳解决方案。Docker 是。 做 为一个程序员,我们除了要掌握多门程序语言和多种数据库,了解前端技术、后端技术,通晓网络七层架构,知道 TCP/IP三次握手和四次挥手,编写漂亮的代码,设计优美的架构……之外,我们还要解决研发、程序运行和产品上线过程中遇到的各种问题,而且被要求以最 小的代价来解决问题……我们容易吗? […]
View DetailsGoogle 地图在寻找我们想要了解的商店或者其它有趣的地方这种用途方面很流行和实用. 地图被一些商店特地集成到了它们的网站上面,这样就可以让人们容易找到它们的所在. 尽管其并不容易被集成,Google 地图使用起来还是简单且引人注目的. 在你的站点上集成它需要一个漫长且复杂的过程. 但多亏了拥有一个许多实用Google地图插件资源库的jQuery. 你只需要将jQeury地图插件安装到你的站点上,然后就可以开始根据你的业务需要来设计简单但能吸引人的地图了. 在本文中,我会列出一堆实用的jQuery Google地图插件, 它们提供了许多将地图添加到你的站点的功能. 如果你发现这片文章对你有帮助,请将其分享给其他人。如果你有任何其他的意见,请不要迟疑,把它们写在下面吧. WhatsNearby 一个使用Google地图将一个特定点附近的位置标识出来的jQuery插件. 示例 mapsed.js Mappy.js 是一个在一张地图上选择位置的插件. 出了选择位置,你还可以添加或者编辑已经集成到了你自己的数据库中的位置. 示例 JQuery 位置选择器 位置选择器插件可以让你很容易的找到并选择一个Google地图上的位置. 提供中心位置和半径,它还可以选择一片区域. 所有的数据都可以被自动地保存到任何HTML输入元素中,也可以被Javascript处理. 示例 Planetary.js Planetary.js 是一个用来构建很棒的可交互地球的Javascript库. 它使用了D3和TopoJSON来转换和渲染地理数据. Planetary.js 使用了一个基于插件的架构; 甚至于默认的功能都是作为插件实现的. 示例 Leaflet Leaflet 是一个用于对移动装置地图交互友好的现代开源Javascript库. Leaflet 被设计得简单,高性能且很好使用. 它开箱即用,可以很高效的运行在所有主要的桌面和移动平台上, 尽管吸收了现代浏览器HTML5和CSS3的有点,但仍然可以在较老的浏览器上运行. 示例 jQuery 商店定位 这个jQuery差劲啊利用了 Google Maps API 版本3 来创建一个能简单实现的商店选择器. 这需要无后台编程,你只需要向其提供带有所有位置信息的KML,XML或者JSON数据. 示例 Maplace.Js Maplace.js 可以帮助你在你的站点中嵌入Google地图, 并在其上快速创建新建和控制位置的菜单. 示例 MapQuery MapQuery 是一个你可以用来在你的站点上添加地图的jQuery插件. 不管你是要快速地添加一个地图到页面上,还是想构建一个特性丰富的web应用,MapQuery 都是你所需. 示例 jQuery Geo jQuery Geo, 是一个来自Applied Geographics的开源地理学地图项目, 提供一系列能满足你的在线地图应用大部分需求的Javascript API. 示例 Geolocation Geolocation 是一个使用Google Maps API v3来获取访问了你的网页的用户位置的jQuery插件. 示例 gMap gMap 是一个轻量级的JQuery插件,可以帮助你吧Google地图嵌入站点. 示例 VectorMap VectorMap 是一个用来在网页上展示矢量地图和可视化数据的JQuery插件. 示例 Europe : CSS […]
View Details100 Continue 指示客户端应该继续请求。回送用于通知客户端此次请求已经收到,并且没有被服务器拒绝。 客户端应该继续发送剩下的请求数据或者请求已经完成,或者忽略回送数据。服务器必须发送 最后的回送在请求之后。 101 Switching Protocols 服务器依照客服端请求,通过Upgrade头信息,改变当前连接的应用协议。服务器将根据Upgrade头立刻改变协议 在101回送以空行结束的时候。 Successful ================================= 200 OK 指示客服端的请求已经成功收到,解析,接受。 201 Created 请求已经完成并一个新的返回资源被创建。被创建的资源可能是一个URI资源,通常URI资源在Location头指定。回送应该包含一个实体数据 并且包含资源特性以及location通过用户或者用户代理来选择合适的方法。实体数据格式通过煤体类型来指定即content-type头。最开始服务器 必须创建指定的资源在返回201状态码之前。如果行为没有被立刻执行,服务器应该返回202。 202 Accepted 请求已经被接受用来处理。但是处理并没有完成。请求可能或者根本没有遵照执行,因为处理实际执行过程中可能被拒绝。 203 Non-Authoritative Information 204 No Content 服务器已经接受请求并且没必要返回实体数据,可能需要返回更新信息。回送可能包含新的或更新信息由entity-headers呈现。 205 Reset Content 服务器已经接受请求并且用户代理应该重新设置文档视图。 206 Partial Content 服务器已经接受请求GET请求资源的部分。请求必须包含一个Range头信息以指示获取范围可能必须包含If-Range头信息以成立请求条件。 Redirection ================================== 300 Multiple Choices 请求资源符合任何一个呈现方式。 301 Moved Permanently 请求的资源已经被赋予一个新的URI。 302 Found 通过不同的URI请求资源的临时文件。 303 See Other 304 Not Modified 如果客服端已经完成一个有条件的请求并且请求是允许的,但是这个文档并没有改变,服务器应该返回304状态码。304 状态码一定不能包含信息主体,从而通常通过一个头字段后的第一个空行结束。 305 Use Proxy 请求的资源必须通过代理(由Location字段指定)来访问。Location资源给出了代理的URI。 306 Unused 307 Temporary Redirect Client Error ===================== 400 Bad Request 因为错误的语法导致服务器无法理解请求信息。 401 Unauthorized 如果请求需要用户验证。回送应该包含一个WWW-Authenticate头字段用来指明请求资源的权限。 402 Payment Required 保留状态码 403 Forbidden 服务器接受请求,但是被拒绝处理。 404 Not Found […]
View Details内核模式驱动程序中的漏洞可能允许远程执行代码 (3000061) 发布日期: 2014 年 10 月 14 日 微软已经发布安全公告以及补丁MS14-058 详细说明参考:https://technet.microsoft.com/zh-cn/library/security/ms14-058.aspx 该漏洞补丁:KB3000061 简单来说,就是可以用一个CMD调用一个特殊的exe文件,提权成system用户,从而入侵任何版本的服务器,必须尽快更新操作系统的全部补丁来解决,建议用windows update自动更新。 Windows 2003:开始--所有程序--windows update Windows 2008/Windows 2012:控制面板--Windows 更新 更新完全部补丁后重启系统。如果安装补丁出错,可以查看C:\Windows下的最新的KBxxxxxxx.log日志。 如果出现“安装程序不能验证Update.inf文件的完整性,请确定加密服务正在此计算机上运行”的报错可使用以下方法解决。 开始--管理工具--服务,找到名称为“Cryptographic Services”的服务项,停止该服务。然后打开系统安装目录\\System32\\文件夹,在该文件夹下,找到名为“catroot2”的文件夹,将其删除或重命名,最后在服务管理器中,将“Cryptographic Services”服务启动,然后重新安装补丁即可。 或者直接在cmd中操作 1)在开始中运行cmd 2)在窗口中运行net stop cryptsvc,回车 3)ren %systemroot%\system32\catroot2 catroot2bak,回车 4)net start cryptsvc,回车 5)exit,回车。再更新补丁。 from:http://www.cnaaa.com/style/info/shownews.asp?id=585
View Details站长网IP查询地址:http://tool.chinaz.com/ip/ 可以看到,IP查询工具是先将IP段地址转化成数字地址,再才得到IP的物理地址。 ————————————————————————————————————————————- 为什么要将IP段地址转化成数字地址? 根据TCP/IP协议规定,IP地址是由32位二进制数组成,而且在INTERNET范围内是唯一的。例如,某台联在因特网上的计算机的IP地址为: 11010010 01001001 10001100 00000010 很明显,这些数字对于人来说不太好记忆。人们为了方便记忆,就将组成计算机的IP地址的32位二进制分成四段,每段8位,中间用小数点隔开,然后将每八位二进制转换成十进制数,这样上述计算机的IP地址就变成了:118.123.15.102。 由于在同一个区域里,IP段都是很相近的,如果拿IP段(118.123.15.102)直接进行比较,在操作上很是麻烦,而且数据的存储也不易实现,所以才会把IP转换成数字地址,再来确定IP段的物理地址。 ————————————————————————————————————————————- 理解了IP的概念之后,诸如IP(118.123.15.102)怎样转换成数字地址呢? IP本是32为二进制,为了方便记忆才转化成了四段十进制,所以只要把IP还原成二进制,再转换成十进制就可以得到IP的数字地址。 .NET C# IP与数字地址相互转化: //IP转换成数字地址 public static uint IPToInt(string ipAddress) { string disjunctiveStr = ".,: "; char[] delimiter = disjunctiveStr.ToCharArray(); string[] startIP = null; for (int i = 1; i <= 5; i++) { startIP = ipAddress.Split(delimiter, i); } string a1 = startIP[0].ToString(); string a2 = startIP[1].ToString(); string a3 = startIP[2].ToString(); string a4 = startIP[3].ToString(); uint U1 = uint.Parse(a1); uint U2 = uint.Parse(a2); uint U3 = uint.Parse(a3); uint U4 = uint.Parse(a4); uint U = U1 […]
View DetailsEclipse有强大的编辑功能, 工欲善其事,必先利其器, 掌握Eclipse快捷键,可以大大提高工作效率。小坦克我花了一整天时间, 精选了一些常用的快捷键操作,并且精心录制了动画, 让你一看就会。 注释 Ctrl+/ 能为光标”所在行”或者”选中行”添加注释或者取消注释。 也可以对多行添加或取消注释 快速修复 Ctrl + 1 删除当前行 Ctrl+d 光标位于行的任何地方, 按Ctrl+D 删除当前行, 当然也可以删除空行, 不用为了删除行,而按很多删除键了 格式化整个文档 Ctrl+Shift+f 插入空行 Shift + Enter Shift+Enter 在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后) Shift + Ctrl + Enter 在当前行的上一行插入空行 编辑窗口最大化 Ctrl + m 大屏幕可以提高工作效率, Ctrl + m 可以将编辑窗口最大化 显示大纲 Ctrl + O 显示类中方法和属性的大纲,能快速定位类的方法和属性 查找Java类文件 Ctrl + Shift + T 查找工作空间(Workspace)构建路径中的可找到Java类文件,不要为找不到类而痛苦,而且可以使用“*”、“?”等通配符。 查找引用 Ctrl+Shift+G 查找类、方法和属性的引用。这是一个非常实用的快捷键,例如要修改引用某个方法的代码,可以通过【Ctrl+Shift+G】快捷键迅速定位所有引用此方法的位置。 后退历史记录 Alt+ ←、Alt+ → 后退历史记录和前进历史记录,在跟踪代码时非常有用,用户可能查找了几个有关联的地方,但可能记不清楚了,可以通过这两个快捷键定位查找的顺序。 快速查找选定的内容 Ctrl+K Ctrl + K 快速向下查找选定的内容,从此不再需要用鼠标单击查找对话框了。 Ctrl + Shift + K 快速向上查找选定的内容 重命名 Alt+Shift+R from:http://www.techug.com/eclipse-shortcut-keys
View Details你想成为一名优秀的程序员吗? 那么,现在是时候放下《24小时学会xxx语言v8.3》超级骗子书,相反,你应当养成每天反问自己以下10个问题的习惯。 你的代码中是否有一种模式存在? 找寻模式中的可行与不可行将发现其中看似无关的想法或基本原则。要对工作达到深入的理解,你必须养成反问自己“是否有一种模式存在?”的习惯。 它不仅仅适用于你的代码。是否有适应各类型商业变化的模式吗?是否有一种适用于技术发展的模式?你有没有看到同类型的错误如雨后春笋般冒出来? 所谓理解就是要理解模式 — 以赛亚·伯林 怎么让代码变得更简单? 开发者经常想得到复杂的和可扩展的解决方案。做一些极为复杂的东西,觉得自己就是自己宇宙的主宰。问题是将来你永远无法预知产品和业务会如何改变。 “架构”和代码更像是园艺而不是建筑。你必须要有能力去适应不断变化的环境。越复杂的解决方案越难做。 简洁是终极的复杂 — 列昂纳多·达·芬奇 你知道程序为什么要这样运行吗? 知道东西像那样运作和知道为什么会像那样运作是两个完全不同的事。如果你知道事情为什么会那样,那么你就能够做出更好的决策。 一个伟大的程序员和知道有某种编程语言的人来说,差别在于理解为什么的深度。 同样的原理也适用于问题修正。“重启一下服务。” “你试过重启吗?” 当有问题发生时,我们经常会想到这些话。每次你这样说时,你就失去了一个学习的黄金机会。 理解为什么出现这样的错误,将修正根本原因,避免出现治标不治本。最起码,你以后不要再犯同样的错误。 之前有没有人写过这样的代码? 无论何时,你发现自己发明了一个复杂的算法,你很可能走在了错误的轨道上。除非你搜索到一份别人正好解决了这个问题博士论文。 需要编写一个向用户鼠标旁的item添加标签的算法?看看Voronoi Tesselations. 想要找到卡车送货的最短路径?看看Dijkstra. 想要找到用户输入内容的最接近的标记?应该是找到它的Levenschtein distance. 这只是几个简单示例,相信我,它们无处不在。 我能够看得更远,那是因为我站在巨人的肩上 — 艾萨克·牛顿 你知道这种技术的出处吗? 你认为你知道REST吗? 你有读过Roy Fielding描述REST的论文原文吗?你真的明白它的最初用意吗?那种在IDE v7工具中比你多用REST API生成向导5分钟的家伙写出来的博客可不算数的。 帮自己一个忙,试图去读概念或原理的原始文档,然后通过各种手段去了解行业领袖的最新发展动态。如果你不知道他们是从哪些开始的,那就紧跟他们的步伐吧?(不知道他们从哪来,就跟着他们到哪去吧!) 我喜欢现在所做的吗? 请面对编程其实是很难的。 除了很难以外,编程还是发展很快的。Art框架从2年前的“笨重恐龙”已经发展到今天的标准。为了站到你“游戏”的顶端,你必须树立一个终生学习和研究的信念。 如果你不喜欢你所做的,那么你就没有跟上其他家伙(喜欢自己所做的)的可能。所以找到让你激情燃烧的编程类型!不要因为市场缺口或者收入不菲而决定成为一名安全专家,不要因为一篇文章说UX是最热门的职业而决定成为一名UX专家。 再说一次,做你喜欢的。 做你喜欢的,所需的资源将随之而来的 — 彼得·麦克威廉斯 这些代码还可以用在其它地方吗? 我看到程序员最大的一个限制就是,自己失败的想象力。 如果我们学习到一个适应于特定环境的东西,或者看到解决某个特定问题的技术时,我们认为这就它唯一适用的地方。这是完全错误的。每当学到新东西时,反问自己:“其他地方还可以使用吗?” 当发现了在图表上定位节点的新的伟大的方法时,是不是可以将它应用于二维数据集中感兴趣数据的定位呢?当发现通过websockets从客户端发送数据到服务器端的新方法时,它怎么才能应用到可扩展的后台服务上呢?有时是错误的,但有时也是正确的。 这给我们带来了下一个问题…… 逻辑只能带你从A到Z,想像力去可以带你到任何地方 — 阿尔伯特·爱因斯坦 今天有什么做错的吗? 增加创收的最简单方法是降低错误的损失。 游戏开发公司Valve和其他几个公司很认为这个观点。这同样适用你成为web开发者的进步过程。如果你害怕失败,你就不会有大的突破。 勇敢、尝试、失败、学习然后再来。 不要害怕错误,它能让你认识失败,然后重新来过。— 本杰明·富兰克林 难道真的没有办法吗? 我们生活在世界上很小的一个地方是不可能的(除了少数例外)。 假设不管你做的什么事情都是可行的,然后采用向后的方向回推回去。你可能会发现,你想做的暂时是不切实际的,但它足以改变世界,可能变成现实的速度比你想像的还要快。 似乎一切看起来都是不可能,除非你完成它 — 纳尔逊曼德拉 我可以向谁学习? 永远不要在一群你在其中是最聪明的人的地方工作。 挑选拥有可以启发你、激励你做得更多的同事的工作和公司。不要与编程扯上关系,在文本编辑器和命令行外面还有一个完整的世界存在。从其他领域学习,设法应用到你的工作中。 永远不要满足于能胜任现有的工作! from:http://www.techug.com/10-questions-developers-should-be-asking-themselves
View Details同学们工作之余,不妨放下微博跟朋友圈,来这10个网站感受一下看着就醉了的情境:「念完往上一推音乐键,我往后一靠,潮乎乎的软皮耳机里头,音乐排山倒海。」今天推荐的网站,利用代入感强的图片与音频,迅速帮你抹平焦虑,获得平和心态,特别献给改稿千遍的设计师们。 1. Calm 这是同类型中最火的网站了,站如其名,「平和」,通过自然的图像(阳光下的暖流、淙淙的小溪等)与缓缓的音乐,帮你在短时间内放松下来。 左侧有时间设定,从 2 分钟到 20 分钟,右底部可以改变音频、图像,调节音量等。还有 IOS 客户端下载呦。 2. Do Nothing For 2 Minutes 「木头人,两分钟」,这是一个简单到极致的网站,当你打开的时候,自动开始计时,这时间你不能触碰键盘和鼠标,否则 2 分钟会重置。 你需要做的,就是放下手头的工作,静静地享受潮声,这也很棒,不是吗?两分钟足够你冷静下来,休息一下了。 3. Get Relaxed 如果两分钟不足以让你彻底放松,试试这个。如下图,打开网站后,头枕着双手往后仰,欣赏自然风光,聆听网站为你精心挑选的音乐。 图像 3 秒一换,有 15 种,每种持续大概 2 – 4 分钟,现在,开始吧! 提醒:网站有简陋广告,稍微影响体验。 4. LoungeV Studio 前三个都是图像,现在来个新鲜的。这个网站提供高清的自然风光视频 + 音乐。有沙滩、瀑布、水下景色等等,网站背景是一个温馨的客厅,右侧有视频可选,对喜欢看视频的同学来说,还是蛮不错的。 5. A Soft Murmur 这个网站太棒了!小编玩了好久都舍不得停下来。网站让你自由创造美妙的声音。你可以通过混合不同的声音(雨声、火柴燃烧的声音、打雷声、海潮声…..不一而足。但是,总有一款令你爱不释手!)当然,声音的大小也可以自己调节。 如果你对混合的声音非常满意,也可以分享到脸书、谷歌等…. 6. Nature Sounds For Me 这个比上面那个界面稍逊,但是玩起来更嗨!它提供的声音除了以上的自然类声音,还有很多你想不到的:绵羊咩咩、骏马跺脚喷气、不同的鸟叫声,甚至是心脏跳动、厨房叮当的声音,不仅令人身临其境,而且搭配起来简直不能更欢乐! 当然,它还有 IOS 客户端。 7. Noisli 这个网站根据你的情绪变化,选择不同的音乐和背景颜色。颜色大多朴素平和,背景声音也有对应的图标可以选择。还有一点贴心的设计是,网站右侧有便签本,你可以一边享受静谧时光一边随手记点事。 为了造福大众,网站还提供 IOS 版。 8. Soundrown 网站一进去,有 3 个关键词:放松、专注、逃离。的确,它成功做到了这一点。它有 10 种不同的声音帮助你放松心情,也可以混合使用。不同的声音对应不同的背景,网站非常有设计感,相信你会重新回来体验一次。 9. The Thoughts Room 一句话简洁:世界的秘密——树洞类网站。你可以在这里向全世界倾诉你的任何想法,网站支持 37 种语言,不过看了一下,没有中国… 10. Raining.Fm 有时候,我们需要的仅仅是一点点雨声来帮助我们平静。网站专门提供雨声,因为单一,所以也更加专业。网站有 3 种不同的雨声类型,右侧有定时器可以在你放松时提醒你,简单也好用的一个网站,赞一个。 from:http://www.techug.com/website-make-you-relax
View Details忙未必就说明你有生产力。要想有生产力,更多的是要管理好你的精力而不是时间。要经营好你的生活。我们需要学会花费最小的精力得到最大的收益。不干以下 7 件事,我把每周的工作时间从 80 小时缩短到了 40 小时,但是完成的工作却多了很多。 1、不加班效率高 每周 5 天,每天 8 小时的工作制是福特在 1926 年的发现。实验表明,把每天工作时间从 10 小时降至 8 小时,每周工作时间从 6 天降至 5 天后,生产力反而提升了。 1980 年由商业圆桌会议发布的《建筑项目的加班效应》指出,无论从短期还是长期来看,工作越多,效率和生产力都会下降: 若每周工作时间超过 60 小时的情况持续超过两个月,生产力下降的累积效应将导致完工日期推迟,而同样的人数每周只工作 40 小时甚至还会更早完工。 美国军方研究表明,“每天少睡 1 小时持续一周会导致相当于 0.1 血醇水平的认知退化”。 《睡眠的秘密世界》指出: 熬夜之后无论白天你干得有多好,情绪不会太高。更重要的是前瞻性思考和行动的意愿、对冲动的抑制、乐观程度、同理心、情商等也会下降。 所以保证充足的睡眠对于维持高水平的生产力十分重要。 很多名人的经验是白天多小睡。达芬奇、拿破仑、爱迪生、罗斯福夫人、吉恩•奥特里、肯尼迪、洛克菲勒、丘吉尔、林顿•约翰逊、里根等都有小睡的习惯。 2、不要老说“好的” 根据 20/80 原理(帕累托原理),20% 的努力创造出 80% 的结果;但反过来 20% 的结果消耗了 80% 的努力。因此我们应该把精力集中在能产出 80% 结果的事情上,然后放弃其他的事情。如此就能把更多的时间集中在最重要的任务上。我们应该对低产出甚至无结果的任务停止说“yes”。 成功人士和非常成功人士的区别在于后者几乎对所有事情说“不” ——巴菲特 这就引出一个问题:我们该对哪些事情说“yes”,对哪些事情说“no”呢?如果想不出哪些事情值得花时间,不妨来个简单的分离测试。跟踪自己所做的一切事情然后尽可能优化。 我们中的大多数往往都说了太多的“yes”,因为这比拒绝要容易得多。没人想当坏人。 2012 年的消费者杂志发表了一项研究,研究人员把 120 人分成了 2 组。一组人训练成说“我不能(I can’t)”,另一组则说“我不(I don’t)”。结果很有趣: 告诉自己“我不能吃 X”的学生在 61% 的时间内选择了吃巧克力糖,而告诉自己“我不吃 X”的只在 36% 的时间里抵挡不住诱惑。在说法上作这么简单的一个变化就能显著改善健康食品的选择。 所以,下次需要避免说 yes 的时候,直接说“我不”。 另一个避免不必要活动的技巧是 20 秒规则:对于不应该做的事情多给自己 20 秒的时间考虑。 3、不要事必躬亲 我曾经管理过一个非常大的社区,试图一个人做完所有事情,最后发现我干不了。我筋疲力尽,最后社区接管了自我管理的工作。令人惊奇的是大家做得比我还好。我因而领悟到了社区的力量。 我们必须意识到,在需要的时候可以去寻求帮助,这一点很重要。让做得更好的人接管你的一些工作对你来说更好。这可以让你花更多的时间在自己最重要的任务上。不要把时间浪费在自己解决问题上,让专家帮助你。 很多时候,哪怕朋友不能帮你,他们的陪伴也能让你更有生产力。 4、不要完美主义 达尔豪斯大学的心理学教授 Simon Sherry 的完美主义与生产力研究发现,完美主义是生产力的绊脚石: […]
View Details