Day: June 9, 2015

Shell入门教程:命令替换 $() 和 “

所谓命令替换,是把命令执行后的标准输出放入变量中。这是一个十分有威力的功能。例如说, 想查看工作目录中所有的文件名,可执行ls命令,但如何把这些文件名存入变量中,供往后的程序代码再利用呢?   使用命令替换,轻轻松松就可以做到这点。在Script设计中,运用这项功能的比重相当高。 命令替换的语法有以下两种: 新式写法:变量名称=$(命令)   #强烈建议采用新式的写法 旧式写法:变量名称=`命令` 注意,上式是使用一对“`”(在键盘的左上角)符号含括住命令,而不是用单引号! Bash会把执行命令后产生的标准输出,赋值给指定的变量。在这个过程中,默认会自动删除换行字符。例如: DIRS=$(ls)   DIRS的变量值,即含有工作目录中所有文件的名称列表。 取得命令替换的值后,可把它放在for循环中,一一加以处理,如以下程序区块: DIRS=$(ls) for f in… Read More

二级域名和二级目录的联系与区别

当网站发展到一定时期,想要扩大网站规模、建立新频道的时候,相信很多人和我一样在选择二级域名和二级目录上犯了难。这篇文章我深入分析之后给出了答案。如果你的网站在使用二级域名和二级目录捉摸不定的时候,看看此文,会对你有所帮助的。   首先,我们来看看什么是二级域名,什么是二级目录?   1:二级域名:需要创建二级域名,设置DNS,修改A记录,指定IP等操作。具体建网站或者编辑网页时,需要对不同二级域名下的内容分开存放。相当于一个独立的网站。 如,http://bbs.keennet.cn   2:二级目录,就是子目录,继承在主站目录下的,相当于网站的跟目录在建立一个文件夹存放网站。 如,http://www.keennet.cn/bbs/   其次,让我们通过各种比较来分析二级目录和二级域名的优势和劣势: 1.二级域名用来优化的关键词的话,有优势。 2.二级目录的形式,多少会继承首页的权重,增加网站收录量。 3.二级域名,在搜索引擎看来是一个新的独立网站。网站权重、PR值之类的,要重头培养。倒不如用新域名做个新站更好。 4.二级目录当面临高难度的关键词时候,比起二级域名优势不明显。 5.二级域名作为独立网站容易和其他网站做友情链接。 6.二级目录虽然比较难做友情链接,但也可以通过与对方网站做交叉连接得以解决。  … Read More

HTML5 Canvas(画布)教程 – 图像处理

Canvas标记很多年前就被当作一个新的HTML标记成员加入到了HTML5标准中。在此之前,人们要想实现动态的网页应用,只能借助于第三方的 插件,比如Flash或Java,而引入了Canvas标记后,人们直接打通了通往神奇的动态应用网页的大门。本教程内容只覆盖了一小部分、但却是非常重 要的canvas标记的应用功能——图像显示和处理。 图像来源 最常见的在canvas上画图的方法是使用Javascript Image对象。所支持的来源图片格式依赖于浏览器的支持,然而,一些典型的图片格式(png,jpg,gif等)基本上都没有问题。   图片可以从DOM中已经加载的元素中抓取,也可以按需即时创建。 Js代码 // 抓取页面上已有的图片。 var myImage = document.getElementById('myimageid');// 或创建一个新图片。 myImage =… Read More

canvas保存为data:image扩展功能的实现

【已知】 canvas提供了toDataURL的接口,可以方便的将canvas画布转化成base64编码的image。目前支持的最好的是png格式,jpeg格式的现代浏览器基本也支持,但是支持的不是很好。 【想要的】 往往这么简单直接的接口通常都满足不了需求。我想要的不仅是简单的通过画布生成一个png,我不想新开一个tab,然后还要右键另存为… 我还需要更方便的自由的配置生成的图片的大小,比例等。 另外如果我还要别的图片格式,比如位图bmp,gif等怎么办… 【解决办法】 a)想直接把图片生成后download到本地,其实办法也很简单。直接改图片的mimeType,强制改成steam流类型的。比如‘image/octet-stream’,浏览器就会自动帮我们另存为.. b)图片大小,及比例的可控倒也好办,我们新建一个我们想要大小的canvas,把之前的canvas画布重新按照所要的比例,及大小draw到新的canvas上,然后用新的canvas来toDataURL即可。 c)想要bmp位图会麻烦些… 没有直接的接口,需要我们自己来生成。生成图片的响应头和响应体有一定的规则,略显麻烦。不过还能接受。剩下的就是性能问题,按像素级别来操作,对于一个大图来说计算量很有压力。 【实现】 Js代码 /** * covert canvas to… Read More