文化

Twitter Bootstrap 中文帮助文档/中文手册/中文教程

程序猿们都是些机械手,让制造东西很容易,如果需要把东西艺术一下,很太难为程序猿们了!Twitter Bootstrap在很大的程度上面解放了程序猿对页面的制作,前提就是web使用Twitter Bootstrap来制作的。Twitter Bootstrap很推荐每个程序员都来掌握一下,其中难度也没多少,如果说有难度,也就是一点点的E文吧!不过现在这点难度也解决了,已经有朋友将Twitter Bootstrap翻译成中文了,感谢这位朋友啊!Bootstrap 是基于 HTML,CSS,JavaScript 的简洁灵活的流行前端框架及交互组件集,由微博的先驱 Twitter 在2011年8月开源的整套前端解决解决方案。Bootstrap 有非常完备和详尽的使用帮助文档,热心的 @TV来客开发者 翻译成了中文,讨厌英文的朋友有福了。   Bootstrap 的口号是 Designed for everyone, everywhere.(适用于任何场景,适用于每一个人),主要有以下特色:适应各种技术水平  Bootstrap适应不同技术水平的从业者,无论是设计师还是程序员,大牛还是菜鸟。既能用来开发简单的小东西,也能构造复杂的应用。跨设备,跨浏览器  最初设想中的Bootstrap只支持现代浏览器,不过新版本已经能支持所有主流浏览器(甚至包括IE7)。从Bootstrap 2开始,提供对平板和智能手机的支持。12列栅格布局  栅格系统不是万能的,不过在应用的核心层有一个稳定和灵活的栅格系统确实可以让开发变得更简单。可以选用内置的栅格或是自己手写。响应式设计  从Bootstrap 2开始,提供完整的响应式特性。所有的组件都能根据分辨率和设备灵活缩放,从而提供一致性的用户体验。样式化的文档  与其他前端工具箱不同,Bootstrap优先设计了一个样式化的使用指南,不仅用来介绍特性,更用以展示最佳实践,应用以及代码实例。不断完善的库  尽管只有10kb(gzip压缩后),Bootstrap却仍是最完备的前端工具箱之一,提供了几十个全功能的随时可用的组件。定制的jQuery插件  一个出色的组件设计岂能没有易用易扩展的人机界面?Bootstrap为此提供了定制的jQuery内置插件。用LESS构建  当传统的枯燥CSS写法止步不前时,LESS横空出世了。LESS中使用变量,嵌套,操作,混合编码,让CSS编写更快更灵活。   Twitter Bootstrap 中文帮助文档:http://wrongwaycn.github.com/bootstrap/docs/index.html原文网址:http://www.cnblogs.com/lhb25/archive/2012/07/26/bootstrap-documentation.html

MySQL数据库出错:Table is marked as crashed and should be repaired

使用mysql时,发生的错误 Table is marked as crashed and should be repaired。解决办法:用“REPAIR TABLE tablename;”命令修复。简单好用!还有其他办法,就不多说了。原因:有网友说是频繁查询和更新dede_archives表造成的索引错误,因为我的页面没有静态生成,而是动态页面,因此比较同意这种说 法。还有说法为是MYSQL数据库因为某种原因而受到了损坏,如:数据库服务器突发性的断电、在提在数据库表提供服务时对表的原文件进行某种操作都有可能 导致MYSQL数据库表被损坏而无法读取数据。总之就是因为某些不可测的问题造成表的损坏。来一曲古风版的最炫民族风,民族乐器演奏出来果然不一般啊!

通用系统需要的基础功能

