分类目录归档:未分类

开发常用工具(备用)

版本控制
1 Git for Windows(原命名为msysgit, MS系统下的GIT)
说明:Windows下Git管理软件不二的选择
下载:https://git-for-windows.github.io/

这个工具使得在MS系统以类linux的操作方式来使用Git。这个工具是如何做到的?实际上它集成了一个叫MinGW的工具(http://www.mingw.org/),这个工具全名Minimalist GNU for Windows, 从名称就可以知道,它是GNU软件在Windows下运行的工具,自然Git就可以跑在它上面了,MinGW的Shell是MSYS,它是搭配MinGW来使用的,安装了Git for Windows后看到的Git for Bash,实际就是这么一个东西。

2 TortoiseGit
说明:Git客户端,Windows下最流行的客户端
下载:http://download.tortoisegit.org
3 Gitlab
说明:Git代码托管
下载:https://about.gitlab.com/
使用:http://blog.ifeeline.com/1628.html

文件比较工具:
1 WinMerge
首先是免费的,支持文件和目录比较。
2 Beyond Compare(http://www.scootersoftware.com/ 标准版30美金)专业级的文件和文件夹比较,支持包括二进制在内多种格式文件比较,跟WinMerge相比,它提供了一个右击菜单,可以开速加入文件。
http://blog.ifeeline.com/1880.html

数据库客户端(http://blog.ifeeline.com/1588.html)
1 Navicat
2 phpMyAdmin

虚拟机
VMware Workstation

IDE
Zend Studio

编辑器
EditPlus
Dreamweaver

Shell & FTP
Xshell
WinScp
FileZilla Client
http://blog.ifeeline.com/1865.html

开发环境
Wamp
http://blog.ifeeline.com/1464.html

Cygwin – Windows下运行Linux软件

Cygwin可以说是一个伟大的软件,通过一个DLL(cygwin1.dll)建立了Linux与Windows之间的系统调用和API之间的转换,使得Linux下的绝大多数软件能向Windows迁移。Cygwin和其它的虚拟机软件不一样,虚拟机软件会独占系统资源(Cygwin进行系统调用和API转换)。

关于Wifi万能秘钥

老家客厅网络安装了无线网络,为了方便我设置了我的手机号码作为密码,一亲戚带了一小弟过来拜年,他用所谓的Wifi万能秘钥”破解”了我设置的密码。一阵纳闷…

手机号是纯数字11位,0到9有10位,那么能组合出来的就有10的11次方个,那是100亿,短短几分钟就能试遍100亿?直觉告诉我,绝无可能。那么这样的App是如何做到的呢?

如果有人接入这个网络后,共享了热点(就是把名称和密码告诉它),当别人接入时,首先到所谓的云端查询对应的密码,那么它就可以很顺利地获取到密码,这个就是以上说的破解的唯一可能。肯定有某位成员安装了Wifi万能秘钥这个流氓App并共享了热点(或者这款流氓软件偷偷共享了热点),Wifi万能秘钥默认是选中共享热点的,对于一般的小白来说,它根本不知道共享热点意味者什么。

通过以上分析可知,蹭网并没有那么简单。比较常见的所谓的Wifi密码破解实际都是暴力破解工具,如果密码是数字混合字母,长度设置为6,就有50多亿个密码;长度为9,就有1353亿亿个密码。

现在一般的路由器都可以设置MAC地址绑定或过虑,如果实在担心密码被破解,可以设置MAC地址过滤,只允许自己的设备接入。

最后结论是,蹭网并没有那么容易,完成没有必要谈Wifi破解就色变。Wifi万能秘钥这个App的流氓行为实在卑鄙无耻。

PHP文件编码遭遇UTF-8的BOM

之前总结过PHP文件编码的UTF-8编码带BOM的问题:http://blog.ifeeline.com/952.html

最近又遭遇了一次。过程如下:
我本机无法链接上实际服务器,也没有发布服务器,要做实际的测试需要到专门机器上去做,代码上传上去后报错,在FTP本地这边直接编辑文件保存然后上传,于是问题出现了,特别是那些返回JSON数据的方法,数据传递到客户端,都是就是无法解析。刚开始是代码哪里出了问题,用尽了所有可用方法,仍然无法找到问题出在哪里,最终恢复之前的版本上传到服务器,暂时缓解压力。

建立一个文件,保存为UTF-8编码:
UTF-8编码

然后用Windows中的文本编辑器打开并编辑后保存:
UTF-8 文本编辑

然后再次打开文件(使用EditPlus)查看编码:
修改文件编码

看到了吧,文件变成了ANSI,TMD,ANSI是啥毛啊,为何会改我的文件编码?我这里是Windows 7下做的实验,实际在XP下,如果文件原来是UTF-8编码,通过文本编辑器编辑保存后编码改为UTF-8 + BOM,注意,它是自动修改的,没有任何提示。

PHP中无法支持带BOM的UTF-8编码的文件,如果包含这种文件,将出现无法预料的问题。此问题是我第二次遇到此问题,真实操蛋。慎用Windows文本编辑器。

一点关于中国空军歼击机的文字

中国歼击机

有官方报道J10B是4代机,那么说明中国现在对歼击机的分法是按照5代来分了。根据报道,中国上世纪90年代,从俄罗斯购买了大批的苏27,在吃透了苏27的基础上仿制了J11,并在其基础上进行优化升级,最终生产了J11B。而美国在上世纪70年代末就开始装备了3代战机,中国那时候正是动乱年代,90年代引入了苏27后,才正式有3代战机,至少相差10年,如果从掌握3代机的技术来说,中国比老美至少晚了20年以上。中国的歼击机的发展,选择了一条捷径,那就是从俄罗斯采购3代机,然后吃透3代机的技术,再然后是在掌握了三代机的技术上发展了4代机。J10的研制也是如此,据说得到了以色列方面的技术帮助,而以色列是最早采购美国F16战机的国家,中国目前发展的J10B,据说已经是4代机了(三代半),而中国周边的国家或地区,如日本、韩国、新加坡、台湾等,采购的是美国F15和F16居多,它们应该都是3代机,F15和F16的改进型的这些4代机,是美国现在的主力,估计也不会允许出口,所以中国对周边就有了压倒性的优势。

目前中国已经成功试飞了J20,估计2018年可以装备5代机,但是美国从2005年就已经开始装备了F22,所以从技术来说,中国应该至少还落后老美10年,从中国的这个发展来看,中国的歼击机技术获得了跨代发展,上世纪90年代花钱购买的3代机,非常物有所值。

现在看到很多人说中国的技术涉及抄袭,妄自菲薄。我想说的是,在落后一大截的情况下,抄袭是唯一能赶超并逆袭的方法。在完全吃透了别人的技术的同时,大批的人才以及配套设置就会建立起来,这个为后面的4代和5代机的研究打下坚实的基础,现在的J11B,除了外形类似外,基本已经脱胎换骨了(据说发动机还是短板)。

如果J20开始装备空军,那么就歼击机层面,就可以和老美有得一比了。中国需要一支强大的空军,至少能够和老美抗衡,对日本以及周边国家或地区有压倒性优势,那么日本这样的小杂种才能安分一些,因为当美国不能成为它的靠山时,它还有什么底气?

单从技术上来说,中国的J10B和J11B跟美国的F16和F15,应该差别不大了,不过真格斗起来,应该还是会吃亏,这个不是技术问题了,是实战经验问题。

关于分辨率

分辨率

2K 和 4K名称来着横向分辨率接近2K 和 4K。

电脑的分辨率1024*768 1280*720 1366*768,当前电脑显示器一般都大于等于1366*768。

当前电视机顶盒输出的标清信号一般是7xx*5xx,高清机顶盒输出的信号大于等于1280*720。

当前大多数的电视的物理分辨率大于等于1280*720, 1920*1080的所谓2K电视是当前主流。

在高清机顶盒都没有很普及的情况下,1280*720的电视已经足够,如果需要看高清电影,那么当前主流的1920*1080电视也足够了。至于4K,完全扯淡,再过10年也无法普及。

当前低端的投影仪很多物理分辨率为800*600,如果用来投射标清电视,绰绰有余。如果要投射高清电视就选用1280*720估计比较好,如果要看高清电影就需要选择1920*1080的,但是1920*1080分别率的投影仪,当前的价格虚高。如果采购了一个1920*1080的投影仪,而你又有对应的片源,那么投影到200寸(或更大)的屏幕上,跟在当前的电影院看电影基本一样。如果投影仪的分辨率比较低,投射的屏幕越大,画面自然不够清晰,原因在于投射面越大画面被拉得也越大。

当前家庭影院看起来没有必要选择1920*1080的投影仪,一方面这个分辨率的投影仪当前价格虚高,另一方面家庭影院投射面一般100寸左右,100寸左右的投射,只要能支持到1280*720就足清晰了,当然在1080P的电视上看1080P的高清电影,细腻的度当然会比投射到100寸的屏幕上好很多,但是损失一些细腻度换取了大屏幕体验,也合算吧。

需要批一下的是当前的4K电视。当前机顶盒输出的信号还没有到达1080P(就是2K),所以用2K的电视看所谓的标清或高清电视,已经极度浪费了,只有少部分人会来看个全高清电影等。在视频源都远远无法到达1080P的情况下,开始了4K的炒作,真是无比恶心,而最悲剧的是很多人压根不知道自己为何要买4K电视,只知道越大越好,就比如你有那么大的管子,都是只有一股小泉水流进来,很明显,严重的浪费但自己还不晓得。如果你要搞一部能发挥4K显示效果的电影,粗糙估计也得20G吧,把这个数字在砍半,10G吧,假如你要下载它,假如你的是10M带宽,你至少需要下载2.275个小时,很明显,10M的带宽,你无法在线看,因为一般的电影都没有那么长的时间,除非阉割一下(就是降低质量)。

不过当前很多小区可以接入100M带宽了,如果100M的带宽开始普及,那么有线电视可以光荣退休了,完全可以使用宽带代替它。总而言之,4K电视离我们还很遥远,如果你现在如果购买了一个4K电视,当到了能使用上4K的电视信号时,你的电视估计也差不多报废了。

运单号自动跟踪管理 – 流程备忘

数据表:
数据表 tracks

hash		运单号的哈希码,由于是抓第三方的数据,这个哈希码是由第三方提供的
delivery_date	发货日期
track		跟踪号
shipping_piece	件数
shipping_weight	重量
shipping_method	运输方式
shipping_to	目的地
shipping_cost	运费
delivery_status	运输状态,0表示无法查询 1表示正在运输 2等待提取 3已经签收 4客户确认
delivery_days	运输花费的天数
update_date	用来控制当查询失败后当天不在重复查询
last_update_time最后更新的时间
return_back	是否为退件
total_track	自动跟踪的天数
stop_track	是否停止跟踪(对应超过一定天数的运单,如果没有签收就停止跟踪)
del		是否被删除
note		运单备注
data		查询时获取的数据(保存最新的数据)

我们需要安装一定格式把运单导入:
运单上传文件格式

格式文件下载:上传文件格式文件

文件上传编写了一个接口,文件名为import_track.php,可以安装这个格式把输入导入。

运单管理的文件名为tracks_manage.php,实现灵活查询过滤排序:
upload_format

运单跟踪管理

用户接口就备忘到此。

以下是实现自动跟踪更新运单信息的流程:
自动更新流程

一共涉及4个文件,post.php专门用来实现接收数据并把数据导入到数据的逻辑,auto_client.php通过浏览器ajax的方法远程抓取到数据后提交给post.php,一般只需要在浏览器打开它并且设置它隔一段时间自动刷新就可以自动更新运单信息了,auto_server.php和auto_client.php差不多一样,不过这个是服务器端通过php远程抓取数据后提交给post.php,这个可以在服务器上设置crontab任务自动执行(不过PHP远程抓取数据很耗资源,不太适合干这个,实际上采用客户端工具的ajax来进行,效果更好),另外一个就是force_track.php,由于自动跟踪设置了一定时间间隔,并且当天查询失败的运单,当天不会再次查询(要等到第二天才会被再次查询,主要为了防止可能引发循环获取失败资源导致远程服务器封杀),所以用它可以强制刷新运单的跟踪信息。

总体上,再也不用自己手动跟踪了,此为备忘。

永久链接:http://blog.ifeeline.com/921.html

Zen-cart产品类型

Zen-cart产品布局

product_types表中的字段type_master_type,引用自身的主键,说明类型有继承关系。查看默认表数据:
产品类型层次
注意看,这里的产品类型的嵌套关系。不过这里要实现的功能不明(要覆盖继承过来的选项?)。另外,可以看到,表product_types_to_category对应了目录和产品类型的关联,比如某些目录是某种产品类等:
限制目录产品类型
可以把一种或多种产品类型限制到当前目录或当前目录和子目录,对应的记录记录到product_types_to_category中,如果父目录删除了某种类型限制,不管子目录的同类型是不是由父目录引入的,子目录的类型都会被删除。产品类型限制到目录,很明显,只能是指定的类型能放入该目录中。

另外,在product表中有一个字段products_type标志了这个产品的类型(采用哪些布局参数),这个字段默认是1,所以就是一般的产品的。这个字段决定了如何找到对应的产品类型的handler,比如如果找到产品的类型对应的handler是product,那么就路由到main_page=product_info,如果是product_music,就会路由到main_page=product_music_info(这个由zen_href_link()函数完成)。

不同类型的产品操作:
Zen-cart产品布局设置

虽然Zen-cart中引入了多种产品类型,但是它的控制能力非常有限,通常都被忽略。

产品布局配置参数读入可以参考:http://blog.ifeeline.com/820.html

永久链接:http://blog.ifeeline.com/810.html

光与色,色彩入门

光和色不可分割,光是色产生的原因,色是光被感知的结果。”色是光之子,而光是色之母”(约翰内斯.伊顿)。

光是一种电磁波辐射能,一种客观存在的运动着的物质现象。光波的波长决定色彩色现特征。波长的单一、混合程度决定色彩的纯度,色的鲜浊度。振幅决定色的明暗度。视觉感知的色彩本质来说,可分两个基本的大类,既有彩色系与无彩色系。无彩色系指黑、白以及黑白混合后的多种深浅灰色;除去黑白灰以外的所有颜色属于有彩色系。

有彩色系的所有色都具有共同的属性和特征,即色彩的三属性:色相、明度、纯度,而无彩色系的所有色都属于中性色,只具明度而不具色相和纯度属性。

1、色相
色相是颜色的名称,由光波波长决定。色相表示方法–色相环。
色彩色相图
2、明度
明度是色彩具有的明暗程度。无彩色系的黑、白、灰及有彩色系的任何色都具有明度特性。光波振幅的高低决定色彩明度,物体受光量大,反射率高,明度高;物体受光量小、反射率低,明度低。

3、纯度
波长的单一、混合程度决定色彩的纯度,色的鲜浊度。光波单一,色纯;关波复杂,色不纯。光谱中各单色光的色是人感知的极限纯度的纯色。纯色加光或减光,加入白、黑或其他色彩,纯度就会减低,色味减弱。

HSB颜色模式是符合人思维的一种颜色模式。
HBS色彩
色立体图:上下表示明亮度,圆环表色相,圆半径表示同色相某明度下的纯度变化。

永久链接:http://blog.ifeeline.com/802.html

读“数学之美”片段摘录

随着文明的进步,信息量的增加,埃及的象形文字数量便不再随着文明的发展而增加了,因为没有人能够学会和记住这么多的文字。于是,概念的第一次概况和归类就开始了。

在古埃及的象形文字中,读音相同的词可能用同一个符号记录。

中国古代学者对儒家经典的主释和正义,其实都是在按照自己的理解做消除歧义性的工作。

翻译这件事之所以能达成,仅仅是因为不同的文字系统在记录信息上的能力是等价的。

早期数字并没有书写的形式,而是掰指头,这就是为什么我们今天使用十进制的原因。

数字和其他文字一样,在早期只是承载信息的工具,并不具有任何抽象的含义。

几乎所有的文明都采用了十进制,那么是否有文明采用二十进制呢,也就是说他们数完全部的手指和脚趾才开始进位呢?答案是肯定的,这就睡玛雅文明。

描述数字最有效的是古印度人,他们发明了包括0在内的10个阿拉伯数字,就是今天全世界通用的数字。这种表示方法比中国和罗马的都抽象,但是使用方便。因此,它们有阿拉伯人传入欧洲后,马上得到普及。只是欧洲人并不知道这些数字的真正发明者是印度人,而把功劳给了“二道贩子”阿拉伯人。阿拉伯数字或者说印度数字的革命性不仅在于它的简洁有效,而且标志着数字和文字的分离。

从象形文件到拼音文字是一个飞跃,因为人类在描述物体的方式上,从物体的外表到抽象的概念,同时不自觉地采用了对信息的编码。

中国古代语言学的研究主要集中在语义而非语法上。

即使学了10年的英语语法,也不能涵盖全部的英语。

自然语言在演变过程中,产生了语义上下文相关的特性。

最好的一种分词方法应该保证分完词后这个句子出现的概率最大。

少年时的教育,几个观点:
首先,小学生和中学生其实没有必要花那么多时间读书,而他们的社会经验、生活能力以及在那时树立起的志向将帮助他们的一生。第二,中学阶段花很多时间比同伴多读的课程,在大学以后用非常短的时间就可以读完,因为在大学阶段,人的理解力要强得多。举个例子,在中学需要花500小时才能学会的内容,在大学可能花100小时就够了。因此,一个学生在中小学阶段建立的那一点点优势在大学很快就会丧失殆尽。第三,学习(和教育)是一个人一辈子的过程,很多中学成绩好的亚裔学生进入名校后表现明显不如那些因为兴趣而读书的美国同伴,因为前者不断读书的动力不足。第四,书本的内容可以早学,也可以晚学,但是错过了成长阶段却是无法补回来的。

为了保证对任何搜索都能提供相关的网页,主要的搜索引擎都是对所有的词进行索引。

根据需要网页的重要性、质量和访问的频率建立常用和非常用等不同级别的索引。常用的索引需要访问速度快,附加的信息多,更新也要快;而非常用的要求就低多了。

离散数学是当代数学的一个重要分支,也是计算机科学的数学基础。它包括数理逻辑、集合论、图论和近世代数四个分支。

任何商业的搜索引擎,十条结果都有七八条是相关的了,这时一个新的搜索引擎在技术上投入再大,可提升的空间却非常有限,用户很难感觉到差别。这也是后来微软很难再搜索上有所作为的原因。

抓作弊需要一定的时间,以前只是还没有检测到这些作弊的网站而已。

永久链接: http://blog.ifeeline.com/283.html