Samba目录配置相关命令

  • 将目录下的所有文件夹权限设置为777,所有文件权限设置为666

find . -exec sh -c “if [[ -d '"{}"' ]]; then chmod 777 ‘”{}”‘; else chmod 666 ‘”{}”‘; fi ” \;

  • 将用户webdav添加到组apache目录

gpasswd -a webdav apache

  • samba目录权限配置

[webdav_samba]
comment = webdav_samba        #注释
path = /data/file                              #samba目录路径
valid users = webdav lium          #允许访问该目录的samba用户
public = no
writable = yes
printable = no
force create mode = 0666           #强制使创建的文件权限均为666
force directory mode = 0777   #强制使创建的目录权限均为777
force group = apache                     #强制使创建的文件和目录的所属组为apache

Reference:

  1. Samba配置的可用参数讲解

http://de.samba.org/samba/docs/using_samba/appb.html

redmine安装

http://fish119.javaeye.com/blog/212270

  • 安装运行环境ruby on rails
  1. 下载ruby在windows下的一步安装http://www.ruby-lang.org/zh_CN/downloads/
  2. 安装时检查一定勾选 rubygems
  3. 进入cmd命令行,执行命令 “ruby -v”,检测是否安装成功
  4. 进入cmd命令行,执行命令 “gem -v”,检测是否安装成功
  5. 进入cmd 命令行,执行命令 “gem install rails -r” ,在线安装rails
  6. 进入cmd命令行,执行命令 “rails -v”,检测是否安装成功
  • 官方安装手册
  1. redmine的基本安装运行在WEBrick上面
    http://www.redmine.org/wiki/redmine/RedmineInstall
  • 将Redmine部署到Apache
  1. 官方安装手册 cgi方式运行redmine
    http://www.redmine.org/wiki/1/HowTo_configure_Apache_to_run_Redmine
  2. fastcgi方式运行redmine
    http://harryxu.cn/blog/redmine-on-apache-fastcgi
    http://plungeintomac.com/blog/redmine-on-apache/
    http://www.cnblogs.com/zealic/archive/2008/05/17/1201574.html

Drupal专业开发指南(中文翻译完全版-drupal5.x版)

