Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gaohaoyang/baidu-ife-practice
baidu front-end learning practice
https://github.com/gaohaoyang/baidu-ife-practice
Last synced: 2 days ago
JSON representation
baidu front-end learning practice
- Host: GitHub
- URL: https://github.com/gaohaoyang/baidu-ife-practice
- Owner: Gaohaoyang
- Created: 2015-04-13T13:12:49.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2015-07-03T03:23:41.000Z (over 9 years ago)
- Last Synced: 2023-02-28T04:56:30.078Z (over 1 year ago)
- Language: JavaScript
- Size: 1.28 MB
- Stars: 88
- Watchers: 5
- Forks: 35
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 关于这个仓库
这里是用来存放我在做百度前端任务的练习代码。
关于百度前端学院的详情请点击这里:[https://github.com/baidu-ife/ife](https://github.com/baidu-ife/ife)
---
## 说明
前两个任务的代码已经写到fork的仓库中了,如下:
* [task0001](https://github.com/Gaohaoyang/ife/tree/master/task/task0001/work/Gaohaoyang)
* [task0002](https://github.com/Gaohaoyang/ife/tree/master/task/task0002/work/Gaohaoyang)但是我同时又拷贝了一份到这个仓库,因为改变了提交作业的方法之后,还是用自己的仓库比较方便。
## task0001
深入学习了HTML、CSS。深刻理解了 CSS 布局和 BFC 技术。
最终实现了一个博客页面的展示。
* [任务要求](https://github.com/baidu-ife/ife/tree/master/task/task0001)
* [在线 demo](http://gaohaoyang.github.io/ife/task/task0001/work/Gaohaoyang/index.html)
* [我的笔记-HTML, CSS基础](http://gaohaoyang.github.io/2015/04/15/baidu-ife-1/)## task0002
学习 JavaScript。
自己封装了一个 util.js 工具库,包含深度克隆、数组去重、添加删除 CSS 样式、简单 Query、封装 Ajax 等功能。
后面的练习中实现了兴趣列表、倒计时、图片轮播、输入框即时提示、拖拽交互等任务。
* [任务要求](https://github.com/baidu-ife/ife/tree/master/task/task0002)
* [我的笔记-JavaScript 基础](http://gaohaoyang.github.io/2015/04/22/baidu-ife-2-javascript/)
* [在线 Demo](http://gaohaoyang.github.io/ife/task/task0002/work/Gaohaoyang/index.html)## task0003
任务三实现了一个 ToDo 的单页应用。
使用 localStorage 存储数据,JSON 模拟数据表,实现了分类和待办状态的改变,具有良好的交互体验。
* [任务要求](https://github.com/baidu-ife/ife/tree/master/task/task0003)
* [在线 Demo](http://gaohaoyang.github.io/baidu-ife-practice/task0003/)
* [笔记](http://gaohaoyang.github.io/)## task0004
任务四是将任务三的 ToDo 应用优化,以适应移动端设备。
为了便于管理,我单独开了一个仓库用来放 ToDo 手机适配版的代码。
仓库见这里:[https://github.com/Gaohaoyang/ToDo-WebApp](https://github.com/Gaohaoyang/ToDo-WebApp)
### ToDo WebApp Version
* [任务四要求](https://github.com/baidu-ife/ife/tree/master/task/task0004)
* [源代码](https://github.com/Gaohaoyang/ToDo-WebApp)
* [在线 demo](http://gaohaoyang.github.io/ToDo-WebApp/)
* 手机查看 ↓ 二维码 ↓
![todoWebApp](http://7q5cdt.com1.z0.glb.clouddn.com/task4-code-todoWebApp.png)
* [版本更新日志](https://github.com/Gaohaoyang/ToDo-WebApp/releases)
* [我的博客 HyG](http://gaohaoyang.github.io)### Details
* **数据存储**
以 JSON 模拟数据表的形式存储于 LocalStorage 中
使用数据库的思想,构建3张表。
cateJson 分类
childCateJson 子分类
taskJson 任务
分类表 cate
----------------------
id* | name | child(FK)
----------------------
子分类表 childCate
--------------------------------
id* | pid(FK) | name | child(FK)
--------------------------------
任务表 task
----------------------------------------------
id* | pid(FK) | finish | name | date | content
----------------------------------------------* **使用 `Sass` 重构了 CSS 代码**
使用分块、继承等方式,使得代码更加清晰明了。* **响应式布局**
针对手机端细节做了很多调整,更符合手机上的视觉交互习惯。* **加入页面切换效果**
使用 `translate3d()`,纯 CSS3 切换动画效果。* **处理了 XSS 防护**
对可能造成破坏的字符进行转码。* **性能优化**
使用 CDN 处理静态资源 fontAwesome,压缩静态资源等* **模块化**
使用 requireJS 模块化 JavaScript 代码。重构 JavaScript 代码。优化之前写的耦合性高的绑定事件,重新绑定事件,降低耦合性。期间根据具体需求重写了事件代理的代码。* **前端工程化**
使用 gulp,自动编译 Sass,压缩 CSS 和 JavaScript 代码。并且配置了自动流程。