本节内容:
34.1 Jumpserver堡垒机概述-部署Jumpserver运行环境
34.2 安装Coco组件
34.3 安装Web-Terminal前端-Luna组件-配置Nginx整合各组件
34.4 jumpserver平台系统初始化
34.5 使用jumpserver 管理王者荣耀数万台游戏服务器

34.1 Jumpserver堡垒机概述-部署Jumpserver运行环境

34.1.1 跳板机概述:

跳板机就是一台服务器,开发或运维人员在维护过程中首先要统一登录到这台服务器,然后再登录到目标设备进行维护和操作;


跳板机缺点:没有实现对运维人员操作行为的控制和审计,使用跳板机的过程中还是会出现误操作、违规操作导致的事故,一旦出现操作事故很难快速定位到原因和责任人;

堡垒机概述:
堡垒机,即在一个特定的网络环境下,为了保障网络和数据不受来自外部和内部用户的入侵和破坏,而运用各种技术手段实时收集和监控网络环境中每一个组成部分的系统状态、安全事件、网络活动,以便集中报警、及时处理及审计定责。

总结:堡垒机比跳板机多了实时收集、监控网络环境、集中报警等功能。

Jumpserver概述:

Jumpserver是一款使用Python, Django开发的开源跳板机系统, 为互联网企业提供了认证,授权,审计,自动化运维等功能。官方网址: http://www.jumpserver.org


jumpserver堡垒机组件说明:

1、Jumpserver:
现指 Jumpserver 管理后台,是核心组件(Core), 使用 Django Class Based View 风格开发,支持 Restful API。
2、Coco:
实现了 SSH Server 和 Web Terminal Server 的组件,提供 SSH 和 WebSocket 接口, 使用 Paramiko 和 Flask 开发。
3、Luna:
现在是 Web Terminal 前端,计划前端页面都由该项目提供,Jumpserver 只提供 API,不再负责后台渲染html等。

34.1.2 部署Jumpserver运行环境
实验环境:

xuegod63.cn IP : 192.168.1.63 jumpserver服务端
xuegod64.cn IP:192.168.1.64  资源,被管理的服务器


上传依赖的软件到到Linux系统上(因为在线安装下载太慢了):

关闭 selinux 和防火墙

[root@xuegod63 ~]# setenforce 0  # 可以设置配置文件永久关闭
[root@xuegod63 ~]# systemctl stop firewalld.service ; systemctl disable firewalld.service# 修改字符集,否则可能报 input/output error的问题,因为日志里打印了中文
[root@xuegod63 ~]# localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8
[root@xuegod63 ~]# export LC_ALL=zh_CN.UTF-8
[root@xuegod63 ~]# echo 'LANG=zh_CN.UTF-8' > /etc/locale.conf
[root@xuegod63 ~]# exit
再重新连接, 这样语言环境就改变了。

34.1.3 准备 Python3 和 Python 虚拟环境
1、安装依赖包

注:安装前,可以开启yum缓存功能,把软件包下载下来,方便后期使用。
[root@xuegod63 ~]# vim /etc/yum.conf
改:keepcache=0
为:keepcache=1
[root@xuegod63 ~]# yum -y install wget sqlite-devel xz gcc automake zlib-devel openssl-devel epel-release git

2、编译安装python3.6.1

[root@xuegod63 ~]# cd /opt
[root@xuegod63 ~]# tar xvf Python-3.6.1.tar.xz  && cd Python-3.6.1
[root@xuegod63 ~]# ./configure  &&  make  -j 4 && make install
# 这里必须执行编译安装,否则在安装 Python 库依赖时会有麻烦...
注:在线下载 wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz互动: python2.7和python3.5冲突了怎么办? 老程序需要使用2.7,新程序需要3.6?

3、建立 Python 虚拟环境
因为 CentOS 6/7 自带的是 Python2,而 Yum 等工具依赖原来的 Python,为了不扰乱原来的环境我们来使用 Python 虚拟环境

[root@xuegod63 ~]# cd /opt
[root@xuegod63 ~]# python3 -m venv py3
[root@xuegod63 ~]# source /opt/py3/bin/activate
(py3) [root@xuegod63 ~]#        #切换成功的,前面有一个py3 标识
# 看到下面的提示符代表成功,以后运行 Jumpserver 都要先运行以上 source 命令,以下所有命令均在该虚拟环境中运行

34.1.4 安装 Jumpserver 1.0.0
1、下载或 Clone 项目

