浏览模式: 普通 | 列表

谁的时代在结束?

[ 2009-07-01 21:10:57 | 作者: progame ]
迈克尔.杰克逊走了, 巨星陨落, 虽然不是他的什么什么迷, 但以前看他的MV确实感觉很震撼, 很酷的舞步, 很酷的声音

有很多人, 代表着一个时代. 在这个时代, 他是一个符号, 一个声音, 一种形象
而如今, 当年我们从地摊海报上, 从录像电影里认识的一个个明星, 或老去, 或死去, 留下的是过往的辉煌和怀念
新旧时代总在更替, 当你还在嘲笑过去时, 你自己已经成了过去

曾经的未来, 成了如今, 再成过往, 梦想, 破碎后再编织, 编织后又破碎
你活在这个时代, 抑或是你开辟了一个时代? 最终, 你所在的时代会终结
是被人怀念, 还是被怀恨? 还是默默无闻地来过又去, 去了不再来

我们喜欢打破旧的东西, 我们又总是在打破后再去怀念

新的东西, 就要来了, 也终将来到
新的时代, 何时开启, 又谁在创造

窗体内引用控件导致无法释放 [私人]

[ 2009-06-29 00:24:09 | 作者: progame ]
Option Explicit

Dim c As CommandButton

Private Sub Form_Load()
Set c = Me.Command1
End Sub

就行了

解决办法在unload中set c = nothing

因为好久没跑了, 所以杨梅真好吃

[ 2009-06-18 20:44:25 | 作者: progame ]
冬去春来春又去
真是养膘的好季节
可惜依然没有能够增肥

从宁波回来, 昨天起, 开始跑步了又
好久没跑了, 几圈下来就上气不接下气了
回来就觉得渴, 想喝水
本来是照例买苹果的, 可是苹果价格疯涨, 看来通胀确实存在
于是昨天买的是桃, 水份挺多的
今天买杨梅, 发现真好吃

在宁波时, 大街小巷摆的都是杨梅
因为旁边的余姚是盛产杨梅的
经常有人去农家, 交上点钱
然后可以躺在树下吃, 然后再满载而归
可惜当时在宁波没买, 应该比这边便宜不少吧

要用什么来深切怀念那已失去或未得到的东西
只有用对未来可知而不可见的憧憬了

一年快过去一半了, 既然不堪回首, 就不用回首了吧
想想, 自己写的东西, 跟杨梅一样酸

An event was unable to invoke any of the subscribers [私人]

[ 2009-06-01 00:10:49 | 作者: progame ]
Automation error -2147220991
An event was unable to invoke any of the subscribers

要重现, 很简单
class1:
Option Explicit

Private WithEvents m_Form As Form

Private m_Self As Class1

Public Sub Bind(f As Form)
Set m_Form = f
Set m_Self = Me
End Sub

Private Sub m_Form_Unload(Cancel As Integer)
Set m_Self = Nothing
Set m_Form = Nothing
End Sub

form:
Dim i As Long
Dim c(1000) As Class1

For i = 0 To 255
Set c(i) = New Class1
c(i).Bind Me
Next i

事件订阅居然还有上限, 真是受不了

梦里无时莫强求 梦里有时莫须有

[ 2009-04-28 23:37:16 | 作者: progame ]
梦是心头想, 可是前天晚上做了个梦, 却不知起因何在

当时狂风暴雨如注, 大家不分男女地都躲在男厕所里, 虽然都有伞, 可是依然被阻拦了行程
天色暗得如同夜晚, 可是太阳却仍然在四面八方闪现, 强光照得人睁不开眼, 必须用伞挡住
也就是说太阳时常在东边, 时常在西边, 接着风雨慢慢地小了
可是这时天上的太阳也静止在云层后面, 呈现着暗红色, 而且带着毛边

作为一个通晓天文地理的人, 我开始主动给大家讲解
这种天象是大凶之兆啊, 世界末日可能就要来了
正这时在漆黑如墨的天空, 突然清晰的出现一艘很大的集装箱船
和电影里的幽灵船的感觉非常象, 好像挂在天上一样
正想着为什么船会在天上呢, 就看那船直接往头顶砸过来了
于是大家就没命的跑啊, 否则就要灭顶之灾了

