# 笔记
## 安装环境概要
课后配置环境
## 学会学习笔记(markdown)
1.文本编辑软件:Atom是githup开源的的一个编辑器,也是一个很好的markdown编辑器。成为
一个合格的软件开发者第一个要学会编写文档
2.Atom支持markdown的编辑和渲染
3.markdown操作演示
## 全栈工程师
1.简单点说是全能型人才,一个人可以把服务器搭建起来,数据库建好,写web程序连接数据
库,包括网页+ios,Android客户端,一个人都能把这些搞定的我们叫做全栈工程师
## 全栈工程师需要做什么?
从安装配置部署环境起——>部署web开发环境——>安装数据库——>分析业务建模——>建数据库表——>
写web程序连接数据库进行对数据库增删改查——>进行与前端连接
### 前端分为两类
1.客户端需要Android和ios 2.网页端程序需要html,css ,和js,两者结合起来为混合app
开发模式。
#### 原生app程序:
Android使用java ,ios使用oc
弊端:开发周期慢,成本高,app更新每次都需要向各个应用商店提交审核。
#### 混合app开发:
原生app开发(调用蓝牙等硬件功能调用全部用oc或者java编写,然后封装一个sdk)+网页app
开发
#### 全栈工程师需要技能:
数据库,服务器端,本地存储,本地API,网页,综合技术应用.
## 编程语言
机器语言:是0101二进制代码它与硬件电路相关
汇编语言:直接通过英文单词给机器下指令,经过编译器解析后,直接生成机器码
高级语言:从C开始 c++ java等
C与Unix同时出现,C语言特点是一处编写,到处编译,C语言是结构化的编程语言
汇编语言:可移植性差
建模: 针对现实生活中的事或者物进行抽象
java面向对象核心观点:排除干扰信息,只掌握核心信息
C++和C弊端:指针,指针要人为去管理,指针要管理内存的分配和释放 指针操作失误就会产生
严重后果并且不是真正的跨平台,只是可以在不同机器上编译,而Java在一台机子上写代码并
且编译好并打包,放到其他装有Java的机子上就能用,有了JVM实现了真正的跨平台
Java特点:一处编译到处运行
java和C++对比:java不会内存泄漏,Java内存分配释放由jvm管理,减轻了程序员的工作量
php比java更效率,框架方便简单。
Ruby是完全面向对象的:任何一点数据都是对象,包括在其他语言中的基本类型(比如:整数,布
尔逻辑值),每个过程或函数都是方法。
强类型是静态类型
动态类型未必是弱类型
以前所有语言都叫指令式或者命令式语言