Linux程序设计从入门到实战 - 第一章 Linux系统入门:核心命令实战

第一章 Linux系统入门:核心命令实战



1、Linux程序设计概要介绍

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2、从POST到Init,Linux的引导过程:在BIOS之后,操作系统才正式接管硬件资源

在这里插入图片描述

3、Linux命令行常用快捷键:加速你与Linux的交互速度

ll (两个小写的LL)告诉你当前目录底下有哪些内容
cd ~ 进入自己的当前用户的主目录
halt 关机

因为,在实际的工作中,GUI的存在会无谓消耗系统的资源,在服务器领域,绝大多数的时候都是命令行。
如何在命令行的模式中,完成用户和系统的交互。
在windows下通过Secure crt,与虚拟机中的linux进行远程连接。

核心命令实战(命令行下的快捷键)

提升命令行的使用熟练程度
Tab:补全
Ctrl+a:到行首
Ctrl+e:到行尾
Ctrl+Insert:复制命令行的内容
Shift+Insert: 粘贴命令行的内容

Ctrl+k:剪切光标处到行尾的字符
Ctrl+u:剪切光标处到行首的字符
Ctrl+w:剪切光标前的一个单词
Ctrl+y:粘贴上面3个的文本

Secure Crt: ctrl+s:假死,ctrl+q就可以解除了
Secure Crt: 如果你不小心按了ctrl+s,Secure Crt会假死,这个时候你可以按ctrl+q就可以解除了

4、cd:切换目录命令常用技巧

cd,叫做change directory,切换目录。
在这里插入图片描述
当用clear清屏后,此时在这种情况下,我不知道我当前所在的完整路径,可以敲pwd命令:
在这里插入图片描述

命令:cd进入目录,pwd显示完整的路径,在Linux当中,硬盘的文件组织和windows是不一样的。windows有C盘、D盘、E盘等等,Linux没有,它就是一棵树。
在这里插入图片描述
命令:cd … 表示返回上一级目录,cd / (表示从绝对路径之下开始找对应的文件夹)
在这里插入图片描述
命令:cd – 表示迅速返回上次目录,做环境配置的时候非常有用
比如说我下了一个软件包,我上一次目录是在/opt/底下建了一个目录,然后我又在/mnt底下建了一个目录,那我在来回切换的时候,我就用这个cd - 命令,这是非常非常有用的。

命令:cd ~ 表示返回当前用户的家目录
在这里插入图片描述

5、mkdir:递归建立目录与批量克隆目录结构的技巧

我现在提一个常见的需求,就是我想在当前目录底下,创建laoxia这个目录,在laoxia这个目录底下创建一个dingst目录,即创建laoxia/dingst
在这里插入图片描述

命令:递归的创建目录

在递归的创建目录,如果目录不存在,那么必须加 –p参数,mkdir –p laoxia/dingst
在这里插入图片描述

然后,我想在laoxia这个目录底下创建laoxia/c和laoxia/c++,以及dingst/c和dingst/c++这4个目录,此时可以一个一个的mkdir这几个目录,但是这个办法笨了点。

命令:批量建立目录

在这里插入图片描述

  • 大括号{}的用法:我们使用大括号的时候,如果中间有逗号,它将综合组成我们想要的字符。

6、touch:mtime,ctime和atime

命令:touch,修改文件的时间

如果文件不存在,我们就用touch新建一个文件,相当于在windows下用鼠标右键新建一个文件。
在linux下面文件有3个时间。
三个时间mtime:最后修改时间,如果修改了文件的内容,mtime会发生变动;
三个时间ctime:状态修改时间,如果移动了文件(类似于windows当中的剪切粘贴文件)、修改了文件属性(比如赋予权限的时候),ctime会发生变动;
三个时间atime:最后访问时间,如果查看文件的内容,atime会发生变动。

  • 参数 -d 表示,创建文件以后可以指定文件的修改时间。
    在这里插入图片描述
    比如我现在想创建一个和laoxia.c一样的dingst.cpp,那么
  • 使用-r这个参数
    在这里插入图片描述
    这个 -r 参数在我们打印日志的时候,还是比较有作用的。

7、ls:过滤文件与目录和查找**更新但不知文件名的技巧

在这里插入图片描述
参数 -F 可以清晰看到我们的目录和文件的区别,在shell编程当中特别容易过滤出文件和目录。

如果只是ls b/ 没有显示b目录底下什么东西都没有。
那如果使用参数 -R ,那么这个时候就会把b目录底下的信息给你列出来,这个参数 -R 表示递归的看。
在这里插入图片描述

参数 -R 可以递归的显示目录内容

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这个时候会把a这个目录底下的二级目录递归的全部列出来,这个也是我们有用的一个技巧,就是当我们去检查这个目录,比如说我们在写程序的时候,打印生成log的时候,你去看它这个目录有没有正常生成。

命令 ll 是 ls 的别名:

在这里插入图片描述
在这里插入图片描述

在ls当中还有一个非常有用的技巧,比如在a目录底下新建一个文件dingstlaoxia.c,如果我根本就不知道这个文件叫什么名字,该怎么找这个文件呢,但是我直到这个文件最近更新过,这就是一个非常常见的需求。

如何用ls找出最近更新但是不知道名字的文件
  • 命令是:ls –lrt

直接在最后一排就是目标
在这里插入图片描述
在这里插入图片描述

8、find:按时间查找

命令:find
find 目录 条件
比如我们现在想要查找下,距离现在两天内的文件:
find . -atime -2
上面命令中的点 . 表示当前路径,-atime参数表示受到访问的时间。
在这里插入图片描述
你们看 -2 的时候,没有laoxia.c,也没有dingst.cpp,这个目的是什么呢:
减号表示,距离当前n天以内,比如说我当前时间是2024年5月3日为例,那么这个减号表示,2024年5月1日到5月3日;
没有符号,表示,从5月3日开始到n天以后,我现在是2,就相当于是从2024年5月3日到2024年5月5日;
加号,表示在n天以前的,以2为例,它要找的是2024年5月1日以前的。
这是非常有用的一个技能。

9、find-name和-type:按名称、按类型和查找结果取反

比如说我现在想找一个名字,按姓名查找的话:
-name 查找当前目录中以.c结尾的文件
-size 查找文件大小小于1个字节的文件
在这里插入图片描述
反向查找:!查找当前目录底下的目录
在这里插入图片描述
我们看到a目录里面有3个目录,那么通过find列出目录:
在这里插入图片描述
它把所有的目录都找出来了,包括里面的子目录c和c++都找出来了。
但是我现在不想找目录了,我现在想找文件,该输入什么命令呢?
在这里插入图片描述
这些都是非常常用的技能啊。

10、find-maxdepth:控制检索目录的深度

我们在前面看到,find把所有的子目录都找了出来,但是我们不想找到子目录,这时我们就可以控制目录的深度。
控制目录的深度:-maxdepth 1
在这里插入图片描述
此时只列出了一级目录。

11、find-newer:查找比某个文件后创建的文件

在编程中我们还有一个比较有用的技巧,我们经常会写一个文件,我们想看这些文件当中在什么时间是已经写过了,什么时间是没有写过的,我们可能会有一个这样的需求。
就是查找比某一个文件新,但是比某一个文件旧的文件。
在这里插入图片描述
我们先找一下比laoxia1.txt新的文件:
在这里插入图片描述
我们想找在laoxia1.txt之后建立的,又在laoxia3.txt之前建立的文件:
在这里插入图片描述
在这里插入图片描述

