转一篇前端学习过程及进阶文章

第一阶段:

HTML+CSS:
HTML进阶、CSS进阶、div+css布局、HTML+css整站开发、

JavaScript基础:
Js基础教程、js内置对象常用方法、常见DOM树操作大全、ECMAscript、DOM、BOM、定时器和焦点图。

JS基本特效:
常见特效、例如:tab、导航、整页滚动、轮播图、JS制作幻灯片、弹出层、手风琴菜单、瀑布流布局、滚动事件、滚差视图。

JS高级特征:
正则表达式、排序算法、递归算法、闭包、函数节流、作用域链、基于距离运动框架、面向对象基础、

JQuery:基础使用
选择器、DOM操作、特效和动画、方法链、拖拽、变形、JQueryUI组件基本使用。

第二阶段:HTML5和移动Web开发

HTML5:
HTML5新语义标签、HTML5表单、音频和视频、离线和本地存储、SVG、Web Socket、Canvas.

CSS3:
CSS3新选择器、伪元素、颜色表示法、边框、阴影、background系列属性改变、Transition、动画、景深和深透、3D效果制作、Velocity.js框架、元素进场、出场策略、炫酷CSS3网页制作。

Bootstrap:
响应式概念、媒体查询、响应式网站制作、删格系统、删格系统原理、Bootstrap常用模板、LESS和SASS。

移动Web开发:
跨终端WEB和主流设备简介、视口、流式布局、弹性盒子、rem、移动终端JavaScript事件、手机中常见JS效果制作、Zepto.js、手机聚划算页面、手机滚屏。

第三阶段:HTTP服务和AJAX编程

WEB服务器基础:
服务器基础知识、Apache服务器和其他WEB服务器介绍、Apache服务器搭建、HTTP介绍。

PHP基础:
PHP基础语法、使用PHP处理简单的GET或者POST请求、

AJAX上篇:
Ajax简介和异步的概念、Ajax框架的封装、XMLHttpRequest对象详细介绍方法、兼容性处理方法、Ajax框架的封装、Ajax中缓存问题、XML介绍和使用。

AJAX下篇:
JSON和JSON解析、数据绑定和模板技术、JSONP、跨域技术、图片预读取和lazy-load技术、JQuery框架中的AjaxAPI、使用Ajax实现爆布流案例额。

第四阶段:面向对象进阶

面向对象终极篇:
从内存角度到理解JS面向对象、基本类型、复杂类型、原型链、ES6中的面向对象、属性读写权限、设置器、访问器。

面向对象三大特征:
继承性、多态性、封装性、接口。

设计模式:
面向对象编程思维、单例模式、工厂模式、策略模式、观察者模式、模板方法模式、代理模式、装饰者模式、适配器模式、面向切面编程。

第五阶段:封装一个属于自己的框架

框架封装基础:
事件流、冒泡、捕获、事件对象、事件框架、选择框架。

框架封装中级:
运动原理、单物体运动框架、多物体运动框架、运动框架面向对象封装。

框架封装高级和补充:
JQuery框架雏形、可扩展性、模块化、封装属于自己的框架。

第六阶段:模块化组件开发

面向组件编程:
面向组件编程的方式、面向组件编程的实现原理、面向组件编程实战、基于组件化思想开发网站应用程序。

面向模块编程:
AMD设计规范、CMD设计规范、RequireJS,LoadJS、淘宝的SeaJS。

第七阶段:主流的流行框架

Web开发工作流:
GIT/SVN、Yeoman脚手架、NPM/Bower依赖管理工具、Grunt/Gulp/Webpack。

MVC/MVVM/MVW框架:
Angular.js、Backbone.js、Knockout/Ember。

常用库:
React.js、Vue.js、Zepto.js。

第八阶段:HTML5原生移动应用开发

Cordova:
WebApp/NativeApp/HybirdApp简介、Cordova简介、与PhoneGap之间的关系、开发环境搭建、Cordova实战(创建项目,配置,编译,调试,部署发布)。