作为一个通用的框架,不仅仅需要最小可用,还需要一些完整的功能,这篇文章说了一些常用的通用功能,我建议再补充一些。a、权限控制 作为系统,就有人去用,有人的地方就需要进行控制,能用什么,该用什么,都要进行管理,这就是权限控制。权限是个很复杂的东西,场景不一样,权限控制也就不一样,我一直赞成使用的是RBAC,使用资源、角色、用户做最小角色控制,以后需要其他功能,RBAC也容易进行扩展。b、日志记录安全是现在系统必须注意的问题,而系统很作的操作,都很敏感,你做了,我就得记住。其他的功能,看看下面的文章!公司的JAVA框架应具备的通用功能以前在学校的时候自己以为是不是每个做JAVA开发的公司每次做项目的时候都要搭建一个SSH框架呢,工作之后才发现每个公司都有自己的一套框架,要不是在SSH基础上,要不是在SSI基础上进行了符合自己公司需求的封装,并且随着自己公司的框架被应用到各个实际系统的过程中,这个框架会越来越成熟,会使该公司的开发效率越来越高。 根据笔者接触过的几个公司的框架,笔者发现要想实现高效的开发,每个公司的Java框架应该具备如下的特点:1.具有灵活的分页功能。 分页功能是每个项目中必须要实现的功能,而恰恰这个功能是比较费时费力的,如果在框架中实现这一功能,将在每个项目中大大减少分页的重复性工作。2.可以方便的实现文件的上传与下载、数据的导入和导出的功能。 文件的上传于下载、数据的导入和导出在大部门项目中也会遇到,但是这两个功能可能会因为项目的不同导致实现上有一点区别,我们框架中要做的就是应该抽出其中共有的东西,定义为抽象的东西,以便不同的项目、不同的需求都能很容易的实现该功能。3.方便的事务管理功能。 事务管理一般来说都定义在业务逻辑层。我们框架中应该实现对业务逻辑对象事务的简单配置甚至是零配置。笔者接触过的两个框架中,一个需要在配置完一个业务逻辑对象时,在事务管理的配置文件中加上一句简单的配置即可,另一个是框架中实现了几个基本的业务逻辑对象,并对这几个对象实现了事务管理的配置,开发的时候定义的业务逻辑对象都是继承自这几个基本对象,也就省去了事务管理的配置。4.具有异常处理框架。 基本上每个项目的异常处理都应该可以使用公司的框架定义的异常处理框架,并不会因为项目的不同而要求的异常处理也不一样。5.具有自己的一套页面组件。 项目开发都是团队的开发,要想保证每个开发人员的界面风格统一,最好的办法就是定义一套公司自己的页面组建。这样既能保证开发效率,也能做到界面的统一。freemark就是不错的选择,其支持自定义宏,公司框架中可以定义一套自己的页面组建宏,供开发人员调用即可。6.具有数据校验框架。 每个项目在数据校验时都可能会用到大量的正则表达式,那么在公司的框架中将这些正则表达式封装起来,提供统一的调用接口将是不错的选择。7.简单的实现菜单的配置。 一个好的框架应该提供对菜单、二级菜单等的简单配置、管理。还是上文提到的两个框架,一个是通过XML配置文件实现了对系统中一级菜单、二级菜单、三级菜单的管理,而另个框架要实现相同的需求却要在数据库中进行繁琐的配置,显然第一个框架的实现方案更可取、更高效。原文网址:http://hp.dewen.org/?p=974 

更改mysql默认引擎为Innodb

mysql默认是关闭InnoDB存储引擎的使用的,将InnoDB设置为默认的引擎如下。 1. 查看mysql存储引擎情况: mysql>show engines。 InnoDB | YES,说明此mysql数据库服务器支持InnoDB引擎。 2. 设置InnoDB为默认引擎:在配置文件my.ini中的 [mysqld] 下面加入default-storage-engine=INNODB 3. 重启mysql服务器 4. 登录mysql数据库,mysql>show engines。如果出现 InnoDB |DEFAULT,则表示设置InnoDB为默认引擎成功。听一曲歌来听听,挺喜欢的歌手万晓利的。走过来,走过去!

小米音效增强

