我不相信一切所谓人生导师。在这个没有上帝的世界上,谁敢说自己已经贯通了一切歧路和绝境,因而不再困惑,也不再需要寻找了?
      至于我,我将永远困惑,也永远寻找。困惑是我的诚实,寻找是我的勇气。
      对于我来说,人生即事业,除了人生,我别无事业。我的事业就是穷尽人生的一切可能性。这是一个肯定无望但极有诱惑力的事业。
      我走在自己的路上了。成功与失败、幸福与苦难都已经降为非常次要的东西。最重要的是这条路本身。

                                                                             ——周国平

Tag: 原理预览模式: 普通 | 列表

熵增原理

科技名词定义
中文名称:熵增原理
英文名称:principle of entropy increase
定义:在孤立热力系所发生的不可逆微变化过程中,熵的变化量永远大于系统从热源吸收的热量与热源的热力学温度之比。可用于度量过程存在不可逆性的程度。
应用学科:电力(一级学科);通论(二级学科)

查看更多...

Tags: 熵增原理 熵增 原理 解惑 求知 物理学 热力学 若去 2013 混乱 百度 百度百科

分类:解惑ǒ求知 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 2483

pjblog 自动安装包原理

install.asp和install.dat。本来以为是一个gz或者zip的压缩文件,将install.dat改变了后缀依然不能解压,于是引起了我的兴趣。
1、先看install.asp文件,发现install.asp文件中对install.dat文件操作方式是objXmlFile。原来install.dat是一个XML文件?

2、用UltraEdit打开install.dat文件,发现果真是XML文件。格式为:
</file><file><path>\atom.css</path><stream xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64">这里是编码</stream>
在<path>中保存的是路径
在<stream>中保存的是数据的内容
就是将asp css gif jpg等文件以bin.base64 类型的节点内容存放,现在新版本的word文档都用这种格式了。

3、可以参考一个技术文档

因为最近要做的项目中,我要通过XML动态生成窗体,看了UI图样,我有些叫苦:我通过XML动态生成窗体,可是主窗体中UI要用图标来确定要使用的窗体,怎么才能使主窗体的图标也是动态加载而且图标和要生成的窗体还有关联呢?我又想到用XML,查MSDN,看到只有XmlTextWriter 和XmlTextReader里分别有XmlTextWriter.WriteBase64和XmlTextReader.ReadBase64可以操作图片这种二进制字节的数据。但是XmlTextWriter和XmlTextReader远不如XmlDocument操作方便,如果用这两者我就得写太多的代码。困扰了我一天,记得以前看到过一篇文章介绍怎样将图片数据存储到Xml文件,可是怎么也找不到,后来终于在一个英文网站上找到了相关内容,而且还是2003年贴出来的,汗。好了,不废话了,我把我的实现代码贴给大家吧。private XmlDocument document;private string FilePath = Application.StartupPath + "\\..\\..\\FormStyle.xml";    // FormStyle.xml 文件地址private void frmMain_Load(object sender, System.EventArgs e){        if(document == null)        {               document = new XmlDocument();               document.Load(FilePath);        }        // 只挑选含有Form的节点        XmlNodeList FormNodes = document.GetElementsByTagName("Form");        lbIcons.BeginUpdate();        lbIcons.Items.Clear();        foreach(XmlNode node in FormNodes)        {               // 把节点的名称放到下拉列表里               lbIcons.Items.Add(node.Attributes["Name"].Value);        }        lbIcons.EndUpdate();}private void lbIcons_SelectedValueChanged(object sender, System.EventArgs e){        // 查找下拉框所选的窗体下是否有Image元素,若无则退出        XmlNode node = document.DocumentElement.SelectSingleNode(string.Format("descendant::Form[@Name='{0}']/Image", lbIcons.SelectedItem.ToString()));        if(node == null)               return;        // 如果含有Image元素,就将元素值转换为Base64String,然后放到内存流        using (MemoryStream mem = new MemoryStream(Convert.FromBase64String(node.InnerText)))        {               // 加载内存流数据为位图               Bitmap bmp = Bitmap.FromStream(mem) as Bitmap;               pictureBox1.Image = bmp;        }}private void btnAdd_Click(object sender, System.EventArgs e){        // 如果不存在txtFilePath.Text所指文件,就退出        if(!File.Exists(txtFilePath.Text) || lbIcons.Items.Count == 0)               return;        if(lbIcons.SelectedIndex == -1)               lbIcons.SelectedIndex = 0;        if(document == null)        {               document = new XmlDocument();               document.Load(FilePath);        }        //Read the bitmap.        string data = null;        Bitmap bmp = new Bitmap(txtFilePath.Text);        using (MemoryStream mem = new MemoryStream())        {               bmp.Save(mem, System.Drawing.Imaging.ImageFormat.Bmp);               // 将位图数据转换为Base64String放入字符串中               data = Convert.ToBase64String(mem.ToArray());        }        // 查找当前所选的窗体是否含有Image节点,若就新建一个        XmlNode node = document.DocumentElement.SelectSingleNode(string.Format("descendant::Form[@Name='{0}']", lbIcons.SelectedItem.ToString()));        XmlNode ImageNode = document.DocumentElement.SelectSingleNode(string.Format("descendant::Form[@Name='{0}']/Image", lbIcons.SelectedItem.ToString()));        if(ImageNode == null)        {               ImageNode = document.CreateElement("Image");               node.AppendChild(ImageNode);        }        // 将位图数据保存到XML文档        ImageNode.InnerText = data;        document.Save(FilePath);}