项目提交较多 git clone 时较大,你可以选择去 Github 项目页面直接下载zip包。
(py3) [root@xuegod63 ~]#  cd /opt/jumpserver/   #我们已经提前下载
注:在线下载方法:
git clone --depth=1 https://github.com/jumpserver/jumpserver.git && cd jumpserver && git checkout master
注:depth用于指定克隆深度,为1即表示只克隆最近一次commit

2、 安装依赖 RPM 包

[root@xuegod63 ~]# cd /opt/jumpserver/requirements
[root@xuegod63 ~]# yum -y install $(cat rpm_requirements.txt)

3、 安装 Python 库依赖

[root@xuegod63 ~]# cd /opt/jumpserver/requirements
[root@xuegod63 ~]# source /opt/py3/bin/activate
(py3) [root@xuegod63 ~]# pip -V
pip 9.0.1 from /opt/py3/lib/python3.6/site-packages (python 3.6)
方法1:离线安装:
(py3) [root@xuegod63 python-package]# cd /opt/python-package
(py3) [root@xuegod63 ~]# pip install  ./*
方法2:在线安装:(py3) [root@xuegod63 ~]#  pip install -r requirements.txt
pip 是一个安装和管理 Python 包的工具,相当于yum命令

4、安装 Redis, Jumpserver 使用 Redis 做 cache 和 celery broke

[root@xuegod63 ~]# yum  -y install redis
[root@xuegod63 ~]# systemctl enable redis  ;  systemctl start redis

5、安装 MySQL
本教程使用 Mysql 作为数据库,如果不使用 Mysql 可以跳过相关 Mysql 安装和配置

[root@xuegod63 ~]# yum  install mariadb mariadb-devel mariadb-server   -y
[root@xuegod63 ~]# systemctl enable mariadb  ;  systemctl start mariadb

6、建数据库 Jumpserver 并授权

[root@xuegod63 ~]# mysql
MariaDB [(none)]> create database jumpserver default charset 'utf8';
MariaDB [(none)]> grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by '123456';
MariaDB [(none)]> exit;

7、改 Jumpserver 配置文件

[root@xuegod63 ~]# cd /opt/jumpserver
[root@xuegod63 ~]# cp config_example.py config.py
[root@xuegod63 ~]# vim config.py# 我们计划修改 DevelopmentConfig 中的配置,因为默认 Jumpserver 使用该配置,它继承自 Config
注意: 配置文件是 Python 格式,不要用 TAB,而要用空格
class DevelopmentConfig(Config):DEBUG = TrueDB_ENGINE = 'mysql'DB_HOST = '127.0.0.1'DB_PORT = 3306DB_USER = 'jumpserver'DB_PASSWORD = '123456'DB_NAME = 'jumpserver'
如下:一定要注意前面空格的对齐。

8、成数据库表结构和初始化数据

(py3) [root@xuegod63 jumpserver]# cd /opt/jumpserver/utils
(py3) [root@xuegod63 jumpserver]# bash make_migrations.sh  #注,在执行这一条命令之前,必续保障之前的pip install ./*

命令已经执行完了,不然后导入不了Django等软件包。
9、行 Jumpserver

(py3) [root@xuegod63 jumpserver]# cd /opt/jumpserver
(py3) [root@xuegod63 jumpserver]# chmod +x jms
(py3) [root@xuegod63 jumpserver]# ./jms start all -d # 后台运行使用 -d 参数
注: ./jms start all #前台运行
如果运行失败了,重新启动一下。
#启动服务的脚本,使用方式./jms start|stop|status|restart all  后台运行请添加 -d 参数
测试:
访问 http://192.168.1.63:8080/   用户 : admin 密码: admin


这里需要使用8080端口来访问页面。后期搭建 nginx 代理,就可以直接使用80端口正常访问了
附上重启的方法

(py3) [root@xuegod63 jumpserver]# ./jms restart -d

34.2 安装 Coco组件

34.2.1 安装coco组件
1、默认点击web终端,弹出:



所以接下来,我们安装luna和coco:
coco概述:coco实现了 SSH Server 和 Web Terminal Server 的组件,提供 SSH 和 WebSocket 接口, 使用 Paramiko 和 Flask 开发。

(py3) [root@xuegod63 jumpserver]# cd /opt/coco  #直接使用离线代码
(py3) [root@xuegod63 jumpserver]# source /opt/py3/bin/activate
附:在线下载代码:# git clone https://github.com/jumpserver/coco.git && cd coco && git checkout master

