Nie's Home

一个自言自语的地方

  • 首页
  • 关于
Twitter Sina RSS

系统之争

发布于 2012 年 5 月 20 日 由 nehnre
没有评论

今天遇到两件事情,勾起了我对系统的思考。一件是看到一篇文章,linux和windows之争的相关文章,主要是强调windows下能干的有意义的事情linux下都能完成,而linux下能做的事情在windows下未必能完成。作者也承认了游戏不是linux的长项,但他说游戏有更成熟的替代器,如PSP等专门的游戏设备比windows下的游戏体验性要好上很多;第二件事情是思考iphone下的开发,iphone的开发环境需要在mac os下进行,这使得我目前比较难办,要么买一台mac的设备,这是比较保险的一种做法,要么尝试虚拟机安装mac os,或者在x86机器上直接安装mac os。但这几种做法都存在着一个问题,我为了iphone的开发真的就要从自己熟悉的windows系统转到mac os上去吗?

确实挺难办的,所以才成就了VMWare和VMPlayer这样的软件,因为很多时候我们都需要多个系统,有时候仅仅是满足我们一方面的要求而已。我非常赞成并支持linux下编程的做法,所有的程序或配置都能用文本的形式描述出来,而不需要复杂的ide,因为IDE毕竟需要一个庞大系统的支撑,切换成另外一个系统就不是那么简单的一件事情了。刚看完linux下处理问题的优势,就让我遇到了IOS开发的难题,真是不得不说这是一个极大的讽刺,每个系统公司都想让自己的系统占为用户的主导,这就导致了用户选择上的障碍,开发上的障碍,我为了开发.NET程序不得不装一个windows系统,我为了开发IOS程序,不得不装一个MAC OS;为了他们,我不得不在linux, windows, mac os三者之间做出选择,或者三者皆用,但这样要耗费掉我们多少精力啊

虽然虚拟软件可以解决一部分的问题,但并不能解决全部的问题,一些系统升级带来了开发不兼容的问题迟早会出现,到时候还是不得不再寻找一些这样的设备来完成自己的任务

分类:技术 | 标签:linux, mac os, windows

c#对sqlserver中uniqueidentifier类型数据的as string 值为空白的问题

发布于 2012 年 5 月 9 日 由 nehnre
没有评论

从数据库取数据我们习惯用以下代码:

string title = rows[0]["title"] as string;

当取的数据是uniqueidentifier类型,如id,则我们得到的数据就会为空白,可用如下方法解决:

string id = rows[0]["id"].ToString();

这个问题困扰了我近半小时,我也一直坚信uniqueidentifier是另外一种类型的string,但好像其遵循一定的规律,如果不符合这个规律也会报错,所以我不太喜欢使用它来作为ID,但困于旧代码的限制,目前只好这样做

分类:技术 | 标签:c#, sqlserver

git-svn协同工作

发布于 2012 年 5 月 8 日 由 nehnre
没有评论

现在工作中已经离不了版本控制了,而作为两种目前比较流行的版本控制软件,SVN和GIT各有各的优势。SVN中小单位使用比较广泛,GIT作为分步式的版本控制更加能体现版本控制的独立性。在以往的工作中,我总是把它们分开来使用,因为现在不缺少git和svn的服务器,googlecode对两种版本控制都做了很好的支持。

但由于历史的原因,我还不能完全切换到GIT上工作,目前我们的项目大部分使用VISUAL SVN作为服务端,代码托管到WINDOWS服务器。在此之前我主要使用SVN客户端进行工作,但缺点显而易见,由于我们的SVN服务器是局域网,所以回家以后就不能再连到服务器,做的一些工作想做一个暂时性的保存是不可能的,如果能够整合GIT和SVN的各自优势,则就不会出现这些问题了。

而今天,最新版本的mysysgit和其外壳tortoisegit 已经完美支持git-svn和中文了,下面我说一下操作的步骤:

1、用git bash执行

git svn clone git https://svn-path/git

这句是针对visual svn的,因为大部分都是https协议的,又没有证书,如果不先用命令行你就没有办法选择和输入用户名密码,选择永久接受,并输入用户名密码,获取版本库

image

2、尽情使用git add, git commit ,git status, git log,然后git svn dcommit就可以了,期间你可以使用任何换基操作,最好不要跟原来的冲突,整合后再提交你的修改

3、tortoise git 的show log和diff相当好用,比命令行更加直观化,其blame可以让你看到整个文件的一生,让人有种时光穿梭的感觉