很幸运, 我们逃过了这艘船, 接着看到天上远远的又一艘船砸过来了
更幸运的是这次还在奔逃中, 就给吓醒了......

虽然常做梦, 而且没什么好梦, 但这种世界末日的感觉却不多
最早有次是初中, 梦见晚上我们正在宿舍睡觉
突然有人发现外面太阳从西边升起来了,于是我们全部跑到阳台上去看
还有次梦见发大水, 水位高得我们只能躲在几十米高的半山腰的山洞里
在自然面前, 感觉自身是如此的渺小
非自然的也有过, 有次梦见自己在大学的一个花坛后面躲原子弹
结果一片白光中, 梦中的自己死了!

[转] Convert a LINQ Query Resultset to a DataTable [私人]

[ 2009-04-13 15:19:27 | 作者: progame ]
Convert a LINQ Query Resultset to a DataTable
After a long struggle I find out the way to convert a Linq Query resultset to DataTable object. The attached source code shows how to do it. I am sharing this article with my developer friends and make their life easier.

Here are two samples.

Sample I:

I created a public method called LINQToDataTable as following:

public DataTable LINQToDataTable<T>(IEnumerable<T> varlist)
{
DataTable dtReturn = new DataTable();

// column names
PropertyInfo[] oProps = null;

if (varlist == null) return dtReturn;

foreach (T rec in varlist)
{
// Use reflection to get property names, to create table, Only first time, others
will follow
if (oProps == null)
{
oProps = ((Type)rec.GetType()).GetProperties();
foreach (PropertyInfo pi in oProps)
{
Type colType = pi.PropertyType;

if ((colType.IsGenericType) && (colType.GetGenericTypeDefinition()
==typeof(Nullable<>)))
{
colType = colType.GetGenericArguments()[0];
}

dtReturn.Columns.Add(new DataColumn(pi.Name, colType));
}
}

DataRow dr = dtReturn.NewRow();

foreach (PropertyInfo pi in oProps)
{
dr[pi.Name] = pi.GetValue(rec, null) == null ?DBNull.Value :pi.GetValue
(rec,null);
}

dtReturn.Rows.Add(dr);
}
return dtReturn;
}

---------------------------------------------------------------

Example: To use this method, just use the following code sample:

---------------------------------------------------------------

var vrCountry = from country in objEmpDataContext.CountryMaster
...

阅读全文...

<<紫川>>终于完结了

[ 2009-04-13 00:14:54 | 作者: progame ]
在不抱希望的情况下, 偶尔看了下连城网站, 发现居然更新了, 复制到手机里看, 发现居然完结了

这书是从什么时候开始写的呢, 看一段作者的自述:
2001年的六月夏天,猪还是一个青涩的、等待毕业的大四(百度)学生,一时信手抬笔,在一个小时四块钱的黑心网吧里写了一个小故事。
在当时,猪是万万没有想到这个信手而来的小故事竟会发展到两百五十万字的故事,甚至改变了自己一生的命运。
八年了,即将完结,回首过去,猪真心地感谢大家,感谢一直不离不弃的读者们,感谢那些在出书过程中不断地给猪鼓励和帮助的朋友、评论和编辑,没有你们的支持、鼓励和关注,猪是坚持不下来的。

正如以前看到一位读者说
她追此书硬是从自己读书追成了自己的小孩也开始读书
大家看得艰辛, 作者写得更艰辛
一辈子, 能够做件可以流传下来的事
值了
Securing Silverlight Application and WCF Service using ASP.Net Authentication Techniques
January 7, 2009 — Syed Mehroz Alam
Ads by Google
WPF Controls & Consulting
For Designers and Developers by the leading WPF experts - IdentityMine
www.blendables.com

