Beyond Compare 文件大小不一致但是内容一致的解决方案

这个问题困扰我多年。

拿WordPress举例:

从下面两图可见文件大小不一致,但是Beyond Compare可以比较出内容一致,从而将比较结果显示为“相同”(=)

diff-size-same-content-01

diff-size-same-content-02

但是内容不一致的文件会被比较出来,如readme.html文件,下图反映了这一情况。

diff-size-same-content-03

需要做的设置如下:将文件夹的比较设置中,“比较”选项卡中的“需要打开的文件”设置为“基于规则的比较”

diff-size-same-content-04

diff-size-same-content-05

如果将“文本比较”中“重要”选项卡中的“比较行尾(PC/Mac/Unix)”选中的话…

diff-size-same-content-06

diff-size-same-content-07

行尾不同也会被认为是不同的文件(默认“基于规则的比较”是会忽略这种不同的)。

diff-size-same-content-08

单源代码搭建多WordPress站点

本文讨论的方法是使用一套WordPress源代码,实现多站点各自的内容、模板、附件及可定制功能的实现方法。

前提条件

  • 几个站必须在同一个主机空间
  • 几个站的固定链接样式必须一样
  • 每一个网站创建一个独立的MySQL数据库,或同一个数据库不同表头
  • 将每个域名都解析到同一个网站目录

主体流程

  1. 配置域名系统指向到同一空间
  2. 配置每个站点单独的数据库(如使用同一个数据库不同表头,则此步忽略)
  3. 修改wp-config.php信息,根据不同域名设置不同的初始化值,达到使用不同变量的目的。
  4. 根据域名依次安装每个WordPress
  5. 配置每个系统的各自变量:媒体文件存放地址、CDN、备份计划等

主要实现方法

wp-config.php文件的配置

if($_SERVER["HTTP_HOST"]=="www.domain1.com" || $_SERVER["HTTP_HOST"]=="domain1.com"){

define(‘DB_NAME’, ‘database_name_1’);
define(‘DB_USER’, ‘username_1’);
define(‘DB_PASSWORD’, ‘password_1’);
define(‘DB_HOST’, ‘host_1’);
define(‘DB_CHARSET’, ‘utf8’);
define(‘DB_COLLATE’, ”);
$table_prefix = ‘wp1_’;
define(‘WPLANG’, ‘zh_CN’);

}else if($_SERVER[“HTTP_HOST”]==”www.domain2.net” || $_SERVER[“HTTP_HOST”]==”domain2.net”){

define(‘DB_NAME’, ‘database_name_2’);
define(‘DB_USER’, ‘username_2’);
define(‘DB_PASSWORD’, ‘password_2’);
define(‘DB_HOST’, ‘host_2’);
define(‘DB_CHARSET’, ‘utf8’);
define(‘DB_COLLATE’, ”);
$table_prefix = ‘wp2_’;
define(‘WPLANG’, ‘zh_CN’);

}

如果多余2个域名,则按需增加判断部分,另可根据wpconfig.php强大的配置功能达到特定目的,具体参见:http://codex.wordpress.org/Editing_wp-config.php(中文)

wp-content信息的配置

(推荐)
由于默认安装共享了/wp-content/文件夹下的信息,如果想针对不同站点指定不同的插件、模板、上传目录,需要针对修改,可通过自定义wp-config.php文件或在WP后台设置达到目的。

如果不修改可能会遇到上传文件名相同、架构不良好插件的配置覆盖(通过文件保存配置信息的插件),备份恢复困难等潜在风险。

Google TV Design Patterns | Google智能电视设计规范

google tv

这是为运行在Google TV 上的Android应用程序所作的用户界面开发准则。虽然运行在手机和Google TV上的安卓应用程序几乎没有不同,但在用户界面上,两者还是有区别。

电视的观看环境通常被描述为“10英尺环境”,电视屏幕也被描述为“10英尺的用户界面”。当你为10英尺环境创建应用程序时,请记住以下基础概念:

从传统上意义来说,10英尺环境适合消费内容

  • 10英尺环境是娱乐环境,不是工作环境。
  • 10英尺环境通常是一个社会环境,不是单用户环境。

10英尺用户界面的观看体验是电脑和电视的结合

  • 电视屏幕兼有电脑和电视的特点。
  • 显示分辨率类似电脑,但受到电视特点的影响。
  • 在TV屏幕上的色彩是不同的。