到此我才知道git提供换基与变基操作的真实含义,无论你在本地提交多少次,只要在dcommit前把这些合并一下,svn版本库里面就不会出现你合并前的操作记录,给别人看起来也更加清爽。

另外两个比较有用的设置,git bash虽然好用,但每次都要进行路径切换。可将git目录下的bin目录设置到path中,在工程目录按住shift右击,“在此处打开命令窗口”,就可以进行git操作了,如果ls会出现中文乱码,就直接用dir好了,这个保证不会有问题,使用git的相关命令也没问题,甚至你可以在任何地方使用vim编辑器了,多么酷的一个功能啊!

分类:技术 | 标签:git, svn, 协同工作

struts标签include页面不能显示

发布于 2012 年 5 月 7 日 由 nehnre
没有评论

使用struts2标签<s:include value=”bottom.jsp” />始终不能显示,但上面的<s:include value=”top.jsp” />能够正常显示,让我查了好久,原来是在bottom.jsp使用了一个标签,但语法错了,将value写成了vlaue,所以不能正常加载

这个错误浪费了我至少30分钟时间

分类:技术 | 标签:java, struts, 不常见错误

乐子

发布于 2012 年 4 月 30 日 由 nehnre
没有评论

有时候人要去找点乐子,不同的人所能得到乐子的方式可能不太相同。大部分女人可以去逛街,她们觉得只逛不买也是一种享受。而男人就被定义为买任何东西都有自己的目标,大部分时候我们也是这样的一个状态。有些人的乐子可能是单独一个人看看书,上上网,这些乐子并不花费太多的东西,对自己正常的生活也不会产生太大的影响,被我们定义为正常取乐的方式。但有些人,已经有了很多钱,读书的时间逐渐减少,对上网也没有什么兴趣,于是就要去找一些大乐子,比如去开车刺激一下,就出来了所谓的“欺实马”的出现。有些人对车也已经提不起兴趣来了,于是就去吸毒,因为这是他们没有尝试过的,所以这也是一个乐子点。

没错,他们本身没有什么错,因为人活着,除了忙以外就要找点乐子。对于一个刚刚开始上网的人来说,上网对他是很有吸引力的,那么上网就是他自己的乐子。对于一个刚学会开车的人来说,开车是很有吸引力的,开车就成为他的乐子。对于一个刚开始接触某种游戏的人来说,玩游戏就是他的乐子。而这些都不具备的人,以自己喜欢的方式买自己喜欢的东西也是乐子的一部分,前提是要量力而行,不然就会影响到自己的正常生活。

一种乐子是随着时间的推移而逐渐消失的,所以我们今天可能对开车感兴趣,过几天就会对吸毒感兴趣了。而乐子也随着经济地位的提高而逐渐提高的,就像有个日本人,去了一次太空,回到地球上就再也找不到活着的意义了。因为他把自己终极梦想都完成了,人生不过如此,所以也没有再活着的必要了,他再也不能找到一个能刺激到他神经的乐子了,于是就选择了自尽的方式。

幸好,我还那个经济实力用掉自己所有的乐子,我没钱买房,就保留了对房子的向往;没钱买车,就保留了对车的向往;经济实力不足,就保留了对毒品的“向往”。但短暂的休息时间也会出现找不到乐子的时候,出现一种真空的时代,这个时间我会去看一些购物网站,目前的计划都是只看不买,这样才不会对自己的经济产生一定的影响,而影响我追求更大的乐子。但很多时候,更想买回一堆自己并不太用的着的小东西,也许这样才能弥补一下自己只看不买的状态

其实考虑下来,我花钱的大头还真是在电子产品和衣服上面,多少人不是呢

分类:生活 | 标签:乐子

convention-plugin struts2 零配置

发布于 2012 年 4 月 28 日 由 nehnre
没有评论

相对于是其他语言来说,java的轮子实在太多了,好用的不好用的一股脑的全部上来。能用的不能用了,只要你用在了你的项目里面,就说明你牛B。struts + spring + hibernate虽然已经成为现在java开发的主流,但我却一点也不敢苟同,其学习成本高,开发效率低下,开发出来的东西速度没保证,安全性也不能得到明示提高,实在搞不明白,因为一个小功能,其他语言一天能搞定的事情,要花一周的时间拱框架,再花一周的时间开发,开发出来的功能经过测试性能又达不到!

我们现在关注的地方应该有所转变了,我认为主要有两点需要提高,中间跳来跳去的环节都免了吧:

