|
2010年11月16日
有人在Stack Overflow上 发问,动手开发网站之前,需要知道哪些事情? 不出意料地,他得到了一大堆回答。通常情况下,你需要把所有人的发言从头到尾读一遍。但是,Stack Overflow有一个很贴心的设计,它允许在问题下方开设一个wiki区,让所有人共同编辑一个最佳答案。于是,就有了下面这篇文章,一共总结出六个方 面共计62条"网站开发须知"。 我发现,这种概述性的问题,最适合这种集合群智、头脑风暴式的回答方式了。这也是我第一次觉得,Stack Overflow做到了Wikipedia做不到的事。(难怪它最近挤进了全美前400大网站。) 在我的印象中,关于网站开发,这样全面的概述性文章非常少见,因此也就非常有用。大家不妨看看,62件事情中你做到了多少? 一、界面和用户体验(Interface and User Experience) 1.1 知道各大浏览器执行Web标准的情况,保证你的站点在主要浏览器上都能正常运行。你至少要测试以下引擎:Gecko(用于Firefox)、Webkit(用于Safari、Chrome和一些手机浏览器)、IE(你可以利用微软发布的Application Compatibility VPC Images进行测试)和Opera。同时,不同的操作系统,可能也会影响浏览器如何呈现你的网站。 1.2 除了浏览器,网站还有其他使用方式:手机、屏幕朗读器、搜索引擎等等。你应该知道在这些情况下,你的网站的运行状况。MobiForge提供了手机网站开发的一些相关知识。 1.3 知道如何在基本不影响用户使用的情况下升级网站。通常来说,你必须有版本控制系统(CVS、Subversion、Git等等)和数据备份机制(backup)。 1.4 不要让用户看到那些不友好的出错提示。 1.5 不要直接显示用户的Email地址,至少不要用纯文本显示。 1.6 为你的网站设置一些合理的使用限制,一旦超过门槛值,就自动停止服务。(这也与网站安全相关。) 1.7 知道如何实现网页的渐进式增强(progressive enhancement)。 1.8 用户发出POST请求后,总是将其重导向(redirect)至另外一个网页。 1.9 不要忘记网站的可访问性(accessibility,即残疾人如何使用网站)。对于美国网站来说,有时这是法定要求。WAI-ARIA有一些这方面很好的参考资料。 二、安全性(Security) 2.1 阅读《OWASP开发指南》,它提供了全面的网站安全指导。 2.2 了解SQL注入(SQL injection)及其预防方法。 2.3 永远不要信任用户提交的数据(cookie也是用户端提交的!)。 2.4 不要明文(plain-text)储存用户的密码,要hash处理后再储存。 2.5 不要对你的用户认证系统太自信,它可能很容易就被攻破,而你事先根本没意识到存在相关漏洞。 2.6 了解如何处理信用卡。 2.7 在登录页面及其他处理敏感信息的页面,使用SSL/HTTPS。 2.8 知道如何对付session劫持(session hijacking)。 2.9 避免"跨站点执行"(cross site scripting,XSS)。 2.10 避免"跨域伪造请求"(cross site request forgeries,XSRF)。 2.11 及时打上补丁,让你的系统始终跟上最新版本。 2.12 确认你的数据库连接信息的安全性。 2.13 跟踪攻击技术的最新发展,以及你使用的平台的最新安全漏洞。 2.14 阅读Google的《浏览器安全手册》(Browser Security Handbook)。 2.15 阅读《网络软件的黑客手册》(The Web Application Hackers Handbook)。 三、性能(Performance) 3.1 只要有可能,就使用缓存(caching)。正确理解和使用HTTP caching与HTML5离线储存。 3.2 优化图片。不要把一个20KB的图片文件,作为重复出现的网页背景图案。 3.3 学习如何用gzip/deflate压缩内容(deflate方式更可取)。 3.4 将多个样式表文件或脚本文件,合为一个文件,这样可以减少浏览器的http请求数,以及减小gzip压缩后的文件总体积。 3.5 浏览Yahoo的Exceptional Performance网站,里面有大量提升前端性能的优秀建议,还有他们的YSlow工具。Google的page speed则是另一个用来分析网页性能的工具。两者都要求安装Firebug。 3.6 如果你的网页用到大量的小体积图片(比如工具栏),就应该使用CSS Image Sprite,目的是减少http请求数。 3.7 大流量的网站应该考虑将网页对象分散在多个域名(split components across domains)。 3.8 静态内容(比如图片、CSS、JavaScript、以及其他cookie无关的网页内容)都应该放在一个不需要使用cookie的独立域名之上。因为域名之下如果有cookie,那么客户端向该域名发出的每次http请求,都会附上cookie内容。这里的一个好方法就是使用"内容分发网络"(Content Delivery Network,CDN)。 3.9 将浏览器完成网页渲染所需要的http请求数最小化。 3.10 使用Google的Closure Compiler压缩JavaScript文件,YUI Compressor亦可。 3.11 确保网站根目录下有favicon.ico文件,因为即使网页中根本不包括这个文件,浏览器也会自动发出对它的请求。所以如果这个文件不存在,就会产生大量的404错误,消耗光你的服务器的带宽。 四、搜索引擎优化(Search Engine Optimization,SEO) 4.1 使用"搜索引擎友好"的URL形式,比如example.com/pages/45-article-title,而不是example.com/index.php?page=45。 4.2 不要使用"点击这里"之类的超级链接,因为这样等于浪费了一个SEO机会,而且降低了"屏幕朗读器"(screen reader)的使用效果。 4.3 创建一个XML sitemap文件,它的缺省位置一般是/sitemap.xml(即放在网站根目录下)。 4.4 当你有多个URL指向同一个内容时,在网页代码中使用<link rel="canonical" ... />。 4.5 使用Google的Webmaster Tools和Yahoo的Site Explorer。 4.6 从一开始就使用Google Analytics(或者开源的访问量分析工具Piwik)。 4.7 知道robots.txt的作用,以及搜索引擎蜘蛛的工作原理。 4.8 将www.example.com的访问请求导向example.com(使用301 Moved Permanently重定向),或者采用相反的做法,目的是防止Google把它们当做两个网站,分开计算排名。 4.9 知道存在着恶意或行为不正当的网络蜘蛛。 4.10 如果你的网站有非文本的内容(比如视频、音频等等),你应该参考Google的sitemap扩展协议。 五、技术(Technology) 5.1 理解HTTP协议,以及诸如GET、POST、sessions、cookies之类的概念,包括"无状态"(stateless)是什么意思。 5.2 确保你的XHTML/HTML和CSS符合W3C标准,使得它们能够通过检验。这可以使你的网页避免触发浏览器的古怪行为(quirk),而且使它在"屏幕朗读器"和手机上也能正常工作。 5.3 理解浏览器如何处理JavaScript脚本。 5.4 理解网页上的JavaScript文件、样式表文件和其他资源是如何装载及运行的,考虑它们对页面性能有何影响。在某些情况下,可能应该将脚本文件放置在网页的尾部。 5.5 理解JavaScript沙箱(Javascript sandbox)的工作原理,尤其是如果你打算使用iframe。 5.6 知道JavaScript可能无法使用或被禁用,以及Ajax并不是一定会运行。记住,"不允许脚本运行"(NoScript)正在某些用户中变得流行,手机浏览器对脚本的支持千差万别,而Google索引网页时不运行大部分的脚本文件。 5.7 了解301重定向和302重定向之间的区别(这也是一个SEO相关问题)。 5.8 尽可能多得了解你的部署平台(deployment platform)。 5.9 考虑使用样式表重置(Reset Style Sheet)。 5.10 考虑使用JavaScript框架(比如jQuery、MooTools、Prototype),它们可以使你不用考虑浏览器之间的差异。 六、解决bug 6.1 理解程序员20%的时间用于编码,80%的时间用于维护,根据这一点相应安排时间。 6.2 建立一个有效的错误报告机制。 6.3 建立某些途径或系统,让用户可以与你接触,向你提出建议和批评。 6.4 为将来的维护和客服人员撰写文档,解释清楚系统是怎么运行的。 6.5 经常备份!(并且确保这些备份是有效的。)除了备份机制,你还必须有一个恢复机制。 6.6 使用某种版本控制系统储存你的文件,比如Subversion或Git。 6.7 不要忘记做单元测试(Unit Testing),Selenium之类的框架会对你有用。
iBatis解决sql注入
(1) ibatis xml配置:下面的写法只是简单的转义 name like '%$name$%'
(2) 这时会导致sql注入问题,比如参数name传进一个单引号“'”,生成的sql语句会是:name like '%'%'
(3) 解决方法是利用字符串连接的方式来构成sql语句 name like '%'||'#name#'||'%'
(4) 这样参数都会经过预编译,就不会发生sql注入问题了。
(5) #与$区别:
#xxx# 代表xxx是属性值,map里面的key或者是你的pojo对象里面的属性, ibatis会自动在它的外面加上引号,表现在sql语句是这样的 where xxx = 'xxx' ;
$xxx$ 则是把xxx作为字符串拼接到你的sql语句中, 比如 order by topicId , 语句这样写 ... order by #xxx# ibatis 就会把他翻译成 order by 'topicId' (这样就会报错) 语句这样写 ... order by $xxx$ ibatis 就会把他翻译成 order by topicId
一、关于滚动显屏加载
常常会有这样子的页面,内容很丰富,页面很长,图片较多。比如说光棍节很疯狂的淘宝商城页面。 或者是前段时间写血本买了个高档耳机的京东商城页面,或者是新浪微博之类。
这些页面图片数量多,而且比较大,少说百来K,多则上兆。要是页面载入就一次性加载完毕。乖乖,估计黄花都变成黄花菜了。所以,我们得做点什么,避 免这种糟糕的状况发生。目前很流行的做法就是滚动动态加载,显示屏幕之外的图片默认是不加载的,随着页面的滚动,这个要显示图片的区域进入了浏览器可是窗 口范围,则触发图片的加载显示。这种做法的好处是,一是页面加载速度快(浏览器转啊转的圈圈或是进度条很快就玩完了),二是节约了流量,因为不可能每个用 户浏览页面时从头滚到尾的。
貌似我上面提到的几个站点就是采用的这种做法,例如,我以迅雷不及掩耳的速度从淘宝商城首页截下来的已触发滚动加载但是未加载完毕的图片:
这是提高前端性能,优化页面加载速度很实用的做法。看上去这种技巧有些技术门槛,其实很简单的。我们需要一个滚动事件,然后判断元素是否在浏览器窗 口,然后,显示图片(或是其他元素)就可以啦。我在jQuery库下写了个实现此效果的插件,下面就将简单展示讲解此插件的使用以及滚动动态加载的实现。
二、jQuery滚动加载插件scrollLoading
虽然只有几十行代码,但是为了方便使用,我还是将其插件化了。插件名为jquery.scrollLoading.js,您可以狠狠地点击这里下载(右键 – [目标|链接]另存为),或是点击这里下载mini压缩版的。
demo 您可以狠狠地点击这里:jQuery滚动加载图片等demo,如果您的网速是在贫困线上挣扎,可以慢慢拖动滚动条,就可以很清楚的看到滚动加载的效果了;如果您的网速让你引以为豪,哥,你需要很快的拖动滚动条才能瞥见效果。效果类似下面:
demo页面中似乎有段破坏和谐的HTML片段,那是动态加载HTML后的效果,也就是说,此scrollLoading不仅可以用来滚动加载图片,Ajax load页面什么的也是可以的。
三、scrollLoading使用
不管怎样,首先调用jQuery库文件,还有jquery.scrollLoading.js,您可以直接在页面的某处添上如下的代码:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script> <script type="text/javascript" src="http://www.zhangxinxu.com/study/js/mini/jquery.scrollLoading-min.js"></script>
此插件的方法名就是scrollLoading,所以,直接:包装器.scrollLoading(); 就可以实现滚动加载效果了,简单的吧。如下:
$(".scrollLoading").scrollLoading();
表示所有class为scrollLoading的元素绑定了滚动加载的方法。 当然,不可能真的就如此简单,我们还需要做点小动作的。元素默认是不加载的,那么真正的加载地址显然要预先在元素上放置的,例如新浪微博默认把头像地址绑在了一个自定义的”dynamic-src”属性上,见下图:
在HTML5中,以data-开头的自定义属性都是合法的,且地址可以是图片,页面等。所以,我设定了绑定地址的自定义属性为”data-url”,此属性值设为真实的图片(或页面)地址就可以了。例如下面:
<div class="scrollLoading" data-url="loaded.html">加载中...</div>
会在滚动时加载名为loaded.html的页面,并自动替换里面的内容。
对于常用的图片,还有一点小问题,就是其默认的src图片地址。其src地址不能是真实的图片地址(否则会直接一次性全部加载),也不能是空地址或是坏地址,否则IE浏览器下会出现很惊悚的红叉叉。。我的做法是默认链接的是一个1px * 1px的gif透明图片(大小很小),同时可以透出后面加载中gif动画图片,当滚动加载的时候直接把此gif图片替换掉。于是,对于图片,可能就有类似下面的代码:
<img class="scrollLoading" data-url="http://image.zhangxinxu.com/image/study/head/s180/1.jpeg" src="http://www.zhangxinxu.com/study/image/pixel.gif" width="180" height="180" style="background:url(http://www.zhangxinxu.com/study/image/loading.gif) no-repeat center;" />
四、scrollLoading可选参数
scrollLoading是个很简单很小的插件(无注释YUI compressor min版仅508B),所以参数也很少,就一个,见下表:
参数 | 默认 | 释义 |
attr |
data-url |
获取元素加载地址的属性名 |
就这些了。此插件只适用于页面默认滚动条的动态加载。对于内部div之类的滚动加载不支持。
五、周五,结语
要下班了,nice! 明天周末,我要去钓鱼。 我感冒了,鼻涕流个不停,难受。 空间近日升级了,20G的月流量已经挺不住了。 最近经常看动漫。 我决定在RSS里面加点广告,评论链接什么的。
//zxx:主人,这是你有屎以来最龌龊的结语了。
恩,对此我举双脚表示赞同。
原创文章,转载请注明来自张鑫旭-鑫空间-鑫生活[http://www.zhangxinxu.com] 本文地址:http://www.zhangxinxu.com/wordpress/?p=1259
一、相关demo
本文地址: http://www.zhangxinxu.com/wordpress/?p=616
本文作者为:张鑫旭 来源于:张鑫旭-鑫空间-鑫生活 欢迎访问原出处
二、简介与说明
- 此jQuery插件为Ajax分页插件,一次性加载,故分页切换时无刷新与延迟,如果数据量较大不建议用此方法,因为加载会比较慢。
- 原插件CSS不太合理,使用浮动,故无法方便实现左右方向的定位,且未清除浮动,在中文修改版中我对其进行了优化,使其支持text-align的定位。
- 对原js文件注释进行了中文翻译,demo页面也是汉化了的,demo页面的js与原demo有一些出入,但核心不变。
本文地址: http://www.zhangxinxu.com/wordpress/?p=616
本文作者为:张鑫旭 来源于:张鑫旭-鑫空间-鑫生活 欢迎访问原出处
三、使用方法
跟一般的jQuery插件一样,此插件使用也很简单便捷。方法是pagination ,例如$("#page").pagination(100); ,这里的100参数是必须的,表示显示项目的总个数,这是最简单的使用,得到的显示如下:
还有一点值得一提的是分页列表需要放在class类为pagination的标签内,您可以使用text-align属性控制分页居中显示还是居右显示。
回调函数一般用来装载对应分页显示的内容,具体参见demo源文件。
本文地址: http://www.zhangxinxu.com/wordpress/?p=616
本文作者为:张鑫旭 来源于:张鑫旭-鑫空间-鑫生活 欢迎访问原出处
四、参数
参数名 | 描述 | 参数值 |
maxentries |
总条目数 |
必选参数,整数 |
items_per_page |
每页显示的条目数 |
可选参数,默认是10 |
num_display_entries |
连续分页主体部分显示的分页条目数 |
可选参数,默认是10 |
current_page |
当前选中的页面 |
可选参数,默认是0,表示第1页 |
num_edge_entries |
两侧显示的首尾分页的条目数 |
可选参数,默认是0 |
link_to |
分页的链接 |
字符串,可选参数,默认是"#" |
prev_text |
“前一页”分页按钮上显示的文字 |
字符串参数,可选,默认是"Prev" |
next_text |
“下一页”分页按钮上显示的文字 |
字符串参数,可选,默认是"Next" |
ellipse_text |
省略的页数用什么文字表示 |
可选字符串参数,默认是"…" |
prev_show_always |
是否显示“前一页”分页按钮 |
布尔型,可选参数,默认为true,即显示“前一页”按钮 |
next_show_always |
是否显示“下一页”分页按钮 |
布尔型,可选参数,默认为true,即显示“下一页”按钮 |
callback |
回调函数 |
默认无执行效果 |
本文地址: http://www.zhangxinxu.com/wordpress/?p=616
本文作者为:张鑫旭 来源于:张鑫旭-鑫空间-鑫生活 欢迎访问原出处
五、使用举例
例如下面的使用代码:
$("#Pagination").pagination(56, { num_edge_entries: 2, num_display_entries: 4, callback: pageselectCallback, items_per_page:1 });
这段代码表示的含义是:总共有56(maxentries)个列表项,首尾两侧分页显示2(num_edge_entries)个,连续分页主体数 目显示4(num_display_entries)个,回调函数为pageselectCallback(callback),每页显示的列表项为 1(items_per_page)。您可以对照参数表修改配置这里的参数。
本文地址: http://www.zhangxinxu.com/wordpress/?p=616
本文作者为:张鑫旭 来源于:张鑫旭-鑫空间-鑫生活 欢迎访问
六、关于demo的一些说明
总共有三个demo,第一个demo就是个静态的数据,直接写在HTML上;第二个使用Ajax加载HTML数据,然后进行分页显示;第三个demo可以动态修改一些参数观察对应的分页效果。
所有demo页面的js注释我都改为了中文标注,难点在于回调函数,demo中回调函数有两个参数,一个是page_index,另一个是jq,前 一个表示您当前点击的那个分页的页数索引值,后一个参数表示装载容器。这里的页数索引值是关键,我们要根据这个索引值找到对应的(例如)HTML元素,然 后再指定的容器中显示出来,demo中提供了装载单元素以及多元素的方法,相信不会有太大问题。
http://www.zhangxinxu.com/wordpress/
这小子个人空间里前端特效不错,还带有用例,源码,效果图,以及demo
Amateras Eclipse HTML Editor
Amateras Eclipse HTML Editor |
Homepage |
http://amateras.sourceforge.jp/cgi-bin/fswiki_en/wiki.cgi?page=EclipseHTMLEditor |
Download |
https://sourceforge.jp/projects/amateras/files/ |
Dependencies |
GEF: http://www.eclipse.org/gef |
Description |
Eclipse HTML Editor is an Eclipse plugin for HTML/JSP/XML Editing. It works on Eclipse 3.0 (or higher), JDT and GEF. It has following features.
- HTML/JSP/XML/CSS Hilighting
- HTML/JSP Preview
- JSP/XML Validation
- Contents Assist (HTML Tags/Attributes, XML based on DTD and JSP taglib and more)
- Wizards for creating HTML/JSP/XML files
- Outline View
- Editor Preferences
- Editor Folding
- Web Browser (It works as an Eclipse's editor)
- Image Viewer
- Tag Palette
- CSS code completion and outline
|
Usage |
http://amateras.sourceforge.jp/docs/FacesIDE/HtmlEditor.html
|
XMLBuddy
XMLBuddy |
Homepage |
http://www.xmlbuddy.com/ |
Download |
http://xmlbuddy.com/2.0/licensed.html |
Dependencies |
|
Description |
http://xmlbuddy.com/2.0/features.html |
Usage |
|
Freemarker IDE
Freemarker IDE |
Homepage |
http://www.freemarker.org/editors.html |
Download |
http://sourceforge.net/project/showfiles.php?group_id=794 |
Dependencies |
|
Description |
|
Usage |
|
JSEclipse
JSEclipse |
Homepage |
http://amateras.sourceforge.jp/cgi-bin/fswiki_en/wiki.cgi?page=EclipseHTMLEditor |
Download |
http://www.interaktonline.com/Products/Eclipse/JSEclipse/Try-Download/ |
Dependencies |
The Eclipse SDK version 3.1 or higher The Java Runtime Environment version 5.0 or higher |
Description |
http://www.interaktonline.com/Products/Eclipse/JSEclipse/Overview |
Usage |
|
SQLExplorer
SQLExplorer |
Homepage |
http://eclipsesql.sourceforge.net/ |
Download |
http://sourceforge.net/project/showfiles.php?group_id=132863 |
Dependencies |
|
Description |
Eclipse IDE plugin for database query/schema viewer for nearly any kind of JDBC database. It supports plugins for specialized functionality for individual databases and data tools ( like Hibernate, Oracle or Sybase ) |
Usage |
|
Properties Editor
Properties Editor |
Homepage |
http://propedit.sourceforge.jp/index_en.html |
Download |
http://sourceforge.jp/projects/propedit/ |
Dependencies |
|
Description |
|
Usage |
|
SpringIDE
Spring IDE |
Homepage |
http://www.springframework.org/download |
Download |
Updatesite: http://springide.org/updatesite/ Download: http://springide.org/updatesite/ |
Dependencies |
|
Description |
|
Usage |
|
JettyLauncher
Jetty Launcher |
Homepage |
http://jettylauncher.sourceforge.net/ |
Download |
Updatesite: http://jettylauncher.sourceforge.net/updates |
Dependencies |
|
Description |
|
Usage |
|
方式一:
Java转exe篇: 实现方式:Eclipse搭配JSmooth(免费)。 1.先由Eclipse制作包含Manifest的JAR。制作教学 2.使用JSmooth将做好的JAR包装成EXE。 JSmooth下载页面: http://jsmooth.sourceforge.net/index.php ; 3.制作完成的exe文件,可在有装置JRE的Windows上执行。
方式二:
exe4j
方式三
NSIS(这个最好用)
方法四:
Launch4j is a cross-platform tool for wrapping Java applications distributed as jars in lightweight Windows native executables. The executable can be configured to search for a certain JRE version or use a bundled one, and it's possible to set runtime options, like the initial/max heap size. The wrapper also provides better user experience through an application icon, a native pre-JRE splash screen, a custom process name, and a Java download page in case the appropriate JRE cannot be found.
EasyTomcat支持您使用的Apache Tomcat和MySQL的。您可以轻松的启动,停止和配置Tomcat和MySQL,尤其是你不需要任何特殊的知识来使用它。您可以监控服务器和查看统计信息的重要属性。
经典语录:
哈佛有一个著名的理论:人的差别在于业余时间,而一个人的命运决定于晚上8点到10点之间。每晚抽出2个小时的时间用来阅读、进修、思考或参加有意的演讲、讨论,你会发现,你的人生正在发生改变,坚持数年之后,成功会向你招手。
经典语录:
无论你的收入是多少,记得分成五份进行规划投资:增加对身体的投资,让身体始终好用;增加对社交的投资,扩大你的人脉;增加对学习的投资,加强你的自信;增加对旅游的投资,扩大你的见闻;增加对未来的投资,增加你的收益。好好规划落实,你会发现你的人生逐步会有大量盈余。
经典语录:
过去的一页,能不翻就不要翻,翻落了灰尘会迷了双眼。有些人说不出哪里好,但就是谁都替代不了! 那些以前说着永不分离的人,早已经散落在天涯了。收拾起心情,继续走吧,错过花,你将收获雨,错过这一个,你才会遇到下一个。
经典语录:
被人误解的时候能微微的一笑,这是一种素养;受委屈的时候能坦然的 一笑,这是一种大度;吃亏的时候能开心的一笑,这是一种豁达;无奈的时候能达观的一笑,这是一种境界;危难的时候能泰然一笑,这是一种大气;被轻蔑的时候 能平静的一笑,这是一种自信;失恋的时候能轻轻的一笑,这是一种洒脱。
经典语录:
人生途中,有些是无法逃避的,比如命运;有些是无法更改的,比如情 缘;有些是难以磨灭的,比如记忆;有些是难以搁置的,比如爱恋……与其被动地承受,不如勇敢地面对;与其鸟宿檐下,不如击翅风雨;与其在沉默中孤寂,不如 在抗争中爆发……路越艰,阻越大,险越多,只要走过去了,人生就会更精彩。
经典语录:
你改变不了环境,但你可以改变自己;你改变不了事实,但你可以改变态度;你改变不了过去,但你可以改变现在;你不能控制他人,但你可以掌握自己;你不能预知明天,但你可以把握今天;你不可以样样顺利,但你可以事事尽心;你不能延伸生命的长度,但你可以决定生命的宽度。
经典语录:
魅力女人:1、善于发现生活里的美。2、养成看书的习惯。3、拥有 品位。4、跟有思想的人交朋友。5、远离泡沫偶像剧。6、学会忍耐与宽容。7、培养健康的心态,重视自己的身体。8、离开任何一个男人,都会活得很好。 9、有着理财的动机,学习投资经营。10、尊重感情,珍惜缘分。
经典语录:
愚人向远方寻找快乐,智者则在自己身旁培养快乐。生活里的每一个细节都蕴藏着快乐,只是在于你是否感受到了而已。快乐着的人,每一件事,每一个人身上,他都能发现能令自己欢悦的因素来,并让快乐扩张,鼓舞和影响了周围的人。
经典语录:
【给自己安慰的10句温馨话】1、最重要的是今天的心;2、别总是 自己跟自己过不去;3、用心做自己该做的事;4、不要过于计较别人评价;5、每个人都有自己的活法;6、喜欢自己才会拥抱生活;7、不必一味讨好别 人;8、木已成舟便要顺其自然;9、不妨暂时丢开烦心事;10、自己感觉幸福就是幸福。
经典语录:
没有永远的缘份,没有永远的生命,我们所能拥有的,可能只是平凡的一生。然而因为有你,生命便全然不同,不用誓言,不必承诺,我们只需依了爱缘,以目光为媒,印证三生石上的约定,便牵了手,不必紧握,却永不放松,以自己设计的爱的程式,去演绎一种精典的永恒。
经典语录:
我们之所以会心累,就是常常徘徊在坚持和放弃之间,举棋不定。我们之所以会烦恼,就是记性太好,该记的,不该记的都会留在记忆里。我们之所以会痛苦,就是追求的太多。我们之所以不快乐,就是计较的太多,不是我们拥有的太少,而是我们计较的太多。
经典语录:
男人吸引女人的10个特质:1.真实 2.深刻 3.胸怀 4.敢为 5.风度 6.机灵 7.幽默 8.进取 9.浪漫 10.冒险.女人吸引男人的10个特点:1.温柔 2.知性 3.直性 4.涵养 5.朦胧 6.小动作 7.勤于家事 8.肤白 9.性感着装 10.香氛
经典语录:
真正的爱,是接受,不是忍受;是支持,不是支配;是慰问,不是质问;真正的爱,要道谢也要道歉。要体贴,也要体谅。要认错,也好改错;真正的爱,不是彼此凝视,而是共同沿着同一方向望去。其实,爱不是寻找一个完美的人。而是,要学会用完美的眼光,欣赏一个并不完美的人。
经典语录:
身 边总有些人,你看见他整天都开心,率真得像个小孩,人人都羡慕他;其实,你哪里知道:前一秒人后还伤心地流着泪的他,后一秒人前即刻洋溢灿烂笑容。他们其 实没有能力独处,夜深人静时,总坐在窗前对着夜空冥想失意的苦楚。他们就像向日葵,向着太阳的正面永远明媚鲜亮,在照不到的背面却将悲伤深藏。
经典语录:
生命中,有些人来了又去,有些人去而复返,有些人近在咫尺,有些人 远在天涯,有些人擦身而过,有些人一路同行。或许在某两条路的尽头相遇,结伴同行了一段路程,又在下一个分岔路口道别。无论如何,终免不了曲终人散的伤 感。远在天涯的朋友:或许已是遥远得无法问候,但还是谢谢您曾经的结伴同行。
经典语录:
爱情很简单,因为每个人都会说:“我爱你,会为你付出一切!”,爱情很难,因为没有多少人做到了他的承诺。 如果真心爱一个人,不承诺也会去爱;如果不爱一个人,曾经承诺也会背叛。
经典语录:
【你最后悔什么】 某杂志对全国60岁以上的老人抽样调查:第一名:75%的人后悔年轻时努力不够,导致一事无成。第二名:70%的人后悔在年轻的时候选错了职业。第三 名:62%的人后悔对子女教育不当。第四名:57%的人后悔没有好好珍惜自己的伴侣。第五名:49%的人后悔没有善待自己的身体。
经典语录:
【做人十心机】 ⒈做人不能太单纯 适度伪装自己 ⒉凡事留余地 要留退路 ⒊话不说绝 口无遮拦难成大事 ⒋成熟而不世故 ⒌心态好 想得开活得不累 ⒍懂方圆之道:没事不惹事,来事不怕事 ⒎不可少二礼:礼仪与礼物 ⒏人在江湖飘 防挨朋友刀 ⒐偶尔"势利眼" 寻可靠伙伴 ⒑放下面子来做人。
经典语录:
人生旅途中,总有人不断地走来,有人不断地离去。当新的名字变成老 的名字,当老的名字渐渐模糊,又是一个故事的结束和另一个故事的开始。在不断的相遇和错开中,终于明白:身边的人只能陪着自己走过或近或远的一程,而不能 伴自己一生;陪伴一生的是自己的名字和那些或清晰或模糊的名字所带来的感动。
经典语录:
从现在开始,聪明一点,不要问别人想不想你,爱不爱你?若是要想你或者爱你自然会对你说,但是从你的嘴里说出来,别人会很骄傲和不在乎你。再也不要太在意一些人,太在乎一些事,顺其自然以最佳心态面对,因为这个世界就是这样:往往在最在乎的事物面前,我们最没有价值。
经典语录:
一个人的成就,不是以金钱衡量,而是一生中,你善待过多少人,有多少人怀念你。生意人的账簿,记录收入与支出,两数相减,便是盈利。人生的账簿,记录爱与被爱,两数相加,就是成就。
第一课 一个男人在他妻子洗完澡后准备进浴室洗澡。这时,门铃响了。 妻子迅速用浴巾裹住自己冲到门口。 当她打开门时,邻居鲍勃站在那儿。 在她开口前,鲍勃说,“你如果把浴巾拿掉,我给你800美元。” 想了一会儿,这个女人拿掉浴巾赤裸地站在鲍勃面前。几秒钟后,鲍勃递给她800美元然后离开了。 女人重新裹好浴巾回到屋里。 当她踏进浴室时,丈夫问她,“是谁呀?” “是邻居鲍勃。”她回答。 “哦,”丈夫说,“他有没有提到还欠我800美元?” 故事寓意: 及时与同舟共济的人们分享重要信息,将会避免不必要的曝光。
第二课 一个销售员、一个办事员和他们的经理步行去午餐时发现了一盏古代油灯。 他们摩擦油灯,一个精灵跳了出来。 精灵说:“我能满足你们每人一个愿望。” “我先!我先!”办事员说,“我想去巴哈马群岛,开着快艇,与世隔绝。” 倏!她飞走了。 “该我了!该我了!”销售员说,“我想去夏威夷,躺在沙滩上,有私人女按摩师,免费续杯的冰镇果汁朗姆酒,还有一生中的最爱。” 倏!他飞走了。 “OK, 该你了。”精灵对经理说。 经理回答:“我要那两个蠢货午饭后马上回来工作!” 故事寓意: 永远让你的老板开口先。
第三课 一只鹰坐在高高的树上休息,无所事事。 一只小兔子看见鹰并且问它,“我能象你一样坐着什么都不干吗?” 鹰回答:“行啊,为啥不行。” 于是,兔子坐在鹰下面的地上休息。突然,一只狐狸出现了,它扑到兔子身上把它吃掉了。 故事寓意: 要想坐着无所事事,你必须坐在非常、非常高的位置。
第四课 一只小鸟飞去南方过冬。天实在太冷了。它冻僵了,掉在一片田野上。 它躺在那儿时,一头母牛走过来在它身上拉了一堆屎。 冻僵的小鸟躺在粪堆里,开始感觉到了温暖。 牛粪确实使它暖和过来了。 它躺在温暖的牛粪中,异常高兴,并开始唱起歌来。 一只过路的猫听到鸟叫赶过来看个究竟。 顺着声音,它发现了牛粪下的小鸟,并迅速把它拖出来吃掉了。 故事寓意: (1) 并不是每个在你身上拉屎的都是你的敌人。 (2) 并不是每个把你拖出粪堆的都是你的朋友。 (3) 当你深陷粪堆中的时候,最好闭上你的鸟嘴 1)学会 沉默
有 时候,你被人误解,你不想争辩,所以选择沉默。本来就不是所有的人都得了解你,因此你认为不必对全世界喊话。却也有时候,你被最爱的人误解,你难过到不想 争辩,也只有选择沉默。全世界都可以不懂你,但他应该懂,若他竟然不能懂,还有什么话可说?生命中往往有连舒伯特都无言以对的时刻,毕竟不是所有的是非都 能条列清楚,甚至可能根本没有真正的是与非。那么,不想说话,就不说吧,在多说无益的时候,也许沉默就是最好的解释。
(2)至少 平静
在 你跌入人生谷底的时候,你身旁所有的人都告诉你:要坚强,而且要快乐。坚强是绝对需要的,但是快乐?在这种情形下,恐怕是太为难你了。毕竟,谁能在跌得头 破血流的时候还觉得高兴?但是至少可以做到平静。平静地看待这件事,平静地把其他该处理的事处理好。平静,没有快乐,也没有不快乐。
(3)学会弯腰 这会是我意外的收获
和 别人发生意见上的纷歧,甚造成言语上的冲突,所以你闷闷不乐,因为你觉得都是别人恶意。别再耿耿于怀了,回家去擦地板吧。拎一块抹布,弯下腰,双膝着地, 把你面前这张地板的每个角落来回擦拭干净。然后重新省思自己在那场冲突,所说过的每一句话。现在,你发现自己其实也有不对的地方了,是不是?你渐渐心平气 和了,是不是?有时候你必须学习弯腰,因为这个动作可以让你谦卑。劳动身体的同时,你也擦亮了自己的心绪。而且,你还拥有了一张光洁的地板呢。这是你的第 二个收获。 (4)不要想 如果 当初
你说,人生是一条有无限多岔口的长路, 永远在不停地做选择。如果只是选择吃炒面或炒饭,影响似乎不大,但选择读什么科系、做什么工作、结婚或不结婚、要不要有孩子,每一个选择都影响深远,而不 同的选择也必定造就完全不一样的人生。你又说,生命中不可承受之情,就在于人生没有重来的机会啊。如果当初如何如何,现在就不会怎样怎样...这种充满怅 然的喃喃自语,还是别再多说了吧。每一个岔口的选择其实没有真正的好与坏,只要把人生看成是自己。独一无二的创作,就不会频频回首如果当初做了不一样的选 择。
(5)努力吧 不管成功与否 至少曾经美丽
漫步林间,你看见一株藤蔓附着树干,柔软与坚实相互 交缠,你感动于这静美的一幕。让幸福与归属就此驻足吧。你想。不知未来会有怎样一番风雨摧折?也许藤将断、树会倒,也许天会荒,地将老。你又想。那么,请 时光停格在此刻吧。停格即是永恒。永恒里若有这静美的一刻,未来可能遭遇的种种劫难,便已得到了安慰与报偿。
(6)保持单纯
因 为思虑过多,所以你常常把你的人生复杂化了。明明是活在现在,你却总是念念不忘着过去,又忧心忡忡着未来;坚持携带着过去、未来与现在同行,你的人生当然 只有一片拖泥带水。而单纯是一种恩宠状态。单纯地以皮肤感受天气的变化,单纯地以鼻腔品尝雨后的青草香,单纯地以眼睛统摄远山近景如一幅画。单纯地活在当 下。而当下其实无所谓是非真假。既然没有是非,就不必思虑;没有真假,就无须念念不忘又忧心忡忡。无是非真假,不就像在做梦一样了吗?是呀,就单纯地把你 的人生当成梦境去执行吧。
(7)偶尔'俗气'...
吃多了健康食品,偶尔你也想啃一啃鸭舌头和盐酥 鸡。看多了大师名剧,偶尔你也想瞄一瞄耳光摔不完眼泪掉不完的连续剧。听多了古典音乐,偶尔你也想唱一唱爱他一百年又恨他一万年的流行歌曲。你知道健康食 品对健胃整肠有意义,大师名剧对培养气质有意义,古典音乐对提升性灵有意义,可是,偶尔你其实并不想让自己时时刻刻活得那么有意。人生不需要把自己绑得那 么紧。偶尔的小小放纵,是道德的。灵气充满或许接近大人,但偶尔的俗气会更平易近人。
(8)控制情绪 别浪费了~
今 天的你,是不开心的你,因为有人在言语间刺伤了你。你不喜欢吵架,所以你离开;可是你只是离开了那,却没有离开被那人伤害的情境,因此你愈想愈生气。愈有 气,你就愈没有力气去理会别的事情,许多更该用心去做去想去处理的事件,就在你漫天漫地的心烦意乱之中,被轻忽被漠视被省略了。因为,你只是一心一意地在 生气。在情绪上做文章,这是对自己的浪费,而且是很坏的浪费。毕竟,生气也是要花力气的,而且生气一定伤元气。所以,聪明如你,别让情绪控制了你,当你又 要生气之前,不妨轻声地提醒自己一句:“别浪费了。”
(9)抓住最好的时机 绝不错过
你曾经买了一 件很喜欢的衣裳却舍不得穿,郑重地供奉在衣柜里;许久之后,当你再看见它的时候,却发现它已经过时了。所以,你就这样与它错过了。你也曾经买了一块漂亮的 蛋糕却舍不得吃,郑重地供奉在冰箱里;许久之后,当你再看见它的时候,却发现它已经过期了。所以,你也这样与它错过了。没有在最喜欢的时候上身的衣裳,没 有在最可口的时候品尝的蛋糕,就像没有在最想做的时候去做的事情,都是遗憾。生命也有保存期限,想做的事该趁早去做。如果你只是把你的心愿郑重地供奉在心 里,却未曾去实行,那么唯一的结果,就是与它错过,一如那件过时的衣裳,一如那块过期的蛋糕。
(10)偶尔的出离轨道
某 次你搭火车打算到A地去,中途却忽然临时起意在B地下了车。也许是别致的地名吸引了你,也许是偶然一瞥的风景触动了你,总之,你就这样改变了本来预定的行 程,然后经历了一场充满惊奇的意外旅行。A地是你原先的目标,B地却让你体会了小小的冒险。回忆起来,你说,那是一次令你难忘的出轨经验。生命中的许多时 候不也如此?心无旁骛地奔赴唯一的目的,不过是履行了原本的行程而已;离开预设的轨道,你才有机会发现其他的风景。
(11)悄悄 悄悄地 回归平静..
曾 经有一段时间,你心情低落,甚至懒得拉开窗帘,看着窗外的阳光。因此你当然也忘了去看看,窗台上那一盆每天都需要喝水的玛格丽特。如此不知过了多久,总算 有一天,你度过了心情的低潮,同时也想起了你的玛格丽特。天啊,可怜的花,她还活着吗?你战战兢兢地拉开窗帘,却见她迎风招摇,花颜可掬。原来在过去的这 段日子里,你虽然忘了喂她喝水,老天却没忘了以雨露眷顾她呢。许多事物悄悄地在你的视线之外进行,而且悄悄地安排好了它们自己。天生万物,天养万物,一切 其实无须担心......你只要做的就是做好自己,不留任何遗憾...足矣。
1不管是鞋子的哪个地方磨到了你的脚,你就在鞋子磨脚的地方涂一点点白酒,保证就不磨; 2 皮包上有了污渍或者是脏了的话,可以用棉花蘸风油精擦拭; 3 在洗完脸后,用手指沾些细盐在鼻头两侧轻轻摩擦,然后再用清水冲净,黑头粉刺就会清除 干净,毛细孔也会变小; 4 出门是随时在包包里面带一节小的干电池,如果你的裙子带静电的话把电池的正极在裙子上 面擦几下就可以去掉静电了;
5 若有小面积皮肤损伤或烧伤、烫伤,抹上少许牙膏,可立即止血止痛,也可防止感染; 6 牛仔裤穿时间长了就会褪色。可以把新买来的牛仔裤放入浓盐水中浸泡12小时后,再用清水洗净,以后再洗涤时就不会褪色了; 7 豆腐可用来美容。每天早晨起床后,用豆腐一块,放在掌心,用以摩擦面部几分钟,坚持一个月,面部肌肤就会变得白嫩滋润。 8 拉链的保养:拉链不能拉得太急、太猛;不能崩得太紧;保持干燥,防止和酸、碱东西接触;拉链发涩,可涂点蜡,轻轻拉几下,即可; 9 白背心穿久了会出现黑斑,可取鲜姜2两捣烂放锅内加1斤水煮沸,稍凉后倒入洗衣盆,浸泡白背心十分钟,再反复揉搓几遍,黑斑即可消除; 10 巧除领带上的皱纹。打皱了的领带,不用熨斗烫也能变得既平整又漂亮,只要把领带卷在啤酒瓶上,第二天再用时,原来的皱纹就消除了; 11 当你非常口渴而家中又无凉开水时,可把装有热水的杯子放入冷水中浸泡,然后在冷水中撒上一把盐,这样能加速开水的冷却; 12 旅途中遭遇雷雨时,千万不要在巨石、悬崖下和山洞口躲避,电流从这些地方通过时会产生电弧,击伤避雨者。若山洞很深,可躲在里面;
13 吃羊肉有助于保持健美体形,羊肉是理想的肉碱来源,这种和氨基酸类似的物质能帮助细胞 “烧”掉人体多余的脂肪; 14 皮肤粗糙者可将醋与甘油以5:1比例调和涂抹面部,每日坚持,会使皮肤变细嫩。在洗脸水中加一汤匙醋洗脸,也有美容功效; 15 晾晒衣服要诀:衣服最好不要在阳光下曝晒,应在阴凉通风处晾至半干时,再放到较弱的太阳光下晒干,以保护衣服的色泽和穿着寿命; 16 晾晒衣服要诀晾晒衣服不可拧得太干,应带水晾晒,并用手将衣服的襟、领、袖等处拉平,这样晾晒干的衣服会保持平整,不起皱褶;
17 防衣物褪色二法:洗涤深色棉织物时加适量醋,可防止其褪色,且光泽如新;新买的有色花布第一次下水时,加盐浸泡十分钟可防止布料褪色; 18 身上有伤口流血时,可立即在伤口上撒些白糖,因为白糖能减少伤口局部的水分,抑制细菌 的繁殖,有助于伤口收敛愈合; 19 化妆时,先把微湿的化妆绵放到冰箱里,几分钟后把冰凉海绵拍在抹好粉底的肌肤上,你会觉得肌肤格外清爽,彩妆也显得特别清新; 20 画眼线的小技巧:要画好一双细致的眼线,可以先把手肘固定在桌上,然后平放一块小镜子,让双眼朝下望向镜子,就可以放心描画眼线了;
21 专家建议冬天多吃红辣椒、胡萝卜、西红柿、洋葱、山楂等红颜色食品,可预防感冒;每天喝一杯酸奶、一碗鸡汤也有预防感冒的作用; 22 毛巾科学消毒法:将毛巾先用开水煮沸10分钟左右,再用肥皂洗涤,然后用清水充分洗净,最后将毛巾折叠好放入微波炉中,加热5分钟; 23 9种让你笑容绽放的食物:芹菜、乳酪、绿茶、洋葱、香菇、芥末、无糖口香糖、薄荷、水;常食这些食物可消除口臭、防止蛀牙; 24 头皮屑过多可通过饮食改善。多吃碱性食物如水果、蔬菜、蜂蜜等;多吃含维生素B2、B6食物,如动物肝、肾、心、奶类、蛋黄、麦胚等; 25 枕头应有一定弹性,但过强也不好,头部不断受到外加的弹力作用,易产生肌肉疲劳和损伤。如弹簧枕、气枕等,都不能算是有利健康的枕头; 26 冬季当心“低热烫伤”。热水袋内水温不要太热,热力表面不要直接贴近皮肤。糖尿病人或末梢感觉神经迟钝者及婴幼儿最好不用热水袋取暖; 27 减少电脑伤害策略:连续工作1小时后应休息十分钟左右。室内光线要适宜,且保持通风干爽。注意正确的操作姿势。保持皮肤清洁; 28 白色毛衣穿旧了会逐渐发黑,将毛衣清洗后放入冰箱冷冻1小时,再取出晾干,即可洁白如新; 29 钻石保养:不要将钻饰堆放在一起,以免镶托间相互摩擦刮花;做粗重、剧烈活动时,先将钻饰脱下;每隔半年送珠宝店作一次专业性清洗; 30 被子晒法:以化纤面料为被里、被面的棉被不宜在阳光下曝晒,以防温度过高烤坏化学纤维,晒时可在被子上盖一层布,防止阳光直接晒到; 31 不要因为兔毛衫掉毛就不再穿它了,可把它装进一个塑料袋中放入冰箱内冷藏3-4天,就可 以防止它掉毛了; 32 丝巾的妙用。在美容院做好发型,一觉醒来就变形了。不必烦恼,睡前在枕头上铺一条质地光滑的丝巾,就不会弄乱头发,美丽发型得以保持; 33 天热更要防感冒。天热流汗使人们消耗大量的能量,人体抵抗力下降,易患感冒,应注意多喝白开水,少量多次,以每次三百至五百毫升为宜; 34 天热了,许多人有脚臭,以下两法不妨一试:穿鞋时将少许茶叶放鞋里;盆里放温水,放入少许茶叶,把双脚放进去浸泡十分钟,可除臭味!
米醋能抑制皮肤细菌孳生 醋本身就能改变皮肤的酸碱度,软化皮肤的角质层,此外,还能抑制细菌孳生,使毛孔通畅,减少感染性皮肤病的发生。在洗脸水里加点醋是不错的保健方法,醋的 种类以天然的米醋最好,其他食用醋也可以,在一盆洗脸水里滴上7~10滴就可以了。长期使用可增加皮肤细胞的水分和营养,恢复皮肤的光泽和弹性。 绿 茶能收敛肌肤、抗辐射 茶叶中含有茶多酚,有抗氧化作用,可防止肌肤衰老。茶叶还能抗辐射,尤其适合长期用电脑的女性,可抑制皮肤色素沉着,减少过敏反应 的发生。此外,茶叶的鞣酸作用可以缓解皮肤干燥,对于患湿疹的儿童也非常适用。在茶叶中,绿茶的茶多酚含量最丰富。因此,不防经常用绿茶水洗洗脸。 蜂蜜可以抗衰老、防干燥 蜂蜜含有大量能被人体吸收的氨基酸、酶、激素、维生素及糖类成分,不仅能促进皮肤创面的愈合,还能抗衰老,防止皮肤干燥。中干 性肌肤的人,平时可以将2~3滴蜂蜜加到洗脸水中,洗脸时沾湿整个面部再轻轻拍打、按摩面部几分钟,可使皮肤光洁、细嫩。油性皮肤的人则不太适合用蜂蜜水 洗脸。 食盐能去除角质和油脂 用食盐水洗脸有去除角质、收剑肌肤、安抚潮红肌肤的作用,此外还能清除皮肤的油脂,比较适合油性皮肤。一般经过一星期左右的食盐美容,面部皮肤就能呈现一种鲜嫩、透明感。在一盆洗脸水里加两小勺食盐就可以了。
电脑MM护肤的饮食策略 因为电脑有一定的辐射源,会直接影响到我们身体的内分泌系统的稳乱。从而使皮肤代谢不规律等。加上电脑有磁性,会聚积一些灰尘、和不洁的空气,这些都会影响到我们皮肤自身的质量,和加聚皮肤的老化程度。 针对每一种不同类型的皮肤,表现就不同: 油性肤质:就会出油情况严重,或者是出油的同时面部开始发干,也就是缺乏水份,起痘痘,毛孔粗大等; 干性肤质:则表现为皮肤干燥,出现细纹,没有光泽,有黑斑; 混合性肤:这样的肤质,通常具备干性和油性两种肤质的特征,一般是T区油,两颊干。面对电脑的话,两种肤质的特点就越发明显了。 再有就是眼部皮肤的加具老化,和眼部视神经的模糊化。 对策 内调方面不妨试试绿茶和菊花茶这两种弱碱性的茶饮: 绿茶不仅有抗癌的效果,可以清除体内的自由基,还可以有抗辐射的功效;菊花茶是一种清香茶饮,它的妙处在于当眼睛很累时,用菊花茶的热气薰眼部1分钟,眼睛马上感觉到很舒服,大家不妨试一试。 还要多吃一些帮助抗氧化的食物,比如含有维它命A、维它命C和维它命E的食物。 从各种蔬菜和水果中尤其是水果,都可以摄取到丰富的维它命C,因为它是水溶性的; A和E都是脂溶性的,尤其是维它命A,在各种黄颜色的蔬菜中都有,建议用油炒来吃。尤其胡萝卜,胡萝卜素也叫贝塔胡萝卜素,只有用油炒来吃才能真正释放。 再来说说维它命E吧,它又叫生育醇,有非常多的用途,针对于电脑皮肤的人士来讲,时常吃一些天然维它命E的东西,比如动物内脏啊,各种豆类等等,对保护细胞壁非常有效果,从而加强皮肤抗氧化。 最后,平时还要注意多饮水。 每天最好是2500亳升,打个比方,1瓶矿泉水的量是550ML,大约要喝4瓶左右。保持每天1000亳升的排尿量。多吃蔬菜和水果这些弱碱性的食物,保持身体弱碱性状态,少吃酸性食物,这样皮肤就会慢慢改善过来。 面部美容 1. 将香蕉捣碎,加入牛奶,涂在脸上。20分钟后洗净,可以使你的皮肤细腻光滑。 2. 把鸡蛋清和蜂蜜搅拌均匀后涂在脸上可以使皮肤光滑并减少皱纹。 3. 把姜黄粉末和牛奶混合后涂在脸上可以去除晒斑和减少脸上的汗毛。 4.麦片,乳酪和西红柿汁搅拌均匀涂在脸上,20分钟之后再用凉水洗干净,可以帮助恢复晒黑的皮肤,使皮肤有光泽。 5.把生土豆片贴在脸上可以减轻雀斑颜色和疤痕。 6.黄瓜汁是很棒的紧肤水。把黄瓜汁均匀涂在脸上可以收紧毛孔。15分钟后用清水洗干净。 7.黄粉和酸橙汁也可以帮助恢复晒黑的皮肤。酸橙汁是天然的漂白剂。 8.蜂蜜可以使皮肤细腻光滑有光泽,并减少皱纹。 9.桔类水果汁是对付油性皮肤的好选择。 10.用冰块摩擦皮肤可以收紧毛孔并促进血液循环。 除面部皱纹: 鲜黄瓜汁二调羹,加入等量鸡蛋清(约一只蛋)搅匀,每晚睡前先洗脸,再涂抹面部皱纹处,次日晨用温水洗净,连用半至一月,能使皮肤逐渐收缩,消除皱纹有特效. 皮肤粗黑: 靠化妆品增白皮肤,只能一时掩饰,治表不治本,现向你介绍一种治表治本能使皮肤增白而真白的妙方,既简单又有特效:用白醋甘油按5:1混合,常擦皮肤(一 日二三次)能使皮肤湿润,减少黑色素沉积,一月后皮肤即细腻白嫩,洁净光滑富有弹性,充满美感。(此方对遗传黑皮肤均有效). 除雀斑: 杏仁*5钱,研成细粉,用鸡蛋清调匀,每晚睡前涂面部,次日清晨用温水洗去,一日一次,10-15日显效,以后不发. 黄褐班蝴蝶斑: 冬瓜汁白醋等量,调匀涂面部,一日2-3次,涂后过10分钟洗去.连用半月即可除净. 除面部色素斑: 鲜西红柿汁蜂蜜,按5:1混合,涂面部,过10分钟后洗净,连用10-15日,能使黑色素分解,皮肤变白红润. 除粉刺(酒刺青春豆座疮): 鲜黄瓜汁白醋等量调匀,先用热水洗脸后再涂脸,一日三次,涂后过10分钟用温水洗去,连用半月可愈,以后不 除黑痣: 花生仁烧焦捣碎,用酒精调匀,涂痣上,每晚睡前涂上并包好,次日晨洗去,连用半月可除,(大痣需涂一月). 纯中药美容面膜DIY送给爱美的... 1、 单 方白芷面膜:用白芷加上水或蜂蜜,敷于长痘痘处可以消炎。 2、 祛痘面膜:白芨、白茯苓、丹参。可以支祛痘、淡化痘印。 3、 四白面膜:白芨、白茯苓、白芷、白苻子。加水或蜂蜜可以美白、祛斑、对黄褐斑很有效果。 4、 人参增白面膜:人参5克、珍珠5克、白芷2克、白芍3克、白术4克、杏仁4克、当归2克、薏仁4克,具有增白营养、滋润肌肤、防晒等作用。对黑黄 皮肤引起的干燥、肤色无光泽等有护理作用。 5、 杏仁按摩膏,杏仁粉加蜂蜜,是天然的按摩膏对死皮和角质很有作用,适合于干性到中性皮肤。 6、 百合按摩膏,百合粉加蜂蜜,是天然的按摩膏对死皮和角质很有作用,适合于中性到油性皮肤。 7、 薏仁粉面膜,薏仁粉加上白芨,是晒后修复美白皮肤的好东西,适合于各种皮肤。 8、 单方绿豆粉面膜,控油佳品排毒美白面膜:绿豆粉加茯苓粉加蜂蜜,排毒养颜,经常化妆和痘痘肌妹妹的好东西 9、补水美白肌肤的北芪薏米面膜 材 料:北芪25克薏米1两、云苓1两 北芪具有补扬的功效,所谓“气能生津”,透过补气能加强面部血液循环,同时能促进津液自行生化,令内脏得到滋养,皮肤亦自然润华起来。薏米和去苓能减少皮 肤内的湿毒,帮有美白和去湿之效,便集保湿、美白和防皱于一身。想再滋润一点,还可加入蜜糖,令皮肤更具有弹性。 功效:行气保湿、收紧肌肤及美白除斑。 10、洗颜粉蒿本散材料;蒿本、黑牵牛、黑豆、皂角全是等分 用法:每次洗澡前,先取水将蒿本散调成糊状涂在脸上,洗完澡后再洗掉,很简单。脸不但变白了,青春痘也少了很多,很有效果,既有效又如此简单。平时可以作为洗脸粉的作用 11、 抑脂爽肤泽明面膜 材料;泽泻10克、草决明5克、山楂5克、珍珠粉5克、白芷5克。 功效:具有祛脂爽肤、消散脂结、疏导阻塞、软肤洁肤、清凉抑菌的作用。 适应症:对油性皮肤及黑头皮肤以及毛孔堵塞、皮肤粗糙和油腻等渥脂分泌过度症状有护理作用. 细盐美容4个实用妙方~很好用的哦。 一、盐亮肤 洗脸后,把一小勺细盐放在手掌心加水3-5滴,再用手指仔细将盐和水搅拌均匀,然后沾着盐水从额部自上而下的搽抹,边搽边做环开按摩。几分钟后,待脸上的盐水干透呈白粉时状时,用温水将脸洗净,涂上保湿乳液或继续正常的护肤步骤。持续进行,每天早晚洗脸后各一次。 这样有很好的清洁和去污效果,对于毛孔中积聚的油脂、粉刺、甚至是“黑头”都可以去掉。不过按摩时应该避开眼部周围的皮肤,而且敏感性皮肤谨慎些。千万不要把盐水弄到眼睛里去,以免造成眼结膜损伤。 二、盐明目 做完正常的清洁后,打半盆温清水,撒上少量盐让它融化,将脸部浸泡在淡盐水中,在水中睁开眼睛,上下左右活动眼球达到用淡水洗眼的效果。 不出二个星期,你会发现你的眼睛变得明亮且炯炯有神起来,这才是名副其实的“电眼美女”。 三、盐战痘 其实对于背部长有青春痘的“顽疾”,盐一样也有用。入浴后让身体充分温热,待毛孔张开后多抹些盐在后背,各个角落都要抹到。用浴刷按摩1分钟,不要太用力,只要让皮肤及刷子间的盐分移动即可,然后用海绵蘸上淡盐水,贴在背上10分钟,用清水洗干净。 洗几次再看看,背上的痘痘慢慢地被攻克了。 四、盐控油 对于分泌油脂旺盛的T字部位,即使到了秋天,很多油性皮肤的“产油量”还是源源不断的。对于局部区域,可以用细盐抹在事先润湿的皮肤上,轻轻按摩后休息3分钟,然后在鼻翼两侧毛孔张开的部位用中指指腹由下向上做挤压式按摩。
美容美发 一,除去面部皱纹:鲜黄瓜汁加等量的鸡蛋清,每晚睡前洗脸,在涂于面部皱纹处,次日清洗,一个月皮肤收紧,消除皱纹有特效. 二,皮肤粗黑:用白醋加甘油,5:1的混合,常擦皮肤,使皮肤湿润,减少黑色素沉积,一个月后皮肤细腻白嫩,洁净光滑有弹性. 三,除雀斑:杏仁5钱,研成细粉,用蛋清调匀,每晚睡前涂脸部,次日用温水洗去,10到15日显效,以后不复发. 四,黄褐斑,蝴蝶斑:冬瓜汁加白醋,调匀涂面部,一日3次,10分钟后洗去,连续半个月可除去. 五,除面部色素斑:鲜西红柿汁加蜂蜜,5:1的混合,涂面部,10分钟洗去,连用半个月,能使黑色素分解,皮肤变白. 六,除粉刺(酒刺,青春豆,痤疮)鲜黄瓜汁加白醋等量混合,先用热水洗脸,一日三次,涂后10分钟用温水洗去,半个月可愈合. 七,除脱发,头屑,头痒:每次用桑树根皮4钱,水2斤,烧开洗头,一日一次,洗后勿用清水过头,连用5天,能促进头皮血液循环,有固发作用,并治头屑,头痒,可在生发. 八,牙变白:用食盐加小苏打等量,调成牙膏状,每日刷牙一次,3_5天可除牙齿所有色斑,使牙齿洁白. 九,除汗毛,胡须:用旧电池加碱粉,用医用酒精调匀,过5分钟洗去一日一次,5_7天胡须,汗毛即可自动脱落,不在复发,对皮肤无过敏. 每天用淘米水洗脸淘米水中所含的成分可洗去脸上的污垢,其中的维生素B、E也可帮助保持肌肤的滋润。 方法是:用洁面乳洗脸后,用淘米水按摩肌肤3分钟,再用温水清洗。每天坚持可预防雀斑的生长。 蜂蜜的美容功效一直是被公认的,但是怎样才能最大化利用,怎么做才最有效呢? 第一类功效:使皮肤光洁、细嫩 秘方1(蜂蜜+水) 蜂蜜含有的大量能被人体吸收的氨基酸、酶、激素、维生素及糖类,有滋补皮肤的美容作用。用蜂蜜加2—3倍水稀释后,每日敷面,可使皮肤光洁、细嫩。 秘方2(蜂蜜+醋) 蜂蜜和醋各1-2汤匙,温开水冲服,每日2-3次,按时服用。长期坚持,能使粗糙的皮肤变的细嫩润泽。 秘方3(蜂蜜+鸡蛋+橄榄油) 蜂蜜100克,鸡蛋一个搅和,慢慢加入少许橄榄油或麻油,再放2-3滴香水,彻底拌匀后放在冰箱中保存。使用时,将此混合剂涂在面部(眼睛、鼻子、嘴除外),10分钟后用温水洗去,每月做两次(多做效果更佳),能使颜面细嫩,青春焕发。 第二类功效:减少皱纹,紧缩面部皮肤 秘方4(蜂蜜+苹果+乳脂) 将苹果煮沸,捣碎,加入蜂蜜与乳脂,制成润肤膜膏,敷面令你肤洁如玉。 秘方5(蜂蜜+鸡蛋清) 蜂蜜50克,鸡蛋清一个,两者搅拌均匀,睡前用干的软刷子刷在面部,慢慢进行按摩,约30分钟自然风干后,用清水洗去,每周2次。 第三类功效:去斑 秘方6(蜂蜜+甘油+水+面粉) 蜂蜜1份、甘油1份、水3份、面粉1份,混合均匀制成敷面膏,敷于面上20分钟后,用清水洗去,此法适用于普通干燥性衰萎皮肤。可使皮肤嫩滑细腻,除去皱纹及黄褐斑,并能治疗暗疮。 秘方7(蜂蜜+鲜蜂王浆+鸡蛋清+花粉+水) 蜂蜜1匙、鲜蜂王浆1匙、鸡蛋清1个,加入适量花粉和水调成糊状,涂于面部,30分钟后用温水洗去,再用鲜蜂王浆1克加少许甘油调匀涂于面部,每周一次。对清除脸部黑斑及暗疮特别有效。 第四类功效:保湿 秘方8(蜂蜜+奶粉+鸡蛋清) 蜂蜜1匙、奶粉1份、鸡蛋清1个, 混合均匀制成面膜,用棉签将其在脸上涂上薄薄一层,20分钟后用温水洗去。连续使用一个月。对皮肤干燥有明显效果。 去除黑眼圈:*~* 1、把鸡蛋用水煮熟去壳,拿手帕将鸡蛋包着,然后在黑眼圈位置来回热敷,热力加按摩令皮下血液循环。每天一次。 2、切开柿子。用匙羹挖出柿肉并搅烂,敷在眼上10分钟然后用湿毛巾抹掉。早晚一次。柿子以熟透为佳。作用:柿子含丰富维他命C,增强皮肤的更新能力。 3、泡茶后的茶包对黑眼圈也有帮助作用。 去除黑眼圈可多吃以下食物: 1、鸡蛋:由于鸡蛋中富含优质蛋白质,而蛋白质又能促进细胞再生,因此经常食用鸡蛋,增加蛋白质的摄入,对于缓解黑眼圈的形成是有一定功效的。但因人体每日最多只能吸收两个鸡蛋所含的营养,因此食用鸡蛋不宜超过两个。 2、芝麻:富含对眼球和眼肌具有滋养作用的维生素E,从而能缓解黑眼圈的形成。既能使秀发乌黑靓丽,又能消除黑眼圈,一举两得。除了芝麻,富含维生素E的其他食物还有花生、核桃、葵花子等。 3、胡萝卜:除了维生素E能对眼球和眼肌有滋养作用外,维生素A也有此般功效。胡萝卜就是增加维生素A摄入量的最佳选择,它能维持上皮组织正常机能,改善黑眼圈。此外,胡萝卜中所含的维生素A还有助于增进视力,尤其是黑暗中的视力。 4、海带:富含铁质,经常食用能缓解黑眼圈的困扰。 5、绿茶:经常用电脑者可多饮用绿茶,补充特异性植物营养素,消除因电脑辐射引起的黑眼圈。多喝低咖啡因的绿茶不仅能消除黑眼圈,其含有的儿茶素,既能帮助身体脂肪代谢,而且对睡眠也有帮助,不仅可以安定睡眠质量,也让人比较不容易有疲劳感觉。 清除黑眼圈最好的方法: 1.血管性静脉循环不良所引起的黑眼圈,在睡眠不足、过度疲劳时会更为明显。保持充足的睡眠、呼吸新鲜空气,多摄入氧气均可改善,而局部的眼圈按摩对促进静脉循环回流也会有帮助。 2. 如果是黑色素沉淀和过敏导致的黑眼圈,须先寻找出病源以治病着手,再配合一些祛斑用品及相应的眼霜、眼胶予以护理。这种后天性的色素沉淀在经过一段正确的 治疗后是会淡化的。而若是有家族遗传性黑眼圈的人,在处理上较为棘手,而实际获得的改善也极其有限,最终还是需要化妆的帮助。 3.对于疲劳性的黑眼圈患者则需要从日常生活做起逐步清除黑眼圈。 a.安排好生活,保证充足的睡眠,绝不可熬夜。同时睡觉时仰睡而不是俯睡,并尽量使用柔软的枕头。 b.应尽量避免过度地搓揉眼部。 c.喜欢化彩妆的人,眼部卸妆要彻底,最好用专业眼部卸妆液卸妆。 d.当您起床时黑眼圈太过严重时,有一招急救法:用热毛巾覆盖眼睛四周,来回重复多次,再用冰茶袋敷几分钟,最后涂上眼霜即可。此外多汁的苹果片、未长芽的土豆片和煮熟的鸡蛋都是暂时消除黑眼圈的好帮手。 e.一些耗氧运动,使血液保持充足的氧分。亦可在早上或晚饭后出外散步,呼吸新鲜空气
web项目脚手架¶
rapid- framework是一个以spring为核心的项目脚手架(或者称为胶水框架),框架将各个零散的框架 (struts,strust2,springmvc,hibernate,ibatis,spring_jdbc,flex)搭建好,并内置一个代码生 成器,辅助项目开发,可以生成java的hibernat model,dao,manager,struts+struts2 action类,可以生成jsp的增删改查及列表页面
在线文档
请加入google-group参与讨论
rapid-framework官方网站
项目定位¶
本 框架是类似appfuse,springside的框架,但定位与springside及appfuse不同,它们更像是一些代码的最佳实践,而 rapid-framework则是应用于实际项目开发的脚手架, 并且代码也将优化至极致.使用脚手架3分钟即可以搭建出一个实际项目.
框架概览¶
- Dao: spring_jdbc, hibernate, ibatis2, ibatis3, 可以切换dao组件
- Dao Helper: 基于dialect的分页(ibatis2, ibatis3, jdbc),动态sql构造工具rapid-xsqlbuilder
- Web MVC: struts1, struts2, springmvc, springmvc_rest, 可以切换web组件
- Template: (velocity, freemarker, jsp)的模板可以相互继承, velocity及freemarker可以实现模板之间的管道操作
- 分页组件: extremeTable, rapid-simpletable
- UI: rapid-validation表单验证, My97DatePicker日期控件
- 单元测试: spring test+DBunit
- 底层支撑: 插件体系及代码生成器(rapid-generator)
项目质量¶
代码生成器生成的增删改查截图
后续请查看v2.x路线图: roadmap
http://code.google.com/p/rapid-framework/
运用Lightbox和Modal Dialog可以很方便地在浏览器中展示内容,而无需重载整个页面,有了Lightbox就不必再使用浏览器弹窗了。Lightbox正愈来愈广泛地应用于媒体、网页、邮件、表格等元素的展示。 本文将为你介绍15款优秀的Lightbox和Modal Dialog特效,供网站开发者参考。 1. Facebox facebox是一个jquery为基础的Lightbox,可显示图像,divs,或者远程页面。它的使用很简单。 下载地址:http://chriswanstrath.com/facebox
2. Colorbox ColorBox是一个轻量级,可定制的Lightbox插件,可以在jQuery 1.3 和1.4中使用,ColorBox支持 照片,照片组,幻灯片,ajax,内联 和 iframe 框架。 下载地址:http://colorpowered.com/colorbox/
3. jQuery Lightbox Plugin jQuery LightBox plugin是一个简洁优雅的插件,不需额外扩展代码就可以把当前页面上的图片通过一个遮罩显示出来,这主要是通过jQuery强大灵活的选择器来实现的。 下载地址:http://leandrovieira.com/projects/jquery/lightbox/
4. prettyPhoto prettyPhoto是jQuery Lightbox的一个“克隆”。实际上它不仅能显示图片,还能显示许多的类型,比如在可能弹出的层窗口中加载视频、Flash动画、一个已布局好的网页、一个框架页等等。 下载地址:http://www.no-margin-for-errors.com/projects/prettyPhoto-jquery-lightbox-clone/
5. jQuery Dialog 这是一个 jQuery 的对话框插件,可以根据你的喜好很方便地自行定制对话框。 下载地址:http://jqueryui.com/demos/dialog/
6. Prototype Window 你可以把它用到ASP.NET,Ajax,Java等等所有网页上,可以实现改变窗口大小、最小化、最大化窗口、模型对话框、渐入渐出的渐变效 果,支持皮肤等功能。现有的实例包括:模仿MAC OS的对话框,在对话框中打开一个网页,警告框,确认对话框,信息对话框,登录对话框,Ajax对话框等等。 它的原型基于对话框插件。 下载地址:http://prototype-window.xilinus.com/samples.html
7. MochaUI MochaUI 是一个用于开发Web应用的用户界面库,基于Mootools的JavaScript框架。 下载地址:http://mochaui.com/
8. Boxy Boxy是一个可灵活实现类似Facebook风格对话框的jQuery插件,支持对对话框进行拖拉和改变大小等操作。 下载地址:http://onehackoranother.com/projects/jquery/boxy/
9. ModalBox Modalbox可用来增强Web应用中的用户交互,开发它的灵感来自Mac OS X的模块动态对话。 下载地址:http://www.wildbit.com/labs/modalbox/
10. Shadowbox Shadowbox是一个在线媒体展示应用,支持绝大多数的网络媒体常用格式。Shadowbox完全是基于JavaScript和CSS编写的,高度可定制化。 下载地址:http://www.shadowbox-js.com/
11. jqModal jqModal是jQuery的一个插件,用来在浏览器中显示通知,对话框和模型窗口。它简直如瑞士军刀一般灵活和小巧,而且它为通用目的窗口框架奠定了基础。 下载地址:http://dev.iceburg.net/jquery/jqModal/#examples
12. Highslide Highslide是一个用Javascript写的图片影像特效浏览器,外观简洁优雅。 下载地址:http://highslide.com/
13. PiroBox 风格时尚且现代的Lightbox控件,采用jQuery开发。能够根据浏览器窗体大小自动调整展示图片大小。提供向前/向后控制链接。动态加载图片效果。易于定制。 下载地址:http://www.pirolab.it/pirobox/#howto
14. imgBox imgBox是一个可以实现图片平滑放大效果的jQuery插件。 下载地址:http://jqueryglobe.com/labs/imgbox/
15. jQuery Tools jQuery Tools是一个当前网站开发中最常用的UI组件集合。 下载地址:http://flowplayer.org/tools/overlay/index.html
如果我不再是过去的我,
你还会回到我身边吗?
Thriller
谨以此
献给流行之王
Michael Jackson
Zion架构下载支持
很小,很强大 736KB
- 不到1MB小身材,绿色软件免安装
- 原生读取压缩文件(RAR/ZIP)
- 原生无缝播放支持(压缩状态有效)
- Pure Music纯音还原技术,还原纯净好声音
- 自主开发Zion架构图形及音频引擎
- 歌词支持,及专辑图片显示,支持预览
- 多种格式,无损音频全兼容(支持内嵌CUE)
- 支持多种列表格式,目录列表及智能列表
- 全局快捷键及多媒体键盘支持
02222cf46fe0ee1c5b1b4316403c30f7
下载地址:http://dl.podez.com/zion/AIRPLAY.exe
详情 http://www.podez.com/zion.php
"你不必严格遵守这些原则,违背它们也不会被处以宗教刑罚. 但你应当把这些原则看成警铃,若违背了其中的一条,那么警铃就会响起."
1.SRP单一职责原则[适用于类功能] (就一个类而言,应该仅有一个引起它变化的原因.) 详细说明: 如果一个类承担的职责过多,就等于把这些职责耦合在一起. 一个职责的变化可能会削弱或者抑制这个类完成其它职责的能力. 这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏. 结论: 它是所有类设计原则最简单的,也是最难正确使用的. 我们会自然的把职责结合在一起,软件设计真正要做的内容就是发现职责并把那些职责相互分离. 2.OCP开放-封闭原则[适用于类抽象] (软件实体(类,模块,函数...)应该是可以扩展的,但是不可以修改.) 详细说明: OCP=对于扩展是开放的,对于修改是封闭的. 如果程序中的一处改动就会产生连锁反应,导致一系列相关模块的改动,那么设计就有臭味. OCP建议我们如果要对系统进行重构,就只需要添加新的代码,而不必改动已经正常运行的代码. 结论: 在许多方面,OCP都是面向对象设计的核心. 尊循它可以带来巨大的好处(程序的灵活性,可重用性,可维护性). 在代码中肆意使用OCP也不是一个好主意. 正确的做法是:开发人员仅仅对程序中呈现频繁变化的部分做出抽象!拒绝不成熟的抽象和抽象本身一样重要! 3.LSP Liskov替换原则[适用于类层次] (子类型必须能够替换掉它们的基类型.) 详细说明: Barbara Liskov在1988年说道: Liskov替换性质:若对每个类型S的对象O1,都存在一个类型T的对象O2, 在所有针对类型T编写的程序P中,用O1代换O2后,程序P行为功能不变,则类型S是类型T的子对象. 结论: LSP是使用OCP开放-封闭原则成为可能的主要原则之一, 正是子类型的可替换性才能用基类类型(基类引用或者指针)的模块在无需修改的情况下就可以扩展. 这种可替换性是开发人员可以隐式依赖的东西. 因此,如果没有显示的强制基类类型的契约,那么代码就必须良好并明显的表达出这一点. 术语"IS-A"不能作为子类型的定义, 子类型的正确定义是"可替换性","可替换性"可以通过显式或者隐式的(动态绑定必须用基类类型)契约. 4.DIP依赖倒置原则[适用于类层次] (抽象不应该依赖细节.细节应该依赖抽象.) 详细说明: a.高层模块不应该依赖于低层模块,二者都应该依赖抽象(使用接口或者虚类来连接). b.抽象不应该依赖于细节,细节应该依赖于抽象. 结论: 使用传统的过程化程序设计方法所创建出来的依赖关系结构和策略是依赖于细节. DIP使得细节和策略都依赖于抽象,并且常常为客户定制服务接口. 事实上,这种依赖关系的倒置是好的面向对象的程序设计的标记. DIP正确应用对于可重用框架是必须的,对于构建在变化面前富有弹性的代码也是非常重要的. 由于抽象和细节被DIP彼此隔离,所以代码也非常容易维护. 5.ISP接口隔离原则[适用于类的接口] 不应该强迫客户程序依赖于它们不用的方法. 接口属于客户,不属于它所在的类层次结构. 详细说明: 分离客户就是分离接口.分离接口有2种方法:委托和多重继承 接口隔离原则是用来处理胖接口所具有的缺点. 如果类接口不是内聚的,就表示该类的接口是胖的,需要减肥. 减肥的原则是接口分成多组方法,每一组方法都服务于一组不同的客户程序! 客户程序面对的就是多个具有内聚接口的抽象基类. 结论: 胖类会导致它们的客户程序之间产生不正常的有害的耦合关系. 当客户程序要求胖类进行一个改动时,会影响到所有其它户程序. 因此,程序应该仅仅依赖于它们实际调用的方法. 通过把胖类的接口分解为多个特定的客户程序的接口,可以实现这个目标. 每个特定于客户程序的接口仅仅声明它自己调用的函数. 解除了类的客户程序之间依赖关系,使它们互不依赖. 6.REP重用发布等价原则[适用于包] (重用的粒度就是发布的粒度) 详细说明: 当你重用别人一个类库时,你的期望是什么? 当然是好的文档,可以工作的代码,规格清晰的接口! 你希望作者会一直维护类库代码,当作者都把类库的接口和功能进行任何改变时,你希望得到通知. 代码的作者把它们的软件组织到一个包中(dll,jar,...),所以我们重用的粒度就是包的发布粒度. 结论: 一个包的重用粒度和和发布粒度一样大,由于重用性是基于包的,所以可重用的包必须包含可重用的类. 7.CCP共同封闭原则[适用于包] (包中的所有类对于同一类性质的变化应该是共同封闭的. 一个变化若对一个包产生影响,则将对该包中的所有类产生影响,而对于其它包不造成任何影响.) 详细说明: 这是SRP单一职责原则对包的重新规定.这规定了一个包不应该包含多个引用包变化的原因. 在大多数应用中,可维护性超过可重用性. 代码更改:如果代码要更改,原意更改都集中在一个包中,而不是分布于多个包中. 代码发布:我们也只发布更改中的包! 结论: CCP鼓励我们把可以由于同样的原因而更改的所有类共同聚集在同一个包中. 8.CRP共同重用原则[适用于包] (一个包中的所有类应该是共同重用的. 如果重用了包中的一个类,那么就要重用包中的所有类.) 详细说明: 一个包中的所有类应该是共同重用的. 结论: 如果重用了包中的一个类,那么就要重用包中的所有类. 这个原则可以帮助我们决定哪些类应该放进同一个包中. 9.ADP无环依赖原则[适用于包] (在包的依赖关系图中不允许存在环.) 详细说明: 如果开发环境中有许多开发人员都在更改相同的源代码文件集合的情况, 因为有人比你走的晚,且改了你所依赖一些东西(类或者方法),第二天来上班, 你昨天完成的功能,今天不能正常工作,那么就会发生"晨后综合症"! 针对此问题有两个解决方案:"每周构建"和"消除依赖环" 每周构建:应用于中等规模的项目中,它的工作方式为:每周1-4,开发人员各自工作在私人的代码空间,周5-6联合调试! 消除依赖环:通过把开发环境划分成可发布的包,可以解决依赖环. 结论: 解决包之间的依赖环有两个主要方法: 1.使用依赖倒置原则,在类和依赖类之前添加一个依赖的接口或者抽象类,解除依赖环. 2.添加新类,把类和依赖类之间的依赖移到一个新的类,解除依赖环. 10.SDP稳定依赖原则[适用于包] (朝着稳定的方向进行依赖.) 详细说明: 设计不是完全固定的,要使设计可维护,某种程序的易变性是必要的. 使用这个原则,我们可以创建对某些变化类型敏感的包.
其它的包不要依赖这个要变的包. 软件包就可以分为稳定包和可变包! 如何识别稳定包和可变包?如果许多其它的包都依赖此包,那么它就是稳定包,否则就是可变包! 把包放在不同的位置,它的稳定性是不同的. 如何计算一个包的不稳定性?(输入耦合度Ca,输出耦合度Ce) 不稳定值=Ce/(Ca+ce),此值越低越稳定! 结论: 把可变包不稳定值降低的方法是:为它加上一个抽象外衣(interface/抽象类),其它包调用抽象外衣! 可变包为抽象外衣的实现! 11.SAP稳定抽象原则[适用于包] (包的抽象程序应该和其它稳定程序一致.) 详细说明: 此原则把包的稳定性和抽象性联系到一起. 一个稳定的包应该是抽象的,这样它的稳定性就不会使其无法扩展; 一个不稳定的包应该具体的, 这样它的不稳定性使代码易于修改. 结论: 它指出一个包有时候应该达到部分是可抽象的,部分是不稳定的原则
该聊天程序包括服务器和客户端两部分,使用是MFC的CSOCKET类。它可以使多个人聊天,其工作方式类似于网上聊天室。客户端可以选择谈话对 象,有32种动作,可以设置字体颜色,也可以悄悄地对某人说,对信息进行过滤。服务器端可以“踢“人,并可以防止用户名称的重复 chatsource.rar (3.09 MB)
解压密码:www.topnetsecurity.com
该消息原文来自于:http://www.topnetsecurity.com/viewthread.php?tid=279&extra=page
http://code.google.com/p/excelreport/
ExcelReport是一款基于Excel的轻量级地报表生成工具,它通过用户定义报表模板文件,定义数据源,并配置相应的配置文件,就可以通过页面向 指定Servlet请求输出报表,其生成的报表是一个excel文件。通过模板文件的方式来生成Excel文件,可以让程序员从对生成特定格式的 Excel文件输出格式的控制以及Excel文件读写等纷繁复杂而又容易出错的细节中解放出来,使得程序员只需组装自己的数据源,而根本不需要关心如何去 生成Excel文件,如何用程序去控制最终的文件输出效果,从而大大增强了程序的可维护性,因为很多的报表输出格式的修改只需通过模板文件的修改就可以实 现,而无需改动程序。同时该报表工具又提供一些灵活的特性来使得用户可以自由控制报表的输出过程。 ExcelReport的灵活性 数据源的自定义: 用户可以自己定义数据源以替代默认实现,例如,我们可以编写一个自己的数据库数据源,通过定义该数据源我们可以利用现有系统的数据库连接及数据检索框架等。 嵌入报表数据处理类: 用户可以嵌入自己报表数据处理类(通过配置文件配置),通过嵌入用户自己的报表数据处理类,报表工具给用户提供了一个入口让用户参与报表的生成过程。比 如,用户可以在生成报表前来组合自己的数据源,在这里用户完全可以充分利用现有系统的相关业务类来生成自己的数据源。 插入查询监听器: 用户可以插入自己的查询监听器,通过监听数据源的查询请求来做相关数据的检索及处理等工作(该功能在主从报表中尤其有用)。 插入字段监听器: 通过插入字段监听器,使得用户可以参与报表的输出过程,控制报表的具体输出的数据。 目前它具有那些功能? 1. 卡片式报表的支持。 2. 列表式报表的支持。 3. 主从式报表的支持。 4. 分组式报表的支持。(注:主从式和分组式之间可以任意嵌套,即一个主从式报表中我们可以嵌套一个分组从而实现对主记录或从记录进行分组的功能,反之也如此。) 5. 格式化的数据输出,该报表工具支持所有Excel的格式化输出控制。 6. 支持所有Excel的函数。 它与普通报表工具的区别: 1. ExcelReport是一个完全基于excel的报表工具,其最大的特点是完全依赖于excel。这是其于其他任何报表工具的最大区别。 2. 通过依赖于Excel它具备了以下优点: a. 省略了专门的报表模板定义工具,应为该工具就是Excel本身,相信Excel的强大功能可以胜过任何其他报表工具模板定义工具。 b. 可以充分利用Excel的强大功能,如Excel函数库及其相关的脚本技术,Excel的图表(暂未提供支持)以及其对打印功能的强大控制能力。
编者按:原文作者乔纳森·丹尼可(Jonathan Danylko)是一位自由职业的web架构师和程序员,编程经验已超过20年,涉足领域有电子商务、生物技术、房地产、医疗、保险和公用事业。正如乔纳 森在文中所言,本文适合刚毕业的大学生和刚入门的程序员。如果你已是高级开发人员,或许你在本文中看到自己的身影。
从11岁时,我就一直在编程,并且一直都很喜欢技术和编程。这些年来,我积累了一些艰难又容易的经验。作为一名程序员,你或许还没这些经验,但我会把它们献给那些想从中学到更多的朋友。
我会持续更新这些经验,我可能还会有更多的感想,但就我这20年来看,我想下面这个列表中基本不需要增添额外的东西了。下面就是我至今最难忘的经验。
1. 估算解决问题所需要的时间。不要怕,承认吧!我曾见过一些程序员为了解决一个特殊问题而坐在显示器前面8小时。为自己定一个时间限制吧,1小时、30分钟或甚至15分钟。如果在这期间你不能解决问题,那就去寻求帮助,或到网上找答案,而不是尝试去做“超级堆码员”。
2. 编程语言是一种语言,只是一种语言。随着时光推移,只要你理解了一种语言的原理,你会发现各种语言之间的相似之处 。你所选择的语言,你应该觉得“舒服”,并且能够写出有效(而且简洁)的代码。最重要的,让语言去适应项目,反之亦然。
3. 不要过于注重程序的“设计模式”。 有时候,写一个简单的算法,要比引入某种模式更容易。在多数情况下,程序代码应是简单易懂,甚至清洁工也能看懂。
4. 经常备份代码。在我年轻时,我就有过因硬盘故障而丢了大量代码的经历,这经历很恐怖的。只要你一次没有备份,就应当像有着严格的期限,客户明天就需要。此时就该源码/版本控制软件大显身手了。
5. 承认自己并不是最顶尖的程序员 - 知不足。我常想,我对编程了解已足够多,但是总有其他人比你优秀。正所谓,“一山总比一山高”。所以,向他们看齐吧!
6、学习再学习。正如第5点所说,我经常会在手里拿一本计算机或编程相关的杂志或书(不信,可以问我的朋友)。诚然,总有很多你不知道的技术,你可以从中学习以保持不落后。如果你有一种灵巧的方式来获取你需要的新技术,那你每天都应该坚持学习。
7. 永恒的变化。你 对待技术/编程知识,就应像你对待股票一样:多样化。不要在某一特定技术上自我感觉良好。如果那种技术或语言已经没有足够支持,那你还不如现在就开始更新 你的简历,并启动培训新计划。我能保持前行的主要原则是什么呢?至少了解两到三种语言,所以,如果某种语言过时了,你在学习新技术的时候还可以依靠另一种 语言。
8. 提携新人。协助并且培养初级/入门的开发人员学习优秀的编程方法和技巧。也许你还不知道,在帮助他们向更高一层前进时,你自己也在向更高一层提升,你会更加自信。
9. 简化算法。代码如恶魔,在你完成编码后,应回头并且优化它。从长远来看,这里或那里一些的改进,会让后来的支持人员更加轻松。
10. 编写文档。无 论是Web服务的API,还是一个简单的类,你尽量编写相应文档。我曾经引以为豪的代码注释,因过度注释而有人指责。给三行代码加一行注释,只需要你几秒 时间。如果那是一个比较难以理解的技术,千万别担心过多注释。如果你能很好做好自己的工作,大多数架构师、后备程序员、支持组都会感激你。
11. 测试、测试再测试。我是一名黑盒测试粉丝。当你完成编码后,你“被认可”的时候就开始了。如果你们公司有QA部门,如果你的代码中有错误,那你得到的评论,会比项目经理还多。如果你不彻底测试自己的代码,那恐怕你开发的就不只是代码,可能还会声名狼藉。
12. 庆祝每一次成功。我见过很多程序员在解决编程技术难题后,会和同伴握手、击掌或甚至手舞足蹈。每个人在生命中都会碰到“顿悟”。如果一个程序员高兴地跑来叫你去看他的非凡代码,也许你已经看过这样的代码100遍了,但你也应该为了这个家伙而庆祝第101次。(编者注:《庆祝成功的九种方式》。)
13. 经常检查代码。 在公司,你的代码要经常检查(包括自查和其他同事检查)。不要把别人的检查,看成是对代码风格的苛求。应该把它们看作是有建设性的批评。对个人来说,经常检查你的代码并且自问,“我怎样才能写得更好呢?” 这会让你加速你的成长,让你成为一个更优秀的程序员。
14. 回顾你的代码。在 看到自己以前的代码时,通常会有两种方式:“难以至信,这代码是我写的”和“难以至信,这代码是我写的”。第一种往往是厌恶的语气,并在想如何改进它。你 也许会惊叹,旧代码也能复活成为一种更好的程序,甚至是一个完整的产品。第二种通常带着惊奇和成就感。开发人员应该一到两个自己完成的项目成果,能让众人 不禁而立并注目而观的项目。同样,基于你优越的编程能力,你可以把过去的程序或项目拿出来,把它们更新为更加优秀的产品或想法。
15. 幽默是不可缺的。在我20年的开发生涯中,我还没有碰到哪位程序员是没有幽默感的。实际上,干我们这行,幽默是一项必备品。
16. 谨防那些无所不知的程序员,不愿分享的程序员,还有经验不足的程序员。当你遇到这几种程序员时,你自己要谦虚。无所不知的程序员,更想当一个英雄而不是团队成员;保守的程序员则是在编写着他们独享的代码;而经验不足的程序员则会每十分钟就来问你一下,当代码完成后,代码已经是你的,而不是他们。
17. 任何项目都不会那么简单。朋 友、家人和同事曾请求我仓促做一些事情,仓促做一个程序或者网站。对于这样的事,应该从双方做计划,才能做出令两方都会满意的东西。如果某人起初只是需要 一个使用Microsoft Access的、只有有3个页面的网站,但来就很可能变成一个有15个页面的网站,并使用SQL Server,有一个论坛,还有一个定制的CMS(内容管理系统)。
18. 任何时候不要想当然。假如你承接一个简单的项目,你可能会认为某个部分可以轻松完成。千万别这样想!除非你有一个类、组件、或者一段已经写好的代码,并且在现有的项目已经测试通过。不要认为这将是很容易的。
19. 没有已经完成的软件。曾经有一位程序员告诉我,没有软件是已经完成的,它只是“暂时完成了”。这是明智的忠告。如果客户还在使用你写的程序,并经受了时间的考验。如果有机会,你仍在更新它,这并不是什么坏事,这让你不断地前行。
20. 耐心是一种美德。当 客户、朋友或家庭成员用电脑的时候,他们也许会受挫,进而想砸电脑,或气冲冲地离开。我一直在告诉他们,“是你掌控电脑,不是电脑掌控你。”对于用作编程 的电脑,你要有一定的耐心。一旦程序员知道问题所在后,他们就会站在电脑的角度看问题,并且说 “哦,这就是为什么它是这样做。”
编者后话
对本文深有感触!虽然本文没有华丽的辞藻,其中朴实的道理,其实并非只适用程序员,同样可以扩展到其他行业。记得以前练字时,总感觉当时写得很好,但后来回头再看时,也会想“这居然是我写的字!”
在阅读本文的朋友,不知你是否也有看到了自己的身影呢?欢迎你在微博或评论中和大家一起分享感触。
|