2、 安装coco的依赖包,主要有rpm和python包

(py3) [root@xuegod63 jumpserver]# cd /opt/coco/requirements
(py3) [root@xuegod63 jumpserver]# yum -y  install $(cat rpm_requirements.txt)
(py3) [root@xuegod63 jumpserver]# pip install -r requirements.txt   #前面已经离线安装过python的包,这里就很快安装成功了,或提示已经安装成功。
注:扩展: pip download -r requirements.txt  #使用download可以下载python包到本地

3、查看配置文件并运行

(py3) [root@xuegod63 jumpserver]# cd /opt/coco
(py3) [root@xuegod63 jumpserver]# cp conf_example.py conf.py  # 如果 coco 与 jumpserver 分开部署,请手动修改 conf.py
(py3) [root@xuegod63 coco]# chmod +x cocod
(py3) [root@xuegod63 jumpserver]# ./cocod start -d   #后台运行使用 -d 参数
# 新版本更新了运行脚本,使用方式./cocod start|stop|status|restart  后台运行请添加 -d 参数

34.3 安装Web-Terminal前端-Luna组件-配置Nginx整合各组件

34.3.1 安装luna组件
Luna概述:Luna现在是 Web Terminal 前端,计划前端页面都由该项目提供,Jumpserver 只提供 API,不再负责后台渲染html等。
访问(https://github.com/jumpserver/luna/releases)下载对应版本的 release 包,直接解压,不需要编译
解压 Luna

(py3) [root@xuegod63 jumpserver]# cd /opt
(py3) [root@xuegod63 jumpserver]# tar xvf luna.tar.gz
(py3) [root@xuegod63 jumpserver]# ls /opt/luna
注:在线下载
#wget https://github.com/jumpserver/luna/releases/download/v1.0.0/luna.tar.gz

34.3.2 配置 Nginx 整合各组件
安装 Nginx 根据喜好选择安装方式和版本

(py3) [root@xuegod63 jumpserver]# yum -y install nginx

5.2 准备配置文件 修改 /etc/nginx/conf.d/jumpserver.conf
内容如下:

(py3) [root@xuegod63 opt]#  vim /etc/nginx/nginx.conf
删除第38行到 57行中server {。。。}相关的内容,在vim命令模式,输入38gg,快速跳到38行,然后输入20dd,就可以删除。
删除后,在38行插入以一下内容:server {listen 80;proxy_set_header X-Real-IP $remote_addr;proxy_set_header Host $host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;location /luna/ {try_files $uri / /index.html;alias /opt/luna/;}location /media/ {add_header Content-Encoding gzip;root /opt/jumpserver/data/;}location /static/ {root /opt/jumpserver/data/;}location /socket.io/ {proxy_pass       http://localhost:5000/socket.io/;  # 如果coco安装在别的服务器,请填写它的ipproxy_buffering off;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";}location / {proxy_pass http://localhost:8080;  # 如果jumpserver安装在别的服务器,请填写它的ip}
}

34.3.3 运行 Nginx

(py3) [root@xuegod63 opt]# nginx -t   # 检测配置文件
(py3) [root@xuegod63 jumpserver]# systemctl start nginx  ;  systemctl enable nginx

34.3.4 接受coco注册

到会话管理-终端管理 接受 Coco的注册。点接受。



再刷新页面:

** 测试连接**

(py3) [root@xuegod63 jumpserver]# ssh -p2222 admin@192.168.1.63   #密码: admin


到此安装成功。

34.4 jumpserver平台系统初始化

34.4.1 系统基本设置

这里要写成自己真实的URL地址,不然后期用户访问不了。http://192.168.1.63



34.4.2 配置邮件发送服务器

点击页面上边的"邮件设置" TAB ,进入邮件设置页面:
SMTP服务器:smtp.163.com


注:自己邮箱要开启smtp和pop3服务。
开启POP3/SMTP/IMAP服务方法:

请登录163邮箱,点击页面右上角的“设置”—在“高级”下,点“POP3/SMTP/IMAP”,勾选图中两个选项,点击确定。
即可开启成功。开通后即可用闪电邮、Outlook等软件收发邮件了。

服务器地址:POP3服务器:pop.163.com   |  SMTP服务器:smtp.163.com   | IMAP服务器:imap.163.com
注:配置完后,需要重启一下服务。不然后期创建用户,收不到邮件。
(py3) [root@xuegod63 jumpserver]# /opt/jumpserver/jms stop all -d
(py3) [root@xuegod63 jumpserver]# /opt/jumpserver/jms start all -d

配置邮件服务后,点击页面的"测试连接"按钮,如果配置正确,Jumpserver 会发送一条测试邮件到您的 SMTP 账号邮箱里面:

查看邮箱:

收到邮件后,点提交:

注意: 在使用jumpserver过程中,有一步是系统用户推送,要推送成功,client(后端服务器)要满足以下条件:

1)后端服务器需要有python、sudo环境才能使用推送用户,批量命令等功能
2)后端服务器如果开启了selinux,请安装libselinux-python。一般情况服务器上都关闭了selinux

