Hot For Coding
Google将用encryption加密技术突破被屏蔽的国家

自2010年谷歌被国情所迫撤离中国以后,就一直时有小到消息称谷歌将会卷土重来。不就前网上看到有人说不就前g.cn不是跳到google.com.hk而是直接能在能在g.cn上搜索,而恰巧不久前谷歌执行董事长埃里克·施密特表示

谷歌在未来10年内,用“encryption(加密)”进入审核制度较严的国家,包括中国和朝鲜

施密特还表示谷歌并没有完全放弃中国市场,此言暗示着谷歌近期将有所行动。2010年谷歌撤离后国内某度的份额全盘占领,直到360小戳了一下分到一杯羹。Gmail这两年更是抽风的厉害,许多原本使用Gmail的中国用户被迫抛弃Gmail转用国内服务。

...

READ ALL

1月21日DNS大面积故障

昨天,中国大部分地区DNS故障出现大量站点无法访问,DNS是将域名解析IP后才能真正请求目标资源,起到一个关键的作用。

full

虽然DNS出故障后IP请求的目标资源的方式不受影响,但没有几个使用IP访问的(除一些特殊的以外),DNS也是一台普通物理服务器,按理说发生点故障是很正常的。但区区只发生在中国,然后所有请求都转向自由门,在发布说是被自由门攻击了,这事就戏剧多了。

全世界只有13台,这13台根域名服务器中名字分别为“A”至“M”,其中10台设置在美国,另外各有一台设置于英国、瑞典和日本。也就是说国内用户访问站点先从国内的分支DNS服务器开始查找,逐级向上,最后可到根。但昨天的故障是根本都无法访问,专家说可能又是网络运营商的问题,擦边球踢来踢去迷惑大家。其实大家用心想想就知道怎么回事了,乌龙事件!

...

READ ALL

JavaScript遍历数组最好使用for而不是for-in

在JavaScript中,严格来说所有的数据类型鼻祖都是Object,所以我们来看看以下这个例子:

>>> var arr = ["a", "b", "c"];
undefined
>>> for(var i=0; i<arr.length; i++){ console.log(i); }
0
1
2
>>> for(var i in arr){ console.log(i); }
0
1
2

以上例子定义了一个包含3个元素的数组arr,然后分别使用for和for-in来遍历它的元素,结果都没问题。但如果我给arr添加一个原型方法,结果就不一样了。

...

READ ALL

关于字节的一些要点

计算机只能识别0和1,简称二进制。表达人类常用的十进制数字,比如3,可以使用更多位的二进制来表示,这个过程我们称之为进制转换。

十进制3转二进制 0011

使用多少位的二进制表达一个数字我们称之为bit,在计算机中, 最小的单位是字节(Byte),它由8个bit组成,所以在计算机中要表达十进制3,利用一个字节即可表示

一个字节存储3 0000 0011

因为一个字节共有8个位,每一位共有两种状态0和1,即可组成2的8次方,256种不同的状态,所以一个字节最多可以表达十进制0到255之间的数字,如果超过了怎么办?超过了就使用2字节(16位)存储,以此类推

...

READ ALL

我们的网页要照顾低端浏览器吗?

浏览器使用统计

自从IE浏览器老大的位置动摇以后,后起之秀FireFox、Opera、Chrome、Safari都一直时时威胁着经典的独树一帜的IE老大,之所以IE受到如此的威胁是因为无论性能和兼容上它弱爆了。然而,即使人们心中知道这些浏览器随便抓一个都比IE强,但IE凭借Window系统的推广,已经深远的植入人心。先来看看w3c的一份统计:

full

这是2012年的统计数据,从图上我们可以看出IE份额逐月下滑,Safari和Opera几乎可以忽略,Firefox也出现了下滑,唯独Chrome持续增长。下面再来看2013年的统计图

...

READ ALL

CSS移动端的Responsive Web Design @media

随着移动端的出现,Responsive Web Design(响应式网页设计/自适应网页设计)早在前几年就已开始逐渐步入主流,但那会的移动端并不很多,使用桌面浏览器居多,大部分站点没必要考虑响应式支持,只有少部分尝鲜的站点使用。

近两年,随着大屏手机,平板电脑的大量普及,人手一部,网页设计开始脱离固定的液晶显示屏,开始转移到移动端。最早的做法,差不多是为不同的主流设备下分别开发相应的CSS主题,然后使用js判断设备并引入相应的CSS使得网页在各个设备之间能够得体的显示。这种工作量是相当大的,特别是手机、平板电脑各种尺寸都有,这需要花大量的功夫与精心设计。

