半年

去年10月份时候,进入了一家做信息化的上市公司,带着对未来的憧憬奔向了广州,半年中,历经数个小项目,发现其实是小作坊开发模式。虽说能学到一些编程之外的东西, 但毕竟不是系统的开发模式,今年5月回了学校就辞职了。

7月份时候,工作机会似乎已经趋向饱和,我急急忙忙拿了一份Offer,从事.net的企业信息化开发。虽然我志在Web 2.0方面的开发,但是权衡再三,还是到南京的研发中心。

新岗位是.net Web开发,我由Java开发人员转为.net开发人员。我对语言的选择本身不是很在意,甚至那时候认为语言其实是工具,思想和设计才是核心。我所 就职的部门负责产品之外的特殊需求专案开发,基于.net平台开发ERPII产品,包括工作流、CRM等等。

从事.net开发之后,才感觉到Java开发的各种好处:各种开放的框架提供了自由选择发挥的平台,实现一种需求的方法有N+1种方式,并且能够跟进较新的技术,满足 自己学习的渴望。.net虽然也很强大,但我总觉得微软提供的工具想让开发人员傻瓜化(在ASP.NET MVC出来之前,Web Form的开发模式让我很不爽)。

公司的Web产品只能在IE6下运行 ...

more ...

C#+VBA操作Excel总结

Excel在日常办公中应用非常广泛,这次我接到一个案子,需要往Excel中写入数据并能够打印出固定格式,前前后后大概花了将近2星期才搞定,现在做一些分享。

一、关于操作Excel的几种方式

我们导出Excel,大抵是有两种方法,一种是在服务器端用一些类库或者COM组件直接生成Excel成品,其二是在后台只写入数据,而不写入具体格式,等用户下载完 Excel之后再在客户端上利用vba生成Excel成品。

1.1使用"自动化"功能-后台生成成品

微软把后台使用COM组件称之为"自动化",其实它本身是不建议这种用法,在257757 号文章(服务器端 Office 自动化注意事项)也明文标出"Microsoft 目前建议不要从任何无人参与的、非交互式客户端应用程序或组件(包括 ASP、DCOM 和 NT Service)中进行 Microsoft Office 应用程序的"自动化",也不为此提供支持,因为 Office 在这种环境中运行时可能会出现不稳定的现象并且/或者会死锁。"

这种方法的优点是给用户更简洁的展现,毕竟原生的Excel成品比半成品来更容易接受,而且可以避免宏安全问题 ...

more ...

脑袋大,脖子粗~

不是大款就伙夫~

昨天几个同事过来玩,我就下厨做菜了,哈哈,上两张图。

原料哈

大功告成

依次为:油面筋掐肉、番茄鸡蛋、韭黄鸡蛋、地三鲜、红烧鱼、番茄酱黄瓜,还有一个煨的排骨汤没端上来~累死我了~从来没烧过这么多菜~

话说地三鲜原来这么麻烦,在文静童鞋指导下面,依次食材过油,费了将近半小时才弄好~

more ...

一周Python小记

上个星期以来忙里偷闲一直在写一系列小型的代码生成器,完成一些从需求到结构化代码生成和验证作业。这个小东西是用Python写的,我简单分享一下中间所得。

一、配置文件

1、YAML格式

数据库连接信息和作业相关信息是存放在数据库中的,配置文件形式可以有很多种选择:XML / ini / txt,我这里选择YAML作为存放。

YAML使用起来相当方便,能够自动解析成对应语言中的变量,比如列表解析为列表,数字文字分别解析成对应的格式变量。

之所以选择YAML,是看中它对语言的亲和性和可读性,GAE的配置文件就是YAML格式。YAML的语法相当简单,用:来分隔key: value,用 - 来分隔列表,注意点是缩进需要用空格,关键符号和内容之间要加上一个空格。我的配置文件如下:

taskId: PQMI06
taskName: 测试建制作业
author: alswl
confirmId: 20101025xxx

headFiles:

  • head1.txt
  • head2.txt
  • head3.txt
    bodyFiles:

  • body1.txt

  • body2 ...
more ...

Python读写剪贴板

最近在写一个CodeGenX代码生成器,说是生成器,其实是目前只完成一堆零散的脚本。这些脚本的调用方式一般是从某个txt中读取数据,再写到另外一个txt中。

由于某些数据变动频繁,导致我操作txt次数大增,我怒了,就找了一个脚本自动读写剪贴板。

#coding=utf-8
'''
读写剪贴板
'''
import win32clipboard as w
import win32con

def getText():
  w.OpenClipboard()
  d = w.GetClipboardData(win32con.CF_TEXT)
  w.CloseClipboard()
  return d

def setText(aString):
  w.OpenClipboard()
  w.EmptyClipboard()
  w.SetClipboardData(win32con.CF_TEXT, aString)
  w.CloseClipboard()

别说有了这个脚本用起来还是蛮方便的,建议丢到Python的lib下面,然后可以方便调用。

如果双击 .py ...

more ...

在Win7上面使用Standalone Network Extender