34.5 使用jumpserver 管理王者荣耀数万台游戏服务器

34.5.1 用户管理
1、添加用户组。
用户名即 Jumpserver 登录账号。用户组是用于资产授权,当某个资产对一个用户组授权后,这个用户组下面的所有用户就都可以使用这个资产了。角色用于区分一个用户是管理员还是普通用户。

点击用户管理 —> 查看用户组 —> 添加用户组

添加新的小组 —> 王者荣耀-华北区运维部门

查看刚才添加的组

2、添加用户

点击用户管理 —> 用户列表 —> 创建用户

其中,名称是真实姓名,用户名即 Jumpserver 登录账号。


然后点提交。

查看添加的用户

成功提交用户信息后,Jumpserver 会发送一条设置"用户密码"的邮件到您填写的用户邮箱。


点击链接,开始修改密码:

用户首次登录 Jumpserver,会被要求完善用户信息。

这个需要用户自己生成SSH 密钥,方便后期登录:我在自己的另一台linux上,使用mk用户生成自己的ssh密钥。

(py3) [root@xuegod63 luna]# useradd mk123
(py3) [root@xuegod63 luna]# echo 123456 | passwd --stdin mk123
[root@xuegod63 opt]# su - mk123
[mk@xuegod63 ~]$ ssh-keygen   #一路回车
[mk@xuegod63 ~]$ cat ~/.ssh/id_rsa.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDE/7Yt3MKTvavCZSV2F9GCRX0snRDyAu2GzvmGaMj1Y1Evv0+bdNYuEVbax/CyakBcaYyBuD427trkQytfbfovc97As4fFV3yhKKKis6D66TR28zH5gGkhuToFhmil9BGFzJqy1M7fne+A18bKvezlFpZn4clwgg3kIqPCbOtQQnA9h1TH5j8lnvMwwcRxenKRMla987TfJ3482aTAoScxNmv2FNNSQmZEKHGPT5MmUIzrm3dwvCotAEmDegxJ0dB5u29tZaHgxMWFf1GRoj3pW8CzMOhug42F9FDF+K9wve5aph0mmc5pe7OKJthWrbv8CEV3T2mRYK4+M5q5sRed mk123@xuegod63.cn

把上面生成的公钥粘到这里:

34.5.2 编辑资产树添加节点
节点不能重名,右击节点可以添加、删除和重命名节点,以及进行资产相关的操作。


改成节点名字为:王者荣耀-华北区-服务器

34.5.3 创建管理用户
Jumpserver里各个用户的说明:

管理用户是服务器的 root,或拥有 NOPASSWD: ALL sudo 权限的用户,Jumpserver 使用该用户来推送系统用户、获取资产硬件信息等。

王者荣耀-华北区-服务器管理用户-root 密码是: 123456

前提,你的王者荣耀-华北区-服务器节点中所有的服务器root用户密码都是:123456
这样就可以使用此root用户管理服务器。

34.5.4 创建系统用户
系统用户是 Jumpserver 跳转登录资产时使用的用户,可以理解为登录资产用户, Jumpserver使用系统用户登录资产。
系统用户的 Sudo 栏填写允许当前系统用户免sudo密码执行的程序路径,如默认的/sbin/ifconfig,意思是当前系统用户可以直接执行 ifconfig 命令或 sudo ifconfig 而不需要输入当前系统用户的密码,执行其他的命令任然需要密码,以此来达到权限控制的目的。

# 此处的权限应该根据使用用户的需求汇总后定制,原则上给予最小权限即可。

系统用户创建时,如果选择了自动推送 Jumpserver 会使用 Ansible 自动推送系统用户到资产中,如果资产(交换机、Windows )不支持 Ansible, 请手动填写账号密码。
Linux 系统协议项务必选择 ssh 。如果用户在系统中已存在,请去掉自动生成密钥、自动推送勾选。

