Who is me

Subscribe to RSS feed

Hello Drupal 7

, , ,

我终于找到一个时间,将我一个已经在Drupal 6上跑了很长时间(约4年)的应用,转移到Drupal 7上。今天成果不错,搞定了基本的数据库API和简单的Pager,感觉上 Drupal 7 为了这个新的数据库API,后面做了很多事。明天争取把 form 也搞定。

Work with PowerShell

, , , ...

最近在调试校园一卡通与某个应用系统的数据交换。原理上说,应用系统需要从读卡器中读取卡片的物理卡号,然后通过查询数据库得出该卡片所属的用户,进而执行后续的操作。

按照一般系统设计的角度来说,一卡通应用系统应该提供一个SOAP或WebService的接口可以让其他应用系统进行远程调用,通过一系列复杂的认证、密钥、交换来执行相应的操作。但由于一卡通系统厂家不思进取,更确切的说是想垄断业务,没有提供这样的接口。那么结果就变成了应用系统需要自行维护物理卡号与校园用户代码之间的映射关系。那么就需要和一卡通系统之间进行数据库层面的数据交换。

现实的情况是一卡通系统跑在 Linux 下的 Oracle 数据库中,而应用系统跑在 Win2008R2 的 SQL Server 2008R2 下。考虑再三,决定把数据交换功能的程序部署在 Win2008R2 的服务器上。本来是想写一个 vb.net 的二进制程序,后来觉得太麻烦了,就赶鸭子上架弄了一回 PowerShell。

这是目前写的 Powershell 脚本:
C:\> type cardexport.ps1
#----------------------------------------------------------
# Get Data from Oracle original
#----------------------------------------------------------
# backup old content for diff later
mv E:\db\cardexport.txt E:\db\cardexport.bak -force

# now we export the data
( get-content e:\db\extractcard.sql ) | sqlplus -s USERNAME/PASSWORD@ECARDDATABASE | Out-Null

# produce data delta
compare-object (get-content e:\db\cardexport.bak) (get-content e:\db\cardexport.txt) -passThru | where-object { $_.SideIndicator -eq '=>' } | Out-File e:\db\cardexport.ins
compare-object (get-content e:\db\cardexport.bak) (get-content e:\db\cardexport.txt) -passThru | where-object { $_.SideIndicator -eq '<=' } | Out-File e:\db\cardexport.del


#----------------------------------------------------------
# Put data into mssql server
#----------------------------------------------------------
# produce data to insert
Out-File -FilePath E:\db\cardimport.sql -force -encoding ascii
import-csv e:\db\cardexport.ins -Header "zjh","cardserial" | foreach-object -process { Write-Output $_ | fw @{Expression={"insert into uniexchangecard (zjh,cardserial) values ('"+$_.zjh+"','"+$_.cardserial+"');"}} | Out-File -width 5000 -encoding ascii -append e:\db\cardimport.sql }

# produce data to delete
import-csv e:\db\cardexport.del -Header "zjh","cardserial" | foreach-object -process { Write-Output $_ | fw @{Expression={"delete from uniexchangecard where zjh='"+$_.zjh+"' and cardserial='"+$_.cardserial+"';"}} | Out-File -width 5000 -encoding ascii -append e:\db\cardimport.sql }

# now connect to sql server to commit
sqlcmd -S localhost -d ccmtool -i e:\db\cardimport.sql


原来发现,PowerShell 很强大,比我想象的强大得多。可以直接处理CSV的东西,也可以进行复杂的格式控制输出。作为服务器上直接执行的脚本语言是非常适合的。当然,这个脚本还可以写得更好,不过已经可以实现我的要求,非常OK了。

上文用到的 extractcard.sql,内容如下:
-- sqlplus -s USERNAME/PASSWORD@ECARDDATABASE < SCRIPT.sql >nul
set echo off;
 set feedback off;
 set verify off;
 set term off;
 set trimspool on;
 set linesize 3000;
 set newpage none;
 set heading off;
 spool e:\db\cardexport.txt;
 SELECT SMT_SALARYNO||','||SMT_CARDSERIAL FROM SMART.VIEW_SMART_CARDINTERFACE where SMT_ENDCODE='0' ORDER BY SMT_SALARYNO;
 spool off;
 /
 disconnect;
 quit;

M9 is coming

, , , ...

http://mobile.pconline.com.cn/review/1012/2293920.html

传说中的M9已经送达媒体评测了,正在考虑要不要入手一台。只是不知道移动的3G USIM卡能不能在这台机器上识别。关于SIM卡/USIM以及网络制式的问题,网上的人什么都不知道。

