- 博客(38)
- 资源 (1)
- 收藏
- 关注
原创 解决 devise的 bcrypt 在 windows 下找不到的问题
具体参见 http://stackoverflow.com/questions/3900180/no-such-file-to-load-bcrypt-ext-via-devise讲一下我碰到的情况,说是无法load 2.0 bcrypt原因很简单我用的是 ruby 2.0而gem在安装 bcrypt_ext的时候在lib 文件夹下只安装了1.8和1.9的,把2.0给忘了。多么伟大...
2013-04-23 13:33:41 268
升级rails installer for windows 到 ruby 2.0
现有环境: windows 7, railsinstaller所带的1.9.3风闻ruby 2.0配置提升了不少,观望了许久,终于下手了。首先:gem install pik然后pik_install c:\bin将c:\bin 写到环境变量 path 中,顺便把path 中原有的railsinstaller 自带的路径干掉,把jruby 的也干掉 再然后把已...
2013-04-23 13:22:50 233
原创 easy way to decrease image size
环境:windows 7所需软件:imagemagick command line方法:整个文件夹包括子文件夹使用命令行cmd> for /R . %G in (*.jpg) do mogrify -resize 50% %G
2013-04-20 17:59:17 97
原创 ruby 实现windows service启动和关闭 nginx和jruby trinidad
问题:单位只给windows server,部署环境被迫使用 jruby trinidad + nginx + mongodb,每次启动app需要开4个窗口(2个jruby)。共用的服务器经常被人关窗口,服务器重启后需手动启动。解决办法:写windows 服务。1. 使用win32-service gem。需要本地编译。gem install win32-service。文档...
2013-04-17 14:22:55 189
原型开发工具比较
web app在有一个初步的idea之后,第一件要做的事情就是建立原型,以验证idea的可行性。是建立个复杂的原型还是个简单的、无互动的原型?答案是越简单越好,纸上画就行。基于纸面的原型有个缺点就是在团队协作中无法有效的传播。为解决共享和互动的问题,许多原型工具被开发出来,比较著名的有pencil, prototyper, 其他选项可参见http://alternativeto.ne...
2013-04-06 12:33:25 174
原创 simple_form 中使用jquery datepicker
环境:windows 7 professionalrails 3.2.2ruby 1.9.3p125simple_form(2.0.4)bootstrap-sass 2.1.0目标:在simple_form中对date类型的filed可以使用以下tag=t.input :date_field, :as=>:datepicker具体操作:1. 建立 /a...
2012-10-17 12:32:06 322
原创 restart thin on windows using batch
问题:nginx 作为反向代理, thin 开了3个进程, 在production 模式下需要重启。为了保证网站一直可用,分别需要逐个重启。windows不支持linux下的restart。解决办法:batch 思路:通过端口找到pid,然后强行taskkill 之, 重新启动。代码:FOR /F "tokens=5 delims= " %%P IN ('netstat -a...
2012-07-26 16:12:09 113
原创 如何限制某个用户连接sql server 的数量
问题:限制某用户的连接数量解决办法:logon trigger参照文档:http://technet.microsoft.com/en-us/library/bb326598.aspx 简介:logon trigger 在完成用户认证后,建立用户session之前触发。在用户认证失败的情况下不会触发。用途:跟踪登录行为限制登录控制登录session 数。...
2012-07-25 18:49:21 1117
原创 老子是程序员(二)
道德经第二章天下皆知美之为美,斯恶矣;皆知善之为善,斯不善已。故有无相生,难易相成,长短相形,高下相倾,音声相和,前後相随。是以圣人处无为之事,行不言之教。万物作焉而不辞。生而不有,为而不恃,功成而弗居。夫唯弗居,是以不去。 程序不是完美的,而是充满bug和异常的。编程之美和程序设计的艺术之类之所以在我们内心中能引起共鸣,是因为我们面对了太多令人作呕的程序。Apple之所以...
2012-07-25 16:26:24 209
原创 数据库设计--不要把数据库作为万能储物间
我见过各种各样的使用数据库的方式。有在数据库里面存图片的。(Tom kyte 支持往oracle 里面放)有将服务器启动参数放在数据库的。(尤其是某些日本人自己写的框架)有所有CRUD操作都通过存储过程完成的。(尤其是某些.net相关的代码生成工具,大量使用ms sqlserver的存储过程)或许他们是对的,所有都取决于你的应用需求。但数据库并不是万能的储物空间,尤其是关系数据...
2012-07-19 08:19:38 114
原创 数据库设计从需求开始
怎样的数据库架构才是合理的,这取决于系统的需求。系统的需求,来源于用户对系统的期望。据某位权威人士(确有其人,老外,姓名太长)的说法,用户可以分为三种类型。 分析用户事务处理用户在线用户传统的数据库基本能通过OLAP和数据仓库技术满足分析用户的需求。通过OLTP,transaction log等技术满足事务处理用户的需求。但对在线用户大规模并发读...
2012-07-18 08:39:23 165
原创 MongoDB update collection using reference collection value
Scenario:Want to update the field_a1 of collection a with the value of filed_b1 from collection b using connection key field_a2 = filed_b2 with collection a have field flag is set.Solution:(usin...
2012-07-16 14:20:57 105
老子是程序员
前言 license:本文版权授权采用《老子协议模式》。即非经本人允许,不得转载。链接的可以。copy的话给钱! 传说老子名李耳,春秋时期楚国人。我,姓名不提,党国时期楚地人。从地缘上说,和老子还是个老乡。传说老子骑青牛西去。西去,我倒是玩过,不过是坐的铁鸟。要是我现在骑着头牛在大街上走,要么被车撞死,要么牛被没收,人被抓起来。闲话不提,先谈我最近的重大发现。经过我10...
2012-07-12 08:56:34 201
原创 Data Integration using opensource tools
Data integration involves combining data residing in different sources and providing users with a unified view of these data。 from wikipedia.org说白了就是将各个数据源的数据汇总到一起为用户提供统一视图。数据集成包含几个组件:Repository...
2012-07-11 11:45:38 128
原创 感谢Ruby 社区
最初接触Ruby是从阅读code generation in action开始的,那时是2005年, spring 刚刚流行,struts 2还没有出现, DHH刚用Ruby on Rails震撼了世界。Erb除了用于RoR还用于code generation。后来在一个项目中用instiki作为项目wiki,从而初步接触了Rails,主要还是部署。同时开始使用Ruby 的正则表达式作为cod...
2012-07-03 23:25:49 111
原创 今天才知道
my experience, however, the simpler method has never worked on large software development efforts and the costs to recover far exceeded those required to finance the five-step process listed.--Wi...
2012-05-28 16:59:01 90
原创 rails 3 thin nginx 部署
本着日行一善的原则,今天把直接thin 跑的rails 3 站点部署到nginx上了。最初的想法使用passenger和ree+nginx,结果可耻的失败了,原因和gems的load路径有关系,把load_path解决了,结果说正常的程序有问题。本着拿得起放的下的原则,放弃使用passenger,决定采用thin。我的系统是rhel 5先装nginx,通过 cat /etc/*...
2012-05-18 16:01:30 99
原创 合同填写 form 设计, tag模式
合同在线填写的form设计是一个令人头疼的问题。对于合同填写一般有两种模式。第一种,按照合同格式设计表单,将input项嵌入到合同中。优点是上下文清晰,input的描述简单,输入可以对照纸质部分进行录入。缺点是输入人比较难于获取必须输入项的位置,错误信息不能inline表示,页面设计较为复杂。另一种模式将输入项提取出来,按照一般的表单进行设计。优点是设计简单,缺点是无上下文关联,表...
2012-05-08 17:30:37 196
原创 ArgumentError (redundant UTF-8 sequence)
前几天在windows下用jruby创建了个应用,用了geokit的gem,连接的是sqlserver的数据库。geokit在jruby下是由于使用的是jdbc-mssql的adapter,名称和matz ruby环境下的不一致,所以会报找不到adapter的错,只用把名称改为SQLSever就可以了。但是还会出个问题,就是geokit中的geo_scope后不能跟limit,报dista...
2012-03-22 22:42:12 193
原创 jruby rails3 mssql on windows
最近手贱,觉得虚拟机下跑rails不爽,就在windows下跑。结果装个railsinstaller版本的ruby 1.9.2在win7下跑,刷新个页面动不动报ruby挂了,需要重新rails s。后来g了一下发现是ruby 1.9.2在windows下的bug。为了不动不动rails s,决定用asp.net mvc3 + ef4 code first,后来实在不想被mvc3中的html a...
2012-03-16 22:55:06 92
One Instance One Box
One Instance One Box这句话是tom kyte这个oracle 大牛说的。大牛的意思是不要自己没事在一个物理或者虚拟的机器Box里面折腾出一堆Instance,否则的话,你将面临更多的IO竞争,内存竞争。因为你多开了很多后台进程或者线程,用以维持一个个的Instance。最终,你得到的是永远失去优化的机会。 我前几天就碰到一个事情。我们有个系统下面有很多的分点,每个点都有...
2012-03-12 22:44:12 111
SOA的服务级别划分
SOA架构是有一系列服务之间相互交互构建成应用网络的架构体系。它的目标是松散耦合,基本单元是服务。无论是新系统或者是遗留系统都要逐步改造成服务的形式进行发布。但如何将这些系统包装成服务,或者说包装成多大的服务,that's a question。从面对对象到SOA,粒度问题始终是一门艺术。艺术不仅仅依靠逻辑,而且依靠经验和感觉,也就是sense。但是sense的来源,按照很多牛人的认识,来...
2011-03-01 10:05:48 526
原创 没有救世主
没有救世主,这是国际歌里唱到的。也是我党我国一直奉行的基本原则之一。在软件项目开发中,该基本原则也同样适用。有关该原则最著名事物就是《No Silver Bullet — Essence and Accidents of Software Engineering》这篇上世纪80年代出现的饱受争议的论文。在英文中间银弹和我们这里的救世主按我的理解是同样的意思。我们常常听说某种开发方式,某种工...
2010-10-18 10:09:28 190
原创 程序和表达
程序是什么?程序是人类思想的一种表达。在《没有银弹》中,描述程序开发是将数据、数据之间关系、逻辑和函数表达出来的一种载体。由于概念本质需要人类来表达,因此没有任何一种开发语言或者工具能够完全替代人类的行为。比如说我们只想编个程序表达一下问候,那就是简单的hello world程序,在perl这种语言内一行就可以搞定。但是如果我们需要解决一个复杂的业务问题,那就需要几万行或者更多的代码将问题...
2010-10-17 20:30:00 236
原创 为什么大型项目会失败?
为什么大型项目会失败?这个问题困扰了许多软件开发者和软件公司很多年。首先何为大型项目,有一种观点就是超过了10000行有效代码的就可以称作为项目,而超过100000行代码的项目就可以称作大型项目了。另一种观点是认为,超过500个人月的项目就可以认为大型项目了。更有甚者,大型项目基本上不用人月来计算,直接用人年来计算,超大型项目都是500人年以上的项目。即使是这样的项目,最终也不免遇到项目无...
2010-10-17 11:52:59 174
原创 企业架构 enterprise architecture
最近在做“十二五”信息化规划,渐渐研究到企业架构这一主题上来。所谓企业架构,他并不是组织架构,也就是它不仅仅单独是一个管理架构,而是一个将IT和管理结合在一起的架构。企业架构主要侧重的是企业中那些相对本质的东西,奠定了企业的发展和革新的基础。[b]企业架构定义为[/b]一系列用于设计和实现企业组织架构、业务流程、信息系统和基础设施的原则、方法和模型。为什么企业架构要将管理和IT...
2010-10-17 11:31:39 201
原创 专家与立言
前几日和某人感慨,要树立专家的形象,必须要能说、能写。能说是以口头的形式将思想传播出去,能写是以书面的形式将思想表达出去。当然,如果你没有思想,肯定是既不能说,也不能写的。有些IT人士总以为程序写的好,系统干的棒就可以成为专家。但根据温伯格在《程序员心理学》里说道的那样,程序写的好只是个主观的评判标准,系统干的棒很多也是自以为,如果以业务的角度来看都不一定。我认为真正的专家应该将业务精通于心,...
2010-10-05 22:07:50 103
原创 双核驱动的项目
在一次政府项目中,我第一次听到双核驱动这个名词。这个用在CPU中的名词被富有创造力的国人移植到项目管理的组织结构中,看上去的确很美,后果却很严重。由于权力的均衡,一个侧重于业务和一个侧重于技术的两个表面上属于同一系统的不同的单位在项目的建设方向和具体的实施过程中起到了相互抗衡的作用,结果甲方自己就没有统一的意见。乙方在无所适从的同时,利用甲方意见的不统一在关键问题上采用拖延的态度,造成了项...
2010-09-27 21:59:59 180
原创 周末的测试
周五,突然有被要求在下周一系统上线之前帮忙完成一个之前没有接触过没有任何文档的系统的测试工作,而且要求规范。听起来觉得不可思议,但实际上的确发生了。解决办法是不做,当然你要有足够的魄力,动用可能用到的各种手段来逃避这项不可能完成的工作。具体的解决步骤如下:1.按照PSP的原则声明我虽然乐意做这份工作,但是为了保险起见,我需要在工作开始之前对工作量进行一个整体的评估,按照我个人的能力...
2010-09-26 21:05:50 88
Cache无处不在
本文属于备忘录形式的,记录了最近的一些收获。在web世界里,cache是无所不在的。客户端的浏览器会针对访问的网页自动的缓存一部分的静态文件,从而增加浏览的速度,这就是我们为什么会在浏览器的临时文件夹中发现大量莫名其妙文件的理由。另外ISP为了增加用户的访问速度,也会在中转的服务器中提供大量的缓存文件,用户不用远渡重洋到目的地取经,中途就有可爱的手抄本。再就是web应用也会在服...
2008-12-25 15:55:06 157
关于framework
刚才看了一篇关于项目管理的blog,中间有提到framework的选择问题,引起了很多人讨论。由于我对于framework的想法不是一点两点,所以不好喧宾夺主的把他人的讨论贴给干掉,还是另起炉灶写一篇自己的文章。不过本文主要还是阐述自己的想法,我希望强调的是我希望有人和善的讨论,谢绝任何形式的语言暴力。在wiki百科中间谈到软件framework的定义是[b]可重用设计[/b]的软件系统。...
2008-12-16 22:06:05 104
GRAILS 关于性能
任何一个系统在被评价的时候,性能总是会被谈论到。GRAILS作为ROR的GROOVY移植,在性能方面也是会和ROR放在一起来做比较。和ROR一样,GROOVY在开发环境下运行是相当缓慢的。所以GRAILS官方在性能优化的FAQ里面明确提到需要在运行开发环境时通过设置JVM的内存堆的参数(-Xmx512M)来提高性能。可见,只要提高可用的内存数量,就可以大大提升性能。由于在开发环境中,GRA...
2008-03-04 17:45:18 318
GRAILS AJAX
一个生于2005年以后的网站,如果没有AJAX的元素在里面,只能说这个站点已经out了。作为一个在AJAX大行其道的年代里诞生的快速开发框架,GRAILS对AJAX应用开发的支持那是相当的到位。至少,在我看来,除了updater有时候跳到其它地方去,其他的简直是完美。首先,GRAILS定义了一系列的tags从而使AJAX应用变得简单。这些AJAX相关的Tag,名称中都包含有remote这个...
2008-02-28 14:09:55 165
GRAILS IDE
作为一个非牛非鸟还算普普通通的开发人员而言,如果离开IDE,就会觉得生活变得很枯燥。GRAILS有着很好的IDE支持,这一点在GRAILS的官方网站上有详细的记载。这里我就我用过的两种IDE发表一下个人意见。[list][*]Eclipse作为当前java社区使用最为广泛的IDE却在Groovy和Grails的支持中作的很一般。在我们使用Grails 0.6的过程中,Eclipse虽然...
2008-02-27 16:03:27 141
GRAILS ID
ID在任何环境中都占有重要的地位,比如说我们每个人都有个ID,这就是身份证号码。当然,也有人有两个身份证,这些人是异类,在程序中凡是有两个ID的东西也一样。GRAILS中的ID的作用相对于其他系统的ID则更为巨大。domain默认为一个domain对象产生一个ID,同时命令行生成的画面也将ID作为params的一个重要的参数来传递。如果我们放弃使用ID,我们在GRAILS程序的开发中也不会好受,这...
2008-02-25 12:01:20 134
GRAILS 生存环境
每种东西都有它适合的土壤。按照风水的观点,就是环境决定了一个人的发展。作为新兴的GRAILS,他也有它的生存土壤,这个生存土壤是有它本身的特性所决定的。关于优点,我这里不想再过于多说,因为只要是介绍GRAILS的文章里面都有,把一个现饭再炒来炒去不是我的风格。我在这里直接指出其缺点。GRAILS的最致命的缺点就在于它的domain。以我现在用的RC3版本为例,该版本的domain现...
2008-02-24 10:56:26 111
GRAILS 缘起
出差回来的时候,公司交给我一个任务,负责监督所有项目的执行情况。在这些系统中,有一个项目是公司内部的开发任务,没有什么熟练的PG来做,只有几个刚入行的所谓的菜鸟。 在和菜鸟几天的接触中,形形色色的低级错误不断涌现在我的面前。在我感叹一切皆有可能的时候,我也在思考是不是当前使用的纯java加少量的struts1的框架对这帮菜鸟而言太过于高深,甚至有点像葵花宝典一样让他们不得不丢掉命根子。...
2008-02-24 10:28:48 69
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人