代码重构方向原则指导
重构是一种对软件进行修改的行为,但它并不改变软件的功能特征,而是通过让软件程序更清晰,更简洁和更条理来改进软件的质量。代码重构之于软件,相当于结构修改之于散文。每次人们对如何对代码进行重构的讨论就像是讨论如果对一篇文学作品进行修订一样无休无止。
低噪声、高可扫读;标题、摘要、来源、标签一目了然。
采集自各技术站点的近期文章。
重构是一种对软件进行修改的行为,但它并不改变软件的功能特征,而是通过让软件程序更清晰,更简洁和更条理来改进软件的质量。代码重构之于软件,相当于结构修改之于散文。每次人们对如何对代码进行重构的讨论就像是讨论如果对一篇文学作品进行修订一样无休无止。
这个一个在知乎上看到的问题,瞬时发现自己对这方面的知识非常的欠缺。整理以下内容,算是自我学习。
自动同步本地服务器(或 VPS)上的目录到另一台或多台远程服务器的办法和工具有很多,最简单的办法可能是用 rsync + cron(参考:用 VPS 给博客做镜像),这种办法有个问题就是 rsync 只能在固定时间间隔里被 cron 调用,如果时间间隔设的太短,频繁 rsync 会增加服务器负担;如果时间间隔设的太长,可能数据不能及时同步。今天介绍的 lsyncd 采用了 Linux 内核(2.6.13 及以后)里的 inotify 触发机制,这种机制可以做到只有在需要(变化)的时候才去同步。lsyncd 密切监测本地服务器上的参照目录,当发现目录下有文件或目录变更后,立刻通知远程服务器,并通过 rsync 或 rsync+ssh 方式实现文件同步。lsyncd 默认同步触发条件是每20秒或者每积累到1000次写入事件就触发一次,当然,这个触发条件可以通过配置参数调整。
Git submodule 的繁琐似乎是世人皆知了, 所以我用 subtree 来解决上面的包含关系。即: 在 Gregarius 中以 subtree 的方式管理 MagpieRSS, 然后在 MagpieRSS 中以 subtree 的方式管理 Snoopy。 问题的产生 subtree 处理多层包含是没有问题的,因为包含进项目之后, 别人根本看不出这是一个 subtree, 所以它本质上还只是管理本地 repo 的一种方法。 使用 Git subtree 新建或更新子项目的时候,可以选用 --squash 参数, 它的作用就是把 subtree 子项目的更新记录进行合并,再合并到主项目中。
此文总结的不错,列个list在这很容易提醒和整理自己的思路,这才是好文。经过尝试实践再来看看是不是更合理好了。
做产品到底要不要听用户反馈,这是个老生常谈的问题,不过在我个人看来,能正确处理的人并不多。最大的问题在于他们把各种不同类型的用户反馈混作一谈,所以很难得出一致的结论。用户反馈其实是一个统称,它分为不同的类型。对于不同的类型,我们应该采取不同的对待方式。
通常来说,人们会理所当然的认为触屏设备要比几十年的电脑鼠标和键盘直观的多。用户与触屏直接交互,缩小了用户行为与软件响应之间的距离。然而,在移动设备上——尤其是在智能手机上——打字是一件相当恐怖的事情。因为那既慢,又痛苦,而且容易出错。
过去的三年,一直奋斗在中国移动互联网一线,历经各种坑爹的情况。以下特做记录。
你是否遇到过开源License,精炼而又晦涩的文字通常要读半天才能理解,而且大多数License差别不大,容易混淆。下面这张图让你段时间迅速掌握各种开源的License。
怎样做用研?让我来跟你分享一个我们在Frog时的计划过程和实施用研的步骤。它被称为“调研学习螺旋”。这个螺旋是Erin Sanders创造的,一个我们的高级交互设计师和设计研究者。它有清晰的五个步骤,在你向人们收集用户信息的时候,可以填补你的知识空白。
在webgame中,装备复制、金币复制的漏洞是如何形成的?如何规避这类问题?如何做好网页游戏的入侵防御?挽救措施有哪些?当安全事故发生之后,如何才能最小化减少运营商损失?
第一次接触正则表达式是在今年四月的腾讯笔试,当时是一道选择题问如何判断输入的是否是 QQ 号码(即纯数字),当时是蒙了一个答案,菜鸟不会嘛 ╮(╯3╰)╭ 。事后自己倒专门学习了正则表达式,还做了笔记,可是平时开发倒的确是用得少,最近倒也忘了,近来又是校招的季节,自己就重新整理一篇简要入门,分享给大家的同时,自己也复习复习。
前一段时间分享了一篇《更好的 git log》简要介绍怎么美化 git log 命令,其中提到了 alias命令,今天再继续谈谈 git相关, 看看如何通过配置自己的 git config 让自己的 git 用起来更顺手。
前几天在codewall上看到一篇“CSS Background Noise”的文章,用css+DataURI来实现给html元素添加杂色效果,可以在不增加http请求的情况下,实现不错的杂色效果。自己跟着实践了一下,在这里也就按照原文的步骤,自己翻译加整理实践,分享给大家。
创业的机会成本是很高的。因此,很多人选择了利用业余时间来启动自己的创业项目,一方面打工赚着工资,同时还可以让自己的理想不断推进,大大降低风险。我在缘创派上也遇到很多这样的创业者,与朋友利用业余时间做一些创业项目。在沟通中,发现这些创业项目遇到一些比较有共同的问题,提炼一下,给大家分享。
技术背景的创业者有开发和实现的能力,所以往往看到某种产品形态或者模式,认为有市场空间,于是就做了。根本没有仔细思考真正的用户群是谁。
TAB vs SPACE 是一个争论不休的话题. 不过, 对于大部分编程语言, 混用 TAB 和 SPACE(空格) 缩进也可以正常工作, 除非你用的是语法非常傻逼的语言如 Python(仅仅是语法傻逼, Python 的对象模型和库还是很有用的, 大家可以试试 Cpy 编程语言 – 用 C 语言语法写 Python 代码).
最近,收到一封用户的反馈:“我这二周谈了十几个技术合伙人。很多人并没有做好心理准备,只是希望找个兼职或者赚个外包。所以我用一个词形容他们叫叶公好龙。是否真的准备好创业,愿意承担风险和准备投入去做对于创业来讲非常重要。”这些朋友在抱怨:为什么找技术合伙人的时候,很多人会直白的谈到参与创业项目的费用呢?为什么很多只想先兼职呢?
我们非常高兴用 Elasticsearch 来保存我们的事件,也得到了试用新 API 和新控制面板中新日志页面的客户们非常积极的反馈。任意字段的可搜索对日志挖掘绝对是一种显著的改善,而 Elasticsearch 正提供了这种高效无痛的改进。当然,Logstash,Elasticsearch 和 Kibana 这整条工具链也非常适合内部应用日志处理。
华容道是一个有益的智力游戏,游戏规则不再赘述。用计算机求解华容道也是一道不错的编程练习题,为了寻求最少步数,求解程序一般用广度优先搜索算法。