SIM、USIM说的是用户识别卡的物理格式,TD-SCDMA、WCDMA说的是网络制式。而用户可以接入什么网络,是由运营商根据手机自身的制式(前端)和用户合约(后端)二者比对进行控制的,和用户识别卡的物理格式没什么关系。

对于2G时代,中移动和中联通都为接入GSM网络的用户提供了SIM卡。这两家的卡在物理格式上是没什么区别的。也就是说,如果运营商不对用户合约进行控制的话,你是可以使用中联通的SIM卡接入中移动的GSM网络的。大家肯定还记得在联通网络覆盖率太低的时候,国家曾经要求在这种情况下,移动必须允许偏远地区的联通用户接入移动网络。这就是通过用户合约控制的例子。

在目前2G和3G混合组网的情况下,运营商的后台应该已经设置自己的所有用户都可以接入自己的3G网络,所以用户无需换卡,只需要换3G手机就可以接入3G网络。目前移动和联通对于各自的3G号段(157、158、188/186)的用户,使用的不是2G的SIM卡,而是USIM卡,并且由于技术限制,这些号段的用户只能使用USIM卡,无法使用SIM卡。也就是说,SIM卡无法烧入这些号段的号码。对于只支持SIM卡单一格式的手机,这些卡无法使用。这就是很多人反映这些卡无法在以前的手机中用的原因。

目前已有用户证实,在iPhone中可以插入移动157号段USIM卡,所以移动和联通的USIM卡物理格式应该是相同的。由于iPhone只支持GSM/WCDMA网络,所以这些用户只能接入移动的GSM网络;如果手机只支持WCDMA网络,而不支持GSM的话,那么移动的USIM卡插入后应该是可以识别,但提示无法注册网络。

这种情况类似于移动的TD无线座机,这是一种单模话机,只支持USIM卡,并且只配有TD芯片。从技术理论上说,如果你将2G卡片插入话机,应该是提示无法识别的格式;而将格式相同的联通3G USIM卡插入,应该是提示网络无法注册。当然,没有人实际进行这项测试,因为没有必要。

成均馆绯闻

最近一直在看韩剧《成均馆绯闻》。貌似今年同人剧很红啊,还有前一阵子的《个人趣向》,看来现在韩国的主流电视观众是腐女 whistle

不过,这部剧总的来说还是非常好的,中国人就从来没有想过把梁祝拍成校园青春偶像剧。整个电视剧华丽丽的场景和剧情,尤其是男主发现自己爱上舍友之后那种纠结的表情,以及看到他和别人打情骂俏怒火中烧又没法发作的样子,真的是太给力了。

还有那个貂蝉,如果没有后半段的急转直下,真的是人见人爱的姐姐啊。最让人感动的居然是皇帝给四人帮颁奖的时候,每个人的奖都不一样,而且根据每个人的个性不同直接触到他心里最柔软的地方。如果有这样的领导,是不是大家都会拼死卖命啊。。。

决定把这部剧尽快看完。其实这部剧的内容不具有什么争议,整体内容也是向上的,大陆是可以引进的。不过其中的同人色彩可能在审片的时候通过不了罢。

来台印象之一

, ,

经过相当复杂的手续,终于来到台湾。

第一印象是,台北的整个街道很干净,不像北京会有很多土。像北京,你走在大街上,也会有很多不知到从来哪里来的土飞过来,而台北好像不会有这种困扰。

第二印象是,同样是市中心,台北101、市府附近与北京王府井相比,真的区别很大。北京的高楼装修非常的华丽,而台北则是街头遍布各种小店,看起来和香港、上海属于一派的,相当的不大气。城市给游客的感觉,其实是政府的定位问题,这个不好评论什么。

然后就是综合消费水平还是基本和北京持平。如果以北京公交车普遍票价1元、台北公交车普遍票价15元为基准的话,出租车北京是10元起跳,台北是100元起跳;麦当劳的汉堡,北京是12元左右,台北是100元起;吃个路边摊或大排档,北京是20元左右,台北基本上是100至200。

最后就是台湾人都非常的讲礼貌耶~~~无论怎样都是“谢谢”结尾。你买个饮料,售货员就是谢谢光临的意思,你自己就是谢谢你卖给我的东西这么解渴。。。有一点比较奇怪的是,台北的公交车大部分是下车收票。所以是后门上车,前门下车,然后司机也会说谢谢。。

昨天去了故宫和阳明山。让人非常惊奇的是,阳明山这么大一个公园,居然是免费的。这要是在大陆,铁定是200元以上。不过阳明山真的有够大,搭旅游车也是大半个小时才转一圈,而且司机在山路上开得很猛,这方面和大陆是一样的 bigsmile
February 2012
M T W T F S S
January 2012March 2012
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29