1、提高安全性,无论数据库注入的安全性,还是XSS跨站的安全性,在开发中应该让我们多注意这些方面的东西。

2、提高用户使用的舒适度,UI的提升也是必不可少的一个环节。

也许很多人会说,没框架不能协同,没框架不能很好完成大型项目开发,但我觉得,只要有一套良好的代码规范,并且所有开发人员都按照这个规范去做,无论用什么语言,开发多么大型的项目,所得到的结果都是良好的。为了代码的安全性与可回溯性,版本控制软件也必不可少。

今天接后一同事的项目,要在这个项目上改造成另外一个项目,并提供给别人使用,SSH框架,理论上来说整个开发过程应该还是比较熟悉的,唯一不知道的是他使用了convention-plugin实现struts的零配置,0配置就代码你使用默认配置,这就导致了我在配置文件里面找不到他页面跳转的路径。当然,查看他的jsp主目录很快就能看出其中的规律,但不知道他的默认配置写到那个地方还是让我心里有点不舒服。

于是google了一下其默认路径WEB-INF/content才知道,原来这是convention-plugin的功能,其配置当然在其jar包里,对开发人员是透明的,当然你也可以在struts.xml里面修改其默认配置。

分类:技术 | 标签:convention-plugin, java, struts, 零配置

git跟金山快盘实现私人代码协同开发

发布于 2012 年 4 月 26 日 由 nehnre
没有评论

使用github和googlecode都有一个问题,如果你不愿意为些付费的话,就只能把自己的代码公开。有没有一种即免费又可以使用git进行协同开发的工具呢,经过探索与技术的进步,金山快盘已经具备了这个实力

1、安装git客户端和Tortoise Git(更好支持中文)

2、安装金山快盘客户端,最好新建一个账户仅用于同步代码使用,或者新建一个目录同步代码

3、在金山快盘建项目目录,将使用

image

4、勾选Make it Bare,点击OK就建好了一个空的仓库image

5、将项目目录推送到快盘目录(要自定义快盘目录,并选用英文名称)

这样就可以实现本地代码与快盘上的bare库的同步了,现在快盘对碎小文件的同步速度也有了大大的提高,所以基本不用担心速度问题。

接下来该讲一下怎么样协同操作

1、将这个项目目录共享给快盘好友

image

 

2、填写你好友的快盘账号,赋予可编辑权限,点击应用就可以了

image

3、通过你好友的快盘,查找到共享的这个目录,并使用git clone到本地,这样就实现了两的同步

同样,加人的操作都是通过快盘来实现的。这样就完成了多人协同开发的问题。

这里有一个问题,快盘并不像github 或googlecode那样可以判断多人同时提交的问题,如果快盘出现同步提交时会出现后者覆盖前者的问题,所以在一个人提交完成未同步完成时,另外一个人千万不要同步代码,不然可能会出现不可预料的问题。

不管怎么说,这样就实现了不花钱托管私有代码的目的,而且还能通过简单的操作实现多人协同开发,不得不说是开发人员的一大福音啊

分类:技术 | 标签:git, 协同开发, 金山快盘

互联网公司的赚钱方式

发布于 2012 年 4 月 17 日 由 nehnre
没有评论

广告赚钱是大部分互联网公司赚钱的一种方式,纵观现在的手机或PC上的软件,大部分国产的应用软件都是免费的,又免费,又要保证一定的质量,必须想出一种赚钱的方式,那么广告或者点击付费的模式就成了一种选择。

作为一个软件开发人员,特别喜欢自定义的东西,最不能忍受的是我的行为给某些公司带来了流量,广告影响了我的使用,我可能因此而不再使用它。而这种放弃的过程是很快的。但现在想想,这样的做法何尝不是一种冲动呢?有些东西真的做的还不错,但由于它有广告赚钱的目的,我就唯恐避之不及,每当有人提起它的时候就离的远远的,好像如果使用它我将自矮三分一样。

现在明白了,好的东西我们就使用,如果能够让你用着舒心,并且还能够给别人带来利润,双赢的结果何乐而不为呢?很多时候我们都被这种恶意商给搞坏了,一定不能让任何一个人得到我的钱,其实真的没有这个必要。就做个假设来说,如果五笔输入法说以后使用要按月收费,怕我还是要使用这款输入法的,因为它在我生活中起了很大的作用,无它就不能这么顺利的写出文章,写出代码,写出测试报告等。