增加一个:检查服务器运行状态的用户: user 权限: /sbin/ifconfig,/usr/bin/top,/usr/bin/free

再加一个: 系统管理员用户:manager

34.5.5 创建资产
点击页面左侧的“资产管理”菜单下的“资产列表”按钮,查看当前所有的资产列表。
点击页面左上角的“创建资产”按钮,进入资产创建页面,填写资产信息。
IP 地址和管理用户要确保正确,确保所选的管理用户的用户名和密码能"牢靠"地登录指定的 IP 主机上。资产的系统平台也务必正确填写。公网 IP 信息只用于展示,可不填,Jumpserver 连接资产使用的是 IP 信息。

开启虚拟机xuegod64.cn。 一会把这台机器当成资源添加平台中。
game64.xuegod.cn-王者荣耀-华北区  192.168.1.64


资产创建信息填写好保存之后,可以看到已经可以连接资产,说明正常:

如果资产不能正常连接,请检查管理用户的用户名和密钥是否正确以及该管理用户是否能使用 SSH 从 Jumpserver 主机正确登录到资产主机上。

34.5.6 网域列表
网域功能是为了解决部分环境无法直接连接而新增的功能,原理是通过网关服务器进行跳转登录。
这个功能,一般情况不用到。

34.5.7 创建授权规则

节点,对应的是资产,代表该节点下的所有资产。
用户组,对应的是用户,代表该用户组下所有的用户。
系统用户,及所选的用户组下的用户能通过该系统用户使用所选节点下的资产。
节点,用户组,系统用户是一对一的关系,所以当拥有 Linux、Windows 不同类型资产时,应该分别给 Linux 资产和 Windows 资产创建授权规则。

授权成功后,你自己手动到xuegod64上查看:

[root@xuegod64 ~]# tail /etc/passwd -n 5
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
mk:x:1000:1000:mk:/home/mk:/bin/bash
manager:x:1001:1001::/home/manager:/bin/bash  #自动推送一个帐号,自动在资产服务器上创建系统用户[root@xuegod64 ~]# visudo  #sudo相关的规则也会被自动推送过来
manager ALL=(ALL) NOPASSWD: /sbin/,/bin/

34.5.8 用户使用资产
登录 Jumpserver
创建授权规则的时候,选择了用户组,所以这里需要登录所选用户组下面的用户才能看见相应的资产。
使用无痕浏览器,再打开一个窗口,进行登录:

用户正确登录后的页面:

连接资产,点击页面左边的 Web 终端:

打开资产所在的节点:
双击资产名字,就连上资产了:
如果显示连接超时,请检查为资产分配的系统用户用户名和密钥是否正确,是否正确选择 Linux 操作系统,协议 ssh,端口22,以及资产的防火墙策略是否正确配置等信息。

接下来,就可以对资产进行操作了。

34.5.9 在xshell字符终端下连接jumpserver管理服务器

输入jumpserver用户mk123 和密码123456

点击确定开始连接

Opt> 64   #输入一个64,就可以直接登录:192.168.1.64
Connecting to manager@game64.xuegod.cn-王者荣耀-华北区 0.3
Last login: Thu Jun  7 23:15:13 2018 from xuegod63.cn
[manager@xuegod64 ~]$ whoami  #发现登录使用的是系统用户manager
manager
[manager@xuegod64 ~]$ exit
登出
Opt> p  #显示你有权限的主机ID  Hostname                          IP              LoginAs       Comment                               1  game64.xuegod.cn-王者荣耀-华北区 192.168.1.64    [系统管理员用户] Opt> g  #显示你有权限的主机组ID Name            Assets     Comment                                                1   王者荣耀-华北区-服务器

34.5.10 查看历史命令记录

34.5.10 查看历史会话并回放视频

更多内容,可以参数官方手册:http://docs.jumpserver.org/zh/docs/step_by_step.html

总结:
34.1 Jumpserver堡垒机概述-部署Jumpserver运行环境
34.2 安装Coco组件
34.3 安装Web-Terminal前端-Luna组件-配置Nginx整合各组件
34.4 jumpserver平台系统初始化
34.5 使用jumpserver 管理王者荣耀数万台游戏服务器