用Win7大概1个月了,的确很不错,本来试用的心态变成了完全不想回到XP时代了。

Win7的UAC比Vista已有很大的进步,至少不是那么烦心了,但是仍然很多场合都不能与以前旧版本的一些软件配合默契。

比如公司用的这款VPN软件-Standalone Network Extender。

这款软件是Billion BiGuard公司推出的SSL产品,通过IE载入一个Active插件来连接公司内网。我在以前XP时候很轻松连入,先在却死活无法连接 成功。我看了一下版本:build:Sep 7 2009-14:06:08,在Billion BiGuard公司的主页也没有找到适合Win7的新版本。

我猜测VPN软件需要修改系统底层参数,可能需要管理员权限,就试用管理员权限打开IE,果然,顺利连接成功。

嗯,以后使用古董遇到一些比较怪异的问题,如果它是安全可靠的,就可以试试管理员权限了。我是不推荐关闭UAC的,权限机制虽然烦,但是可以保证一些系统权限不被开放 。

more ...

Update_10_10_11

  1. 十月份还没写过东西呢,于是Update一次。
  2. 国庆节参加同学婚礼,呀,人家都结婚了,我还单身,是不是该考虑考虑了呢~
  3. 最近工作有点忙,没刚进公司时候那么悠闲了。
  4. 南图的书四本在手上,还没有看完,发现用XMind做读书笔记挺不错,直观,方便。
  5. 晚上回家似乎都不怎么写代码,GR还堆了一坨没看,光顾着玩了
  6. 最近看的书《Python 学习手册(第三版)》、《Web界面设计》、《完美代码》、《Web Designer Idea》、《ASP.NET 3.5揭秘(卷2)》。
  7. 技术上面的积累零零碎碎挺多,记录在Wiz,挺难组织分享,遂罢。
more ...

小脚本mm->html

我同时在使用两套信息记录工具,知识收集记录工具BooguNote + KMS Wiz,关于这两套系统具体介绍请见桌面记录神器- BooguNote & 我所使用的知识管理系统

我的使用习惯是在BooguNote中收集日常的琐碎知识点,包括我所想的和工作记录。每个小知识节点的长度大概在200-300字左右。这些被我称为的知识碎片显然 不能直接放入KMS。

BooguNote可以将里面的文字直接复制出来,会在父亲节点上加入+,子节点加入-,这种简单的txt不能满足我的要求。于是我花了点时间写了一个mm文件到ht ml的转换脚本。

BooguNote的文件格式是boo,可以转换成FreeMind的思维导图格式.mm,我认为用mm作为源数据格式适用范围更大。

#coding=utf-8
from xml.dom import minidom
import sys
import os

class MM2Html:

'转换MM->Html类'

def init(self):

self.html = '''<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1 ...

more ...

我所使用的知识管理系统

最近工作比较忙,自由上网的时间被大幅度减少,加上在啃.net的书,所以能够分享的东西就不多了。公司所在的部门需要将PMS和KMS整合在一起,正在对KMS进行 选型,我就趁这个机会把我使用知识管理系统的经验分享一下。

一、知识管理系统(KMS)

简单说一下知识管理的定义:指个人或团体通过工具建立知识体系并不断完善,进行知识的收集、消化吸收和创新的过程,这其中使用的工具也就是KMS。KMS应该帮助我们 队只是进行采集、精炼、索引、分类、检阅、检索、搜索的功能。

不多解释KMS了,省的看大段文字心烦,想做理论深入的去最下面的相关链接查找吧。

二、我想要的KMS

我理想中的KMS应该能够满足一下几点要求。

1、数据保存格式

数据的保存格式关系到知识的完整性和呈现方式,这是我最看重的一条。我理想中的保存格式是能够内嵌媒体信息,可以自定义内容的样式,最好是用大家比较习惯的文档体系, 比如h1/h2/h3/p/br/ol/li。在内嵌媒体内容的同时也要能够在知识点外挂其他类型文件,比如Excel、知识导图,甚至exe可执行文件。

数据保存格式也要考虑数据的移植性 ...

more ...

恶心的Yahoo Group

image

这段时间一直受到来自YahooGroup的垃圾邮件,最早出现一封确认邮件,我当时粗粗看过,全英文,心想自己没有订阅过什么Yahoo Group的邮件组,应该只是一封纯粹的垃圾邮件。

可惜我错了,接下来几天来自Yahoo Group的垃圾邮件虽然不至于铺天盖地,不过也给我的Gmail造成了很大困扰(好在GMail垃圾邮件过滤功能强大)。

晚上回来Google了一下"YahooGroup 垃圾"关键词,果然有朋友遇到一样的症状,alswl在这里附上解决办法。

&nbsp_place_holder;先連到 My Communication Preferences 查看自己的 email&nbsp_place_holder; address

&nbsp_place_holder;在 Option 下點選 Edit

取消勾選這兩個項目

&nbsp_place_holder;&nbsp_place_holder;&nbsp_place_holder; * Allow group moderators to directly add me to their groups

&nbsp_place_holder;&nbsp_place_holder;&nbsp_place_holder; * Allow ...

more ...