电视设备拥有高品质的声音

  • 电视设备通常连接到最好的音响系统。
  • 不像电脑,用户期望电视设备发音,并且希望不会被打扰。

10英尺用户界面需要简单和可见的导航

  • 建立从左到右、从上到下的导航。
  • 降低对鼠标的要求。
  • 提供可视反馈。

基于内容区域的用户界面模式,最适合于10英尺用户界面

  • 区域本身与设备类型无关。
  • 不同的设备类型有特定的区域安排。
  • 许多不同的用户界面可以基于区域的概念。

Continue reading “Google TV Design Patterns | Google智能电视设计规范”

移动开发资源表

主流设备屏幕尺寸表(包括手机、平板和屏幕)

Icon Reference Chart

The iOS Design Cheat Sheet

Ctrip Webkit Css Library

HTML

HTML5 forms input types

Emmet (Zen Coding)

ViewPort

Application Cache

CSS

CSSLint

布局.BFC

布局.栅格

OOCSS

Yandex BEMBEM历史

LESS

自动编译

其他

Intellij IDEA

性能.yslow

Ant

移动端测试

腾讯移动测评实验室
百度移动云测试中心(MTC):提供指定网址在不同分辨率/系统版本下的截图,提供可实时操作的不同分辨率/系统版本远程模拟器

Weinre 腾讯版:速度快,性能好,Weinre本身限制,调试器不完整
Media Query 兼容性测试:测测手机 ratio 和分辨率啥的
Plunk:单页面功能可用性测试
The Responsinator:快速过常见不同分辨率下表现
Can I use:CSS/JavaScript/HTML/SVG 等属性兼容列表
CSS3 Please:快速生成CSS3和预览
移动web app开发—–调试篇

Windows8中如何安装字体快捷方式而不是复制字体本身

由于字体很占用系统盘空间,故有此需求。Windows XP时代可以在菜单栏按“文件->添加新字体”并在弹出的对话框中选中复制快捷方式来解决,但是Win8没有这个选项,虽然可以在“字体设置”中设置“允许使用快捷方式安装字体”,但把字体文件拖动到字体文件夹时仍然是复制字体文件本身。
Continue reading “Windows8中如何安装字体快捷方式而不是复制字体本身”

内存或磁盘空间不足 Word无法显示所请求的字体

最近整理字体,整理好之后将所有字体安装到系统中备用,今日打开Office Word程序时,却收到这样的警告:

内存或磁盘空间不足 Word无法显示所请求的字体

同时Word中只有最基本的几个字体了。

out-of-memory-microsoft-office-word-font-request

后来将虚拟磁盘设置扩大,并且把不常用的字体卸载掉,才解决这个问题。

印象中Photoshop也会在软件启动时预先读取系统所有字体,不但增大内存使用量,而且导致软件启动速度变慢、缓存会增大许多,并且在点击字体下拉菜单选择字体时,会因为要显示预览字体而花费额外渲染时间。

所以还是养成好习惯,不常用的字体不要安装到系统为好。

绝对时间 VS 相对时间

产品设计过程中,有时候需要用户输入时间,比如各种查询(机票查询、火车票查询、物流查询)、发布信息(定时发布文章、设置闹钟时间)等。

在设计的时候要考虑到不同场景,给用户不同的时间输入选项。

搜索的时候,以相对时间进行范围匹配,如选择今天范围内的、三天内、半个月内的。在用户要求不特别具体明确也能解决问题的情况下,以用户可预期的方式,提供足够数量的符合要求的结果。同时简化用户的操作。

录入时间的时候,用户对时间有具体预期,或者存在需要引导用户输入精确时间的情况,需要提供精确时间的输入方式。这时候需要注意,因为这种输入方式一般会调用日期组件让用户输入。APP端因为系统已经过优化,顾虑不大;WEB端要注意日期组件的交互方式,要注意下拉菜单和上下箭头选择的配合使用,不要让用户因为要选择2050年而点击50次“下一年”。

如果是开放式输入(提供文本框让用户手动键入时间),需要判断用户输入时间的格式,最好加上初始提示(例如在文本框中用较浅的文字颜色默认显示YYYY-MM-DD,焦点选中后消失)或辅助符号(      ),在用户输入的时候会自动跳到下一输入框,就像安装Windows98时输入序列号一样。