Drupal专业开发指南是一本drupal初学者必须要看的书。它详细介绍了drupal的工作机制,以及如何制作drupal的模块、主题、区块、节点等等教程。
深入分析了drupal的方方面面。
如果你是一个drupal的初学者,别犹豫了,赶紧去看吧,这本书能让你少走很多弯路!
我的第一个模块也是在这本书的指导下编写出来的。
drupal专业开发指南的作者是JOHN VANDYK和MATT WESTGATE,由葛鸿儒翻译。
Drupal专业开发指南 绪论
Drupal专业开发指南 致谢
Drupal专业开发指南 序言
Drupal专业开发指南 作者和审稿人
Drupal专业开发指南 第1章 Drupal工作原理(1)
Drupal专业开发指南 第1章 Drupal工作原理(2)对请求提供服务
Drupal专业开发指南 第2章 创建一个模块(1)
Drupal专业开发指南 第2章 创建一个模块(2)
Drupal专业开发指南 第3章 模块特定设置(1)
Drupal专业开发指南 第3章 模块特定设置(2)
Drupal专业开发指南 第4章 Drupal 菜单(menu)系统(1)
Drupal专业开发指南 第4章 Drupal 菜单(menu)系统(2)
Drupal专业开发指南 第4章 Drupal 菜单(menu)系统(3)
Drupal专业开发指南 第5章 Drupal 数据库层(1)
Drupal专业开发指南 第5章 Drupal 数据库层(2)
Drupal专业开发指南 第6章 Drupal 用户(1)
Drupal专业开发指南 第6章 Drupal 用户(2)hook_user,用户注册和登录流程
Drupal专业开发指南 第6章 Drupal 用户(3)
Drupal专业开发指南 第7章 Drupal节点(Drupal node)(1)
Drupal专业开发指南 第7章 Drupal节点(Drupal node)(2)
Drupal专业开发指南 第7章 Drupal节点(Drupal node)(3)
Drupal专业开发指南 第8章 Drupal 主题系统( Drupal theme)(1)
Drupal专业开发指南 第8章 Drupal 主题系统( Drupal theme)(2) 安装主题
Drupal专业开发指南 第8章 Drupal 主题系统( Drupal theme)(3) 模板文件
第8章 Drupal主题系统( Drupal theme)(4) 高级特性–1,覆写主题函数
第8章 Drupal主题系统( Drupal theme)(4) 高级特性–2,添加和操纵模板变量
第8章 Drupal主题系统( Drupal theme)(4) 高级特性–3,定义新的区块区域
Drupal专业开发指南 第9章 Drupal区块(1)
Drupal专业开发指南 第9章 Drupal区块(2) 区块钩子方法
Drupal专业开发指南 第9章 Drupal区块(3)创建区块
Drupal专业开发指南 第10章 Drupal表单API-创建基本的表单(1)
Drupal专业开发指南 第10章 Drupal表单API-创建基本的表单(2)
Drupal专业开发指南 第10章 Drupal表单API-创建基本的表单(3)
Drupal专业开发指南 第10章 Drupal表单API–创建跨页面表单
Drupal专业开发指南 第10章 Drupal表单API-表单API属性
Drupal专业开发指南 第10章 Drupal表单API-表单元素
Drupal专业开发指南 第10章 Drupal表单API(form API)–表单处理流程
Drupal专业开发指南 第11章 Drupal过滤器系统(filter)(1)
Drupal专业开发指南 第11章 Drupal过滤器系统(filter)(2)创建一个定制的过滤器
Drupal专业开发指南 第12章 搜索和索引内容(1)
Drupal专业开发指南 第12章 搜索和索引内容(2)索引器
Drupal专业开发指南 第12章 搜索和索引内容(3)对非节点的内容进行索引
Drupal专业开发指南 第13章 Drupal文件(file)(1)
Drupal专业开发指南 第13章 Drupal文件(file)(2)
Drupal专业开发指南 第14章 在Drupal中使用分类(taxonomy)(1)
Drupal专业开发指南 第14章 在Drupal中使用分类(taxonomy)(2)
Drupal专业开发指南 第14章 在Drupal中使用分类(Drupal taxonomy)(3)
Drupal专业开发指南 第15章 Drupal缓存(cache)(1)
Drupal专业开发指南 第15章 Drupal缓存(cache)(2)页面缓存
Drupal专业开发指南 第15章 Drupal缓存(cache)(3)缓存API
Drupal专业开发指南 第16章 Drupal会话(session)(1)
Drupal专业开发指南 第16章 Drupal会话(session)(2)会话生命周期
Drupal专业开发指南 第17章 在Drupal中使用jQuery(1)
Drupal专业开发指南 第17章 在Drupal中使用jQuery(2)
Drupal专业开发指南 第17章 在Drupal中使用jQuery(3) 编写一个使用jQuery的Drupal模块
Drupal专业开发指南 第18章 Drupal的本地化及中文化(1)
Drupal专业开发指南 第18章 Drrupal的本地化及中文化(2)
Drupal专业开发指南 第19章 XML-RPC
Drupal专业开发指南 第20章 编写安全的代码(1)处理用户输入
Drupal专业开发指南 第20章 编写安全的代码(2)处理用户输入
Drupal专业开发指南 第20章 编写安全的代码(3)db_query()
Drupal专业开发指南 第20章 编写安全的代码(4)
Drupal专业开发指南 第21章 Drupal开发最佳实践(1)
Drupal专业开发指南 第21章 Drupal开发最佳实践(2)
Drupal专业开发指南 第21章 Drupal开发最佳实践(3)
Drupal专业开发指南 第22章 Drupal优化(1)
Drupal专业开发指南 第22章 Drupal优化(2)
Drupal专业开发指南 第23章 Drupal安装过程profile

PHP相关书签

项目管理工具 - Redmine

协作对于一个团队来说至关重要,尤其是产品开发的团队,项目化的管理方式已经深入人心,MS Project 所有做过项目管理的人都应该了解,但是每天面对一张静态的甘特图来分配资源、调整进度的做法已经不合时宜了,在 Web 服务盛行的时代,以沟通为核心概念的小型团队项目管理服务 Basecamp 取得了成功,同时还捧红了 Ruby on Rails 框架。

沟通与共享是现代项目管理的核心,这种 Web 形式的项目管理系统通过“项目(Project)”的形式把成员、任务(问题)、文档、讨论以及各种形式的资源组织在一起,大家参与更新任务、文档等内容 来推动项目的进度,同时系统利用时间线索(Timeline)和各种动态的报表(Report)形式来自动给成员汇报项目进度。

在技术开发领域,Bug 追踪、Wiki 和 版本控制的集成对于项目管理系统来说必不可少,当然能够实现这些功能的系统也有很多,例如:

