{"id":15480232,"url":"https://github.com/andycall/class","last_synced_at":"2025-04-22T15:23:43.499Z","repository":{"id":69961983,"uuid":"53053151","full_name":"andycall/class","owner":"andycall","description":"前端培训课程安排","archived":false,"fork":false,"pushed_at":"2016-04-18T07:43:54.000Z","size":5145,"stargazers_count":23,"open_issues_count":8,"forks_count":14,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-10-19T04:30:59.098Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andycall.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-03-03T13:42:44.000Z","updated_at":"2023-04-27T02:18:44.000Z","dependencies_parsed_at":"2023-02-22T04:31:08.713Z","dependency_job_id":null,"html_url":"https://github.com/andycall/class","commit_stats":{"total_commits":43,"total_committers":2,"mean_commits":21.5,"dds":"0.13953488372093026","last_synced_commit":"d1977ae58e5924f10ca7fe627f43cc732c0a9fac"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andycall%2Fclass","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andycall%2Fclass/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andycall%2Fclass/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andycall%2Fclass/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andycall","download_url":"https://codeload.github.com/andycall/class/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250265242,"owners_count":21402062,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-02T04:41:15.937Z","updated_at":"2025-04-22T15:23:43.475Z","avatar_url":"https://github.com/andycall.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# class\n前端培训课程安排\n\n在上课初期会有一个 Motivation 讲解，主要介绍前端开发这个行业的情况。\n\n现阶段前端招聘都会JS基础，JS高级的知识作为考察要点，学好下面的知识，找一个前端工程师实习将不会是一件很苦难的事情。\n\n适合刚入门和初级前端的同学来强化基础知识，同时也适合学习一段时间的同学来强化自己的能力。\n\n## Motivation\n\n- 前端开发的发展历史\n    - 刀耕火种 - 浏览器混战，jQuery 一统天下\n    - 发现新大陆 - Node.js 发布 前端迈向工程化\n    - 移动互联 - 移动设备网页开发技术兴起\n    - 百家齐放 - angular， backbone， react， 为开发spa提供便捷的体验\n    - 工具统一 - 在包管理器领域， npm打败的所有的包管理工具\n    - 。。。\n- 前端开发所涉及的技术，平台\n    - B/S 架构\n    - 各种各样的浏览器\n    - 页面布局技巧\n    - 浏览器兼容性\n    - http网络协议\n    - 用户解决开发难题的mvc和mvvm框架\n- 前端开发的主要开发工具\n    - IDE webstorm\n    - node.js\n    - chrome 浏览器\n    - chrome 开发者工具\n    - 翻墙工具\n    \n## 培训大纲\n\n- HTML \n    - 什么是doctype\n    - 行内元素和块级元素\n    - 流行的浏览器内核\n    - html 语义化\n\n- CSS\n    - 选择器\n    - 盒模型\n    - 浮动与清除浮动\n    - 定位\n    - 兼容性处理\n    - 响应式设计\n    - 布局技巧\n    - 性能优化 \n    - css 预处理器\n    \n- JS 基础\n    - 变量与函数声明\n    - 作用域\n    - this对象\n    - 闭包\n    - 数组方法\n    - 对象和JSON\n    - 原型与原型链\n    - 继承与多态\n    - call 与 apply\n    - ajax\n    - 异步与同步的区别\n    - 跨域处理\n    - window 对象\n    - 正则表达式\n    - 事件处理\n    - DOM 操作\n\n- JS 进阶\n    - Promise 对象\n    - 各类模块加载器及其原理\n        - requirejs\n            - 加载机制\n        - seajs\n            - 加载机制\n            - seajs的懒加载\n    - 移动端开发\n        - 事件处理\n        - 解决点透问题\n    - 前端构建工具的使用\n        - webpack的使用\n        - fis的使用\n    - ES6\n        - generator\n        - let, var, const\n        - 函数的扩展\n        - 数组的扩展\n        - 对象的扩展\n        - class\n    - 异步处理\n        - Promise\n        - async await\n    - jquery 相关源码剖析\n        - 链式调用\n        - 事件\n        - ajax\n        - 选择器\n        - 缓存\n\n- Node.js\n    - 什么是Node.js\n    - node.js的模块机制\n    - node.js的核心模块\n    - 理解异步I/O\n    - express 基本使用\n    - gulp 自动化工具流\n    - 数据库连接与操作\n    - 路由操作\n    - 登陆验证\n    - 中间件\n    - orm 数据库对象模型\n    - 安全验证\n    - 搭建一个简单博客系统\n\n-  JS 高级\n    - React 框架使用\n        - JSX\n        - 组件\n        - 子节点和数据传递\n        - 神奇的ref属性\n        - 事件\n        - 组件的声明周期\n        - 控制渲染来优化性能\n        - 通过后端渲染来提升首屏\n    - Redux的使用\n        - Redux 的开发守则\n        - Actions\n        - Reducers\n        - Store\n        - react-redux\n        - 使用redux-devtools\n        - 异步Actions\n        - 异步数据流\n        - 中间件\n        - 基于redux react的后端渲染\n    - 完整开发一个spa应用\n\n## 上课安排\n\n每周5天，每天2个小时，每天都会留相应的作业。\n周末会有个强化练习\n\n## 招生计划\n学生人数 \u003c= 7\n\n\n1234\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandycall%2Fclass","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandycall%2Fclass","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandycall%2Fclass/lists"}