JavaScript标准Selection操作

July 28, 2016 kz 0

简介 selection是对当前激活选中区(即高亮文本)进行操作。 在非IE浏览器(Firefox、Safari、Chrome、Opera)下可以使用window.getSelection()获得selection对象,本文讲述的是标准的selection操作方法。文中绝大部分内容来自 https://developer.mozilla.org/en/DOM/Selection 术语 以下几个名词是英文文档中的几个名词。 anchor 选中区域的“起点”。 focus 选中区域的“结束点”。 range 是一种fragment(HTML片断),它包含了节点或文本节点的一部分。一般情况下,同一时刻页面中只可能有一个range,也有可能是多个range(使用Ctrl健进行多选,不过有的浏览器不允许,例如Chrome)。可以从selection中获得range对象,也可以使用document.createRange()方法获得。 属性 anchorNode 返回包含“起点”的节点。 anchorOffset “起点”在anchorNode中的偏移量。 focusNode 返回包含“结束点”的节点。 focusOffset “结束点”在focusNode中的偏移量。 isCollapsed “起点”和“结束点”是否重合。 rangeCount 返回selection中包含的range对象的数目,一般存在一个range,Ctrl健配合使用可以有多个。 […]

PHP程序员的技术成长规划

July 26, 2016 kz 0

http://1ke.co/course/197 PHP程序员的技术成长规划 按照了解的很多PHP/LNMP程序员的发展轨迹,结合个人经验体会,抽象出很多程序员对未来的迷漫,特别对技术学习的盲目和慌乱,简单梳理了这个每个阶段PHP程序员的技术要求,来帮助很多PHP程序做对照设定学习成长目标。 本文按照目前主流技术做了一个基本的梳理,整个是假设PHP程序员不是基础非常扎实的情况进行的设定,并且所有设定都非常具体明确清晰,可能会让人觉得不适,请理解仅代表一家之言。(未来技术变化不在讨论范围) 第一阶段:基础阶段(基础PHP程序员) 重点:把LNMP搞熟练(核心是安装配置基本操作) 目标:能够完成基本的LNMP系统安装,简单配置维护;能够做基本的简单系统的PHP开发;能够在PHP中型系统中支持某个PHP功能模块的开发。 时间:完成本阶段的时间因人而异,有的成长快半年一年就过了,成长慢的两三年也有。 1.Linux: 基本命令、操作、启动、基本服务配置(包括rpm安装文件,各种服务配置等);会写简单的shell脚本和awk/sed 脚本命令等。 2.Nginx: 做到能够安装配置nginx+php,知道基本的nginx核心配置选项,知道 server/fastcgi_pass/access_log 等基础配置,目标是能够让nginx+php_fpm顺利工作。 3.MySQL: 会自己搭建mysql,知道基本的mysql配置选项;知道innodb和myisam的区别,知道针对InnoDB和MyISAM两个引擎的不同 配置选项;知道基本的两个引擎的差异和选择上面的区别;能够纯手工编译搭建一个MySQL数据库并且配置好编码等正常稳定运行;核心主旨是能够搭建一个可 运行的MySQL数据库。 4.PHP: 基本语法数组、字符串、数据库、XML、Socket、GD/ImageMgk图片处理等等;熟悉各种跟MySQL操作链接的api(mysql /mysqli/PDO),知道各种编码问题的解决;知道常规熟练使用的PHP框架(ThinkPHP、Zendframework、Yii、Yaf 等);了解基本MVC的运行机制和为什么这么做,稍微知道不同的PHP框架之间的区别;能够快速学习一个MVC框架。能够知道开发工程中的文件目录组织,有基本的良好的代码结构和风格,能够完成小系统的开发和中型系统中某个模块的开发工作。 5.前端: 如果条件时间允许,可以适当学习下 […]

浅谈程序员的英语学习

July 26, 2016 kz 0

http://www.cnblogs.com/haoyifei/p/5687235.html 作为在中国工作的程序员,不懂得英语似乎也不妨碍找到好工作,升职加薪。但程序员这 个工种则稍有不同,因为程序,尤其是高级语言,基本上都是由英语和数字表达式构成的。英语对于程序员十分重要。我的大学本科全部采用英文教学,工作时也经 常会遇到外国人,和他们谈笑风生,自认为自己的英语水平比园子的平均水平高一点。下面我就根据自己的经验来说说英语的学习方法。 为什么要学习英语 学好英语你可以直接阅读各种经典书籍的原文版。程序员这个行业之所以特殊,就是因为它所有的技术全部来自欧美,所以最主流,最新鲜,最正确的技术文章都是英文,大部分还没有译本,有些译文还比较差。与其等待别人的翻译,不如直接阅读原文。 学好英语你可以直接观看来自世界最著名学校的网上课程或编程高手的教学视频。较之汉语教学视频,不知道高到哪里去了,而这些视频通常都没有任何翻译可寻。 学好英语你可以和世界各地的程序员在Stack overflow,Reddit和Github进行交流,以码会友。如果你不小心搭上了几个哥们,你可能就误打误撞被他们推荐出国工作了。作为工作多年的 老鸟,大家自然知道内推的好使程度,要是拿到了公司的录取,那么什么签证都是浮云。 学好英语,你的代码中变量的命名不会太差,让人摸不着头脑(甚至有人变量使用汉语拼音进行命名)。假设别人写一个方法演示反射的使用,你看到那方法名不是ReflectionDemo,甚至不是ShowReflection,而是FanSheYanShi时,你什么心情? 学好英语也可以为你的前途打开一扇门,你可以考虑到大陆以外工作生活,领略不同于神州大地的风土人情,感受西方文化,甚至中西合璧,建立一个与众不 同的家庭。即使你留在大陆,英语好至少也会让你胜任一些外事工作,能人所不能,这对外企员工来说十分重要,你的上级会高看你一眼,你谈工资时筹码比别人 多。 什么水平算是英语比较好了,可以不用刻意继续学了 如果你觉得你满足以下这些条件,那我觉得你在英语为母语的国家也可以活得挺滋润的,找到一个码农的工作应该是没什么问题。当然,你可能会栽在医院, 街头篮球场,酒吧这种需要高难度英语对话的地方。不过如果仅仅应付工作,你不需要刻意的提高自己的英语水平了,只需要保持即可。 裸考(故意不准备)托福100+,雅思7+,口语的成绩不是其中最低的 词汇量达到8000以上 能够应付30分钟左右的全英文面试,且你在面试过程中说话的比例占至少三分之一,而不是人家说20句你说一句 阅读一般的技术文章(例如MSDN文档)和技术书籍没有太大障碍,具体来说,生词频率在1/100之下(即任选文章中的100个连续单词,平均只有一个不认识) 可以使用英文email和公司的外国人交流 可以和老外聊些简单家常或你比较熟悉的话题,支撑至少15分钟 关于单词与阅读 学英语不背单词是不行的,背单词是第一步,只有认识了单词,你才能看懂它,听懂它,最后在口语中运用。如果仅仅为了应付工作,则很多词并不需要背, […]