12、find与exec:在目录中删除所有的文件但保留指定的文件

到a目录中,我们现在有这么一个需求,一般来讲我们find以后肯定都希望它会做一个动作,我们就可以用 -exec 这个参数来做这样一个事情,exec 要做的事情就是我接一个可以运行的程序来运行它,比如说,我不关心目录,我就想看当前目录底下有哪些文件,我想看这些文件的详细信息,那么我可以这样干:
在这里插入图片描述
这个花括号表示命令前面那个find所找到的内容,而且这个花括号的前后必须要有空格,在花括号和空格之后呢,要给一个反斜杠\和分号,表示这个命令结束:
在这里插入图片描述
这个时候,它把目录底下的,包括子目录b底下的文件全部列出来给你看了。

命令:find和exec ,找出当前目录下的所有常规文件,并显示详细信息
在这里插入图片描述
再给你看一个有意思的生成案例,比如说我想删除一个目录下面所有的文件,但是只保留一个指定的文件。
删除一个目录下面所有的文件,但是只保留一个指定的文件。
在这里插入图片描述
我们的需求是,我在一个目录底下,我要把这个目录底下所有文件都删除,但是只保留一个指定的文件,我先建立几个文件,然后我要把laoxia10这个文件留下来,把前面的laoxia1到laoxia9这9个文件都删掉:
在这里插入图片描述
这个是我们非常常见的一个删除。

13、xargs:提取命令行参数

xargs这个命令主要是帮助我们把文本当中的一些内容,当成一个命令行参数给它传递进来,这个在组合的时候特别有用。
在这里插入图片描述
在这里插入图片描述
我想把上面的内容变成每行3列形式显示出来,该怎么做呢?
在这里插入图片描述
这种提取命令行参数的好处是,它把原来文本当中的内容可以当成命令行参数给它灌进来,这是第一个作用;
第二个作用就是,往往把xargs当成一个组合。
在这里插入图片描述
可以将一个文件的内容作为命令行参数输入。
在这里插入图片描述
我想把当前目录里面所有的.txt文件找到以后全部删除,可以通过管道把命令前面find的结果灌到xargs所组合的删除命令里面:
在这里插入图片描述

14、chmod与umask:文件目录权限

在这里插入图片描述

文件目录的权限:

可以用三个8进制来表示权限:
这个权限是 U+ G + O
000-111 :7
从000到111,最大就是数字7,所以用8机制就够了。
在这里插入图片描述
比如上图,laoxiaTest.txt的权限是,对于当前用户是可读可写、但不可执行,和它在一个组的可以读、但是不可写也不可执行,除了当前用户和同一组的用户以外,其他的用户只有读的权限。

修改文件权限chmod

如果我想改变一下当前用户的权限,上图中laoxiaTest.txt的权限是是rw- r-- r–,二进制就是110 100 100,即644,我们这样改:
在这里插入图片描述

文件掩码umask

我们创建的文件,它有一个默认的权限。
默认的我们可以创建最大权限是666,但是为什么出现的却是644,这主要是我们的文件有一个umask,我们创建的一个文件的权限:
默认权限-umask
666
022
644
在这里插入图片描述
上图的0022是因为该数值是8进制的,所以前面带一个0,我们默认的umask是八进制的022。
在这里插入图片描述

15、cat /dev/null:创建文件、显示文件以及清空文件内

命令:cat
它有几个常用的作用:(1)查看文件;(2)把多个文件合并成一个文件;(3)创建新文件;(4)清空文件。

生成一个文件、创建一个文件

在这里插入图片描述
在这里插入图片描述
cat后面的这个箭头指向哪,就表示你到哪个文件去,<<EOF表示当你遇到EOF的时候你才能结尾,切记最后输入文件内容要结束的时候,输EOF的时候一定要顶头写。

查看文件内容(显示行号)

在这里插入图片描述
命令cat可以显示文件,如果用-n,-b也会显示行号,但是b不对空行编号。
在这里插入图片描述
在这里插入图片描述

清空文件的内容,但是保留文件名

cat /dev/null > 文件名
在这里插入图片描述

16、cut:截取文件内容

命令:cut,可以切分文件内容
我现在想把文件内容里面的love给提取出来,一个字符占1个字节:
在这里插入图片描述
在这里插入图片描述
-b表示按字节,1表示序列号。
在这里插入图片描述
从2开始往后提取,也可以从头开始提取一直到9这个位置。

17、vi使用(上):介绍

vim编辑器
通常的vi有两种模式,命令模式,编辑模式。

一开始用vi打开文件的时候,就进入了 命令模式。
命令dd就是剪切;
a,i 键进入编辑模式,如果我们从编辑模式退回到命令模式,按esc即可。

在我们的vi学习使用中,你需要知道的几个内容:
dd删除行,dw删除一个单词,d$删除至行尾,d^删除至行首,dG表示从当前位置一直删除到文件末尾。
删除字符:可以在编辑模式下按backspace,命令模式可以用x,10x,表示连续删除10个字符,3dd,表示连续删除3行。

命令模式下的跳转:
光标快速定位:nG,表示移动到第n行。
命令:gg表示移动到第一行;G表示移动到最后一行。
跳到下一个单词的开头:w;下一个单词的结尾e,到前一个单词的开头b,到前一个单词的结尾ge。
到行头就是^,到行尾就是$。

复制就是yy复制光标所在的行,复制到行首y^,复制到行尾y$,复制1个单词yw,复制两个单词y2w,复制到文尾yG,从光标所在处一直复制到开头y1G。
如何粘贴:p
如果我们需要快速的交换上下行,ddp

查找字符串:r,替换整行cc,替换一个单词就是cw

18、vi使用(下):实战操作

在这里插入图片描述
设置行号:
:set number
在这里插入图片描述

  • gg
    迅速到文件的开头

  • G
    迅速到文件的最后

  • 点号 . 重复上一次的操作
    首先,按下x表示在命令模式下删除一个字符,然后不断按下.号键,就可以连续上一次的操作。
    dd就是剪切了一行,按p就粘贴了这一行。

  • 交换上下两行
    演示:我先定位到第10行,直接输入冒号加上数字,即 :10
    然后,ddp,就把第10行和第11行交换了。

  • 在行内实现光标的定位
    w表示下一个单词的开始,再按w就又跳到下一个单词的开头;
    下一个单词的结尾就是e,上一个单词的开头是b,前一个单词的结尾是ge

  • 复制整行
    命令是yy
    粘贴命令是p

演示:复制单词并粘贴
在这里插入图片描述
我先定位到第11行,按w定位到See这个单词,然后按yw复制该单词,再按p
在这里插入图片描述
它就在S后面把See 贴出来了。

  • 撤销
    命令是u

esc是进入命令模式,wq表示vi的存盘退出,q! 表示不保存强制退出。。

19、命令:grep搜索匹配

在这里插入图片描述
我想查这个文件当中,不包含laoxia这个字符串的行:
在这里插入图片描述
命令grep –v 查找不包含laoxia的行;
如果这个时候我想要显示包含laoxia的行,并且显示行号,就用参数-n
(n就是number的意思):
在这里插入图片描述
参数 -c 用来告诉你laoxia这个字符串在文件中出现了多少次。(c就是count的意思)

20、ps:查看进程命令

ps和grep组合起来,经常能够找到我们想要找的内容。
常见的ps命令有两类:一个是常见的ef,这个是表示unix格式的;还有一个是aux,这个是bsd风格。
在这里插入图片描述