小米的音效,还算是一般吧!如果把音量放到最大,偶尔会听到一些爆音。这里强烈推荐使用DSP管理器,来进行管理。这边已经由puterjam进行整理打包好的工具了。puterjam就是pjblog的大神,相当不错一款博客程序。我对这些音效也算是个音盲,可用过Beats Audio + DSP 管理器后,也能十分的发现音效的确变了,音效可以自己选择,我选择的是改变的低音,这样听起来深沉些。 截图:    安装方法:方法1:第一次安装前先执行 1.备份系统文件.bat 根据引导即可自动完成安装。方法2:执行 1.备份系统文件.bat 后中断继续安装流程,可以选择不带DSP的安装方式 2.安装(不带DSP).bat (注意:已经安装过7.1版本的,备份文件系统是无效的,请参考安装问题解决中的 6.1或者6.2 来解决卸载问题)卸载方法:3.卸载.bat 不用多说了吧 (卸载的时候,自动把system_bak目录中备份的文件进行覆盖,需要手动制作备份文件的请参考安装问题解决中 的 6.2 说明) ————————————————— 我是分割线 —————————————————安装问题 Q&A 1. 安装失败的问题,建议在 MIUI V4 (我是最新的2.6.29版本)下试试看(其他版本系统没尝试过),如果是android 2.3内核的这个不保证可以安装。 2. DSP安装有问题的,可以尝试下载 去掉DSP 的audio_effects.conf 的文件 覆盖/system/etc/audio_effects.conf 下的文件,别忘记修改权限成644 wr-r-r 以及用RE删除 /system/app/DSPManager.apk 可以保留BA的音效 3. 如果还出现其他问题,小米手机可以切换到另外的系统来修复。 4. 安装先关闭 豌豆莱或者QQ手机管家等软件,避免adb server冲突 5. 如果发现copy文件失败,请手动执行一下 adb root 后在执行install.bat6. 安装方式因为修改到了系统文件可能会导致OTA升级时文件验证失败而无法升级系统,7.1号安装的朋友请根据一下方式解决6.1 情况1: 如果是 2.6.29 的系统,可以下载这个版本对应的系统文件,解压到心的安装包里system_bak目录下,然后执行 3.卸载.bat 进行系统文件还原。6.2 情况2:如果不是这个系统的,需要自己找到对应系统的的几个文件按照system的目录结构放到system_bak目录中进行还原 系统升级需要检查的文件列表, 这些文件可以在您的系统对应的完整安装里找到/system/etc/audio_effects.conf/system/lib/soundfx/libvisualizer.so/system/lib/soundfx/libreverbwrapper.so/system/lib/soundfx/libbundlewrapper.so/system/lib/soundfx/libaudiopreprocessing.so/system/lib/libwebrtc_audio_preprocessing.so/system/lib/libSR_AudioIn.so/system/lib/libaudcal.so/system/lib/libacdbmapper.so_复制代码_对应备份目录的结构图6 天前 上传下载附件(17.06 KB)发送到手机 最后同样执行,3.卸载.bat 进行系统还原后进行OTA升级。 7. 最后,还是需要你要胆大心细 :P原文地址:http://www.miui.com/thread-630072-1-1.html下载地址:http://l3.yunpan.cn/lk/080fswmvve

添加右键“用Sublime打开”

最近迷上了Sublime text2编辑器,用的是绿色版的,没有右键打开,模仿UE的右键注册表文件,改了下,支持Sublime text2右键打开文件。Sublime text2 相当的神器,推荐每一位程序猿们使用.Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOTshellSublime]@="用Sublime打开"[HKEY_CLASSES_ROOTshellSublimeCommand]@=""D:\360云盘\Tools\Sublime Text 2.0 x64\sublime_text.exe" %1"

让java web支持cors