在技术开发领域,Bug 追踪、Wiki 和 版本控制的集成对于项目管理系统来说必不可少,当然能够实现这些功能的系统也有很多,例如:

  • Trac:基于 Python 的开源程序,应该是最早将 Ticket 与项目结合起来的开发管理系统,支持 Wiki、Timeline、Report 和项目模块分级与里程碑定义,还能够绑定查看SVN内容,简单易用,但是团队开发速度太慢,很多功能确实,无法进行权限分配、多项目管理,配置不够灵活,实在有些遗憾
  • Jira + Confluence:基于 Java 的 Bug 追踪和企业 Wiki 系统,需要购买,而且很贵,Jira 的 Bug 和事务流管理能力很强大,Confluence 应该是目前最好的企业 Wiki 系统,扩展性强,但是某些操作和体验显得有些跟不上时代
  • ActiveCollab:基于 PHP 的 Web 项目管理程序,曾经是开源版本的,后来给商业化了,需要购买,Trac 与 Basecamp 的模仿者,安装和使用简单
  • 还有许多 SaaS 方式的在线项目管理服务,例如:ComindworkLiquidPlannerMyQuireProjectSpacesHuddlePlanHQGoplan 等,不过介于中国的出口带宽情况和用户心态问题,将重要的项目数据放在遥远的第三方目前来说还是有些不现实的…

啰嗦了很多,下面介绍主角 Redmine,一个 Trac + Basecamp 的混合体,吸取了两个系统的有点,基于 Ruby on Rails 框架开发,开放源代码,可以跨平台部署,indigo 觉得它应该是小型开发团队项目管理的首选系统。

redmine with basecamp theme
  • 多项目和子项目支持
  • 可配置的用户角色控制
  • 可配置的问题追踪系统
  • 自动日历和甘特图绘制
  • 支持 Blog 形式的新闻发布、Wiki 形式的文档撰写和文件管理
  • RSS 输出和邮件通知
  • 每个项目可以配置独立的 Wiki 和论坛模块
  • 简单的任务时间跟踪机制
  • 用户、项目、问题支持自定义属性
  • 支持多种版本控制系统的绑定(SVN、CVS、Git、Mercurial 和 Darcs)
  • 支持多 LDAP 用户认证
  • 支持用户自注册和用户激活
  • 多语言支持(已经内置了zh简体中文)
  • 多数据库支持(MySQL、SQLite、PostgreSQL)
  • 外观模版化定制(可以使用 Basecamp 的主题,感觉上就像是自己架设的 Basecamp 服务)

Redmine 的官方网站:http://www.redmine.org/

Redmine 的官方 demo 站点:http://demo.redmine.org/

更详细的功能说明请看官方网站的特性列表,如果还有哪些不能满足你的需求,可以在这里提出功能请求

Redmine 的部署比较简单,没有 Trac 那么多的依赖项,indigo 在 Mac OSX 10.5 下面安装好 ROR 2.1.2 的框架,配置 Redmine 到它的 demo 环境,使用 SQLite3 数据库连接,利用 Ruby 自带的 WEBrick 服务器就可以运行了。当然这只是简单的测试运营,要在真实环境中使用,还需要找一台服务器(推荐 Ubuntu) 并且使用 MySQL 作为数据库。

安装参考:在 Ubuntu 8.10 中安装 Redmine 系统 - by indigo

本文出自:http://indigos.cn/archives/297

PHP编写WEB程序的框架比较

中国都有哪些国产的PHP框架和使用人数最多的PHP框架[收集帖]

[转]一个优秀企业级JAVA开发员应知道的25条

今天在YAKUU那看到这片转载,觉得很不错,把它翻译出来给大家分享。

原文地址:http://jroller.com/page/J2JBlog/20040712#what_should_a_good_enterprise

每个人的JAVA旅程都是不同的,这取决于他们的知识背景。从最初的涂鸦程序开始,他们都将面对一个漫长、艰难的过程。对于那些已经有利用其他技术进行企业级开发经验的人来说,这种转变是轻松得多的,因为他们的已有知识将学习曲线平展化了。

首先,请让我解释一下我所谓的“企业级开发员”是什么。“企业”是一个有很多意思的术语,对不同的人群,它有不同的意义。最简单的理解它的途径是来解释一下一个企业级应用程序是干什么的。下面列出的一些属性是有一点泛泛的,但是它们足够用来传达我的意思。我相信一个满足其中的任意三个条件的系统都可以被成为是“企业级”的。

它在不同的规则条件下为很多用户服务。
它是横向可缩放的
它能提供24/7服务
它是可容错的
它拥有一个在不同的物理机器上运行的N层体系
它拥有一个分布式结构
它为不同的系统提供接口,而且更适宜使用开放标准
它有一个很好的体系结构,并且利用最先进的技术

现在我们或许已经对企业级开发有了一个比较清晰的认识。下面让我们列出一个成为企业级JAVA开发员应该知道的东西。但是要注意,下面所列的某些条目并不完全针对JAVA。

