好用的高质量 JavaScript 库一览

编辑器

1、Code Mirror

又一款“Online Source Editor”,基于Javascript,短小精悍,实时在线代码高亮显示,他不是某个富文本编辑器的附属产品,他是许多大名鼎鼎的在线代码编辑器的基础库。

视频

2、Html5 media

html5media是一个JavaScript音频/视频播放器能够让每一个浏览器都能够播放在HTML5多媒体标签中定义的多媒体文件。 对于不兼容的浏览器,该播放将采用支持Flash的FlowPlayer播放器来代替。

地图

3、Gmap

GMAP3 插件用来将Google Maps插入到网页中,Google在其产品中已经提供了很简便的方法。但是GMAP3这个jQuery插件提供了更加简便的方法,特别是在使用一些高级功能时(如:overlays和callbacks)。

JQuery图表库

4、jsCharts

JScharts 是一个用来在浏览器上直接绘制图表的JavaScript工具包。支持柱状图,圆饼图以及简单的曲线图。直接将这个库插入网页,然后从 XML 文件或 JavaScript 数组变量调用数据。PNG 格式,兼容所有主要浏览器。

5、High Charts

Highcharts是一个制作图表的纯Javascript类库,主要特性如下:

  • 兼容性:兼容当今所有的浏览器,包括iPhone、IE和火狐等等;
  • 对个人用户完全免费;
  • 纯JS,无BS;
  • 支持大部分的图表类型:直线图,曲线图、区域图、区域曲线图、柱状图、饼装图、散布图……

6、Google Flot

PlotrPlotKit的启发,Ole Laursen基于jquery开发了一个图表绘制(WEB Chart)插件并命名为flot

7、Timeplot

Timeplot是一个基于DHTML的AJAX部件,用于创建时间序列、基于时间事件的图表。

8、Processingjs

Processing.js是一个开放的编程语言,在不使用Flash或Java小程序的前提下, 可以实现程序图像、动画和互动的应用。

9、Protovis

Protovis 是一个可视化 javaScript 图表生成工具。

10、Ad Safe

ADsafe使放置在页面上的客户代码(例如第三方的广告脚本以及挂件)安全,ADsafe定义了一个JavaScript的子集,足以令客户脚本具有用的交互性,在此同时防止恶意或者偶然的破坏以及入侵。

11、Taffydb

TaffyDB 是一个免费开源的 JavaScript 库,用于在 Web 上实现一个轻量级的数据访问层,也就是一个简单的数据库。

12、Evercookie

evercookie 是一套想辦法在瀏覽器上留下可供紀錄的痕跡的 javscript library,支援非常多方法,想盡辦法產生類似 HTTP cookie 的效果。目前实现的方法借助了 flash 的支持。

13、jStorage-利用JavaScript进行本地化存储

jStorage是一个简单的用于Prototype,MooTools,jQuery在浏览器端缓存数据(字符串,数字,对象,甚至是XML节点)的包装插件。

14、Headjs

HeadJS, 异步JavaScript加载。其最大特点就是不仅可以按顺序执行还可以并发加载 js

15、Socket

Socket.IO旨在让各种浏览器与移动设备上实现实时app功能,模糊化各种传输机制。

 

via zoomzum.com, OSChina.NET 原创编译

推荐 5 个Java开发工具

1. Maven
这个工具能极大的提高团队开发的效率。特别是有新的成员加入的时候,你很快就能让这个新成员把环境搭建起来。当然 Maven 也不是万能的,你也许还是需要 ANT 之类的工具。

2. Sonar
这个工具是用来帮助团队改善代码质量的,它可以和 TeamCity 或者 Jenkins 一起使用。谁用谁知道!

3. MyBatis
MyBatis是用来替代 iBatis 的,它是一个非常易用的关系型数据库数据映射框架。它可以提高代码的可读性和灵活性。

4. IntelliJ IdeaEclipse
这个不用说了吧!请向这两个工具的开发者敬礼!