当然,赚钱也要看时机和场合,不是所有的地方都适合值钱去体验一些东西的,也并不是所有的人愿意去付费体验你的东西,所以还要综合考虑一下购买人的经济实力,考虑一下群体性,制定出多套不同的方案来供人们选择,这样才能持续长久的发展,才有动力再创新,再提供新的更好的服务以吸引更多的,良性循环

分类:感悟 | 标签:互联网

使用googlecode代替静态页面托管平台

发布于 2012 年 4 月 16 日 由 nehnre
没有评论

googlecode是我常用的代码托管平台之一,由于后来git的出现,而googlecode当时不支持git托管,所以转向了github。但大概一年前,googlecode 支持了git,不过大陆访问不方便,于是也就没有及时转换,直到近期,再次发现git已经可以从大陆正常使用了,所以把部分静态的文件托管到了googlecode。

如果你的代码致力于开放,或者你的代码不需要特别的加密,或者你想共享自己的设计,那么你就可以把自己的设计或页面上传到这里来,这里提供了一个外链的窗口,可以及时给别人演示与共享。

很简单,在http://code.google.com/下方找到Create a new project,然后填写必要的信息,选择托管的方式,推荐使用Git,点击下方的image,就完成了项目的新建。

image

在项目的主页面http://项目名称.googlecode.com,点击Source,这里提供了获取和提交的方式,所以,只需要按照上述方式,通过git把代码拉下来,然后存放文件,提交就可以了。

image

那如果访问自己提交的文件呢?可以在Source->Browse里面找到,点击某个文件,然后View raw file就可以查看到了。其实地址是有规律的,就是http://项目名称.googlecode.com/git/+内部路径就可以了,这样就可以方便管理自己的静态文件了。

分类:技术 | 标签:google, 托管

完成一件事再做另外一件事

发布于 2012 年 4 月 16 日 由 nehnre
没有评论

是完成一件事再做另外一件事,还是几件事同时并行,这要视情况来定的。但如果几件事并行,但每件事情都没有完成,就会使人心烦意乱,不愿意做下面的事情。我们应该给自己定一个计划,多长时间完成一件事,把这件事情结实的完成,会让你有成就感,不会觉得是在浪费光阴。

读书也一样,不是说一味的买书就能说明你比较爱读书,虽然两者有一些关系,但不是必然。我可能只是喜欢发现新书,但不怎么深入,大部分书都是粗略的看一下,没怎么详细研究,也有少部分会深入看下去。当然这跟书的精彩程度也有一定的关系。但回顾一下我办公桌上的几本书,能全部看完的没有多少,大部分都是随意翻了一下,少数还从来没翻过,但我还是会去各种书店看有没有合适的新书,然后某段或某句话被看中,再买下来,囤积起来,不再看它,如此循环。

看完一本书再看另外一本书,虽然这样的要求有点不尽情理,不可能要求某个人在某个时间只读一本书,也不能要求某个人捧着自己不喜欢的书从头读到尾,也许这是在浪费时间,但如果能够把自己喜欢的书深入研究下去,积累到自己的知识库中,到后来你会发现这样做比较有“成就感”,也不会出现书到用时方恨少的尴尬局面了。

分类:感悟 | 标签:感悟, 读书
上一页
  • 日历

    2012 年五月
    一 二 三 四 五 六 日
    « 四    
     123456
    78910111213
    14151617181920
    21222324252627
    28293031  
  • 近期文章

    • 系统之争
    • c#对sqlserver中uniqueidentifier类型数据的as string 值为空白的问题
    • git-svn协同工作
    • struts标签include页面不能显示
    • 乐子
  • 标签

    8号线 aspx c# cmd coreseek git google iphone java js ocp oracle oracle university python sphinx struts windows wordpress 创作 博客 地铁 学车 小说 嵌入式 工作 工具栏 当当 律师 感悟 数据库 日常问题 江湖 火车 火车票 电信 电影 笔 网络 网购 读书 赚钱 迟到 金陵十三钗 驾照 麦家
  • 近期评论

    • flying 发表在《恶心的单位,丑陋的嘴脸》
    • Alma 发表在《基于wordpress的“创作”》
  • 文章归档

    • 2012 年五月
    • 2012 年四月
    • 2012 年三月
    • 2012 年二月
    • 2012 年一月
    • 2011 年十二月
  • 分类目录

    • oracle
    • wordpress
    • 工作
    • 感悟
    • 技术
    • 生活
    • 阅读
  • 友情链接

    • LEO & FIVO
    • 凌飞工作室
    • 黑猫物语
© Nie's Home. WordPress 强力驱动 | Nest Theme by YChong