你需要精通面向对象分析与设计(OOA/OOD)、涉及模式(GOF,J2EEDP)以及综合模式。你应该十分了解UML,尤其是class,object,interaction以及state diagrams.
你需要学习JAVA语言的基础知识以及它的核心类库(collections,serialization,streams,networking,multithreading,reflection,event,handling,NIO,localization, 以及其他)。
你应该了解JVM,class loaders,以及垃圾回收的基本工作机制。你应该有能力反编译一个类文件并且明白一些基本的汇编指令。
如果你将要写客户端程序,你需要学习WEB的小应用程序(applet),以及桌面程序的SWING,AWT,SWT。你还应该对UI部件的JAVABEAN组件模式有所了解。JAVABEANS也被应用在JSP中以把业务逻辑从表现层中分离出来。
你需要学习JDBC API并且会使用至少一种persistence/ORM构架,例如Hibernate, JDO, CocoBase, TopLink或者iBatis。你还应该了解对象关系的阻抗失配的含义,以及它是如何影响业务对象的与关系型数据库的交互,和它的运行结果。
你需要学习JAVA的沙盒安全模式(class loaders, byte code verification, managers, policy and permissions, code signing, digital signatures, cryptography, certification, Kerberos,以及其他)还有不同的安全/认证API,例如JAAS( Java Authentication and Authorization Service), JCE (Java Cryptography Extension), JSSE (Java Secure Socket Extension), 以及 JGSS (Java General Security Service).
你需要学习Servlets, JSP, 以及可选的JSTL(Standard Tag Libraries)。
你需要熟悉主流的网页框架,例如JSF, Struts, Tapestry, Cocoon, WebWork, 以及他们下面的涉及模式,如MVC/MODEL2.
你需要学习如何使用及管理WEB服务器,例如TOMCAT,并且知道如何在其基础上扩展和维护WEB程序。
你需要学习分布式对象以及远程API,例如RMI和RMI/IIOP。
你需要学习最少一种的XML API,例如JAXP (Java API for XML Processing), JDOM (Java for XML Document Object Model), DOM4J, 或 JAXR (Java API for XML Registries).
你应该学习如何利用JAVA API和工具来构建Web Service。例如JAX-RPC (Java API for XML/RPC), SAAJ (SOAP with Attachments API for Java), JAXB (Java Architecture for XML Binding), JAXM (Java API for XML Messaging), JAXR (Java API for XML Registries), 或者 JWSDP (Java Web Services Developer Pack)。
你需要学习一门轻量级应用程序框架,例如Spring, PicoContainer, Avalon, 以及它们的IoC/DI 风格(setter, constructor, interface injection)。
你需要熟悉不同的J2EE技术,例如JNDI (Java Naming and Directory Interface), JMS (Java Message Service), JTA/JTS (Java Transaction API/Java Transaction Service), JMX (Java Management eXtensions), 以及 JavaMail.
你需要学习企业级Java Beans(EJB)以及它们的不同组件模式:Stateless/Stateful Session Beans, Entity Beans (包含Bean-Managed Persistence [BMP] 或者 Container-Managed Persistence [CMP] 和它的 EJB-QL), 或者Message-Driven Beans (MDB).
你需要学习如何管理与配置一个J2EE应用程序服务器,如WebLogic,并且利用它的附加服务,例如簇类,连接池以及分布式处理支援。你还需要了解如何在它上面封装和配置应用程序并且能够监控、调整它的性能。
你需要熟悉面向方面的程序设计以及面向属性的程序设计(这两个都被很容易混淆的缩写为AOP),以及他们的主流JAVA规格和执行。例如AspectJ 和AspectWerkz。
你需要熟悉对不同有用的API和framework有。例如Log4J (logging/tracing), Quartz (scheduling), JGroups (network group communication), JCache (distributed caching), Lucene (full-text search), Jakarta Commons等等。
如果你将要对接或者正和旧的系统或者本地平台,你需要学习JNI (Java Native Interface) and JCA (Java Connector Architecture).
你需要熟悉JINI技术以及与它相关的分布式系统。
你需要Java Community Process(JCP)以及他的不同Java Specification Requests (JSRs), 例如 Portlets (168), JOLAP (69), Data Mining API (73), 等等。
你应该熟练掌握一种JAVA IDE例如JetBrains IntelliJ IDEA或者Eclipse。(有些人更喜欢VI或EMACS来编写文件。随便你用什么了:))
JAVA是冗长的,它需要很多的人工代码(例如EJB),所以你需要熟悉代码生成工具,例如XDoclet。
你需要熟悉一种单元测试体系(JNunit),并且学习不同的生成、部署工具(Ant, Maven)。
你需要熟悉一些在JAVA开发中经常用到的软件工程过程。例如RUP (Rational Unified Process) and Agile methodologies.