5. Google CodePro Analytix
我找这个 Eclipse 插件找了好久,偶然的一次在 GWT 的工具中发现了 CodePro Analytix。对这个工具我还是新手,但是如果你在寻找一个好用的代码分析工具的话,那么就是它了。根据官方的介绍“它是一个自动软件代码质量和安全分析工具,可以自动提高软件的质量,可靠性和可维护性”。它也提供 JUnit 代码生成,代码覆盖报表,代码盲区(Dead Code)检测等等。

还有一个和Java无关的工具要推荐,就是 Windows PowerShell,如果你在 Windows 下做开发的话,建议安装这个工具。

 

原文链接OSChina.NET 原创编译

WPS For Linux 最新进展泄露引围观

最新消息,WPS内部人士(网名 pjincz )在ubuntu社区发布“wps for linux辟谣贴”引发广大Linux爱好者的高度关注,该网友针对近期网友疑虑很高的几个问题进行了阐述,满足了关注者们的好奇心。目前,该帖已经被ubuntu社区置顶。

原文内容如下: 1、wps for linux可能永远出不来了?  这个问题大家就不用担心了,wps并不是一个小型的工程,今天说我们放linux,明天就能做出来,我们历经了3年的不断努力,才终于有了 今天可以在linux上原生运行的wps。虽然和一个产品(我们认为的产品,不是用来忽悠用户的产品)还有不小差距。但我们无论如何也不可能将3年的心血 抛弃。   2 、wps for linux可能像qq一样?  这个问题大家也不用担心,看过截图了的同学都知道,WPS跨平台化的方案和QQ走的是完全不同的两条路,虽然我们现在有大量的东西没有来得及重构,但以后的方向肯定是在技术上保障多平台版本的一致性。   3、 wps for linux拖着不放是耗大家的耐心,饥渴营销?  我觉得如果上述两个问题是属于顾虑的话,我觉得这个问题大家如果这么认为的话,实在让我很寒心。我可以透露一下进度:我们现在正在寻找合适 的社区运营人员,开始搭建linux社区,所涉及到的工作很多,不是单纯的说把安装包扔出去了就完了,否则以后崩溃了,文件丢失了谁负责?我们需要为用户 负责!!!我们刚开始过于乐观的考虑这些问题,但实际上这些问题比我们想象中要棘手的多。   4 、qt工程跨平台很容易?  这个问题我希望从3个角度来解释:   1 不是任何在qt上写的代码拿到linux上都是马上能用的,就比如说在windows上的边框效果,linux都没有操作系统支持,怎么可能拿来就能用。两个平台的不一致造就了大量的平台代码。   2 wps是一个拥有1000万行代码级别的工程,即使我们说要用qt,那么我们原来的代码也不是qt的,1000万行代码中,约30%代码无法被改造,因为 是基于delphi的,全部需要重写,包括所有对话框和图表。剩下的700万行代码也是大量混杂着操作系统API和特征,我们从09年开始做技术考 察,10年开始重写delphi,11年才成功的将wps移植到linux 。   3一旦一个项目进入到工程级别的话,最大的困难在于管理,写一个跨平台程序很容易,写一个跨平台工程很困难。跨平台为我们带来了大量的约定,这是项目管理中最困难的。   5、 wps for linux是一个不对外的项目?  如果是这样的话,我们放图出来找骂干嘛。 另外PS:我是一个WPS的普通员工,我说的话仅仅代表一种声音,不代表官方声明。有些论坛里的朋友说法有些难听,当然也是和期望太大有关。希望我的话能让大家满意。   ubuntu社区原帖地址: http://forum.ubuntu.org.cn/viewtopic.php?f=35&t=367092&sid=aa66e3cf8ff0b34a47c1b105b6d0cb51

MYSQL的必备知识:运算符、字符串操作、时间函数、全文检索

运算符
=,!=(<>),>,>=,<,<= is null , is not null, isnull(expr) expr between min and max expr in(v1,v2,…)