Security is an issue that experts are discussing since the birth of Silverlight. A typical enterprise Silverlight application will consist of one or more Silverlight pages communicating with one or more WCF services. There are three major security concerns here:

Silverlight 2 supports communication with a WCF service in simple text (the basicHttpBinding), so anyone can use a packet sniffer (e.g. Fiddler) to read our data.
Anyone can access our WCF service, call its methods and get our data.
Anyone can download our Silverlight application (the .xap file), open it (since it is simple a zip file), extract the dlls and use Reflector to read all our code.
The first problem can be solved by securing the transmission via transport security (using https protocol). More on this can be found at msdn here. In this post, I will try to address the last two issues.

The good thing is that the Silverlight application and WCF service is hosted inside an ASP.NET website and luckily ASP.NET provides good tools around authentication so we can apply ASP.NET authentication techniques to secure those. The approach I like is to secure the entire ASP.NET web application using either Windows or Forms authentication and deny all anonymous users. This can be done by configuring the web.config as:

view plaincopy to clipboardprint?
<authentication mode="Windows"/> <!-- or Forms -->
<authorization>
<deny users="?"/>
</authorization>

<authentication mode="Windows"/> <!-- or Forms -->
<authorization>
<deny users="?"/>
</authorization>
This way, if anyone tries to access ...

阅读全文...

转:ERP与十四顶帽子 [私人]

[ 2009-03-28 10:32:35 | 作者: progame ]
从前,有个人买了块布,去找裁缝做一顶帽子。他说:"用这块布做一顶帽子。"裁缝看了看布,说:"没问题。"那人听裁缝回答得干脆,又看了看布,觉得做一顶帽子还有得多,就问裁缝:"那如果做两顶呢?"裁缝又看了看布,回答:"可以。"那人听裁缝这么回答,越发觉得布多,又问:"那么做三顶呢?"裁缝又回答:"可以。"……最后那人留下布,裁缝答应做十四顶帽子。交货的日子到了,那人来取帽子。裁缝如约拿出了十四顶帽子,只是这十四顶帽子一般大小,都只够戴在手指头上。那人骂裁缝:"我要的帽子是能戴在头上的,你做得那么小,让我怎么戴?"裁缝苦着脸说:"这么一块布,要做十四顶帽子,当然只能戴在手指头上了。"这是一个老段子。

  时间又过了五百年……裁缝变成了ERP实施顾问。那人这次准备了一笔钱,请顾问在他的公司实施ERP系统。裁缝(这时应该称作ERP实施顾问了)看了看这笔钱,说:"没问题。"

  那人说:"对于ERP我们公司是重视的,只是公司的第一把手,第二把手,第三第四把手……这些老总们都日理万机,所以具体问题你们可以和业务人员一起决定,大问题可以等到每月项目进度会上向X总汇报。"

  评语:第二顶帽子。根据北美地区的调查,ERP项目实施成功的首要因素是公司高层的支持。注意:这里的支持是指实际上的支持。ERP的表象是一套软件,但这仅仅是表象而已,其实质是企业新的业务流程。如果你已经忘记了当初选择实施ERP的原因,那么现在最好回忆一下:是快速增长的业务?是捉襟见肘的管理?是日益高涨的成本和库存?是部门间日益困难的协调和沟通? 还是因为厌倦了救火大队长的角色?或者笼统地说是为了提升企业的竞争力?如果原因和这些情况有关,那么现在,在ERP实施中给予快速而具体的高层决策,以及公开表明的态度是完全值得的。试想如果企业高层对于企业将来的内部管理流程吝啬时间,那究竟还有什么是值得关注的呢?把ERP实施中的决策丢给你的项目组和"裁缝",或者让他们来猜测你的意图,或者企业高层本身对项目持有保留或观望的态度,这些做法都是对ERP项目最为有害的第二顶帽子。另外,即使是因为什么别的原因选择了ERP,如果还想让它成功的话,请不要把它丢给你的项目组和"裁缝",因为这将使他们陷入孤立的境地和不公平的待遇,而企业也将失去一次飞跃的机会。

  那人说:"我们的人手很紧,业务骨干都已身负重任,所以关键用户只能很少,而且都不能是全职搞ERP,或者我可以找一些新招的毕业生,让他们边学业务边学ERP。"

  评语:第三顶帽子。业务骨干之所以为骨干,是因为他们了解公司的运作,经验丰富,踏实肯干。还有什么人比他们更适合担负ERP关键用户(Key User)的重任?不要等到系统上线前才发现流程不对,这时你不得不使用他们,而返工永远更为吃力。把关键用户的责任推到顾问这一边,是否真占了便宜?其实只是第三顶帽子而已。而且一旦项目结束,你连一支管理新平台运作的队伍都还没有建立起来。

  那人说:"我们公司向来人员跳槽频繁,所以项目关键用户和业务骨干会经常变化。"

  评语:第四顶帽子。第四顶帽子造成的麻烦可不小了。很多心血付诸东流,而实施服务方对此是无能为力的。虽然人员流动的损失可以靠合理的知识管理弥补。但是想办法让你的关键用户队伍保持稳定,这可以大大节省顾问们的重复劳动,除了不断培训新人,他们还有很多更重要的事要做。

  那人说:"我们认为ERP对公司的将来很重要,所以项目必须要有很好的文档管理,比如当前流程、业务蓝图、系统配置文档、系统开发文档、测试脚本、培训教材、会议记要……这些文档都应当由实施服务方完成。"

  评语:第五顶帽子。文档管理真的很重要,但并不是所有的文档都一样重要。不要把自己定位成一个挑剔的看客。有些重要的文档应当和顾问一起完成,因为将来使用这些文档的是你而不是他。还有一些文档完全可以由关键用户和项目秘书承担。在有些项目中你会发现顾问们的专长好像是Office,而不是ERP。这时应当反省一下你是否在让他们忙于做第五顶帽子。

  那人说:"我们发现ERP中还有这些,这些,这些……的功能,我还有这样,这样,这样……的想法。你们应该都实施进去。"

  评语:根本意义上的第六顶帽子。现代ERP软件涵盖了企业运作的各个方面,功能之丰富难以想象,而项目必须有合理的范围(Scope)控制。随便找一本项目管理的书,它会告诉你失控的范围像森林大火一样可怕。一个人吃饭都会眼大肚子小,企业的消化能力更是往往比管理层期望的小。

  那人说:"组织结构变动在我们公司是司空见惯的,如果在项目过程中发生的话,项目内容也必须做相应的调整,无论是人员上还是系统设置和数据准备上。"

  评语:第七顶帽子。不变的企业是死亡的企业,但很多企业也是给不停的变动折腾死的。ERP本身是灵活的,对于企业结构的...

