impressjs 与 introjs 的整合(部分改进)

之前曾尝试对 impressjs 和 introjs 进行整合,不过很不幸,整合后存在很多问题。

一个主要的问题是两者都重度使用了 transform 属性,造成很多冲突。最近浏览了一下 introjs 的 github 主页,在它的 issue 页面上,我尝试搜索了一下 transform 相关的 issue,果然有不少相关的帖子在说这个问题。

其中还有一位 fork 了这个项目的人提了一个 PR,说修复了 transform 的冲突,我看了下他的描述,感觉挺符合我目前碰到的情况。

不过他也改动了不少代码,包括 css 方面,原作者暂时也没有接受他的 PR 的合并。

于是去到他 fork 的分支下下载了他那个版本的 introjs 下来,试了下,发现还是有问题,不过原页面至少没有移动了。

不过被遮罩元素的位置还是没有算准确,导致偏离了遮罩框,文字跑到左边去了。另外在发生缩放时位置也还会偏移。

总之还是算有一点点改进吧,以后再看看计算的问题。

另外,原来那些 tip 框中的 button 都是显示英文,也顺便改成了中文;最后还设置了 introjs 中的一个 scrollToElement 属性,也避免了在后面几条 step 中页面发生偏移的情况。

总之也还不算是很好,不过跟之前类似,既然弄了,就先这样了,以后再看看能否进一步改进。具体参见:

//exp.xiaogd.net/demo/tour/v2/impressjs_features_tour.html

在 centos 7 上安装 oracle jdk 8

简要介绍了在 centos 7 上安装 oracle jdk 8 的过程

本文简要介绍了在 centos 7 上安装 oracle jdk 8 的过程. 具体分为下载, 安装, 验证及附加的添加 JAVA_HOME 环境变量等设置.

下载

首先要下载, oracle 的 jdk 不同于 openJdk, 没法直接通过 yum 等手段安装.

你也可以选择安装 openJDK, 会比较简单些, 也能兼容.

下载页面: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

在页面上, 先选择"接受协议", 这样下载链接才会出来, 再在相应链接上: 右键--复制链接地址(注意, 每次的地址可能有所不同)

jdk8 download

以上选择了 64 位 rpm 包. 如果是 32 位可以选择 i586 的.

继续阅读

Mysql 的示例数据库 Sakila 介绍

介绍了 mysql 的示例数据库 sakila, 包括安装, 下载, 导入, 以及业务和结构的简要介绍.

在自学或者在一些个人项目上实践一些新特性时, 经常需要有数据库的配合, 但通常, 公司的数据库是不能拿来私用的, 这时如果有一些示例数据库就好办多了.

虽然也可以自行构建一个数据库并插入数据, 但通常是一件较为麻烦的事, 特别是准备那些有意义的数据.

Sakila 示例数据库简介

Sakila 是 mysql 中的一个示例数据库(sample database), 提供了一个标准的方案, 可用于自学, 写书, 教程, 文章以及示例等等.

此示例数据库还展示了 mysql 的一些最新特性, 比如视图(Views), 存储过程(Stored Procedures), 触发器(Triggers)等.

继续阅读

Java 大法好, GC 保平安--关于性能权衡(tradeoff)的一些思考

Java 之父 James Gosling 在一次接受采访谈到 C 语言时说: C 语言的一个大问题之一是"一切都会尖叫着停止", "Everything comes to a screeching halt" is one of the big issues in C, because of the way that they do pointers...

语言的鄙视链是一直存在的, 有人会以自己使用的语言更灵活, 更底层, 效率更高而自豪乃至鄙视其它一些语言的使用者, 比如 C 语言的使用者可能看不上 Java 语言的使用者. Java 之父有一次谈到了 Java 与 C 语言的对比, 他是怎么说的呢?

从 C 语言的一个大问题说起

Java 语言之父 James Gosling(高司令) 在一次接受采访谈到 C 语言时说:

C 语言的一个大问题之一是: "一切都会尖叫着停止", 源于它们使用指针的方式...

"Everything comes to a screeching halt" is one of the big issues in C, because of the way that they do pointers.

挪威表现派画家爱德华·蒙克(Edvard Munch)的作品<<尖叫>>The Scream

图片来自 wiki, 为挪威表现派画家爱德华·蒙克(Edvard Munch)的作品<<尖叫>>(The Scream)

继续阅读

mysql 创建本地用户并赋予数据库权限示例

简要介绍了在 mysql 中如何创建一个本地用户并赋予相应数据库权限.

在安装 mysql 时通常会生成一个超级用户 root, 很多人之后就一直沿用这一个用户, 虽然这会很方便, 但超级用户权限太大, 在所有地方使用它通常是一个安全隐患.

这一点跟操作系统的用户管理也是类似的, 多数人贪图方便都直接使用 administrator 或 root 用户, 其实是一种不建议的做法.

那么, 要如何在 mysql 中创建 root 之外的用户并赋予相应权限呢? 我们直接来看一个示例:

CREATE USER 'golden'@'localhost' IDENTIFIED BY 'gd2017'; GRANT ALL ON myapp.* TO 'golden'@'localhost'; FLUSH PRIVILEGES;

对上述语句, 这里简单解析一下:

1, create user 语句用于创建用户(及密码).

其中 golden 是用户名, gd2017 是密码. localhost 则表明是本地用户.

2, grant 语句用于对用户进行赋权.

其中, all 表示所有的权限, 包括对数据的增删改查及更改数据库;myapp 为具体某个数据库名, myapp.* 表示该数据库下所有的表(以及视图等);golden 则为刚才所建立的用户名.

3, flush 语句使更改生效.

通常, 以上设置能满足一般的需求了, 更细化的配置, 可以参考 mysql 官方在线文档(5.7 版): https://dev.mysql.com/doc/refman/5.7/en/create-user.htmlhttps://dev.mysql.com/doc/refman/5.7/en/grant.html