...

READ ALL

Python批量把SVG转png、pdf脚本

需要提前安装cairosvg模块,下载地址http://cairosvg.org/download/

代码

#! encoding:UTF-8
import cairosvg
import os
 
loop = True
while loop:
  svgDir = raw_input("请输入SVG文件目录")
  if os.path.exists(svgDir) and os.path.isdir(svgDir):
    loop = False
  else:
    print "错误:您输入的SVG文件目录不存在或者不是一个有效的目录,请重新输入"
 
loop = True
while loop:
  exportDir = raw_input("请输入导出目录")
  if os.path.exists(exportDir):
    loop = False
  else:
    print "错误:您输入的导出目录[" , exportDir  , "] 不存在,是否要创建这个目录?"
    loops = True     
    while loops:
      msg = ""
      cmd = raw_input("创建 (Y) 重新 (R)")
      if cmd.upper() == "R":
        loops = False
      elif cmd.upper() == "Y":
        os.makedirs(exportDir, True)
        if os.path.exists(exportDir):
          loop = False
          loops = False
        else:
          print "创建目录失败[",exportDir,"], 请重新输入"
      else:
        print "找不到您输入的命令,请重新输入"
             
 
cate = ("png", "pdf")
print "导出类型:"
for i in cate:
  print i
     
loop = True
while loop:
  exportFormat = raw_input("请输入导出类型")
  if exportFormat.lower() in cate:
    loop = False
  else:
    print "您输入的类型不存在,请重新输入"
 
def export(fromDir, targetDir, exportType):
  print "开始执行转换命令..."
  files = os.listdir(fromDir)
  num = 0
  for fileName in files:
    path = os.path.join(fromDir,fileName)
    if os.path.isfile(path) and fileName[-3:] == "svg":
      num += 1
      fileHandle = open(path)
      svg = fileHandle.read()
      fileHandle.close()
      exportPath = os.path.join(targetDir, fileName[:-3] + exportType)
      exportFileHandle = open(exportPath,'w')
        
      if exportType == "png":
        cairosvg.svg2png(bytestring=svg, write_to=exportPath)
      elif exportType == "pdf":
        cairosvg.svg2pdf(bytestring=svg, write_to=exportPath)
            
      exportFileHandle.close()
      print "Success Export ", exportType, " -> " , exportPath
    
  print "已导出 ", num, "个文件"
export(svgDir, exportDir, exportFormat)

...

READ ALL

Java svg转png、pdf关于image路径问题

最近在使用Java利用batic包把svg转换到png/pdf时总是无法解析XML文件里的image标签,在测试时突然发现只要把image的xlink:href URL写成http从网络上寻找的就可以,如

<image xlink:href="https://www.qttc.net/image.svg"></image>

但是写成相对于Java项目路径,如

<image xlink:href="image.svg"></image>

以上路径就不能正常转换,最后我索性写成绝对路径还是不行

<image xlink:href="C:/image.svg"></image>

...

READ ALL

CSS3下雨场景

full

点这里看效果

简单说下制作思维

雨滴

雨滴其实就是一个宽150px高1px的div,然后使用css3的rotate让它倾斜一下就好,然后使用css3的线性渐变,就成雨滴了。由上往下掉使用animation控制它的left与top即可。为了让它有远近的效果可以随机给一部分半透明,top参差不平。

雨水

首先是画椭圆,很简单只要给一个长方形然后border-radius: 50%就好,然后animation控制它的width与height就好,最后消失的时候给下opacity由1到0就有效果了,同样为了有层次感,可以随机给一部分半透明。

...

READ ALL

CSS3 animation效果不错

在这之前要在网页中实现动画,基本都是Flash,这Flash老大的位置一直到CSS3出现以后开始发生变化了,主流浏览器支持CSS3特性。

它的属性特别多,具体的可以看看教程,下面给出一些简单例子

例子1

html

<div class="box">
  <span class="a1">从左边渐渐飘入</span>
  <span class="a2">从中间淡入闪动两下,然后淡出</span>
  <span class="a3">从右边渐渐飘入</span>
  <hr  />
  <span class="a4">这个一直永久重复飘动</span>
  <hr />
  <span class="a5">从小变大, 颜色从红变到绿</span>
</div>

...

READ ALL