X.d 笔记

小Web,大世界

0%

ES6 的新特性小记。目前简单测试了一下,在 Firefox 最新版本 Night39 里面支持的还不错,其它浏览器都只支持一小部分。

ES6的一些新鲜类型介绍

Typed Array/Data View系列

在Web方面,这个暂时想不出使用场景,应该是给nodejs或native等去用的,就不多了,大致如下

  • Int8Array / Uint8Array / Unit8ClampedArray / DataView(Int8 / Unit8)
  • Int16Array / Uint16Array / DataView(Int16 / Unit16)
  • Float32Array / Float64Array / DataView(Float32 / Float64)

TypedArray相关的方法,from和of为静态方法,可以使用 Int8Array.from(args) 来调用。
TypedArray和普通Array的方法区别不大,新增了一些。由于用的不多就不说了,看方法名去理解吧,如下:

  • (static) from
  • (static) of
  • subarray
  • join
  • indexOf
  • lastIndexOf
  • slice
  • every
  • filter
  • forEach
  • map
  • reduce
  • reduceRight
  • reverse
  • some
  • sort
  • copyWithin
  • find
  • findIndex
  • fill
  • keys
  • values
  • etries
阅读全文 »

最近用 Hexo 换掉 WordPress 后,简直不要太爽,但是本地还要装一个 nodejs + hexo 环境,感觉还是稍有麻烦。

不过最好,但求更好!现在,我本地写好 markdown 后 要使用 hexo g 生成静态文件,由于我的最终放博客的服务器也不是 github page 之类的,所以,我还要手动把 public 文件夹传到我自己的服务器。

条件

最近看到 DaoCloud 有免费的 Docker 资源提供,于是产生了用免费的 docker 做线上持续环境,然后我本地只用管 markdown 写作就行了。

所以现在想利用Docker做持续集成,完工后的预期就是:

  1. 修改 source/_post 文件夹下的 MarkDown 文件
  2. 提交到 Git
  3. 没有 3 了,写作已经完成。 webhook 自动发起通知,然后在 docker 镜像自动拿取最新代码,自动启动 hexo g 进行静态文件构建,自动发布。

是不是很爽? 我使用目前 coding.net, 有自带的 webhook, Github和其它的 git 一般都支持。

阅读全文 »

无意中看到了 Hexo,浏览了一下大致的功能,试用了一下后,即刻做出决定:把博客从WordPress 迁移到 Hexo!

花费一两天时间完成整站迁移,但还是有些小问题,记录一下迁移的过程。

综合比较

迁移完全是个人喜好,个人懒得比较这两个博客系统的优劣,其实也不具有比较性,特性完全不一样。

但对于纯写作型博客,Hexo 已经够使用了,WordPress 功能强大,但功能百年不用也就荒废了价值。迁不迁移取决于功能使用。

  • WordPress - 优点

    1. 功能强大:标准的 Blog。很容易通过插件扩展为 CMS、商城、企业门户 等。
    2. 资源丰富:即有官方的皮肤、插件库,又可以去其它地方下载
    3. 安装方便:上传,Mysql 连接即可,基本所有主机商都内置 WordPress 支持一键安装,小白都会。
    4. 操作简单:标准的发表文章体验,只要你用过任何平台,如QQ空间,论坛或其它之类的,都能很快熟悉 WordPress 的操作
    5. 插件强大:插件库几十万的插件虽然只是说说,但精品插件总会有1000款以上吧。普通博客用了十多款就够了。
    6. 移动支持:Android ,IOS 版本,虽然不会去手机上写做,但管理还是挺方便的。
  • Hexo -优点

    1. 静态发布:编译成静态 HTML,打开速度肯定比 php 快。 另外可以使用一些免费的如 Github Page 服务来托管,主机不用花钱,做个域名映射就行。
    2. Markdown本地写作:虽然 WordPress 也支持 MarkDown 语法,但肯定没有用自己的离线编辑器用起来爽吧。
阅读全文 »

近几年智能手机普及,很多用户都用手机上的一个屏幕进行操作。手机上用手,电脑上用鼠标,那么有什么区别别,原先在电脑上写的 mouseovermouseoutclick 之类的事件还能正常使用吗?

其实要看浏览器怎么实现的了,目前手机浏览器太多了,随便找了几个就发现实现的不一样,一般来说 click 事件还是有的(一般情况下是300毫秒延时),鼠标事件有些浏览器也做了兼容。

但为什么不专门针对移动浏览器再做适配呢?

移动设备的触摸事件

事件 说明
touchstart 手指接触
touchmove 手指移动
touchend 手指离开
touchcancel 动作被打断(出现场景和系统,浏览器有关,比如一个通知过来什么的,高风险,慎用)

产生的事件类型 :TouchEvent

TouchEvent 的事件属性:

首先是三个轨迹触点:全是TouchList类型,可以理解为Array类型,即Touch [];

阅读全文 »

由于Git生态圈大法,发现Markdown已经非常普及了,得赶紧补学一下。发现实在是太简单了,语法设计的很是容易,对于天资聪慧的程序员们,看不到半个小时基本可以全盘掌握了。

简单写了一个Markdown测试一下。

MD语法测试

将本文件下载,用自己的markdown编译器,编译,然后看结果,这里测试,如果显示正常则是支持,显示不正常则不支持。

  • 基本语法
  • 扩展语法
  • Github扩展
阅读全文 »

一朋友说昨天发了一个触屏下的图片墙在旋转的状态下有个BUG,实际上我也知道(所以我才没默认关闭旋转功能),这个问题现在已经解决,但之前走走了错路子解决了一大半发现有很大问题,就做个记录把BUG原理和错误的解法说一下,记录一下。

图片可以用两根手指的手势放大,处于放大状态的图片移动时不会切换到另外的图片上去,而是在图片的各细节部分移动。但当你把一个图片旋转一定度数后,会感觉移动的很别扭,为什么呢,先看图

iw_1

图一:我先把一个图片顺时针旋转45度:

iw_2

阅读全文 »

需求说明

一个权限标签,作用是在标签里面的内容如果在用户权限范围内,就响应(输出标签里面包含的内容)。需要JSP-API的依赖

  <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.2</version>
  </dependency>

定义DTD

这里定义了一个role的标签,接受一个参数roleCode,这里为我自己项目里面定义的权限编码.这里文件名为x.dtd,放在WEB-INF目录下.

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib
        PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
        "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<taglib>
    <tlibversion>1.0</tlibversion>
    <jspversion>2.4</jspversion>
    <shortname>x</shortname>
    <tag>
        <name>role</name>
        <tagclass>com.xdnote.Role</tagclass>
        <bodycontent>JSP</bodycontent>
        <attribute>
            <name>roleCode</name>
            <required>true</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
    </tag>
</taglib>
阅读全文 »