write down,forget

豆瓣技术架构的发展历程 @ QCon Beijing 2009

<Category: 云里雾里, 分布式, 架构>

转,学习

现场视频:InfoQ: 豆瓣网技术架构变迁

本文来自: 豆瓣技术架构的发展历程 @ QCon Beijing 2009

Force.com的多租户架构 [转]

<Category: 云里雾里, 架构>

由于Force.com所负载的应用不论是在定制方面的灵活性上,还是所承受的负载上,对基于多租户的架构而言,都是史无前例的,导致之前提到的一些模型或者改动已经无法满足要求了,所以Salesforce在Force.com引入了通过Metadata(元数据)驱动的多租户架构来动态生成快速的,可伸缩的和可定制的应用。接下来,将一步步为大家揭开Force.com多租户架构的神秘面纱,首先是它的总体架构。

阅读这篇文章的其余部分

本文来自: Force.com的多租户架构 [转]

转载,NoSQL数据库笔谈

<Category: 云里雾里>

作者颜开,整理的比较详细,源地址:http://docs.google.com/View?id=dc23x53c_64db5px4f6

NoSQL数据库笔谈

本文来自: 转载,NoSQL数据库笔谈

.net api文档生成工具,Sandcastle

<Category: .NET, 资源分享>

sandcastlelogo_jpg

Sandcastle, created by Microsoft, is a tool used for creating MSDN-style documentation from .NET assemblies and their associated XML comments files. The current version is the May 2008 release. It is command line based and has no GUI front-end, project management features, or an automated build process like those that you can find in NDoc. The Sandcastle Help File Builder was created to fill in the gaps, provide the missing NDoc-like features that are used most often, and provide graphical and command line based tools to build a help file in an automated fashion.

Base: http://sandcastle.codeplex.com/
GUI: http://shfb.codeplex.com/

第一步,设置
build define
第二步,我build
build output
第三步,查看结果了
build result1
build result

本文来自: .net api文档生成工具,Sandcastle

Eazfuscator.NET

<Category: .NET>

Eazfuscator.NET是一个免费的NET混淆工具。

Eazfuscator.NET is a free obfuscator for .NET platform. The main purpose of obfuscator is to protect intellectual property of the software

Screenshot of the main usage idea 
最新版:Version 2.8 released on April 13, 2010
Download setup

本文来自: Eazfuscator.NET

分布式通信协议,Gossip protocol

<Category: 分布式>
gossip协议
1.
On this model,a simulation of ALM(application layer multicast) was built up based on the gossip protocol.
基于对无标度网络的研究,提出了一种基于对数关系的改进的非平稳增长模型,在此模型基础上建立了基于gossip协议的应用层组播(ALM)的模拟仿真。
2.
This paper probes into the duplication management policy and the Gossip protocol,which is widely used in unstructured P2P network,and proposes a .
对非结构化P2P网络中广泛应用的Gossip协议和副本管理策略进行了探索和研究,运用模糊理论提出一种副本存储节点的选择策略。
3.
Gossip protocol is a popular P2P network resources detection algorithm, which doesn t consider finding lowest cost resources.
Gossip协议是P2P网络的一种流行的资源发现算法,但它没有考虑寻找最低成本的资源。

wikipedia:http://en.wikipedia.org/wiki/Gossip_protocol or http://cn.bing.com/reference/semhtml/Gossip_protocol

http://hi.baidu.com/jingjing615/blog/item/3d42fd0343f6d188d53f7c17.html

本文来自: 分布式通信协议,Gossip protocol

Lucandra,when Lucene meet Cassandra

<Category: Lucene, 云里雾里>

转自:http://blog.sematext.com/2010/02/09/lucandra-a-cassandra-based-lucene-backend/

GitHub地址:http://github.com/tjake/Lucandra/blob/master/README

 关于Lucandra的介绍:

 
Lucanadra线上应用:http://sparse.ly
阅读这篇文章的其余部分

本文来自: Lucandra,when Lucene meet Cassandra

Wrong permissions on configuration file, should not be world writable!

<Category: Linux>