场景:    客户端发出http请求,服务端对客户端的http请求进行验证问题:    问题的表象是 从Chrome发出HTTP命令后,Chrome console中报 “Origin null is not allowed by Access-Control-Allow-Origin”错误。产生原因:    这是由于Browser的same origin policy 限制的缘故。简单来说,从HTML中发出XMLHttpRequest  请求时,Browser会做检查,如果发现Response中没有Access-Control-Allow-Origin Header或Access-Control-Allow-Origin Header Header的值与 HTML的 orgin 不同时,Browser会拒接绝该Response,Javascript就收不到该Response。 本地HTML的Origin是 null, 而Server端没有发出Access-Control-Allow-Origin Header Header给Browser,  所以会有了“Origin null is not allowed by Access-Control-Allow-Origin”错误。    简单的说,就是由于客户端和服务端处于两个不同的域,相互之间是不允许通信的.    不同的域包含:1.静态文件向服务器请求 2.客户端和服务端域名不同 3.客户端和服务端端口不同 等等,个人理解总结的,不是很准确.解决办法:    事实上有一个W3C标准,Cross Origin Resource Sharing (CORS) 专门用来解决这个问题的。目前的主流Browser也有支持。CORS 在HTTP Message 加入几个Header, Browser和 Server可以利用这些Header来判断对方是否是安全,是否可以通信。    http://enable-cors.org/  介绍了目前常用的服务器和技术的支持CORS的办法.其中对与JAVA Web,里面没提到.整理下让Java Web支持的办法.Java Web支持的办法:    使用CORS Filter 解决.    下载地址:http://software.dzhuvinov.com/cors-filter.html    使用方法:http://software.dzhuvinov.com/cors-filter-installation.html     参考文章    http://www.cnblogs.com/LevinJ/archive/2012/04/09/2439670.html 43 Things:CORSBuzzNet:CORSdel.icio.us:CORSFlickr:CORSIceRocket:CORSLiveJournal:CORSTechnorati:CORS

搭建个人的无封锁搜索

在天朝,搜索任何内容总会被过滤,原因都知道,有时要搜索些内容,也得弄个vpn或者翻个墙的,在此推荐个开源的项目goosh.goosh是个静态的html工程,放到支持html的服务器就可以使用.操作模拟的是linux的命令行,所以使用还是需要些小技巧的,可对于能翻墙的人来说,很easy的.goosh搜索的结果使用的是google和yahoo的搜索引擎,一点也不会担心内容会被过滤,想搜索的内容,随你了!嘿嘿!我个人也搭建了一个,仅供我个人使用,地址就不公布了.goosh放在任何一个支持html的服务器,即可使用,现在免费的服务器也很多,比如git sae gae bae…多了去了,个人推荐还是放到国外或者个人私密的地方,谁知道这玩意会不会被天朝封了呢!goosh的地址: http://code.google.com/p/goosh/  

谷歌 Chrome Dev Tools 浅析 – 成为更高效的 Developer