Ionic:
Ionic简介和同类对比、模板项目解析、常见组件及使用、结合Angular构建APP、常见效果(下拉刷新,上拉加载,侧滑导航,选项卡)。

React Native:
React Native简介、React Native环境配置、创建项目,配置,编译,调试,部署发布、原生模块和UI组件、原生常用API。

HTML5+:
HTML5+中国产业联盟、HTML5 Plus Runtime环境、HBuilder开发工具、MUI框架、H5+开发和部署。

第九阶段: Node.js全栈开发:

快速入门:
Node.js发展、生态圈、Io.js、Linux/Windows/OS X环境配置、REPL环境和控制台程序、异步编程,非阻塞I/O、模块概念,模块管理工具、开发流程,调试,测试。

核心模块和对象:
全局对象global,process,console,util、事件驱动,事件发射器、加密解密,路径操作,序列化和反序列化、文件流操作、HTTP服务端与客户端、Socket.IO。

Web开发基础:
HTTP协议,请求响应处理过程、关系型数据库操作和数据访问、非关系型数据库操作和数据访问、原生的Node.js开发Web应用程序、Web开发工作流、Node.js开发Blog案例。

快速开发框架:
Express简介+MVC简介、Express常用API、Express路由模块、Jade/Ejs模板引擎、使用Express重构Blog案例、Koa等其他常见MVC框架。

Node.js开发电子商务实战:
需求与设计、账户模块注册登录、会员中心模块、前台展示模块、购物车,订单结算、在线客服即时通讯模块。

2017.2.17日记

日记断了两天没写,虽然说是过年了时间上有时候忘记了,不过这不是借口,今天怎么都不能再断了!

昨天年初一和家里人亲戚一起去了牌坊那边逛逛和拍照,还去转了一下桃花,希望今年桃花运好,嘻嘻!

跟妹弟和啊文在那边谈天说地的。

今天年初二,开年了,祝今年家人都健健康康,平平安安,工作的事业都一帆风顺!

2018.2.14日记

今天计划刚不是变化,我的跑步鞋居然被老妈拿去洗了,搞得我一大早起来却去不了体育馆。

今天老妹也放假回到家了。

还有就是今天不说还不知道是情人节咧!so what!

学习计划照常中。

明天就是除夕了,还有大把事情要做了。

2018.2.13日记

昨天回家没有按计划写日记,今天不能再有变了。

今天早上没有起得来去体育馆跑步,现在想想还是挺失败的,虽然起来的时候确实很冷,不过傍晚6点多我还是补上了这个计划,去体育馆锻炼了一个多小时。

今天将对联也买好了,这几年感觉人越来越少了,年味也淡了好多。

今天的学习安排也都要按计划进行。

还有明天一定要早起!

文件已经另存为了utf-8码,但关闭后重新打开就自动变成了ansi编码的原因

一、问题

 文件已经另存为了utf-8码,但关闭后重新打开就自动变成了ansi编码?
二、原因
    原因是该文件中没有包含任何中文字符,如果该文件有包含中文字符,将文件另存为utf-8编码后,中文字符会以3个字节的宽度来保存(要看16进制代码),这样,在第二次打开文件时,编辑器会自动将文件识别为utf-8编码。

这里面还存在一个utf-8 bom头的问题,bom头是utf-8文件最开始的3个字节编码,其十六进制码为:EF BB BF,一般情况下编辑器通过判断文件中开头是否存在这三个字节编码,来识别此文件是UTF码或ansi码,但另外还存在一种情况是,utf-8编码文件中在保存时选择了“UTF-8 无BOM”格式(用Ultra Edit编辑器或Notepad++),也就是说移除了bom头三个字节,但文件中的中文是以三个字节的UTF-8编码保存的,一般的编辑器在打开文件时还是能将此文件识别为utf-8编码。但如果文件中既不含中文字符(三字节UTF-8格式编码的),也没有包含bom头标记的,用编辑器打开文件时就会识别为ansi码。