phpMyAdmin:

Wrong permissions on configuration file, should not be world writable!

本文来自: Wrong permissions on configuration file, should not be world writable!

Centos下Subversion 服务器安装配置

<Category: Linux>

1.安装:yum install subversion
2. svn配置建立svn版本库目录可建多个:
新建文件夹:
# mkdir -p /opt/svndata/repos
建立svn版本库:
# svnadmin create /opt/svndata/repos
修改svn版本库配置文件版本库:
# vi /opt/svndata/repos/conf/svnserve.conf
内容修改为:
[general]
anon-access = none
auth-access = write
password-db =passwd
authz-db = authz
realm = repos

注意:对用户配置文件的修改立即生效,不必重启svn。
passwd.conf [users]是必须的,文件格式如下:
[users]
= = 下面列出要访问svn的用户,每个用户一行,示例:
[users]
username = password
配置svn用户访问权限:
# vi /opt/svn/conf/authz.conf

注意:
* 权限配置文件中出现的用户名必须已在用户配置文件中定义。
* 对权限配置文件的修改立即生效,不必重启svn。
用户组格式:
[groups]
= ,
其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。
版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>
其中,方框号内部分可以有多种写法:
[/],表示根目录及以下,根目录是svnserve启动时指定的,我们指定为/opt/svndata,[/]就是表示对全部版本库设置权限。
[repos:/] 表示对版本库repos设置权限
[repos2:/abc] 表示对版本库repos2中的abc项目设置权限
[repos2:/abc/aaa] 表示对版本库repos2中的abc项目的aaa目录设置权限

权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。
权限可以是w、r、wr和空,空表示没有任何权限。
示例:
[groups]
admin = alan
[/]
@admin = rw
[repos1:/abc/aaa]
king = rw
[repos2:/pass]
king =
svn配置完毕。

3. 启动svn建立启动svn的用户
# useradd svn
# passwd svn
根据提示为用户svn设置密码
允许用户svn访问版本库:
# chown -R svn:svn /opt/svndata
启动svn
# su – svn -c “svnserve -d –listen-port 9999 -r /opt/svndata”
其中:
su – svn表示以用户svn的身份启动svn
-d表示以daemon方式(后台运行)运行
–listen-port 9999表示使用9999端口,可以换成你需要的端口。但注意,使用1024以下的端口需要root权限
-r /opt/svndata指定根目录是/opt/svndata
检查:
ps -ef|grep svnserve
如果显示如下,即为启动成功:
svn 6941 1 0 15:07 ? 00:00:00 svnserve -d –listen-port 9999 -r /opt/svndata
通过web方式访问svn有很多方法,请参阅配置websvn或配置bsSvnBrowser的方法。

好了所有配置完成,可以使用客户端SVN进行操作了。
服务器测试:
# cd /tmp
# mkdir test
# touch test.txt
# svn import /tmp/test/ file:///opt/svndata/repos -m “this is thie first import”
# mkdir -p /tmp/test2
# cd /tmp/test2
# svn co file:///opt/svndata/repos /tmp/test2/
或者:
# svn co svn://{your-server-ip}:9999/repos/

这时应该可以看到文件test.txt.

另外的测试方法:
# telnet {your-server-ip} 9999 检查端口是不是通的
如果 上面检查不通,有可能是iptables中没有打开,设置iptables就可以:
# vi /etc/sysconfig/iptables
添加:
-A OUTPUT -p tcp -m tcp –dport 9999 -j ACCEPT

本文来自: Centos下Subversion 服务器安装配置

Sync Tomboy Notes with UbuntuOne

<Category: 资源分享>

UbuntuOne &  Tomboy notes

  • Edit –> Preferences –> Synchronization tab
  • For Service select “Tomboy Web”
  • Set the Server text input field to https://one.ubuntu.com/notes/
  • Click on the Connect to Server button
  • Your browser should open a login page for UbuntuOne if you need to create an account.
  • Then you can just hit Save on the Synchronization tab
  • note

    本文来自: Sync Tomboy Notes with UbuntuOne