Git Errors

Git Errors Solution

Fatal: loose object…is corrupt

Description

1
2
error: object file .git/objects/9a/83e9c5b3d697d12a2e315e1777ceaf27ea1bab is empty 
fatal: loose object 9a83e9c5b3d697d12a2e315e1777ceaf27ea1bab (stored in .git/objects/9a/83e9c5b3d697d12a2e315e1777ceaf27ea1bab) is corrupt

Solution

1
2
3
4
5
6
rm -fr .git  
git init
git remote add origin your-git-remote-url
git fetch
git reset --hard origin/master
git branch --set-upstream-to=origin/master master

Hide User in Ubuntu

Hide User

If your system uses AccountsService, you cannot hide a user from the greeter screen by reconfiguring lightdm because it defers to AccountsService. That is stated very clearly in the comments in:

1
/etc/lightdm/users.conf

What you need to do instead is to reconfigure AccountsService. To hide a user named XXX, create a file named

1
/var/lib/AccountsService/users/XXX

containing two lines:

1
2
[User]
SystemAccount=true

Reference

http://askubuntu.com/questions/92349/how-do-i-hide-a-particular-user-from-the-login-screen

Thanks to

Yu Zhang, who is my senior fellow apprentice.

GNOME Sushi

GNOME Sushi

为Nautilus添加预览功能——GNOME Sushi,可实现文本、视频、音频文件快速预览,选择需要预览的内容,按下空格键即可预览。
安装:

1
sudo apt-get install gnome-sushi

pic

Nginx -- 《深入理解Nginx》作者-陶辉 访谈摘要

Nginx – 《深入理解Nginx》作者-陶辉 访谈摘要

仅当需要并发处理万级别或以上的TCP连接时,才应当考虑Nginx

  • 不要重复开发轮子,尤其Nginx轮子的开发难度还不低
  • Nginx.conf里可以玩的花样很多(这由每一个Nginx模块决定,如ngx_lua这样的模块还可以在里面插入lua语法)
  • Nginx进程里是拒绝任何阻塞操作的,这是因为模块都运行在IO核心处理线程中的。任何一个边缘化的模块都可能因为自己小小的阻塞调用毁掉Nginx的高性能。
  • debug级别的error.log日志非常详尽,仅有它就可以定位出很多你的模块bug,别忘了使用它必须在编译时加入–with-debug

    Nginx建议

  • 首先,从最外面看Nginx是什么样的,了解进程模型、配置文件语法、基本功能等

  • 其次,从尝试编写最简单的http模块入手,渐渐地使用到Nginx Http框架的一些高级特性,了解Nginx的内存池、各数据结构的用法等;

  • 再次,系统的了解Nginx框架,包括它如何启动、如何停止、如何升级、如何重载配置,多进程间如何负载均衡,http连接的建立、URL与包头的收取、解析、选用哪些http模块处理请求、如何向客户端回响应等

  • 了解异步事件框架,理解松耦合设计与web请求的处理方式

高性能服务器设计经验

  • 单组件的性能提升上,算法最重要:特别是越前沿的技术、场景,通用算法的功效距离期望值就越远
  • 能够并行处理的绝对不要串行化,谨慎加锁,提高吞吐量
  • 操作系统、设备、TCP协议、内存池、缓存
  • 协程是一个很好的方向,通过创建协程栈来伪造线程开发环境提升开发效率,通过改变底层阻塞API的实现来提升吞吐量、运行效率
  • 分布式系统的ACP是一个权衡问题,适当的牺牲一致性是常见解决方案
  • 开发大型系统时组件间的高内聚松耦合很重要
  • 分布式数据库的事务

    Ngnix的不足

  • 以nginx.conf中的配置来定义web请求的动态处理流程,但只能处理大众化的需求
  • nginx模块的开发门槛还挺高,需要开发者对于服务器的非阻塞调用、事件模型有较深的理解
  • 开发者不能使用简单的堆分配对象,而要使用nginx_slab管理内存
  • 目前nginx最应该完善的应当是二次开发的易用性–能够更方便、快速的开发出高性能的nginx模块

    Ngnix的未来

  • 服务器资源的效率在企业成本上将占据越发重要的地位,Apache的市场份额被Nginx取代的趋势是不会变的

摘自

http://taohui.org.cn/csdn_interview.html