Ubuntu安装之后设定操作

前几天使用chmod时候,多打了一个/,导致根目录下面所有文件权限设定出了问题,额~重装系统吧,正好把装系统之后的配置过程记录下来。

这些都是我操作过的命令,确切可靠,适用于Ubuntu 10.10 Desktop Edtion。

= init Linux programs and setting =
:author: alswl
:email: alswlx#gmail.com
:toc:
:numbered:

== first of all ==

.update (打补丁、升级)


sudo apt-get update

Update System(fix bugs for sercurity): 299.0MB


.reset permission(谨慎使用,设定文件为644,设定文件夹为755)


find /home ...

more ...

Maven 下 Jetty 启动

部门最近开发的产品使用的开发服务器是 Jetty(挂载在 GWT 中),启动方法是通过 Eclipse 的 External Tool 执行。我对此表示很好奇,特意在自己电脑下面组建了一个 Jetty 开发环境,发现 Maven 和 Jetty 合作起来非常愉快,现在小记之。

准备 Maven 配置文件

我使用 Maven 推荐的标准 webapp 结构,结构如下,官方文档可以参考 Maven - Introduction to the Standard Directory Layout

  • src/main/java
    • Application/Library sources
  • src/main/resources
    • Application/Library resources ...
more ...

Ubuntu桌面自动换背景

GNOME桌面系统可以使用一系列的图片作为背景,每过一段时间能够自动更换。这个功能核Win7下面自动换背景效果一致。不过很可惜,系统自带的可自动更换图片集只 有几张,也找不到什么按钮可以直接设定。

下图就是系统自带的两个图片集(第二行第一组和第二组)。

image

我们可以通过撰写xml自己制作图片集,xml格式模板在/usr/share/gnome-background-properties/cosmos.xml ,实际的xml存放在类似于/usr/share/backgrounds/cosmos/background-1.xml的配置文档里面。

除了手工撰写xml,我们还可以通过crebs小软件来自动生成xml文件。

官方介绍如下:

A background slideshow creator for the GNOME desktop wallpaper.

The GNOME desktop is able to use a sequence of images for its background ...

more ...

历史记录-歌词复制器

之前写过一个Java的小工具叫做Mp3Lrc歌词复制器,用来复制歌词到Mp3播放器中的对应目录下面。之前的文章参见Mp3Lrc的可执行文件Java写的Mp3歌词复制器

这几天整理硬盘时候发现大四时候还用Delphi写了一个完整的GUI界面的Mp3歌词复制工具叫做PLrcMatch4D。

源码已经丢失,只剩下可执行文件,T_T。

如果非要定义以下这个工具的作用,就是从某个固定文件夹(歌词文件夹)复制对应Mp3播放器中歌曲的lrc文件到目标文件夹,从而让Mp3播放器可以正常显示歌词。

下载点击这里,PLrcMatch4D.zip

界面比较实在,大致是这样:

image

more ...


使用DataConnectionDialog来获取连接字符串

在系统开发中,数据库连接字符串经常被保存到.config/.ini等配置文件中,以提高系统的灵活性。上大学时候,为了实现灵活配置数据库的效果,用拼字符串的方 法来动态生成连接字符串,这种方法充满了Bad Smell。

昨天用CodeSmith时候,看到它的数据连接配置界面,如此的眼熟,如下图。

image

Google了一下,原来这家伙的名字叫做DataConnectionDialog,所属命名空间为Microsoft.VisualStudio.Data。

使用的方法也很简单,引用Microsoft.Data.ConnectionUI.dll和Microsoft.Data.ConnectionUI.Dialog .dll,这两个文件位于Microsoft Visual Studio 9.0Common7IDE下面。

这两个dll并没有其他依赖关系,可以放心的放到自己的程序中使用。

使用代码如下

DataConnectionDialog dataConnectionDialog = new DataConnectionDialog();
DataSource.AddStandardDataSources(dataConnectionDialog);
if (DataConnectionDialog.Show(dataConnectionDialog) == DialogResult.OK ...
more ...

在.net中使用GAC

GAC

GAC是什么?是用来干嘛的?GAC的全称叫做全局程序集缓存,通俗的理解就是存放各种.net平台下面需要使用的dll的地方。GAC的具体目录在windows/ assembly。

喜欢使用破解软件的朋友可能会经常使用替换DLL这招,这个DLL虽然和.net下面的DLL有所不同,但大致起的作用还是一样的:使用共同的动态链接库来提高库复用 ,减少文件体积。在.net平台之前,程序们都把可能用到的公共DLL存放到system32文件夹下。由于版本的不一致及其他原因(将控制信息存放到注册表),造成 了很有名的DLL Hell

最近在读俞甲子的《程序员的自我修养》,中间花了很大的篇幅描述程序编译中 的链接这个过程。而比较巧合的是,我的《C#与.NET 3.5高级程序设计》也正好读到程序集这一块。微软使用了GAC来避免DLL重蹈覆辙。现在,我就来部署一个简单的通用类库到GAC中。

获取强名称(签名)

并不是随便一个DLL都可以放到GAC中,如果这样的话,和之前的DLL Hell也没什么区别了。GAC使用一个强名称(签名)的方式来区分不同的DLL。每个签名 都是独一无二的公钥私钥对。现在我们使用SDK的sn工具为我的DUtil库生成一个snk签名 ...

more ...

正则表达式抓捕替换

问题情境

需要将RDL报表里的GetComment( Parameters!F0001.Value , Parameters!F0002.Value ,"total", Parameters!Language.Value)函数修改为GetCommentForComment( Parameters!F0001.Value , Parameters!F0002.Value ,"total", Parameters!Language.Value, "ReportConnection0107")。

思路

使用正则表达式里面的分组进行抓获,再用1将中间固定的参数取出,组成新的字符串。

Vim实现

%s/GetComment(((sw+!w+.w+s,){2}s"w+"s,sw+!w+.w+s))/GetCommentForReport(1 , "ReportConnection0107")/gc

解释 ...

more ...

最简陋的GAE代理

年前换了一次服务器,之后发现Lifestream的Errors飙升到1000+错误,检查一下,发现是获 取不了豆瓣的rss链接。正好这台主机支持SSH,连入之后CURL了一下豆瓣服务器,发现Time out。

紧接着发现中国内的所有域名都无法使用CURL获取,联系小张之后,得知该主机曾经被入侵过,于是屏蔽了中国大陆的ip段(囧~入侵和中国ip有毛关系)

遂想用GAE做个代理服务器,反正获取RSS也只要Get一下,代码没几句。把这项任务放入Toodledo之后,就一直没去弄,今天发现GAE Laucher升级了,就部署到自己GAE上了。

地址格式如http://jasontiproxy.appspot.com/proxy?url=www.douban. com/feed/people/alswl/interests,url参数名后面跟着具体的url。

代码其实就是用urllib2获取一下html,核心如下。

1
#!/usr/bin/env python

from google ...

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 ...