解析:uid表示这个进程是哪个用户的,pid表示进程号,ppid表示父进程,c表示cpu的资源占用比,stime表示开始的时间,tty表示这个进程是在哪一个终端上面启动的,time表示这个进程使用的总时间,cmd表示正在执行的命令行。

在这里插入图片描述
其中STAT这一列表示进程的状态,S表示它是可以睡眠的,D表示它是不可睡眠的;
比如说想看这里面root用户的进程的状态:
在这里插入图片描述
上图所列出的这些进程是和我这个当前用户相关的。

演示:比如如果想要查看进程树(这也是比较有用的内容)
在这里插入图片描述
它就会以树形目录列出。

比如说我只想看其中某一个进程的信息:
在这里插入图片描述
这种非常有用的命令组合,只把和sshd相关的进程列出来给你看。

21、命令:netstat(我们编程当中经常看端口的命令)

在这里插入图片描述
它会看你网络的所有情况。

演示一个最常见的组合:
在这里插入图片描述
-l表示所有listen状态的网络连接,-n表示显示ip地址,-t表示tcp,-u表示udp,-p表示进程号。

在这里插入图片描述

22、gcc:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
-I表示需要在那个目录中进行寻找。

23、gdb:

编译并开始调试:
在这里插入图片描述
列出行号:
在这里插入图片描述

