在团队使用Git的时候,尤其是多人合作的项目,经常会出现一个问题,就是由于同一个文件名大小写不一致导致无法合并的问题。
那我们应该怎么来解决呢?
“In me the tiger sniffes the rose.” -- Siegfried Sasson
很多人对这个问题的第一反应可能是,它是一个键值存储仓库,却没有重视官方定义的后半句,用于配置共享和服务发现。
A highly-available key value store for shared configuration and service discovery.
实际上,etcd作为一个受到Zookeeper和doozer启发而催生的项目,除了拥有与之类似的功能外,更具有以下4个特点。(引自etcd官方文档)
Netty是一个NIO client/server
网络编程框架,可以快速且容易的开发基于协议(protocol)的网络客户端/服务端的程序,它极大简化了TCP和UDP socket编程,提供流水线化的操作。
“快速且容易”并不会导致应用难以维护和性能低下。Netty经过仔细设计,基于许多协议实现的经验如:FTP
、SMTP
、HTTP
以及各种二进制和基于本文的老的协议,Netty成功的找到一种保证开发,稳定性,灵活性的方式,毋需折中。
Maven是我一直用来管理Java项目生命周期的工具,从2006年开始使用,到现在快十年了。没想到今天碰到一个新的问题,就是使用 mvn artchetype:create
来创建项目时失败了。
本文所有内容来自Alphabet高可用架构微信群内部分享,分享是阿里巴巴的沈询老师。
今天想介绍的东西是NoSQL到SQL。我之所以选择这个题目,其实就是因为看到了一张图。
看完以后我真的噗嗤就笑了,黑的漂亮。
让面试者描述一下缓存算法,以及经典的缓存算法LRU的实现,是我在面试过程中经常会问到的题目。
能够当场说出LRU算法实现思路的人基本没有,甚至不少人都无法说清楚LRU是一个实现什么功能的算法。(现在肯专心研究数据结构和算法的人不多了)
Mac Book用了几年之后,基本上其他的笔记本都已经看不上了,这个看不上不仅仅是设计感、硬件性价比等原因,更多是对工作效率的提高(尤其对于一个多年的互联网工作者),工作效率极有可能会成为一个公司成功或失败的一个不可忽视的原因。Homebrew是我在Mac下一直使用的包管理系统,而且我觉得Homebrew是提高工作效率的非常重要的组成部分。
GitHub的How to undo (almost) anything with Git这篇文章介绍了Git使用中的各种Undo技巧。
任何版本控制系统中最有用的功能之一就是能够**”撤销(undo)”你之前的错误。在Git中“undo”**功能可能因为场景的不同而有些许的差异。
当你进行一个新的提交时,Git会保存你在这个特定时间点的快照到本地的仓库中,之后,你可以通过Git来回到你早期的某个版本。
我们来先看看一些需要你“撤销”的常见场景,你可以尝试使用Git来用最佳的方式来解决它。
根据 杨云1028的Blog 整理的参数的说明: