16 Mar 2008

批量 移动 msn 联系人

MSN内导入一个联系人列表后,联系人都在“其他联系人”这个组,

我想把它重命名一下,不可以,转移到其他组,发现只能一个一个转移。

最后发现,新建组然后按shift选择需要加入的联系人checkbox,确定。

“其他联系人”内的联系人都到新组中去了。




 


 

06 Mar 2008

IE8 BETA1 来了....

太疯狂了,迅雷30秒就下完了14.43M啊

Install Internet Explorer 8


Internet Explorer 8 can be installed on Microsoft Windows Vista® Service Pack 1 (SP1), Windows Vista, Windows XP® Service Pack 2 (SP2), Windows Server® 2008 and Windows Server2003 Service Pack 2 (SP2). Downloads are available from the following locations:



Internet Explorer 8 Beta 1 for Windows Vista and Windows Server 2008 


Internet Explorer 8 Beta 1 for Windows Vista x64 Edition and Windows Server 2008 x64 Edition


Internet Explorer 8 Beta 1 for Window XP SP2


Internet Explorer 8 Beta 1 for Windows Server 2003 SP2


Internet Explorer 8 Beta 1 for Windows Server 2003 SP2 x64 Edition and Windows XP SP2 Pro x64 Edition


 

22 Feb 2008

Telligent 发布了 CMS 系统

Telligent  Community Server 的出产厂商
发布了 他们的新CMS产品 GraffitiCMS
关于价格:http://get.graffiticms.com/
Licensing:http://graffiticms.com/learn-more/licensing/

Get Graffiti Today!

21 Feb 2008

C# .Net Gmail Tools

位于code.msdn.microsoft.com的一个小型Library

你可以很简单的使用它来通过gmail发送邮件或者获取Gmail Atom Feed 。

 

   //Send a message with one line of code

   RC.Gmail.GmailMessage.SendFromGmail("username", "password", "toAddress@gmail.com", "subject", "message body");



   //Send a message with one line of code with a MailMessage object

   RC.Gmail.GmailMessage.SendMailMessageFromGmail("username", "password", mailMessageObject);



   //Use the GmailMessage object to create and send your message

   RC.Gmail.GmailMessage gmailMsg = new RC.Gmail.GmailMessage("username", "password");

   gmailMsg.To = "RCcode@gmail.com";

   gmailMsg.From = "fromAddress@gmail.com";

   gmailMsg.Subject = "C# Test Message";

   gmailMsg.Body = "Test body";



   MailAttachment attachment = new MailAttachment(@"c:\testfile.txt");

   gmailMsg.Attachments.Add(attachment);



   gmailMsg.Send();

 

Visit here to download the GMail Tools

// Create the object and get the feed

   RC.Gmail.GmailAtomFeed gmailFeed = new RC.Gmail.GmailAtomFeed("username", "password");

   gmailFeed.GetFeed();



   // Access the feeds XmlDocument

   XmlDocument myXml = gmailFeed.FeedXml



   // Access the raw feed as a string

   string feedString = gmailFeed.RawFeed



   // Access the feed through the object

   string feedTitle = gmailFeed.Title;

   string feedTagline = gmailFeed.Message;

   DateTime feedModified = gmailFeed.Modified;



   //Get the entries

   for(int i = 0; i < gmailFeed.FeedEntries.Count; i++) {

      entryAuthorName = gmailFeed.FeedEntries[i].FromName;

      entryAuthorEmail = gmailFeed.FeedEntries[i].FromEmail;

      entryTitle = gmailFeed.FeedEntries[i].Subject;

      entrySummary = gmailFeed.FeedEntries[i].Summary;

      entryIssuedDate = gmailFeed.FeedEntries[i].Received;

      entryId = gmailFeed.FeedEntries[i].Id;

   }



Visit here to download the GMail Tools

31 Jan 2008

DbEntry.Net 又一个国产开源ORM数据访问及 WEB 框架

今天去逛CodePlex发现这个东西

链接到JavaEyeblog,作者:梁利锋

中文描述:http://llf.hanzify.org/llf/show.asp?id=555

Features:

FluentInterface query syntax

  • RoR ActiveRecord style syntax
  • Ambient transaction
  • Dynamic object
  • Partial update
  • 1:1 1:Many Many:Many relations
  • Auto create table
  • Anti sql injection
  • Multiple data source
  • Object validation
  • Paged selector and collection
  • Nullable support
  • DbEntryDataSource
  • ASP.NET 2.0 Membership support
  • Built-in Cache Support
  • Ruby On Rails style MVC framework
  • High performance, almost same as using ADO.NET directly
  • Lightwight, the binary file only about 268KB
  • Rails Style MVC
    1. Getting Started
    2. Scaffolding
    3. Controller
    4. Viewer
    5. Configuration
    6. Deployment


另外还有一些不错的东西比如他的 Rails Style MVC 和TemplateBuilder  还有 HtmlBuilder

看了看并没有Nbear那样类似Linq的查询支持.

令人欣慰的是这个东西一直从.net1.1做到现在,而且就一个人开发,从codeplex上来看,最近还有代码签入.

http://www.codeplex.com/DbEntry/SourceControl/ListDownloadableCommits.aspx



最后贴一下地址:http://www.codeplex.com/DbEntry


25 Jan 2008

Google的投票站点在用Asp.net

https://survey.google.com/wix/p0621608.aspx


https://survey.google.com/aaaaaaaaaaaaaa.axd


https://survey.google.com/wix/xxxxxxxxxxxxxxxxxxxxx.ashx




Server        Microsoft-IIS/6.0

X-AspNet-Version        2.0.50727

X-Powered-By        ASP.NET


 


31 Dec 2007

2007最后一博,Url地址重写,利用HttpHander手工编译页面并按需生成静态HTML文件

很多朋友可能都讨论过ASP.NET中生成HTML的方法了,有按照模板用IO方法写文件

有在404错误页面内生成HTML的,有在Render内保存页面输出到HTML文件的。

今天我发一个配合Url重写利用HttpHander手工编译.aspx页面方法。

HTML文件的方法,可按需、“定时”的生成,以减轻数据库的访问。

 

声明:下面的文字是本文不可缺少的部分,转载请保留,谢谢!

////////////////////////////////////////////////////

作者:武眉博<活靶子.NET>

同时首发于:

    落伍者   && 博客园  

    开发者学院   && .Net男孩社区

知识点:UrlRewriteIHttpModuleIHttpHander 的编写

效果:

http://www.devedu.com/Doc/DotNet/AspNet/default.2.aspx

http://www.devedu.com/Doc/DotNet/AspNet/default.2.html

思路:

1 挂载“.aspx”的请求到自定义的Httphander内

2 配置URL重写规则

3 访问某.aspx文件时,在HttpHander内 根据配置确定是否应该生成

 接着…

 if(需要生成)

 {

  if(若已经生成html文件 )

  {

   if(文件并未过期)

   {

    则直接定向(Server.Transfer())。

   }

   else

   {

    删除HTML文件;

    重新编译.aspx(Page内数据库操作等等)

    生成HTML文件;

   }

  }

  else if(尚未生成文件)

  {

   生成Html。

  }

 }

 else

 {

  则编译.aspx文件

 }

 

另:建议阅读一下dudu的blog中关于asp.net页面编译的讨论

http://www.cnblogs.com/dudu/archive/2006/03/07/345107.html

http://www.cnblogs.com/dudu/archive/2006/03/07/344351.html

 

部分代码

C#代码
  1. public void ProcessRequest(HttpContext context)   
  2.         {   
  3.             string rawUrl = context.Request.RawUrl;   
  4.             string requestPath = context.Request.Path;   
  5.             string applicationPath = context.Request.ApplicationPath;   
  6.             Url urlItem = null;   
  7.   
  8.             //上下文中没有定义ToStaticUrlItem表示,此请求没有经过UrlRewrite,直接编译,不生成html   
  9.             //参考UrlRewriteModule.cs   
  10.             if (context.Items[“ToStaticUrlItem”] == null)   
  11.             {   
  12.                 if (!File.Exists(context.Request.PhysicalPath))   
  13.                 {   
  14.                     throw new HttpException(404, “您访问的页面没有找到。”);   
  15.                 }   
  16.   
  17.                 // asp.net 1.1 采用下面方法编译页面   
  18.                 //PageParser.GetCompiledPageInstance(requestPath, context.Request.PhysicalPath, context).ProcessRequest(context);   
  19.                 IHttpHandler hander = BuildManager.CreateInstanceFromVirtualPath(requestPath, typeof(Page)) as IHttpHandler;   
  20.                 hander.ProcessRequest(context);   
  21.   
  22.                 return;   
  23.             }   
  24.   
  25.             string filePath;   
  26.   
  27.             urlItem = (Url)context.Items[“ToStaticUrlItem”];   
  28.   
  29.             Regex regex = new Regex(   
  30.                 Globals.ApplicationPath + urlItem.LookFor,   
  31.                 RegexOptions.CultureInvariant | RegexOptions.Singleline | RegexOptions.Compiled | RegexOptions.IgnoreCase);   
  32.   
  33.             string requestFile = regex.Replace(rawUrl, Globals.ApplicationPath + urlItem.WriteTo.Replace(”^”“&“));   
  34.   
  35.             if (requestFile.IndexOf(”?”) > 0)   
  36.             {   
  37.                 filePath = requestFile.Substring(0, requestFile.IndexOf(”?”));   
  38.             }   
  39.             else  
  40.             {   
  41.                 filePath = requestFile;   
  42.             }   
  43.   
  44.             string inputFile = context.Request.PhysicalApplicationPath + filePath;   
  45.             string path = context.Request.PhysicalApplicationPath + rawUrl.ToLower().Replace(”.aspx””.html”);   
  46.             if (applicationPath != ”/”)   
  47.             {   
  48.                 inputFile = inputFile.Replace(applicationPath + ”/”, @“\“);  
  49.                 path = path.Replace(applicationPath + ”/”, ””).Replace(”/”, @”</span>”);  
  50.             }  
  51.             else  
  52.             {  
  53.                 path = path.Replace(”/”, @”</span>”);  
  54.             }  
  55.  
  56.             if (!urlItem.EnabledToStatic)  
  57.             {  
  58.                 // asp.net 1.1 采用下面方法编译页面  
  59.                 //PageParser.GetCompiledPageInstance( filePath , inputFile , context ).ProcessRequest( context );  
  60.                 IHttpHandler hander = BuildManager.CreateInstanceFromVirtualPath(filePath, typeof(Page)) as IHttpHandler;  
  61.                 hander.ProcessRequest(context);  
  62.  
  63.                 return;  
  64.             }  
  65.  
  66.             if (!File.Exists(path))  
  67.             {  
  68.                 // asp.net 1.1 采用下面方法编译页面  
  69.                 //PageParser.GetCompiledPageInstance( filePath , inputFile , context ).ProcessRequest( context );  
  70.                 IHttpHandler hander = BuildManager.CreateInstanceFromVirtualPath(filePath, typeof(Page)) as IHttpHandler;  
  71.                 hander.ProcessRequest(context);  
  72.                 context.Response.Filter = new AspxBoy.BuildHtmlDemo.ToHtmlFilter(context.Response.Filter, path);  
  73.  
  74.                 return;  
  75.             }  
  76.  
  77.             if (urlItem.Minutes == Int32.MaxValue)  
  78.             {  
  79.                 context.Server.Transfer(rawUrl.ToLower().Replace(”.aspx”, ”.html”));  
  80.             }  
  81.             else  
  82.             {  
  83.                 FileInfo fileInfo = new FileInfo(path);  
  84.                 if (fileInfo.LastWriteTime.AddMinutes((double)urlItem.Minutes) < DateTime.Now)  
  85.                 {  
  86.                     fileInfo.Delete();  
  87.  
  88.                     // asp.net 1.1 采用下面方法编译页面  
  89.                     //PageParser.GetCompiledPageInstance( filePath , inputFile , context ).ProcessRequest( context );  
  90.                     IHttpHandler hander = BuildManager.CreateInstanceFromVirtualPath(filePath, typeof(Page)) as IHttpHandler;  
  91.                     hander.ProcessRequest(context);  
  92.                     context.Response.Filter = new AspxBoy.BuildHtmlDemo.ToHtmlFilter(context.Response.Filter, path);  
  93.                 }  
  94.                 else  
  95.                 {  
  96.                     context.Server.Transfer(rawUrl.ToLower().Replace(”.aspx”, ”.html”));   
  97.                 }   
  98.                 return;   
  99.             }   
  100.         }  

 
示例项目下载:http://www.cnblogs.com/Files/huobazi/BuildHtmlDemo.rar

02 Nov 2007

FckEditor,远程图片下载,插件
有时候我们从其他网页上拷贝来的内容中含有图片,当原始地址失效后就会影响读者阅读。
所以我制作了这样一个插件,可以将远程图片保存到本地服务器。声明:下面的文字是本文不可缺少的部分,转载请保留,谢谢!
////////////////////////////////////////////////////
作者:武眉博<活靶子.NET>
同时首发于:
    落伍者   && 博客园  
    开发者学院   && .Net男孩社区
////////////////////////////////////////////////////
今天转载了xiaozhuang朋友的文章同时从博客园服务器上下载了图片
演示见:http://www.devedu.com/Doc/DotNet/AspNet/AspNet-AjaxWCF-ServiceADONET-Entity-FrameworkShiXianShuJuLieBiaoShuJuShaiXuanFenYePaiXuShanChu.aspx


原理如下:
    1.实现ICallbackEventHandler接口以用启用客户端回调。
    2.从当前FckEdiotr内容分析出所有<img标签,取得src的地址。
    3.回调下载到服务器。
    4.返回下载后位于本服务器上的路径。
    5.替换当前FckEdiotr内容内对应的<img标签的src属性。 
 


 


其他废话不多说了,代码中都有注释。

如果您熟悉Fckeditor的插件工作流程,请继续向下阅读,另请不要留言要我直接提供下载,下面的代码已经可以完整调试了。
E:\IISROOT\FckTest\FckTest\fckeditor\editor\plugins\remoteimagerubber\remoteimagerubber.aspx
 


 

 


 

  1 <%--
  2 使用单页模型(非代码后置),是为了便于此插件部署,
  3 不需编译成dll,只需拷贝remoteimagerubber.aspx 和 fckplugin.js 到plugn目录,
  4 并配置一下fckconfig.js及相应的语言包,就可以使用了。
  5 --%>
  6 
  7 <%@ Page Language="C#" %>
  8 
  9 <%@ Import Namespace="System.Net" %>
 10 <%--
 11 实现ICallbackEventHandler接口以提供客户端回调功能。
 12 --%>
 13 <%@ Implements Interface="System.Web.UI.ICallbackEventHandler" %>
 14 
 15 <script runat="server">
 16     
 17     /// <summary>
 18     /// 此处配置远程文件保存目录
 19     /// </summary>
 20     private static readonly string savePath = "~/Uploads/";
 21 
 22     /// <summary>
 23     /// 此处配置允许下载的文件扩展名
 24     /// <remarks>
 25     ///     暂未考虑使用动态网页输出的图片如:http://site/image.aspx?uid=00001 这样的URI;
 26     ///  若要实现此功能可读取流并判断ContentType,将流另存为相应文件格式即可。
 27     /// </remarks>
 28     /// </summary>
 29     private static readonly string[ ] allowImageExtension = new string[ ] { ".jpg" , ".png" , ".gif" };
 30 
 31     /// <summary>
 32     /// 此处配置本地(网站)主机名
 33     /// </summary>
 34     private static readonly string[ ] localhost = new string[ ] { "localhost" , "www.devedu.com" };
 35 
 36     private string localImageSrc = string.Empty;
 37 
 38     private void Page_Load( object obj , EventArgs args )
 39     {
 40         if ( !Page.IsPostBack )
 41         {
 42             ClientScriptManager csm = Page.ClientScript;
 43 
 44             string scripCallServerDownLoad = csm.GetCallbackEventReference( this , "args" , "__ReceiveServerData" , "context" );
 45             string callbackScriptDwonLoad = "function __CallServerDownLoad(args , context) {" + scripCallServerDownLoad + "; }";
 46             if ( !csm.IsClientScriptBlockRegistered( "__CallServerDownLoad" ) )
 47             {
 48                 csm.RegisterClientScriptBlock( this.GetType( ) , "__CallServerDownLoad" , callbackScriptDwonLoad , true );
 49             }
 50         }
 51     }
 52 
 53     #region ICallbackEventHandler 成员
 54 
 55     /// <summary>
 56     /// 返回数据
 57     /// </summary>
 58     /// <remarks>如果处理过程中出现错误,则仍然返回远程路径</remarks>
 59     /// <returns>服务器端处理后的本地图片路径</returns>
 60     public string GetCallbackResult( )
 61     {
 62         return localImageSrc;
 63 
 64     }
 65 
 66     /// <summary>
 67     /// 处理回调事件 
 68     /// </summary>
 69     /// <param name="eventArgument">一个字符串,表示要传递到事件处理程序的事件参数</param>
 70     public void RaiseCallbackEvent( string eventArgument )
 71     {
 72 
 73         string remoteImageSrc = eventArgument;
 74 
 75         string fileName = remoteImageSrc.Substring( remoteImageSrc.LastIndexOf( "/" ) + 1 );
 76         string ext = System.IO.Path.GetExtension( fileName );
 77 
 78         if ( !IsAllowedDownloadFile( ext ) )
 79         {
 80             //非指定类型图片不进行下载,直接返回原地址。
 81             localImageSrc = remoteImageSrc;
 82             return;
 83         }
 84 
 85         Uri uri = new Uri( remoteImageSrc );
 86         if ( IsLocalSource( uri ) )
 87         {
 88             //本地(本网站下)图片不进行下载,直接返回原地址。
 89             localImageSrc = remoteImageSrc;
 90             return;
 91         }
 92 
 93         try
 94         {
 95             //自动创建一个目录。
 96             DateTime now = DateTime.Now;
 97             string datePath = string.Format( @"{0}\{1}\{2}\{3}" , now.Year , now.Month.ToString( "00" ) , now.Day.ToString( "00" ) , Guid.NewGuid( ).ToString( ) );
 98 
 99             string localDirectory = System.IO.Path.Combine( Server.MapPath( savePath ) , datePath );
100             if ( !System.IO.Directory.Exists( localDirectory ) )
101             {
102                 System.IO.Directory.CreateDirectory( localDirectory );
103             }
104 
105             string localFilePath = System.IO.Path.Combine( localDirectory , fileName );
106 
107             //不存在同名文件则开始下载,若已经存在则不下载该文件,直接返回已有文件路径。
108             if ( !System.IO.File.Exists( localFilePath ) )
109             {
110                 Client.DownloadFile( uri , localFilePath );
111             }
112 
113             string localImageSrc = ResolveUrl( "~/" + localFilePath.Replace( Server.MapPath( "~/" ) , string.Empty ).Replace( "\\" , "/" ) );
114 
115         }
116         catch
117         {
118             //下载过程中出现任何异常都不抛出(  有点狠啊 :)  ),仍然用远程图片链接。
119             localImageSrc = remoteImageSrc;
120         }
121 
122     }
123 
124 
125     #endregion
126 
127     private WebClient client;
128 
129     /// <summary>
130     /// <see cref="System.Net.WebClient"/>
131     /// </summary>
132     public WebClient Client
133     {
134         get
135         {
136             if ( client != null )
137             {
138                 return client;
139             }
140 
141             client = new WebClient( );
142             client.Headers.Add( "user-agent" , "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2;)" );
143 
144             return client;
145 
146         }
147     }
148 
149     /// <summary>
150     /// 判断Uri是否为本地路径
151     /// </summary>
152     /// <param name="uri"></param>
153     /// <returns></returns>
154     private bool IsLocalSource( Uri uri )
155     {
156         for ( int i = localhost.Length ; -->= 0 ; )
157         {
158             if ( localhost[ i ].ToLower( ) == uri.Host.ToLower( ) )
159             {
160                 return true;
161             }
162         }
163 
164         return false;
165 
166     }
167 
168     /// <summary>
169     /// 检测文件类型是否为允许下载的文件类型
170     /// </summary>
171     /// <param name="extension">扩展名 eg: ".jpg"</param>
172     /// <returns></returns>
173     private bool IsAllowedDownloadFile( string extension )
174     {
175         for ( int i = allowImageExtension.Length ; -->= 0 ; )
176         {
177             if ( allowImageExtension[ i ].ToLower( ) == extension.ToLower( ) )
178             {
179                 return true;
180             }
181         }
182 
183         return false;
184     }
185     
186 </script>
187 
188 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
189 <html xmlns="http://www.w3.org/1999/xhtml">
190 <head runat="server">
191     <title></title>
192     <style type="text/css">
193     body { margin: 0px; overflow: hidden;  background-co

10 Oct 2007

上班族饮食十大“夺命”恶习

经常听周围的人说起:“怎么办呀,又查出来血脂异常了”,“某某血压偏高呀”,“最近又胖了怎么办,上次体检已经有脂肪肝了!”这些问题也许在你身上也发生过。其实这些问题的一个根源就是“吃”——

  

  下面小编给您罗列一下有关“吃”的十大健康杀手:

  

  夺命恶习1:进食速度过快

  


  夺命理由:加重肠胃负担,导致肥胖。很多办公室一族的午餐,都是在非常匆忙的状态下吃完的。进食速度过快,食物未得到充分咀嚼,不利于口中食物和唾液淀粉酶的初步消化,加重肠胃负担;咀嚼时间过短,迷走神经仍在过度兴奋之中,长此以往,容易因食欲亢进而肥胖。

  

  见招拆招:尽可能让牙齿和舌头动得慢一点,如果真的时间很紧张,那就牺牲一点打牌或者打瞌睡的工夫。

  

  大家都知道饮食不健康可能会引发可怕的病症,但往往忽略饭后的一些小习惯,殊不知,这些不起眼的生活陋习,很有可能成为你健康的致命“杀手”……

   夺命恶习2:不吃早餐

  

  夺命理由:严重伤胃,使你无法精力充沛地工作,而且还容易“显老”。

  

  德国埃朗根大学研究人员在对7000个男女对象的长期跟踪后发现,习惯不吃早餐的人占到了40%,而他们的寿命比其余60%的人平均缩短了2.5岁。而另一所大学在一次对80-90岁老年人的研究中发现,他们长寿的共同点之一是:每天吃一顿丰盛的早餐。

  

  见招拆招:早餐食物尽量做到可口、开胃;有足够的数量和较好的质量;体积小,热能高;制备省时省力。

  

  我们知道,不同食物在胃中停留时间的长短是不一样的,所引起的血糖反应也不相同。在正常情况下干稀混合食物可以在胃中停留4-5个小时,而流质食物由于体积大,刚吃完感觉很饱,但在胃中停留时间很短,其中营养成分来不及充分消化即被排出,上升的血糖水平也很快就低落下来,不能持久。因此,在食物的选择上一定要注意干稀搭配,荤素兼备。  

  夺命恶习3:晚餐太丰盛

  

  夺命理由:傍晚时血液中胰岛素含量为一天中的高峰,胰岛素可使血糖转化成脂肪被凝结在血管壁上和腹壁上,晚餐吃得太丰盛,久而久之,人便肥胖起来。同时,持续时间通常较长的丰盛晚餐,还会破坏人体正常的生物钟,容易使人患上失眠。

  

  对于上班族来说,晚餐几乎成了一天的正餐。早餐要看“表”,午餐要看“活”,只有到了晚上才能真正放松下来稳坐在餐桌前,美美地大吃一顿。

  

  见招拆招:第一,晚餐要早吃。晚餐早吃可大大降低尿路结石病的发病率。第二,晚餐要素吃。晚餐一定要偏素,以富含碳水化合物的食物为主,尤其应多摄入一些新鲜蔬菜,尽量减少过多的蛋白质、脂肪类食物的摄入。第三,晚餐要少吃。一般要求晚餐所供给的热量以不超过全日膳食总热量的30%。


夺命恶习4:嗜饮咖啡

  

  夺命理由:

  

  1.降低受孕率。每天每人喝一杯咖啡,受孕率就有可能下降50%;

  

  2.容易患心脏病。咖啡中含有高浓度的咖啡因,可使心脏功能发生改变并可使血管中的胆固醇增高;

  

  3.降低工作效率。

  

  美国医学家研究发现,一个人每天喝5杯或更多咖啡,其患心脏病的几率比不喝者高两倍,且嗜咖啡年限越长,饮量越多,患心脏病的可能性越大。通过对858位45-69岁首次患心肌梗死的人和同样人数从未患过心肌梗死的人的调查证明,每天喝5杯以上咖啡者患病的危险增加了70%。

  

  见招拆招:少喝。   

夺命恶习5:食用酒精过量摄入


  

  夺命理由:大量或经常饮酒,会使肝脏发生酒精中毒而致发炎、肿大,影响生殖、泌尿系统。

  

  见招拆招:要喝就得先学会怎么喝———

  

  最佳品种酒有白酒、啤酒、果酒之分,从健康角度看,当以果酒之一的红葡萄酒为优。法国人少患心脏病即得益于此。据研究人员介绍,常饮红葡萄酒患心脏病的几率会降低一半。

  

  最佳时间每天下午两点以后饮酒较安全。因为上午几个小时,胃中分解酒精的酶-酒精脱氢酶浓度低,饮用等量的酒,较下午更易吸收,使血液中的酒精浓度升高。

  

  对肝、脑等器官造成较大伤害。此外,空腹、睡前、感冒或情绪激动时也不宜饮酒,尤其是白酒,以免心血管受害。

  

  最佳饮量一个体重60公斤的人每天允许摄入的酒精量应限制在60克以下。低于60公斤体重者应相应减少,最好掌握在45克左右。换算成各种成品酒应为:60度白酒50克、啤酒1公斤、威士忌250毫升。红葡萄酒虽有益健康,但也不可饮用过量,以每天2至3杯为佳。

  

  最佳佐菜从酒精的代谢规律看,当推高蛋白和含维生素多的食物。如新鲜蔬菜、鲜鱼、瘦肉、豆类、蛋类等。注意,切忌用咸鱼、香肠、腊肉下酒,因为此类熏腊食品含有大量色素与亚硝胺,与酒精发生反应,不仅伤肝,而且损害口腔与食道黏膜,甚至诱发癌症。夺命恶习6:餐后吸烟

  

  夺命理由:使烟中的有害物质更易进入人体。

  

  饭后吸一支烟,中毒量大于平时吸十支烟的总和。因为人在吃饭以后,胃肠蠕动加强,血液循环加快,这时人体吸收烟雾的能力进入“最佳状态”,烟中的有毒物质比平时更容易进入人体,从而更加重了对人体健康的损害程度。

  

  见招拆招:全面禁烟。



  夺命恶习7:保温杯泡茶

  

  夺命理由:破坏维生素,大量渗出鞣酸和茶碱。

  

  茶叶中含有大量的鞣酸、茶碱、茶香油和多种维生素,用80℃左右的水冲泡比较适宜,如果用保温杯长时间把茶叶浸泡在高温的水中,就如同用微水煎煮一样,会使茶叶中的维生素全遭破坏,茶香油大量挥发,鞣酸、茶碱大量渗出。这样不仅降低了茶叶的营养价值,减少了茶香,还使有害物质增多。

  

  见招拆招:换杯子。


夺命恶习8:宴席不离生食

  

  夺命理由:导致各种寄生虫病。

  

  三文鱼、象拔蚌、鲈鱼、乌鱼、生鱼片、蛇、龟、蟹等办公室一族商务宴请时的首选食物中,存在寄生虫和致病菌的几率很高,再加上厨师们为了追求味道的鲜美,烹调往往不够充分,很容易让你在大快朵颐之时,病从口入。

  

  见招拆招:生菜、生汁中的活性物质与人体接近,可使白血球处于正常状态,还能使因吃熟食而损伤的免疫机能得以恢复。考虑到这些好处,先练好你的肠胃吧。毕竟,吃生食也有吃生食的讲究——

  

  1.每天饮用新鲜蔬菜汁和果汁。2.将新鲜蔬菜凉拌,可酌量加醋,少放盐。

  

  3.人是依靠吃熟食生活而维持生命活动的,先吃水果等生食,然后再吃熟食,不会出现白血球增高的现象。

  

  4.不吃加工食品,如罐头以及添加了防腐剂、色素、化工原料等加工剂的食品。



  夺命恶习9:水果当主食

  

  夺命理由:造成人体缺乏蛋白质等物质,营养失衡,甚至引发疾病。

  

  很多办公室一族由于长期静坐的工作方式而造成的消化不畅、血脂增高、血管硬化等疾病,确实需要水果中的营养物质来化解。但是,水果不能当主食。因为水果中虽然含多种维生素和糖分,却缺少人体需要的蛋白质和某些微量元素。

  

  见招拆招:先上网看看你的体质适合吃什么不能吃什么。

  

  夺命恶习10:饮水不足

  

  夺命理由:导致脑老化;诱发脑血管及心血管疾病;影响肾脏代谢功能。

  

  办公室一族在工作中,由于工作时精神高度集中,很容易忘记喝水,造成体内水分补给不足。体内水分减少,血液浓缩及黏稠度增大,容易导致血栓形成,诱发脑血管及心血管疾病,还会影响肾脏代谢的功能。

  

  见招拆招:多喝水,勤上洗手间;但要注意,对于部分大肠代谢功能差的朋友,最好在感到口渴的时候再去喝水,以免造成体内水代谢进一步紊乱。


07 Sep 2007

一系列SQL SERVER SQL 的分析文章



位于:

http://blogs.sqlpassj.org/mitsugi/archive/2007/09.aspx

语言: 日文

[SQL Server 2005]AGGREGATES/インデックス付きビュー/DTA デモ

[SQL Server 2005]JOIN デモ

[SQL Server]OR デモ

[SQL Server]AND デモ

[SQL Server]検索性デモ