【Linux云计算架构:第三阶段-Linux高级运维架构】第25章—— 搭建jumperserver管理王者荣耀数万台游戏服务器相关推荐

  1. 【Linux云计算架构:第三阶段-Linux高级运维架构】第26章——tcp三次握手四次挥手及在局域网中使用 awl伪装MAC地址进行多线程SYN攻击

    25.1 tcp三次握手及tcp连接状态(含tcpdum抓包分析) 25.2 tcp四次挥手及tcp连接状态 25.3 实战:在局域网中使用 awl伪装MAC地址进行多线程SYN攻击 ssh 客户端: ...

  2. 【Linux云计算架构:第三阶段-Linux高级运维架构】第13章——redis

    本节内容: 13.1 redis概述 13.2 安装redis 13.3 redis基本操作 13.4 redis持久化 13.5 redis主从架构(实现读写分离) 13.6 使用sentinel实 ...

  3. 【Linux云计算架构:第三阶段-Linux高级运维架构】第19章——安装Kali黑客操作系统-利用ettercap实施中间人攻击

    内容: 19.1 安装Kali黑客操作系统及相关实战 19.2 实战:linux之kali系统ssh服务开启 19.3 实战: kali下的nmap扫描工具 19.4 MITM中间人攻击理论 19.5 ...

  4. Linux高级运维(一)系统的内存管理

    知识点参考IBM 一.为什么必须管理内存 内存管理是计算机编程最基本的领域之一.在许多脚本语言中,您不必担心如何管理内存,但这并不会使内存管理变得不那么重要.了解内存管理器的能力和局限对于有效编程至关 ...

  5. Linux高级运维(十)-搭建企业中最常用缓存代理服务器Squid , Varnish

    搭建varnish 缓存代理服务器 需求: 使用Varnish加速后端Web服务,代理服务器可以将远程的Web服务器页面缓存在本地,远程Web服务器对客户端用户是透明的,利用缓存机制提高网站的响应速度 ...

  6. mysql dba管理_Mysql DBA 高级运维学习之路-mysql数据库常用管理应用

    1.创建数据库 命令语法:create database 注意库名不能数字开头 (1)创建linzhongniao库 mysql> create database linzhongniao; Q ...

  7. 聚美优品张川:如何搭建秒杀场景下的运维架构

    2016年8月12日-13日,由CSDN重磅打造的互联网应用架构实战峰会.运维技术与实战峰会将在成都举行. 这是继SDCC 2016架构技术峰会(上海站,官网.图文直播.架构峰会PPT.数据库峰会PP ...

  8. Linux云计算面试常见问题三

    Linux云计算面试常见问题三,今天将在前两篇的基础上,继续为大家带来Linux云计算面试题. ** 1.虚拟化平台在实施云时有何要求? ** 虚拟化平台在实施云时的要求包括: a)管理服务级别策略 ...

  9. linux运维架构师职业规划

    1.假如你从来未接触过Linux的话,首先要做的就找一本指导书来学习.现在公认的Linux的入门书籍是"鸟哥的私房菜",讲的很全面,鸟哥的私房菜一共分为两部,一部是基础篇,一部是服 ...

最新文章

  1. 解题报告(二)B、(P3338 [ZJOI2014])力(FFT经典套路)(2)
  2. 5.5 function
  3. TCP/IP协议各层首部汇总
  4. Android开发的小技巧总结
  5. mysql 主从同步-读写分离
  6. GsonFormat插件
  7. 同名字的数值求和插入行_SUM求和函数的运用,这些EXCEL表格技能你必须知道,让你事半功倍...
  8. python简单爬虫代码-一则python3的简单爬虫代码
  9. soft music
  10. ML Pipeline原理
  11. CQF笔记M1L4随机分析和伊藤引理
  12. android 音乐平板,酷狗音乐安卓Pad版
  13. vb.net LPT端口 开钱箱和小票纸打印超时问题解决办法
  14. 将一个Vue项目跑起来
  15. 互联网家装,风口下飞不起来的“猪”
  16. 推荐系统实践(项亮)读书笔记
  17. 分享一下自己的用的几个网站 嘿嘿嘿
  18. 计算机原理基本概念整理
  19. 火猴之ppt动画效果实现(firemonkey)
  20. Perl的opendir

热门文章

  1. 讨人喜欢的26条启示
  2. 远程连接windows server 2008 上的mysql
  3. yarn配置淘宝镜像
  4. python怎样输入空格_python 怎么输入空格
  5. Excel第7享:AVERAGE函数及其应用
  6. 游戏中常说的“周目”是什么意思呢?
  7. 爆笑流行的一组冷笑话
  8. Linux系列3:vi与vim编辑器
  9. Android接入腾讯X5浏览器内核
  10. Python 经典算法100及解析