流程
mysql> select ifnull(1,0); #如果第一个参数为NULL,则返回第二个参数值,否则返回原值.
————————————————
mysql>select case 1 when then ‘one’ when 2 when ‘two’ else ‘more’ end;
————————————————
mysql>select if(1>0,’ok’,’no’) #如果条件为真则返回OK,否则返回NO.
————————————————
mysql>select nullif(1,2) #如果exp1 = exp2则返回NULL,否则返回exp1
————————————————
字符串
mysql>select ASCII(‘a’); #返回字符串最左边那个字符的ASCII码值
mysql>select oct(12); #返回字符串表示的八进制形式.
mysql>select hex(255); #返回字符串的十六进制形式.
mysql>select char(3333342); #返回ASSCII码值对应的字符串
mysql>select char_length(‘text’) #返回字符串的个数
mysql>select length(text) #返回字符串的字节数
mysql>select concat(‘str1′,’str2′,’str3′,’str4′,’strn’,) #将参数连接成字符串返回
mysql>select locate(‘字串’,’母串’) #返回字串在母串中第一次出现的位置,如果不存在则返回0
mysql>select lpad(‘str’,11,’.’);
mysql>select rpad(‘str’,11,’.’); #用字符串对str进行左边或右边填充直到他的长度达到11.
mysql> select left(‘strstrstr’,5); #返回字符串最左边的N个字符. mysql>select right(‘strstrstr’,5); #返回字符串最右边的N个字符.
mysql> select substring(‘xxxxxx’,3,3); #从字符串的第三个字个位置起截取三个字符.
mysql> select ltrim(str);
mysql>select rtrim();
mysql> select trim(‘ str ‘);
mysql> select trim(both ‘x’ from ‘xxx..xxx’); #去空格
mysql> select space(6); #返回门个空格
mysql> select repeat(‘str’,3); #返回重复三次的字符串
mysql>select replace(‘www.tom.com’,’tom’,’sina’); #字符串替换
mysql>select reverse(‘abc’); #字符串颠倒
mysql>select lower(‘UPPER’);
mysql>select upper(‘lower’); #转换大小写
mysql> update table set filed = load_file(‘/tmp/file’); where id=1; #读入文件
————————————————–

数字
mysql> select abs(-1); #返回绝对值
mysql> select 4 div 2; #除
mysql> select 5 mod 2; #余
mysql> select floor(x) #返回不大于X的最大整数值
mysql> select ceiling(x) #返回大于X的最小整数
mysql> select round(2.23) #四舍五入
__________________________________________________
时间
mysql>select now(); select now() + 0; #返回时间
mysql>select curdate(); select curdate() + 0; #返回年月日
mysql>select curtime(); select curtime() + 0 #返回小时分秒
—————————————————————
mysql>select database() #返回当前数据库的名子
————————————————–
mysql>select user();
select system_user();
select session_user(); #返回当前MYSQL用户名子
—————————————————
mysql>select password(‘abc’); #口令加密
—————————————————
删除所有表记录 #truncate table 表名; 也叫清空表
#速度快于delete from table
—————————————————
加载数据 load data infile /PATH/文件 into table || mysqlimport dbname /PATH/file.txt 相关命令参数如下:
Usage: mysqlimport [OPTIONS] database textfile… –print-defaults 输出程序参数并退出,该选项为缺省值
–no-defaults 不读入缺省参数,该选项为缺省值
–defaults-file=# 从给定的文件中读入参数
-d, –delete 删除表中元素
–fields-terminated-by=name 每个元素之间的分隔符
–fields-enclosed-by=name 将每个元素括起来的符号
-f, –force 如果有sql错误也继续执行 -?,
–help 显示帮组并退出 -h,
–host=name host的名字 -i,
–ignore 如果有重复的行,保持原行
–ignore-lines=# 忽略开始n行
–lines-terminated-by=name 每行元素分隔符
-p, –password[=name] 连接host时使用的密码 -r,
–replace 如果key重复,使用新行代替原行 -u,
–user=name 用户名
———————————————————-
如何导出数据?
方法一: mysql> select * from 表名 outfile ‘/PATH/file.sql’
mysql> load data infile ‘/PATH/file.sql’ into table fields terminated by ‘,’;
—————————————————————
全文搜索怎么建立?
例如: create table mytable ( name varchar(10), address text, fulltext(name,address) );//OK搞定了
—————————————————————
MYSQL全文搜索(FULLTEXT 索引用于 MyISAM 表,可以在 CREATE TABLE 时或之后使用 ALTER TABLE 或 CREATE INDEX 在 CHAR、VARCHAR 或 TEXT 列上创建)
例: mysql>select * from table where match(字段一,字段二,字段三) against(‘要搜索的关键字’);
—————————————————————
MYSQL逻辑全文检索?
呵呵 是像这样地: mysql> select * from table where match(字段一,字段二…) against(‘+要找的数据-不要找的数据’);
—————————————————————
补充逻辑全文检索: against里边还可以有什么东东?(1)数据1 数据2: 表示要找到资料当中至少包含数据1或数据2(两数据有一个即可) (2)+ 数据1 +数据2:表示两个数据都要包含在内 (两数据必须同时存在)