web的调试一直采用的是火狐firebug的调试,现在火狐越来越臃肿.现在在领导的启发下,平常都用chrome dev tools调试的,也是挺方便,转载下chrome的调试技巧做下记录.Google Chrome在招来了FireFox,FireBug的项目组领导人John J. Barton后,Chrome Dev Tools也变的越来越好用,越来越方便了。本文根据Google I/O上对Chrome Dev Tools的介绍(http://www.youtube.com/watch?v=N8SS-rUEZPg),和相关PPT:http://chrome-devtools-io2011.appspot.com/template/index.html 整理而来。(参照的Chrome版本为: 19.0.1084.52)实时****CSS Style编辑选择一个Dom,可以对Dom进行编辑和操作,实时修改Css Style, 同时CssStyle可以保存变更历史版本。保存变更历史版本:同时支持可以在Chrome 载入的Css文件正文中自由的修改。 网络交互当一个页面载入时,所有发出的请求可以在“Network”里监听到,同时下面有”All”, “Documents”, ”Stylesheets”, “Images”, “Scripts”, “XHR”(XMLHttpRequst), WebSockets, Other, 这几个分类,可以清晰的把网络请求进行分类,同时可以看到每个请求的详细情况。 控制台在控制台里可以方便的使用命令来查看Dom,执行JavaScript, 等等操作, Console API: http://getfirebug.com/wiki/index.php/Command_Line_API copy(), dir(), inspect(), $0, Script DebuggingScript Debugging 脚本调试功能,这个功能可以说是Chrome Dev Tools里最实用最强大的工具了:1. JavaScript Breakpoints, Break on exception, JavaScript Pretty Print.Break Points:断点在需要设置的地方点一下即可,Break on exception:当此功能开启时,有Script异常出现时,自动会在Exception处断住,方便差错。JavaScript Pretty Print: 当JavaScript被压缩后,非常难阅读,Pretty Print使JavaScript按照语法和关键字重新换行并重排,使得压缩后的JavaScript仍然可以进行阅读。 2. DOM BreakpointsDom元素断点,经常有多处JavaScript操作同一个Dom元素,如果要在JavaScript上下断点,要下好几个地方,不好断到想要的地方,在Dom元素上下断点就方便多了:Break on subtree modifications, Break on attributes modifications, Break on node removal, 可以方便的断到操作Dom的JavaScript。 3. XHR Breakpoints, Event listener breakpoints:XHR Breakpoints,可以方便的断到XMLHttpRequest Ajax请求。Event Listener Breakpoints, 可以方便的断到各种Event。 4. 查找JavaScript使用Ctrl+Shift+F, 打开查找窗口, 查找支持正则表达式:查找函数定义:Ctrl + Shift + o查找文件: Ctrl + o 5. 实时修改 JavaScript代码页面外链JavaScript文件在 Script Panel中可以直接修改,改完后Ctrl + s 保存, 会立即生效,但是不支持 Html 页面中 JavaScript 修改,经过 Pretty print 格式化的JavaScript也不支持实时修改。 6. 自建Script文件在Console(控制台) 中输入代码的最后一行加上 //@ sourceURL=filename.js, 会在Script Panel中加入一个新的外链Script文件: filename.js, 这个新文件和其它外链JavaScript 文件一样,可以实时进行修改。 TimelineTimeline功能把浏览器处理Dom的时间轴画了出来,方便进行优化: Remote DebuggingRemote Debugging 使得Chrome成为一个WebServer,执行命令–remote-debugging-port=1337, 同时再开一个Chrome 访问localhost:1337, 就可以用一个Chrome当Host,一个Chrome当Client,在调试一些移动Web的时候非常实用。

mysql建表设置两个默认CURRENT_TIMESTAMP的技巧

业务场景:例如用户表,我们需要建一个字段是创建时间, 一个字段是更新时间.解决办法可以是指定插入时间,也可以使用数据库的默认时间.在mysql中如果设置两个默认CURRENT_TIMESTAMP,会出现这样的错误. ERROR 1293 (HY000): Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause.错误的建表语句: CREATE TABLE db1.sms_queue (   Id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,   Message VARCHAR(160) NOT NULL DEFAULT ‘Unknown Message Error’,   CurrentState VARCHAR(10) NOT NULL DEFAULT ‘None’,   Phone VARCHAR(14) DEFAULT NULL,   Created TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,   LastUpdated TIMESTAMP NOT NULL ON UPDATE CURRENT_TIMESTAMP,   TriesLeft tinyint NOT NULL DEFAULT 3,   PRIMARY KEY (Id) ) ENGINE = InnoDB;解决办法,可以使用触发器或者其他,在此还是使用数据库的方式.建表语句: create table test_table(   id integer not null auto_increment primary key,   stamp_created timestamp default ‘0000-00-00 00:00:00’,   stamp_updated timestamp default now() on update now() );测试:mysql> insert into test_table(stamp_created, stamp_updated) values(null, null);Query OK, 1 row affected (0.06 sec)mysql> select * from t5;+----+---------------------+---------------------+ | id | stamp_created | stamp_updated |+----+---------------------+---------------------+| 2 | 2009-04-30 09:44:35 | 2009-04-30 09:44:35 |+----+---------------------+---------------------+2 rows in set (0.00 sec)mysql> update test_table set…

1 5 6 7 21