(各种版本) 实现http自动跳转https

APache 版本

如果需要整站跳转,则在网站的配置文件的<Directory>标签内,键入以下内容:
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [L,R=301]

如果对某个目录做https强制跳转,则复制以下代码:
RewriteEngine on
RewriteBase /yourfolder
RewriteCond %{SERVER_PORT} !^443$
#RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [L,R]
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]

如果只需要对某个网页进行https跳转,可以使用redirect 301来做跳转!redirect 301 /你的网页 https://你的主机+网页

Nginx版本

在配置80端口的文件里面,写入以下内容即可。
server {
listen 80;
server_name localhost;
rewrite ^(.*)$ https://$host$1 permanent;
}

IIS 版本

IIs中实现Http自动转换到Https方法介绍 (403跳转对SEO有一定影响)
1、根据IIS版本备份以下文件:
IIS6.0 路径:C:\WINDOWS\Help\iisHelp\common\403-4.htm
IIS7.0以上 路径:C:\inetpub\custerr\zh-CN\403.htm

2、把以下内容全部拷贝替换(403-4或403)里面所有内容,保存即可
<HTML><HEAD><TITLE>该页必须通过安全通道查看</TITLE>
<META HTTP-EQUIV=”Content-Type” Content=”text/html; charset=GB2312″>
</HEAD><BODY>
<script type=”text/javascript”>
var url = window.location.href;
if (url.indexOf(“https”) < 0) {
url = url.replace(“http:”, “https:”);
window.location.replace(url);
}
</script>
</BODY></HTML>
注释:IIS6中,站点属性-》目录安全性-》编辑中把“要求安全通道(SSL)”勾选上即可。
IIS7、8中,SSL设置-》把“要求SSL”勾选即可。

TOMCAT 版本

1、在conf目录下的server.xml文件中找到以下配置,修改redirectPort参数值为”443″,默认是“8443”.
<Connector port=”80″ protocol=”HTTP/1.1″ connectionTimeout=”20000″ redirectPort=”443″ />

2、在conf目录下的web.xml文件内容<web-app>……</web-app>中增加以下配置。
<web-app>
………
<security-constraint>
<web-resource-collection >
<web-resource-name >SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
</web-app>
单独页面通用代码段:以下方法较适合指定某一个子页单独https
在需要强制为https的页面上加入以下代码进行处理http–>https
<script type=”text/javascript”>
var url = window.location.href;
if (url.indexOf(“https”) < 0) {
url = url.replace(“http:”, “https:”);
window.location.replace(url);
}
</script>
在需要强制为http的页面上加入以下代码进行处理
https–>http
<script language=”JavaScript” type=”text/JavaScript”>
function redirect()
{
var loc = location.href.split(‘:’);
if(loc[0]==’https’)
{
location.href=’http:’+loc[1];
}
}
onload=redirect
</script>

PHP页面跳转:添加在网站php页面内
if ($_SERVER[“HTTPS”] <> “on”)
{
$xredir=”https://”.$_SERVER[“SERVER_NAME”].$_SERVER[“REQUEST_URI”];
header(“Location: “.$xredir);
}

记录一个简单的用jquery写的table切换效果

$(document).ready(function(){

$(‘#tabfirst li’).hover(function(){

$(this).addClass(“on_tab”).siblings().removeClass();

$(“#tab_box > div”).eq($(‘#tabfirst li’).index(this)).show().siblings().hide();

});

});

html部分

<ul id=”tabfirst”>
<li class=”on_tab”><a href=”/” >麻瓜程序员</a></li>
<li><a href=”/”>jquery切换效果</a></li>
<li><a href=”/”>jquery素材</a></li>
<li><a href=”/”>行业新闻</a></li>
</ul>

<div id=”tab_box”>
<div class=”tab_box2″>1</div>
<div class=”tab_box2″>2</div>
<div class=”tab_box2″>3</div>
<div class=”tab_box2″>4</div>
</div>

热爱的业余的爱下厨的程序员