在第3行,打断点,并开始运行:
在这里插入图片描述
P打印变量,这样就基本具备了调试的能力:
在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《SLAM导航机器人零基础实战系列》讲义 第1章:Linux基础 1.Linux简介 2.安装Linux发行版ubuntu系统 3.Linux命令行基础操作 第2章:ROS入门 1.ROS是什么 2.ROS系统整体架构 3.在ubuntu16.04中安装ROS kinetic 4.如何编写ROS的第一个程序hello_world 5.编写简单的消息发布器和订阅器 6.编写简单的service和client 7.理解tf的原理 8.理解roslaunch在大型项目中的作用 9.熟练使用rviz 10.在实际机器人上运行ROS高级功能预览 第3章:感知与大脑 1.ydlidar-x4激光雷达 2.带自校准九轴数据融合IMU惯性传感器 3.轮式里程计与运动控制 4.音响麦克风与摄像头 5.机器人大脑嵌入式主板性能对比 6.做一个能走路和对话的机器人 第4章:差分底盘设计 1.stm32主控硬件设计 2.stm32主控软件设计 3.底盘通信协议 4.底盘ROS驱动开发 5.底盘PID控制参数整定 6.底盘里程计标 第5章:树莓派3开发环境搭建 1.安装系统ubuntu_mate_16.04 2.安装ros-kinetic 3.装机后一些实用软件安装和系统设置 4.PC端与robot端ROS网络通信 5.Android手机端与robot端ROS网络通信 6.树莓派USB与tty串口号绑定 7.开机自启动ROS节点 第6章:SLAM建图与自主避障导航 1.在机器人上使用传感器 2.google-cartographer机器人SLAM建图 3.ros-navigation机器人自主避障导航 4.多目标点导航及任务调度 5.机器人巡航与现场监控 第7章:语音交互与自然语言处理 1.语音交互相关技术 2.机器人语音交互实现 3.自然语言处理云计算引擎
python入门到高级全栈工程师培训视频学习资料;本资料仅用于学习,请查看后24小时之内删除。 【课程内容】 第1章 01 计算机发展史 02 计算机系统 03 小结 04 数据的概念 05 进制转换 06 原码补码反码 07 物理层和数据链路层 08 网络层和arp协议 09 传输层和应用层 第2章 01 上节课复习 02 arp协议复习 03 字符编码 第3章 01 网络基础和dos命令 02 为何学习linux 03 课程内容介绍 04 操作系统内核与系统调用 05 操作系统安装原理 06 linux操作系统安装 07 初识linux命令 08 linux操作系统目录结构 09 目录及文件操作 第4章 01 上节课复习 02 创建用户相关的文件 03 用户增删该查及组相关操作 04 对文件的权限管理 05 对目录的权限管理 06 权限管理补充 07 属主属组及基于数字的权限管理 第5章 01 上节课复习 02 文件合并与文件归档 03 文件归档与两种压缩方式 04 vim编辑器 05 系统启动流程 06 grub加密 07 bios加密 08 top命令 09 free命令 10 进程管理 第6章 01 上节课复习 02 磁盘分区 03 文件系统与挂载 04 挂载信息讲解 05 磁盘用满的两种情况 06 软连接和硬链接 07 软连接和硬链接补充 第7章 01 ip地址与子网划分 02 ip地址配置 03 虚拟机网络模式 04 三层隔离验证试验 第8章 01 上节课复习 02 软件包介绍 03 rpm软件包管理 04 yum软件包管理 05 源码安装python3.5 06 ssh服务 07 apache服务 08 samba服务 第9章 01 Python开发系列课程概要 02 Python作业要求以及博客 03 编程语言介绍 04 Python种类介绍 05 Python安装以及环境变量的操作 06 Python初识以及变量 07 Python条件语句和基本数据类型 08 Python while循环语句以及练习题 09 练习题讲解 第10章 01 上节内容回顾以及补充 02 上周作业实现 03 Pycharm的安装和使用 04 Python 运算符 05 Python 运算符以及总结 06 Python 基本数据类型介绍 07 Python 整形的魔法 08 Python 字符串的魔法 第11章 01 Python 字符串的魔法 02 Python range的用法以及练习 03 Python 课上练习解释 04 Python 基础知识练习题试题 第12章 01 今日内容介绍以及基础测试题答案讲解 02 Python 列表的魔法 03 Python 元组的魔法 04 Python 字典的魔法 05 Python 错误更正:布尔值可以作为字典的key 06 Python 今日内容整理 第13章 第13章共1课 第14章 01 数据类型和变量总结 02 集合定义和基本操作方法 03 集合关系运算交,差,并集 04 集合的其他内置方法 05 集合补充 06 百分号字符串拼接 07 format字符串格式化 08 数学意义的函数与python中的函数 09 为何要有函数 10 函数返回值 11 可变长参数 第15章 01 上节课复习 02 全局变量与局部变量 03 风湿理论之函数即变量 04 函数递归 05 函数递归补充 第16章 01 上节课回顾 02 函数作用域 03 函数作用域补充 04 匿名函数 05 函数式编程介绍 06 函数式编程尾递归调用优化 07 map函数 08 map函数filter函数 09 reduce函数 10 map reduce filter总结 11 内置函数part1 第17章 01 课前吹牛 02 zip方法 03 max和min高级使用 04 其他内置函数 05 文件操作的其他模式 第18章 01 上节课复习 02 文件处理b模式 03 文件操作的其他方法 04 文件seek方法补充 05 迭代器协议和for循环工作机制 06 迭代器补充 07 三元运算,列表解析,生成器表达式 第19章 01 生成器函数 02 生成器函数的好处 03 母鸡下蛋的传说 04 生成器特性阐释 05 生产者消费者模型 06 第三次作业讲解 第20章 01 上节课回顾 02 装饰器基本理论 03 高阶函数使用 04 函数闭包 05 函数闭包装饰器基本实现 06 函数闭包加上返回值 07 函数闭包加上参数 08 函数闭包补充:解压序列 09 函数闭包为函数加上认证功能 10 函数闭包模拟session 11 函数闭包装饰器运行流程 12 函数闭包带参数装饰器 第21章 01 查询功能 02 修改功能 03 程序的解耦 04 module模块和包的介绍 05 模块的执行以及__name__ 06 关于模块的介绍 07 time时间模块 08 random模块 第22章 01 模块的补充 02 sys修改环境变量 03 BASEDIR的介绍 04 os模块的介绍 05 sys模块的介绍 06 json模块 07 pickle模块 08 shelve模块 09 XML模块 10 re模块简介 11 re模块之元字符 第23章 01 re模块之转义字符 02 re模块之分组 03 re模块之方法 04 re模块总结 05 logging模块 06 re模块补充 07 configparse模块 08 hashlib模块 09 计算器作业以及思路 10 模块导入补充 第24章 01 面向对象设计 02 类相关知识 03 对象相关知识 04 类属性增删改查 05 实例属性的增删改查 06 对象与实例属性 07 对象与实例属性补充 08 面向对象作业 第25章 01 上节课回顾 02 静态属性 03 类方法 04 静态方法 05 小结 06 组合 07 继承 08 接口继承与归一化设计 09 继承顺序之mro线性顺序列表 10 在python2中的继承顺序是什么 11 在子类中调用父类方法 12 super调用父类的方法 13 选择系统作业讲解 第26章 01 学生自主复习 02 分享列表 03 多态 04 封装 05 面向对象概念总结 06 反射 07 反射及动态导入模块 08 类的内置attr属性 09 类内置attr属性补充 10 继承的方式完成包装 11 组合的方式完成授权 第27章 01 os模块复习 02 上节课复习 03 内置函数补充及getattribute 04 getattribue补充 05 item系列 06 str与repr 07 自定制format 08 slots属性 09 doc属性 10 module和class 11 析构方法 12 call方法 13 迭代器协议 14 迭代器协议实现斐波那契数列 16 描述符答疑 17 描述符优先级 18 软件开发规范 19 pycharm干的好事 第28章 01 上节课复习 02 上下文管理协议 04 异常的构成简单了解 05 描述符应用 08 类的装饰器的基本原理 09 类的装饰器增强版 10 类的装饰器的应用 11 自定制property 12 自定制property流程分析 13 自定制property实现延迟计算功能 14 property补充 15 元类介绍 16 自定义元类 17 函数复习 18 文件操作复习 第29章 01 上节课复习 02 什么是异常处理及异常处理的两种方式对比 03 多分支与万能异常 04 异常处理的其他内容 05 什么时候用异常处理 06 什么是socket 07 套接字发展及分类 08 基于tcp协议的套接字编程 09 socket底层工作原理解释 10 tcp三次握手与四次挥手 第30章 01 上节课复习 02 客户端服务端循环收发消息 03 socket收发消息原理剖析 04 服务端循环链接请求来收发消息 05 补充 06 udp套接字 07 recv与recvfrom的区别及基于udp实现ntp服务 08 基于tcp实现远程执行命令 09 基于tcp实现远程执行命令测试结果 10 粘包现象 11 粘包解决方法 第31章 01 上节课复习 02 socketserver实现并发 03 socketserver模块介绍 04 socketserver源码分析tcp版本 05 socketserver源码分析udp版 06 ftp作业要求讲解 07 补充:认证客户端链接合法性 第32章 01 FTP之参数解析与命令分发 02 FTP之逻辑梳理 03 FTP之验证功能 05 FTP之文件上传 06 FTP之断点续传 08 FTP之进度条 09 FTP之cd切换 11 FTP之创建文件夹及MD5校验思路 第33章 01 操作系统历史 02 进程的概念 03 线程的概念 04 线程的调用以及join方法 05 setDaemon方法和继承式调用.baiduyun.downloading 05 setDaemon方法和继承式调用 第34章 01 上节知识回顾 02 并发并行与同步异步的概念 03 GIL的概念 04 同步锁 05 递归锁 06 同步对象event 07 信号量 08 线程队列 09 生产者消费者模型 10 多进程的调用 第35章 01 进程通信 02 进程池 03 协程 04 事件驱动模型 05 IO模型前戏 06 阻塞IO与非阻塞IO 07 select及触发方式 08 select监听多连接 09 select与epoll的实现区别 第36章 01 异步IO 02 selectors模块介绍 03 selectors模块应用 04 作业介绍 第37章 01 selctors实现文件上传与下载 02 html的介绍 03 html文档树的概念 04 meta标签以及一些基本标签 05 img标签和列表标签 06 form表单之input标签 07 通过form向server端发送数据 08 form表单之select标签 09 table标签 第38章 01 css的四种引入方式 02 css的四种基本选择器 03 css的组合选择器 04 css的属性选择器 05 css的伪类 06 css的选择器优先级 07 css的背景属性 第39章 01 css的文本属性与边框属性 02 css的列表属性与display属性 03 css的内外边距 04 css的内外边距补充 05 css的float属性 06 css的清除浮动 07 css的定位 08 css的margin定位 第40章 01 抽屉作业之head区域(导航条) 02 抽屉作业之置顶区域 03 抽屉作业之content部分 05 抽屉作业之页码部分 06 抽屉作业之footer部分 第41章 01 JS的历史以及引入方式 02 JS的基础规范 03 JS的基本数据类型 04 JS的运算符 05 JS的控制语句与循环 06 JS的循环与异常 07 JS的字符串对象 08 JS的数组对象 09 JS的函数对象 第42章 01 JS的函数作用域 02 JS的window对象之定时器 03 JS的history对象和location对象 04 JS的DOM节点 05 JS的DOM节点 第43章 01 上节知识回顾 02 js之onsubmit事件与组织事件外延 03 DOM节点的增删改查与属性设值 04 正反选练习 05 js练习之二级联动 06 jquery以及jquery对象介绍 07 jquery选择器 08 jquery的查找筛选器 09 jquery练习之左侧菜单 第44章 01 jquery属性操作之html,text,val方法 02 jquery循环方法和attr,prop方法 03 jquery模态对话框与clone的应用 04 jqueryCSS操作之offsets,position以及scrolltop 05 jquery事件绑定与事件委托 06 jquery动画效果 07 jquery扩展与插件 08 jquery扩展补充 09 本周作业轮播图以及思路 第45章 轮播图片css部分 轮播图片js部分 第46章 01 数据库与dbms的概念 02 sql规范 03 数据库操作DDL 04 python s3 day46 mysql的数据类型 05 数据表操作 06 表记录之增删改操作 07 表记录查询之查询 第47章 01 多表查询之连接查询 02 级联删除与set null 03 多表查询之连接查询 04 多表查询之复合查询与子查询 05 mysql之索引 第48章 01 python操作数据库pymysql 02 数据库之事务 03 mysql事务之savepoint 第49章 01 http协议之请求协议 02 http协议之响应协议 03 web框架的概念 04 做一个最简答web框架 05 MVC模式和MTV模式 06 django的一个简单应用 07 django静态文件之static 08 django的url控制系统 09 django的urlConf补充 第50章 01 django之视图函数的介绍 02 django视图之redirec 03 django模板之变量 04 django模板之过滤器 05 django模板之控制语句if和for循环 06 django模板之标签tag补充 07 django模板之自定义filter和simple_tag 08 django模板之继承标签extend和添加标签include 第51章 01 数据库表与表之间的一对多多对多的关系 02 Django的ORM的概念 03 ORM对单表的增删改操作 04 ORM查询API 05 模糊查询之万能的双下换线 第52章 01 上节知识回顾 02 ORM多表操作之一对多增加记录 03 ORM多表操作之一对多查询之对象查询 04 ORM多表操作之一对多查询之双下划线查询 05 ORM多表操作之多对多添加记录 06 ORM多表操作之多对多查询 07 ORM多表操作之F查询与Q查询 08 ORM的querySet集合对象的特性 第53章 01 admin介绍 02 alex首秀失败 03 自定义admin样式 04 admin补充 05 COOKIE介绍 06 COOKIE和SESSION配合使用 第54章 01 今日内容概要 02 Django内容回顾 03 Django请求生命周期之Http请求 04 Django请求生命周期之FBV和CBV 05 Django请求生命周期之CBV扩展 06 瞎扯淡 07 Django请求生命周期之响应内容 08 学员管理示例:数据库设计 09 学员管理示例:班级管理 10 学员管理示例:学员管理 第55章 01 Django的ORM基本操作补充之概要 02 Django的ORM基本操作补充之一对多 03 学员管理示例:编辑学生 04 Django的ORM基本操作补充之多对多 05 学员管理示例:为班级分配老师 06 初识Ajax以及简单应用 07 学员管理示例:Ajax删除学生 08 本节作业以及内容补充 第56章 01 上节内容回顾 02 创建Project以及表结构 03 基于BootStrap和FontAwesome制作页面 04 创建学生信息 05 删除学生信息 第57章 01 上节内容回顾 02 上节bug修复 03 编辑学生信息之前端功能 04 编辑学生信息之后台处理 05 以上内容总结 06 Ajax功能之dataType和traditional 第58章 01 今日内容概要 02 Ajax补充之serialize 03 分页功能介绍 04 分页基础知识 05 Django内置分页 06 扩展Django内置分页 07 自定义分页组件 08 DjangoForm组件初识 第59章 01 Form组件之生成HTML标签 02 Form组件之详解字段 03 Form组件之常用标签示例 04 Form组件之动态绑定数据 第60章 Django序列化共6课 第61章 01 上节内容回顾 02 上传文件 03 制作上传按钮 04 Form组件上传文件 05 上传相关内容梳理 06 Model操作知识提问 07 Model操作概述 08 Model字段 09 Model连表字段参数详解 10 Model自定义多对多第三张表 11 强插一道面试题 12 Model连表操作梳理 13 多对多自关联 14 Model操作补充 15 再插两道JavaScript面试题 16 Model操作之select_related以及prefetch_related 17 Model操作知识梳理以及补充 18 JavaScript两道面试题讲解 第62章 01 今日内容概要 02 创建基本项目 03 XMLHttpRequest对象发送请求 04 XMLHttpRequest对象发送POST请求 05 Iframe伪造Ajax请求 06 Iframe伪造回调函数 07 上述内容整理 08 FormData对象以及Ajax文件上传 09 Iframe文件上传 10 Iframe上传文件 11 JSONP实现AJax跨域 12 内容整理以及CORS简单介绍 第63章 01 项目以及学习介绍 02 企业官网示例功能介绍 03 企业官网示例以及数据库表结构 04 企业官网示例作业要求 05 Toando源码基本基本介绍 第64章 01 组合搜索 02 瀑布流 03 瀑布流作业 第65章 01 今日内容概要 02 瀑布流作业讲解 03 保障系统需求分析 04 保障系统数据库设计 05 保障系统目录结构规定 06 阶段任务安排 第66章 01 保障系统主页功能讲解 02 保障系统主页分类和分页的实现 03 阶段作业:保障系统登录注册 第67章 01 保障系统之登录注册功能讲解 02 保障系统之网站验证码 03 保障系统之一个月免登陆 04 任务安排 第68章 01 保障系统之个人知识库主页 02 保障系统之个人知识库内容筛选 03 保障系统之文章最终页 04 保障系统之KindEditor基本使用 05 保障系统之下节预告 06 今日作业以及下节预告 第69章 01 后台管理功能介绍 02 后台管理页面布局 03 今日作业以及下节预告 第70章 01 后台管理之创建报障单 02 后台管理之处理报障单 03 后台管理之画图流程 04 后台管理之Highchart统计保障单 第71章 01 权限管理要求 02 权限管理数据库表设计 03 填充权限数据 04 作业:获取权限以及菜单信息 05 作业思路讲解 06 权限管理之获取用户权限信息 07 权限管理之获取用户菜单信息 08 权限管理之用户权限挂靠到菜单上 09 权限管理之处理菜单等级关系 第72章 01 上节内容概要以及标记应该显示的菜单 02 权限管理之递归生成多级菜单 03 权限管理之标记当前以及激活菜单 04 权限管理之基本使用 05 权限管理之封装权限组件 06 下节预告 第73章 01 CMDB项目介绍 02 CMDB开发背景 03 CMDB开发目的 04 CMDB资产采集方式之agent 05 CMDB资产采集方式之ssh 06 CMDB资产采集方式之saltstack 07 CMDB资产采集方式之puppet 08 CMDB资产采集方式比较 09 CMDB资产采集内容梳理 10 CMDB资产采集功能实现之agent 11 CMDB资产采集功能实现之ssh 12 CMDB资产采集功能实现之saltstack 13 CMDB资产采集插件开发 14 内容回顾之面向对象继承 15 作业:基于配置文件加载插件 第74章 01 CMDB项目上节作业讲解 02 CMDB项目采集资产数据 03 知识拾遗之线程进程池 04 CMDB项目采集资产之日志记录 05 自定义JSON序列化类型 06 本节作业 第75章 01 基于requests模块汇报资产数据 02 基于requests模块汇报API验证 03 CMDB项目示例之API验证流程 04 CMDB项目之数据库表结构 05 CMDB项目之资产汇报并持久化 06 CMDB项目之持久化资产流程 07 本周作业 第76章 01 CMDB项目CURD组件之配置文件构造 02 CMDB项目CURD组件之神奇的单@符号 03 CMDB项目CURD组件之神奇的双@符号 04 CMDB项目CURD组件之自定义td属性 05 下节内容预习 第77章 01 CMDB项目CURD组件之进入编辑模式 02 CMDB项目CURD组件之全选取消反选和编辑模式 03 CMDB项目CURD组件之内容截图 04 CMDB项目CURD组件之进入编辑模式详细 05 CMDB项目CURD组件之属性中应用神奇的单@符号 06 CMDB项目CURD组件之退出编辑模式 07 CMDB项目CURD组件之更新数据 08 CMDB项目CURD组件之基于jQuery扩展封装组件 09 CMDB项目CURD组件之10分钟搞定页面基本操作 10 CMDB项目CURD组件之分页功能 11 CMDB项目CURD组件之搜索功能介绍 12 CMDB项目总结 第78章 01 剩余项目概览 02 CRM项目需求分析 04 CRM项目需求分析及架构设计 05 CRM项目表结构设计 第79章 01 CRM项目实战-前端页面布局 02 CRM项目实战-登录页面开发 04 CRM项目实战-动态菜单设计 05 CRM项目实战-kingadmin开发设计 06 CRM项目实战-kingadmin自动发现及注册功能开发 07 CRM项目实战-kingadmin model obj list页面开发 08 CRM项目实战-kingadmin 根据list_display配置生成数据列表 09 CRM项目实战-kingadmin 多条件过滤功能开发 第80章 01 课前鸡汤 02 分页功能开发 03 分页功能优化 04 排序功能开发 05 分页 排序 筛选组合使用 06 搜索功能开发 第81章 01 CRM项目实战 - 动态modelform的实现 02 CRM项目实战 - 动态modelform 增加自定义样式 03 CRM项目实战 - 实现任意表的增删改查 04 CRM项目实战 - 只读字段的处理 05 CRM项目实战 - filter_horizontal的实现 第82章 01 CRM项目实战 - kingadmin m2m filter_horizontal优化 02 CRM项目实战 - kingadmin 对象删除功能开发 03 CRM项目实战 - kingadmin+admin+action功能开发 04 CRM项目实战 - csrf+token验证原理 第83章 01 CRM项目-kingadmin批量删除 02 CRM项目-学员报名流程开发 03 CRM项目-本次作业需求 第84章 01 SSO介绍 02 用户自定义认证 03 万能通用权限框架设计 04 万能通用权限框架设计-自定义权限钩子实现 第85章 01 堡垒机项目实战-需求讨论 02 堡垒机项目实战-表结构设计 第86章 01 堡垒机项目实战-用户交互程序开发 02 堡垒机项目实战-通过paramiko记录ssh会话记录 03 堡垒机项目实战-把parmaiko代码嵌入用户交互程序 04 堡垒机项目实战-在数据库里记录用户会话数据 第87章 01 堡垒机项目实战-前端模板的选择 02 堡垒机项目实战-web ssh的使用 03 堡垒机项目实战-批量任务的思路 04 堡垒机项目实战-批量任务的前端页面开发 第88章 01 堡垒机实战-批量命令后端开发 02 堡垒机实战-批量命令前端获取执行结果 03 堡垒机实战-批量文件分发 第89章 01 版本管理工具介绍 02 git基本使用 03 github使用 04 git 分支开发流程 05 restful规范介绍 06 restful api设计指南 第90章 01 rabbitmq 消息安全接收 02 rabbitmq 消息持久化 03 rabbitmq 消息订阅发布 04 rabbitmq 消息组播 05 rabbitmq 消息RPC 第91章 01 阶段课程安排介绍 02 爬虫介绍 03 初识爬虫之采集汽车资讯信息 04 requests和beautfulsoup模块基本使用 05 示例:自动登录抽屉新热榜 06 requests模块详细介绍 第92章 01 BeautifulSoup模块详细介绍 02 示例:自动登录知乎 03 示例:自动登录博客园 04 作业之开发Web微信 第93章 01 开发Web微信前戏 02 Web微信流程介绍 03 Web微信之用户扫码 04 Web微信之用户信息初始化 05 Web微信开发总结 第94章 01 Web微信之获取用户初始化信息并展示 02 Web微信之发送微信消息 03 Web微信之获取用户消息 04 Web微信开发总结 第95章 01 多线程实现并发请求 02 多进程实现并发请求 03 异步IO模块的使用 04 自定义异步IO模块前戏 05 自定义异步IO模块开发 06 自定义异步IO模块开发 第96章 01 Scrapy爬虫介绍 02 抽屉示例:初识Scrapy并获取新闻标题 03 抽屉示例:递归获取所有页码 04 抽屉示例:基于pipeline实现标题和URL持久化 第97章 01 Scrapy上节回顾 02 去除重复URL 03 pipeline补充 04 自动登录抽屉并点赞 05 scrapy框架扩展 06 配置文件 第98章 01 Scrapy配置之自动限速以及缓存 02 Scrapy之默认代理以及扩展代理 03 Scrapy之自定义Https证书 04 Scrapy配置之下载中间件 05 Scrapy配置之爬虫中间件 06 Scrapy配置之自定义scrapy命令 07 Scrapy源码流程简述 第99章 01 今日内容概要 02 Scrapy源码剖析前戏之Twisted使用 03 Scrapy源码剖析之自定义Low版框架 04 Scrapy源码剖析之自定义TinyScrapy框架 05 Scrapy源码剖析流程解析 第100章 01 Tornado学习概要 02 Tornado基本操作 03 Tornado自定义Session知识前戏 04 Tornado自定义Session 第101章 01 WebSocket介绍 02 WebSocket握手过程分析 03 基于Python实现WebSocket握手过程 04 位运算补充 05 WebSocket数据解析过程 06 基于Tornado的WebSocket实现聊天室 第102章 01 今日内容复习目标 02 异步非阻塞框架介绍 03 Tornado异步非阻塞功能使用 04 自定义Web框架(同步) 05 自定义Web框架支持同步和异步非阻塞 06 复习计划 第103章 01 缓存数据库介绍 02 redis string操作 03 redis hash 操作 04 redis list操作 05 redis 集合操作 06 redis 其他常用命令 07 redis 发布订阅 08 celery介绍和基本使用 09 celery在项目中使用 10 celery定时任务 11 celery在项目中使用 12 celery 在django中实现定时任务 第104章 就业指导 01 简历制作 02 如何面试 03 最后的鸡汤 04 Nginx+uWSGI+Django部署
Google Android开发入门实战的代码 1章 掀起你的盖头来——初识Android. 1 1.1 认识Android 1 1.2 Android的背景 2 1.2.1 Android的历史 2 1.2.2 Android的发展 2 1.3 我的Android我做主 2 1.3.1 开发基于Android平台的应用 3 1.3.2 参加Android开发者大赛 3 1.3.3 个人英雄主义再现——得到更多人的认可和尊重 3 1.3.4 获得应有的收益——Android Market 3 1.4 真实体验——Android模拟器 4 1.4.1 模拟器概述 4 1.4.2 模拟器和真机的区别 4 1.4.3 模拟器使用注意事项 4 1.5 更上一层楼——加入Android开发社区 5 1.6 本章小结 6 第2章 工欲善其事 必先利其器——搭建Android开发环境 7 2.1 开发Android应用前的准备 7 2.1.1 Android开发系统要求 7 2.1.2 Android软件开发包 7 .2.1.3 其他注意事项 8 2.2 Windows开发环境搭建 8 2.2.1 JDK、Eclipse、Android SDK软件安装 8 2.2.2 SDK的家在哪里——设定Android SDK Home 14 2.2.3 真的准备好了吗——开发环境验证 14 2.2.4 创建Android 虚拟设备(AVD) 15 2.3 Linux一族——Ubuntu开发环境搭建 17 2.3.1 Java、Eclipse和ADT插件安装 17 2.3.2 设定Android SDK Home 23 2.4 Mac OS一族——苹果开发环境搭建 24 2.5 本章小结 24 第3章 清点可用资本——Android SDK介绍 25 3.1 Android SDK 基础 25 3.2 深入探寻Android SDK的密码 25 3.2.1 Android SDK目录结构 25 3.2.2 android.jar及内部结构 27 3.2.3 SDK文档及阅读技巧 27 3.2.4 先来热热身——Android SDK例子解析 28 3.2.5 SDK提供的工具介绍 31 3.3 Android典型包分析 33 3.3.1 开发的基石——Android API核心开发包介绍 33 3.3.2 拓展开发外延——Android可选API介绍 34 3.4 本章小结 34 第4章 赚钱的市场——Android Market及应用发布 35 4.1 Google Market产生背景与目的 35 4.2 体验“选货”的乐趣——在G1上体验Market的使用 35 4.3 Android开发活动及特色应用 37 4.3.1 开发应用的领域 37 4.3.2 Android Market特色应用一览 38 4.4 你也可以做东家——申请Market账号 43 4.4.1 卖东西要先入伙——准备工作 43 4.4.2 入伙过程——申请 44 4.5 开张了——在Market上发布应用 45 4.5.1 发布时可能遇到的错误 45 4.5.2 卖东西也要签名——生成签名文件 46 4.5.3 打包、签名、发布应用 48 4.6 本章小结 51 第5章 千里之行 始于足下——第一个应用HelloWorld 52 5.1 HelloWorld应用分析 52 5.1.1 新建一个Android工程 52 5.1.2 填写工程的信息 52 5.1.3 编程实现 53 5.1.4 运行项目 54 5.2 调试项目 54 5.2.1 设置断点 54 5.2.2 Debug 项目 55 5.2.3 断点调试 55 5.3 本章小结 56 第6章 磨刀不误砍柴工——Android应用程序结构介绍 57 6.1 Android体系结构介绍 57 6.1.1 应用程序(Application) 57 6.1.2 应用程序框架(Application Framework) 58 6.1.3 库(Libraries)和运行环境(RunTime) 58 6.2 Android 应用程序组成 59 6.2.1 Activity介绍 59 6.2.2 Broadcast Intent Receiver介绍 60 6.2.3 Service介绍 61 6.2.4 Content Provider介绍 61 6.3 Android应用工程文件组成 61 6.4 本章小结 62 第7章 良好的学习开端——Android基本组件介绍 63 7.1 第一印象很重要——界面UI元素介绍 63 7.1.1 视图组件(View) 63 7.1.2 视图容器组件(Viewgroup) 63 7.1.3 布局组件(Layout) 64 7.1.4 布局参数(LayoutParams) 64 7.2 我的美丽我做主——Android中应用界面布局 64 7.2.1 实例操作演示 65 7.2.2 实例编程实现 66 7.3 不积跬步 无以至千里——常用widget组件介绍 75 7.3.1 创建widget组件实例 75 7.3.2 按钮(Button)介绍与应用 76 7.3.3 文本框(TextView)介绍与应用 77 7.3.4 编辑框(EditText)介绍与应用 79 7.3.5 多项选择(CheckBox)介绍与应用 81 7.3.6 单项选择(RadioGroup )介绍与应用 83 7.3.7 下拉列表(Spinner )介绍与应用 85 7.3.8 自动完成文本(AutoCompleteTextView ) 87 7.3.9 日期选择器(DatePicker)介绍与应用 89 7.3.10 时间选择器(TimePicker)介绍与应用 90 7.3.11 滚动视图(ScrollView)介绍与应用 91 7.3.12 进度条(ProgressBar)介绍与应用 92 7.3.13 拖动条(SeekBar)介绍与应用 93 7.3.14 评分组件(RatingBar)介绍与应用 94 7.3.15 图片视图(ImageView)介绍与应用 95 7.3.16 图片按钮(ImageButton)介绍与应用 96 7.3.17 切换图片(ImageSwitcher&Gallery) 96 7.3.18 网格视图(GridView)介绍与应用 99 7.3.19 标签(Tab)介绍与应用 101 7.4 友好的菜单——menu介绍与实例 102 7.4.1 实例操作演示.. 103 7.4.2 实例编程实现 103 7.5 Android应用的灵魂——Intent和Activity介绍与实例 106 7.5.1 实例操作演示 106 7.5.2 实例编程实现 106 7.6 用好列表,做好程序——列表(ListView)介绍与实例 111 7.6.1 实例程序演示 111 7.6.2 实例编程实现 112 7.7 友好地互动交流——对话框(Dialog)介绍与实例 119 7.8 温馨的提醒——Toast和Notification应用 127 7.8.1 实例操作演示 128 7.8.2 实例编程实现 129 7.9 本章小结 135 第8章 移动信息仓库——Android的数据存储操作 136 8.1 Android数据存储概述 136 8.2 轻轻地我保护——SharedPreferences存储 136 8.3 谁的文件,谁主宰——文件存储 140 8.4 打造自己的数据库存储——SQLite存储方式 141 8.4.1 Android中对数据库操作 141 8.4.2 完整地操作数据库——日记本实例 147 8.5 我的数据你来用——ContentProvider介绍 155 8.5.1 初识ContentProvider 155 8.5.2 使用ContentProvider读取系统数据 156 8.5.3 使用ContentProvider操作数据日记本实例 159 8.6 再学一招——网络存储 171 8.7 本章小结 173 第9章 我来“广播”你的“意图”——Intent和Broadcast面对面 174 9.1 Android应用程序的核心——Intent 174 9.1.1 Intent基础 174 9.1.2 用Intent启动一个新的Activity 174 9.1.3 Intent 详细讲解 177 9.1.4 Android解析Intent实现 179 9.2 用广播告诉你——利用Intent来广播(BroadCast)事件 180 9.2.1 实现Android中的广播事件 180 9.2.2 BroadCast Receiver介绍 181 9.3 应用实例详解 181 9.3.1 程序操作演示 182 9.3.2 实例编程实现 182 9.4 本章小结 186 第10章 一切为用户服务——Service应用实例 187 10.1 认识Service 187 10.2 使用Service 188 10.3 Service的生命周期 194 10.4 实例学习Service 194 10.4.1 精彩实例一——定时提醒 194 10.4.2 精彩实例二——音乐播放器 198 10.5 本章小结 201 第11章 循序渐进——开发Android应用的基本步骤 202 11.1 兵马未动 粮草先行——应用规划及架构设计 202 11.2 应用开发步骤 202 11.2.1 界面设计始终是第一位——实现UI 203 11.2.2 必备的动力源泉——数据操作和存储 203 11.2.3 华丽转身——实现多页面跳转 203 11.2.4 始终为用户做好服务——增加Service 203 11.2.5 细节决定成败——完善应用细节 203 11.3 成功就在眼前——应用测试和发布 204 11.3.1 只欠东风——应用测试 204 11.3.2 可以赚钱了——发布到Android Market 204 11.4 本章小结 204 第12章 Android综合案例一——RSS阅读器实例 205 12.1 RSS介绍 205 12.1.1 RSS基础 205 12.1.2 RSS的历史 205 12.1.3 RSS语法介绍 206 12.2 SAX介绍 207 12.2.1 SAX基础 207 12.2.2 使用SAX的作用 207 12.2.3 怎样使用SAX 207 12.3 RSS阅读器设计 209 12.3.1 RSS阅读器功能设计 209 12.3.2 RSS阅读器UI和交互流程设计 209 12.4 RSS阅读器的实现 210 12.4.1 程序实体解析 210 12.4.2 实现一个自己的ContentHandler 214 12.4.3 Activity的实现 217 12.5 本章小结 220 第13章 Android综合案例二——基于Google Map开发个人移动地图 221 13.1 项目UI规划 221 13.2 数据存储实现 222 13.2.1 设计数据库及表结构 222 13.2.2 设计SharePreference 存储 223 13.3 项目实现流程 223 13.3.1 创建项目工程 223 13.3.2 项目各功能及界面实现 224 13.3.3 实现数据存取 247 13.3.4 实现Service 252 13.3.5 应用流程整体实现 254 13.3.6 后续开发完善 255 13.4 项目程序演示 255 13.5 项目程序签名、打包和发布 257 13.6 本章小结 259 第14章 Android综合案例三——基于Android的豆瓣网(Web 2.0)移动客户端开发 260 14.1 关于豆瓣网和豆瓣网API 260 14.1.1 豆瓣网介绍 260 14.1.2 豆瓣网API介绍 261 14.1.3 豆瓣网API认证 261 14.1.4 豆瓣网API快速入门 264 14.1.5 豆瓣网API Java库介绍 265 14.2 豆瓣网(Web 2.0)客户端设计 268 14.2.1 客户端功能规划设计 268 14.2.2 UI和交互流程设计 268 14.2.3 数据存储设计 270 14.3 豆瓣网(Web 2.0)客户端实现 270 14.3.1 申请API Key 270 14.3.2 Activity实现 271 14.4 本章小结 282 第15章 Android综合案例四——在线音乐播放器 283 15.1 关于YOBO和YOBO API 283 15.1.1 YOBO简介 284 15.1.2 YOBO功能特点 284 15.1.3 YOBO API介绍 284 15.2 在线播放器架构设计 285 15.2.1 在线播放器功能规划设计 285 15.2.2 在线播放器UI设计 285 15.2.3 在线播放器数据存储设计 286 15.3 在线播放器的编程实现 286 15.3.1 申请API Key 286 15.3.2 基础功能实现 287 15.3.3 实现Activity 290 15.3.4 实现Service 306 15.3.5 后续开发展望 310 15.4 在线音乐播放器应用演示 310 15.5 在线音乐播放器应用打包、签名和发布 311 15.6 本章小结 311 第16章 Android综合案例五——手机信息查看助手 312 16.1 手机信息查看助手功能规划和可行性分析 312 16.1.1 手机信息查看助手功能规划 312 16.1.2 手机信息查看助手可行性分析 312 16.2 手机信息查看助手功能实现 313 16.2.1 手机信息查看助手主界面 313 16.2.2 查看系统信息实现 316 16.2.3 查看硬件信息 320 16.2.4 查看软件信息 324 16.2.5 获取运行时信息 326 16.2.6 文件浏览器 328 16.2.7 项目的细节完善 331 16.3 手机信息查看助手功能展望 332 16.4 项目的打包、签名和发布 332 16.5 本章小结 333 第17章 芝麻开门——Android底层开发和移植概述 334 17.1 Android原始码下载 334 17.2 实机测试 335 17.2.1 Neo FreeRunner 介绍 335 17.2.2 烧录androidfs.jffs2 336 17.3 Android移植技术概论 337 17.3.1 Android底层技术的重要性 337 17.3.2 Android移植项目介绍 338 17.3.3 Android的技术优点... 340
我要挣钱(http://www.51zhengqian.net)编辑 目录 第1章 掀起你的盖头来——初识Android 1.1 认识Android 1.2 Android的背景 1.2.1 Android的历史 1.2.2 Android的发展 1.3 我的Android我做主 1.3.1 开发基于Android平台的应用 1.3.2 参加Android开发者大赛 1.3.3 个人英雄主义再现——得到更多人的认可和尊重 1.3.4 获得应有的收益——AndroidMarket 1.4 真实体验——Android模拟器 1.4.1 模拟器概述 1.4.2 模拟器和真机的区别 1.4.3 模拟器使用注意事项 1.5 更上一层楼——加入Android开发社区 1.6 本章小结 第2章 工欲善其事 必先利其器——搭建Android开发环境 2.1 开发Android应用前的准备 2.1.1 Android开发系统要求 2.1.2 Android软件开发包 2.1.3 其他注意事项 2.2 Windows开发环境搭建 2.2.1 JDK、Eclipse、AndroidSDK软件安装 2.2.2 SDK的家在哪里——设定AndroidSDKHome 2.2.3 真的准备好了吗——开发环境验证 2.2.4 创建Android虚拟设备(AVD) 2.3 Linux一族——Ubuntu开发环境搭建 2.3.1 Java、Eclipse和ADT插件安装 2.3.2 设定AndroidSDKHome 2.4 MacOS一族——苹果开发环境搭建 2.5 本章小结 第3章 清点可用资本——AndroidSDK介绍 3.1 AndroidSDK基础 3.2 深入探寻AndroidSDK的密码 3.2.1 AndroidSDK目录结构 3.2.2 android.jar及内部结构 3.2.3 SDK文档及阅读技巧 3.2.4 先来热热身——AndroidSDK例子解析 3.2.5 SDK提供的工具介绍 3.3 Android典型包分析 3.3.1 开发的基石——AndroidAPI核心开发包介绍 3.3.2 拓展开发外延——Android可选API介绍 3.4 本章小结 第4章 赚钱的市场——AndroidMarket及应用发布 4.1 GoogleMarket产生背景与目的 4.2 体验“选货”的乐趣——在G1上体验Market的使用 4.3 Android开发活动及特色应用 4.3.1 开发应用的领域 4.3.2 AndroidMarket特色应用一览 4.4 你也可以做东家——申请Market账号 4.4.1 卖东西要先入伙——准备工作 4.4.2 入伙过程——申请 4.5 开张了——在Market上发布应用 4.5.1 发布时可能遇到的错误 4.5.2 卖东西也要签名——生成签名文件 4.5.3 打包、签名、发布应用 4.6 本章小结 第5章 千里之行始于足下——第一个应用HelloWorld 5.1 HelloWorld应用分析 5.1.1 新建一个Android工程 5.1.2 填写工程的信息 5.1.3 编程实现 5.1.4 运行项目 5.2 调试项目 5.2.1 设置断点 5.2.2 Debug项目 5.2.3 断点调试 5.3 本章小结 第6章 磨刀不误砍柴工——Android应用程序结构介绍 6.1 Android体系结构介绍 6.1.1 应用程序(Application) 6.1.2 应用程序框架(ApplicationFramework) 6.1.3 库(Libraries)和运行环境(RunTime) 6.2 Android应用程序组成 6.2.1 Activity介绍 6.2.2 BroadcastIntentReceiver介绍 6.2.3 Service介绍 6.2.4 ContentProvider介绍 6.3 Android应用工程文件组成 6.4 本章小结 第7章 良好的学习开端——Android基本组件介绍 7.1 第一印象很重要——界面UI元素介绍 7.1.1 视图组件(View) 7.1.2 视图容器组件(Viewgroup) 7.1.3 布局组件(Layout) 7.1.4 布局参数(LayoutParams) 7.2 我的美丽我做主——Android中应用界面布局 7.2.1 实例操作演示 7.2.2 实例编程实现 7.3 不积跬步无以至千里——常用widget组件介绍 7.3.1 创建widget组件实例 7.3.2 按钮(Button)介绍与应用 7.3.3 文本框(TextView)介绍与应用 7.3.4 编辑框(EditText)介绍与应用 7.3.5 多项选择(CheckBox)介绍与
Linux系统运维是一个广泛而庞大的领域,涉及到各种技术和工具。从入门到企业实战的过程需要掌握一系列的知识和技能。 首先,入门阶段需要了解Linux的基本概念和特点,学习常用的命令和操作技巧。可以通过阅读相关书籍或者在线教程来学习,也可以通过参加培训课程来系统性学习。 在掌握了基础知识之后,需要进一步学习Linux系统的安装、配置和管理。这包括对硬件环境的了解,系统安装过程的实践,以及对各种配置文件和系统组件的掌握。 接下来,需要学习Linux系统的网络配置和服务管理。这包括理解网络的概念和协议,掌握网络配置的方式和方法,以及学习如何安装和管理各种网络服务,如Web服务器、邮件服务器等。 同时,必须熟悉Linux系统的安全管理和备份恢复。这包括理解系统安全的基本原理和方法,学会进行用户权限管理、防火墙配置和漏洞扫描等操作;同时,还需要构建合理的备份策略,定期备份系统和数据,并掌握恢复操作。 最后,进入企业实战阶段,需要学习和掌握大规模Linux系统的集中管理和自动化运维技术。这包括理解企业级Linux系统的架构和配置管理工具,学习如何使用脚本和自动化工具来管理和维护系统。 总之,Linux系统运维是一个学习和实践相结合的过程,需要不断地积累和提升知识和技能。通过不断的学习和实践,不仅可以应对各种常见的运维问题,还可以提高系统的稳定性和可靠性,为企业的业务发展提供有力的支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值