4、这种方式制作安装包是做第一次见到的,有两个好处:一是可以网络安装,不需要上传几十个文件,只需要上传一个安装文件和一个安装包即可;二是可以使ASP程序变得更加专业业和商业化,安装文件构造和修改都很简单,如果有一个很好的制作数据文件的工具,或许还能制作出来一个像样的安装工具来。

查看更多...

Tags: PJBLOG 原理 网络相关 自动安装包

分类:行走ǒ拾遗 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 5925
引用内容 引用内容

   昨天闲来无事,随手拿起别人桌上的一本杂志,随便翻了起来,呵呵,说来可笑,杂志名字我都忘记了,只是记得了这个90/10原理,道理很简单,很多事情都是自己造成的,很多时候事情发生了,我们别无选择,无法让时间倒流,无法让已经发生了的事不发生,或者不让还没有发生的坏事发生在自己身上,但是我们怎么去处理这些问题(坏事情)却很重要,要学会恰当好处的处理好这些问题,不是一朝一夕就能学会的,也不是看完这个文章就能学会的,一切都在我们的日常生活当中,宽容、容忍、与人为善、给别人方便就是给自己方便,这些都学会了,都深入到自己的骨髓了,才可以做到90/10原理里边说的恰当的处理方式。又让我想起了蝴蝶效应,一个很微小的细节,若是不好好处理,有可能就会有很糟糕的后果!呵呵,我也只是纸上谈兵,一切还得慢慢学,慢慢的改变自己……好了,不废话了,还是看看下边的“90/10原理”吧!


   什么是90/10原理?即在您的一生中,只有10%的事情您无能为力,而90%的事情都在您的把握之中。

   您正与家人共进早餐,女儿不小心打翻了咖啡杯,弄脏了您的西服。这是突发事件,您无法阻止它发生,而接下来事情如何发展,则完全取决于您的反应。

   您勃然大怒,严厉地训斥女儿,她大哭起来。训斥完女儿,您转向您的太太,责怪她把咖啡杯放得离桌沿太近,您太太与您发生了争吵。之后您愤然上楼,换了件干净衣服,下楼时发现女儿仍然在哭,耽误了早餐,也因此错过了校车。太太也要赶时间,所以您要负责送女儿去学校,由于已经迟到,您以40km/h的时速在限速30km/h的区域飞驰。为此您被罚款60美金并且耽误了额外的15分钟。学校到了,女儿头也不回地径直奔向学校。当您到公司时,已经迟到了20分钟,而且这时您发现忘了带公文包。接下来的这一天,事情变得越来越糟糕,您期盼着能够早点下班回家。回到家中,您能够明显感觉到女儿和太太对您的疏远。这一切都是为什么?因为咖啡,女儿,或是警察,还是自己?答案是您自己。

   对于打翻的咖啡杯,您无能为力,而接下来那五秒钟的表现,却决定了一天。下面是另外一种情形:

咖啡杯不小心打翻,弄脏了您的衣服,女儿马上就要哭了,您温柔地说:“孩子,没关系,下次小心一点就好了。”您拿起餐巾稍加擦拭,然后上楼换了件干净衣服。您提起公文包准时下楼,通过窗户目送女儿上了校车,女儿转身向您挥手再见。您提前五分钟到达公司,并愉快地跟同事们问好。

   是不是区别很大?同样的开头,不一样的结局。有些事情您真的无能为力,但是大部分情况,您是可以掌控的。

   我们应该怎么做?如果有人说你坏话,别放在心上,不要让负面评论影响了你的行为。正确的反应,会为你挽回美好的一天,而不适当的表现,可能导致你失去朋友,丢掉饭碗,或者背负沉重的压力。设想一下开车的你遇到交通堵塞时可能的反应,失去耐心?敲打方向盘(曾经有个朋友把方向盘捶掉了……)?漫骂?血压升高?谁会在乎你迟到几分钟呢?为什么平静的一天要因此而黯淡?当你被开除了,想想90/10原理吧,为什么要辗转反侧,怒不可遏呢?没有用的,用这些时间和精力来找新工作吧。飞机晚点,你的行程被延误,为什么要把气撒到飞机上,利用这点时间来学习,来观察一下行人,急躁只会让事情变得更糟。

    现在你知道了什么是90/10原理,把它应用到你的生活当中吧,你会发现效果很神奇,你甚至将不再失去任何东西。千百万的人被问题困扰,被压力和头痛折磨,我们很需要90/10原理,它会改变你的生活,你需要的只是一点点意志力去执行它。期待回报之前,先看看自己有没有付出,也许付出了得不到回报,但是你仍然心安理得,因为你的心灵已经打上了爱的烙印。

查看更多...

Tags: 90/10原理 随笔 道理 原理

分类:解惑ǒ求知 | 固定链接 | 评论: 1 | 引用: 0 | 查看次数: 5447