如何查看环境变量查询缓存是否开始?其他状态查询方相同的 mysql>show variables like ‘have_query_cache’; mysql>show variables ; //显示所有状态 mysql> show variables like ‘%关键字%’ ==>模糊查找。。。。

mysql>select sql_cache 字段一,字段二 from table; 指定此语句缓存
””’sql_no_cache””””””””””’;。。。。。不缓存

缓存查询结果的最大值也可自己设置
mysql> set @@global.query_cache_limit=1024; mysql> select @@query_cache_limit;
—————————————————————
整理缓存 相当于硬盘的磁盘清理,不过不要担心,这个不会清掉缓存中的查询
mysql> flush query cache;
—————————————————————
清空cache 这个是会清掉缓存中的所有查询!
mysql> reset query cache ; ==== mysql> flush tables;
—————————————————————
查看缓存状态,
show status like ‘qcache%’
—————————————————————
禁止查询缓存
set session query_cache_type = off;
—————————————————————
改用户密码:
1. mysqladmin -uuser password mima;
2.mysql> set password for root=password(‘abcdefg’);
3.mysql> update user set password=password(‘abcdef’)
where user=’user1′
—————————————————————
优化表:
mysql>optimize table;
—————————————————————
数据导入:
mysql> load data infile ‘/path/file’ into table mytable;
or mysqlimport dbname /path/file.txt
—————————————————————
数据库备份
mysqldump –opt dbname > db.sql
mysqldump –opt dbname table1 table2 > 导出库中的两张表
mysqldump –databases db1 db2 > 多个数据库备份
—————————————————————
消除数据表中的重复数据:
select distinct 字段 from 表名;
—————————————————————
查出服务器支持哪个存储引擎
mysql> SHOW ENGINES;

更多 Kinect for Windows 项目揭示

虽然Kinect for Windows的发布不过才过去一个月而已,但是到目前为止这个Xbox 360游戏设备辅助产品似乎已经赶上了一些商业企业项目了。其中包括一个让机器人自动购物车成为现实的项目。在Microsoft Power and Utilities博客 的一篇博文中,微软列举了一些将要被应用盗企业和各种组织之中的Kinect项目:

其中有一个项目正在由Ferranti公司进行开发,其创造了一个通过使用Kinect的手势提醒技术来帮助在家的用户监控能源相关变动的概念验证项目。这个MECOMS Smart Home(MECOMS智能居家)系统(看以上的视频)主要是让Kinect与用户家里的一台电视机还有用户的所在地区的供电公司连接起来。这三者连接起来就等于在用户家里设置了一个智能电表,这个Kinect程序将会帮你监控所有的电器,比如说会告诉你那个电器耗电超多,那个需要修理或者是需要更换。

当然微软把他们的一些精力用来关注来自Bentley Applied Research的项目。Bentley Applied Research将自己使用自己的软件叫做MicroStation。这些东西都是Kinect设备和软件配合使用,其可以允许用户通过手势来查看3D模 型的结构。大家可以看看上边的视频来了解一下这个软件原型。相信在未来几个月之内我们可能将会看到更多的像以上这两种的非游戏类的Kinect应用和产 品。