发表于: 2018-06-01 22:02:54
2 564
任务二. 认识开发工具
今天完成的事情
- - IDE & 编辑器对比
- - 版本管理工具学习
- - Git基本操作
- - 代码托管平台对比
- - 服务器使用学习
明天计划的事情
分析任务三, 完成规划及部分开发
遇到的问题
暂无
收获
1. IDE & 编辑器对比 参考:Atom、Sublime Text、VSCode 三者比较,各有哪些优势和弱势?
- - Webstorm: 一款成熟的IDE,对网站开发者友好,插件齐全功能强大,对于前端开发帮助极大;
- VisualCode:
- - 微软开源代码编辑器,可通过安装插件来应用在各种开发场景;
- - Windows & Linux & Mac都有, 界面优雅性能稳定,简单强大的插件系统, Windows上最适用代码编辑器;
- - Terminal 内置!
- - Sublime: 老牌非开源代码编辑器. 功能强大启动速度快,各平台表现都很好, 但是装了插件之后markdown支持也不好(嫌弃脸
- - Atom:开源老牌编辑器,有活跃的开源社区支持,够hack,对电脑顶配的前端开发者友好... 稳定性差,Windows上表现不好
2. 版本管理工具学习
1. 本地式(第一代):
- - 特点: 实现了基础的代码管理功能, 但是无法协作;
- - 代表: SCCS(1972)、 PVCS(1985)
2. 客户端-服务器式(第二代):
- 特点:
- 优点: 实现了中心服务器端的代码版本管理, 允许多人对同一个代码库进行同步&修改
缺点:
- 断网受限: 断网时无法查看日志, 也无法提交和比较版本;
- 分支管理困难: 不支持本地分支, 且创建的分支难以修改;
- 中心化: 中心化意味着需要时刻做好灾备, 备份频率需求与较高的备份成本相互掣肘;
- 慢: 代码备份&查询&对比都需要与服务器通信, 服务器负载大, 表现出来的结果就是慢;
- - 代表:CVS(1986)、 ClearCase(1992)、Visual SourceSafe(1994)、Perforce(1995)、Subversion(2000,即SVN)
3. 分布式(第三代):
- 特点:
优点: 结合前两代优点,并且解决了前两代的弊端
- 分布式: 断网时可查本地库中的日志, 亦可提交代码、创建分支, 分块管理;
- 快:负载分流管理,使用体验为快速;
- 社区: Github社区的火爆推动Git的流行;
- 缺点: 有一定学习曲线, 不过基础使用入门不难;
- - 代表: Git(2005)、Mercurial(2005)
3. Git基本操作 参考: Git教程-廖雪峰的官方网站
- 提交操作
- 1) 初始化:
git init
- 2) 全部加入缓存区:
git add .
- 3) 提交缓存区文件:
git commit -m "本次提交描述"
- 4) 添加远程库链接:
git remote add origin <远程库链接>
- 5) 初次推送到添加的远程库:
git push -u origin master
- 6) 再次推送到添加的远侧库:
git push origin master
- 1) 初始化:
- 分支操作
- 本地:
- 查看分支:
git branch
- 创建分支:
git branch 新分支名
- 切换分支:
git checkout 已有分支名
- 删除分支:
git branch -d 已有分支名
- 查看分支:
- 远程:
- 查看分支(带*号为本地分支):
git branch -a
- 删除远程分支: git branch -r -d 远程分支名 git push origin :远程分支名
- 查看分支(带*号为本地分支):
4. 代码托管平台对比
- Github: 世界最大同性交友社区(雾
- 优点: 开源项目丰富品种齐全, 适合自己做练手和公开项目用, 支持CI;
- 缺点: 国内有点慢, 私有仓库要收费, 不支持演示;
- 优点: 适合中国国情, 速度快, 有免费私有库用, 支持一键部署到演示平台(有空试试), 支持项目点评, 支持代码质量分析;
- 缺点: 据说CI支持不够完善, 待验证
- Coding
- 特点: 集成项目管理、集成WebIDE在线开发环境、标准化拓展接口
- Gitlab: 公司内部代码管理
- 特点: 可根据需要整合其他工具, 参考: [gitlab+jira] (https://www.zhihu.com/questio...
5. 服务器使用学习
- 1)购买云服务器: 阿里云、腾讯云
2)购买之后:
- 远程登录, 搭建Apache或者Nginx, 然后放置网站在指定路径, 完成外网访问支持;
- 买域名, 审核后绑定服务器, 完成域名访问支持;
3)Apache & Nginx 对比 参考:Nginx和Apache各有什么优缺点
Apache:
- 适合处理动态请求
- 模块支持好
- bug少,稳定
- rewrite功能强大
Nginx:
- 轻量级, 配置简洁, 优势在于处理静态请求
- 并发支持好,资源使用少
- 高度模块化设计
- 社区活跃
- 结合: 前端用Nginx作为反向代理抗压, apache作为后端处理动态请求
4)Nginx环境搭建(Centos): 参考How to install and configure NGINX on CentOS7
- 下载安装: @官网照写
- 编辑nginx.repo
- yum install epel-release
- yum install nginx
- 状态操作
- 启动: systemctl start nginx.service
- 查询: systemctl status nginx.service
- 停止: systemctl stop nginx.service
- - 开机启动设置: systemctl enable nginx.service
- 目录
- 网站文件默认存放目录:/usr/share/nginx/html
- 网站默认站点配置:/etc/nginx/conf.d/default.conf
- 自定义Nginx站点配置文件目录:/etc/nginx/conf.d
- Nginx全局设置:/etc/nginx/nginx.conf
- Nginx启动:nginx -c nginx.conf
评论