呼。。。不少是吧?!当然,你不必对上面的所有东西都很精通。他们其中的一些比其他的更重要,这取决于你将要构建什么样的应用程序,但是你肯定对这些东西都应该有一个大概的了解!

windows在地铁

今天出地铁站刷卡的时候,发现刷卡的机器里用的操作系统居然windows。

猜测可能是windows ce。回头补个图。

windows xp/2000建立本地本机smtp服务器

安装设置服务端
windows xp和2000本身就拥有构件smtp服务器的功能,只是一般还没有安装。选择“控制面板→添加/删除程序→添加/删除windows组件”,弹出 “windows组件向导”对话框,在其中双击“internet信息服务(iis)”项,就会打开详细选择项,选中“smtp service”,按“确定”,插入windows xp安装盘进行安装。
安装好smtp服务器后,选择“控制面板 →性能和维护→管理工具→internet信息服务”打开internet信息服务设置窗口,在窗口左侧点击本地计算机名,展开本地计算机目录,可以看到有两个分支“wed站点”和“默认smtp虚拟服务器”。在“默认smtp虚拟服务器”上点击鼠标右键选择“属性”,打开“默认smtp虚拟服务器属性” 窗口。
“常规”选项卡主要设置ip地址,单击ip地址下拉项选择“127.0.0.1”,表示指向本地计算机ip地址,其他项使用默认即可。如果你是局域网接入,拥有固定ip地址,那么ip地址就应该选择相应的地址。
“访问”选项卡中设置访问权限。单击“身份验证”,选择“匿名访问”,表示任何用户都可以发送,其他两项不用选择;单击“连接控制”中的“连接”和“ Reply限制”中的“中断”,选中“仅以下列表除外”,表示可以许接入所有用户的访问。“ Reply限制”中的“Reply”,点击添加,然后选单台计算机,添加IP地址为 127.0.0.1。(不进行此项设置,可能会出现:SMTP server response: 550 5.7.1 Unable to relay for xxxxx@163.com。。。的错误)

小结:
这种“Unable to relay user@externaldomain.com”的错误通常属于设计意图。也就是说,为了防止Internet上的Unsolicited Commercial E-Mail (UCE),Microsoft的SMTP服务,默认,是不允许一封邮件通过它中继到外面的邮件地址的!

“邮件”选项卡中设置邮件传输条件及限制,“限制邮件大小为”等四个选项可以使用默认值,无须更改;

“将未传递报告的副本发送到”可将发送不成功的邮件返回发件人,并且写明不成功的原因;“死信目录”设置没有发送成功的邮件被存放的位置。

“传输”选项中设置邮件传递时间,这里不用修改,使用默认值;“ldap路由”选项用来指定服务器使用的目录服务器标识和属性,这里也不用启动它。

“安全”选项中设置使用发送服务器的有权用户,默认用户是“administrators”,你可以单击“添加”添加使用用户。

一切设置好后,你就拥护了自己的邮件发送服务器了!下面我们来看看在outlook express和foxmail中如何设置使用自己的smtp来发信。

设置客户端软件

打开outlook express,选择“工具→账号→邮件”,选中帐号点“属性”,在“服务器”标签下的“发送邮件(smtp)”中输入“127.0.0.1”,即本机地址,“我的服务器需要身份验证”不选择。

在foxmail中选择需要设置本机发信的帐号,然后选择“帐号→属性→邮件服务器”,在“发送邮件服务器”中输入“127.0.0.1”,“smtp邮件服务器需要身份验证”也不要选择上。
撰写发送邮件和我们平时操作一样,没有什么区别。写好后点发送,邮件会在瞬间发送完毕。

——————————————————————————–

附注:
因为很多垃圾邮件都是这样发送的,所以有部分的免费邮箱是收不到的。比如网易就过滤掉了,而gmail,sohu 和 yahoo 可以收的到哦。

在outlook express 中,账户属性的下面 把 “接收邮件或同步时包含此账户” 的钩去掉,这样收邮件的时候就不会使用这个账号了.这smtp是用来发邮件的!不能接收

比尔盖茨:鲁莽驾驶

billgates

这位后来的世界首富1977年曾被捕,尽管围绕这次被捕的细节有诸多争论,但大家都一致认定这次被捕与一次交通事故有关,因此罪名大概是鲁莽驾驶之类的.然而,这并不是这位微软巨头第一次犯罪,也不是最后一次.