阅读全文...

转: DIY仓库“管理系统” [私人]

[ 2009-03-27 17:41:28 | 作者: progame ]
来源:中国物流   作者:陈思运

  目前企业所使用的众多信息系统,诸如WMS仓库管理系统、TMS运输管理系统、SCM供应链管理系统、货代管理系统等等,无一例外的都叫做“管理系统”。
  既然叫做管理系统,那它具有的功能应该是管理企业的某一具体领域,比如WMS管理企业的仓库,TMS管理企业的运输,SCM管理企业的供应链,这里有一个很突出的字眼:“管理”。
  这些软件起到了管理的功能吗?
  
  补上管理系统大漏洞:计划
  
  管理,被学者和经理们引用最多的是以下定义:管理就是在特定的环境下,对组织所拥有的资源进行有效的计划、组织、领导和控制,以便达成既定的组织目标的过程。人们大多采用美国学者哈罗德孔茨的管理过程理论,将管理的职能划分为:计划、组织、领导和控制。
  我们可以这样定义管理职能中的“计划”,就是在事情发生之前,对其进行预测分析,形成有效的解决方法与步骤来解决问题。可惜这一点,很多所谓的管理系统都没有办法实现。我们以WMS仓库管理系统为证。
  我们来构建一个仓库的现实环境。下图是某仓库的平面图,看看仓库里面都发生了什么。
  先来看整个物流中心的平面布局:左下角是物流中心的进出大门,所有车辆的进出都要由此经过。右下方是一个堆场,作为进出车辆的暂时停放区域。正中的A栋建筑物与B栋建筑物是两座功能相互独立的仓库。仓库内部红色的部分为货物储存区,黄色的部分为货物分拣区,分拣区之间有自动输送线相连。
  整个物流中心运作的流程基本是这样:企业的采购中心向供应商下达订单之后,供应商在按订单送货之前发出ASN(预收货通知单)到物流中心。物流中心收到ASN之后,判断储位的储存能力和仓库其他的资源能力是否可以收货,如果可以收货向供应商发出送货指令;如果现有资源不允许收货,则向供应商发出指令告知如何送货。
  供应商根据送货指令到达仓库之后,要先去堆场,调度车辆,之后要得到定单。定单那一块有两个仓库,两个仓库根据他调度到某一个月台做出货的动作,或者是收货的动作。
  
  提炼物流中心14个流程
  
  整个物流中心可以划分为14个流程:从车辆进大门之前有一个预收货的处理,到大门的闸口管理,闸口管理更多的是对于车辆的调度,体现在车辆来了之后,是不是应该让它先去堆场,还是先到月台卸货?
  去了堆场之后,有一个处理,这个车辆应该怎么停,堆场调度出来之后,会有一个月台的管理,包括入库、上下,会有一个诸如QC的工作,这并不一定每个行业都做。
  再往后是一个补货的动作,从储存区往分拣区发货,如果要拆零的话,要有一个复核包装的动作。出完货后,这个定单可能被拆成四份,放在不同的区域进行分拣。
  之后要考虑一个合流的问题,要把它合流到哪个暂存区去,怎么样处理合流的东西。之后有一个月台发货的过程,这中间可能会有一个月台的处理,之后是仓库里面的盘点的流程。
  
  制定9项应对策略
  
  所有物流中心的操作可以用这14个流程来涵盖,但是在物流中心运作流程中,需要把握以下9大关键点,并制定出相应的策略:
  预收货处理(资源分配策略)。在供应商送货之前,供应商发出ASN,物流中心根据仓库内的可用储位的量和人力、设备的能力,来确认是否可以对该ASN进行收货。如果可以,返回信息让供应商依据该ASN送货;如果不能收货,则返回信息让供应商暂缓送货。
  堆场管理(资源分配策略)。车辆到达堆场,车辆依据何种顺序进出。
  入库管理。货物进入仓库,系统要判断该批货物是否要上架,如不上架应该放在何处。
  上架管理(上架策略)。一旦货物要上架,则要考虑如何上架,哪个储位对货物来说是最好的储位,既不会上架困难,也不会取货不便。
  订单处理(波次分配策略)。客户的订单到达仓库之后,需要对订单进行处理。订单如何处理?是按时间,还是按运输路线,或者按拣货区域进行订单处理?这就是所谓的波次分配。
  补货管理(补货策略)。订单经过波次处理,下达到拣货人员手中。这时首先要进行补货作业。补货通常的做法是货物先从储存区下架,然后运送到分拣区上架,这时所涉及到的是货物的下架策略与货物的上架策略,补货管理可以看成是两者之间的结合。
  拣货管理(任务分配策略)。订单经过波次处理,下达到拣货人员手中以后,拣货人员开始拣货。虽然大多数情况下,拣货人员是根据拣货任务,分区拣货以减少走动的距离,但是往往会出现任务分配不均的情况。如何解决这一现象,就需要有一个好的任务分配策略。
  复核包装(拼箱策略)。货物被分拣出来之后,有可能会产生半箱的现象,这时候就需要有拼箱作业。如何拼箱以达到最快的拼箱效率与最小的箱用量,这是值得考虑的。
  集货管理(集货策略)。货物被复核包装之后,需要进行到暂存出货区的集货,因为货物不是同时被分拣出来的,需要进行集货策略的控制。
...

阅读全文...