自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(201)
  • 资源 (16)
  • 收藏
  • 关注

原创 【常用知识点-Linux】SSH免密登陆

客户端生成一对公钥与私钥;客户端将公钥复制到远程服务器的authorized_keys文件中;客户端连接远程服务器时,向服务器发送包含客户端公钥的连接请求;服务器收到连接请求后,检查authorized_keys文件中是否存在匹配的公钥;若找到匹配公钥,服务器将生成一个随机字符串,并用该公钥进行加密,然后将加密后的内容发送回客户端;解密并回传:客户端使用自己的私钥对加密内容进行解密,并将解密后的内容发送回服务器;

2024-07-12 17:41:04 283

原创 【常用知识点-Linux】scp命令

scp (Secure Copy Protocol)是一种用于在网络上安全传输文件的协议,其基于SSH (Secure Shell) 协议来加密传输数据,确保数据传输过程中的安全性和完整性。scp命令允许用户从本地计算机复制文件、目录到远程计算机,或者从远程计算机复制文件、目录到本地计算机。

2024-07-12 12:50:59 105

原创 【日常记录-Java】自定义进程池

服务器上有些进程需要池化管理,使用SpringBoot构建Web服务提供管理api,内部使用自定义的进程池维护已启动的进程;进程池管理的进程都会使用系统的一个端口对外提供服务;进程池管理的进程自身可以决定何时停止服务;进程池管理的进程有失效时间,如需长时间占用资源,需要进行续期操作;

2024-07-12 09:41:06 740

原创 【常用知识点-Java】读取Properties文件

properties文件是一种简单的文本文件,用于存储键值对,其每个键值对占一行,且键和值之间用等号分割。Java提供了java.util.Properties类来加载和读取.properties文件。

2024-07-11 18:14:06 131

原创 【常用知识点-Java】系统属性与环境变量的区别

与用户程序相关的配置信息,是Java虚拟机(JVM)通过-D命令行参数设置的键值对;其在JVM内是全局共享的,通常用于配置应用程序的运行时行为,如指定日志级别、设置服务器端口等。是操作系统级别的设置,通常包括一组键值对,用于指定操作系统的配置信息;其在不同应用程序之间共享,并可以在应用程序运行时动态修改。

2024-07-09 12:52:05 237

原创 【常用知识点-Java】设置子进程环境变量

Java内启动一个外部进程(操作系统级别的进程),通常使用ProcessBuilder类;当需要获取或修改子进程的环境变量时,可以通过ProcessBuilder的environment()方法实现。该方法返回一个Map<String,String>,然后通过该Map<String,String>进行子进程环境变量的设置或修改;

2024-07-08 18:24:27 232

原创 【常用知识点-Java】启动新进程

Java内启动一个外部进程(操作系统级别的进程),通常使用ProcessBuilder类。其可以方便、灵活地启动和管理子进程,并且可以为子进程设置环境变量、工作目录以及将输入传给子进程,并捕获其输出。

2024-07-05 13:29:31 327

原创 【常用知识点-Java】操作系统类型判定

应用中有时需要依据操作系统不同而采取不同的处理逻辑,System.getProperty方法可用于获取有关当前运行环境的各种信息,包括操作系统的名称,之后可依据名称判定操作系统类型。

2024-07-05 10:50:02 191

原创 【常用知识点-Java】Springboot上传Excel并存放到本地

application.yml中配置文件上传的大小限制。在pom.xml中添加excel文件处理库。

2024-07-04 18:07:20 328

原创 【常用知识点-Java】创建文件夹

java.io.File提供了mkdir()和mkdirs()方法创建文件夹,两者区别:mkdir()仅创建单层文件夹,如果父文件夹不存在,则失败返回false,而mkdirs()会创建所有必须的父文件夹以及创建指定的文件夹,即mkdirs()可以创建多级文件夹。

2024-07-04 17:56:54 140

原创 【仿真建模-anylogic】开发规范

Anylogic默认设定函数访问权限为default。需要依据该函数未来的使用范围,重新在public、protected和private之间做选择。避免将智能体导出为自定义组件库后,其他模型内无权访问该方法。

2024-06-28 17:55:24 435

原创 【仿真建模-anylogic】ViewArea解析

anylogic为每个agent生成默认的view area,title为[Origin],左上角坐标为(0,0),x轴方向长1000像素,y轴方向长600像素。在图形编辑窗口点击默认view area的边框,属性窗口中显示的frame即为默认的view area。view area又叫视图区域,其作用是在presentation中标记一块区域,便于动画演示过程中快速切换可视区域;

2024-06-27 18:03:50 227

原创 【仿真建模-anylogic】Scale解析

Scale is属性选择Defined graphically时,需设置Ruler length corresponds to属性,即Scale图像长度表示的实际长度是多少;Scale属性选择Specified explicity时,需要设置Scale属性,即直接设定每长度单位代表多少像素。Scale是比例尺,用于长度单位和像素之间的换算,anylogic默认为每个agent生成一个scale,且anylogic绘制动画时,均是以像素为单位。

2024-06-27 18:03:06 180

原创 【学习笔记-机器学习】感知机模型

求得一个能够将训练数据集的正实例点和负实例点完全正确分开的分离超平面,即确定感知机模型参数w、b;感知机是一种二分类的线性分类模型,属于判别模型,是神经网络和支持向量机的基础;将误分类点到超平面S的总距离作为损失函数并将损失函数极小化。能够将数据集的正实例点和负实例点完全正确地划分到超平面的两侧,即对所有。(4) 转至(2),直至训练集中没有误分类点。,则称数据集T是线性可分的,否则,称数据集T线性不可分;其中w和b为感知机的模型参数,表示实例的特征向量,对应于输入空间的点;训练数据集是线性可分的。

2024-06-26 17:54:38 983

原创 【仿真建模-解析几何】求有向线段上距指定点最近的坐标

有向线段起点A为(x1,y1),终点B为(x2,y2),求AB上距离点C(x3,y3)最近的点D(x4,y4);3种情景计算公式相似,如将情景2中的长度计算公式乘以-1,将得到AD长度统一的计算公式;2、AD长度使用统一公式计算结果大于AB长度,则对应情景3,最近的点为有向线段的终点B;1、AD长度使用统一公式计算结果为负值,则对应情景2,最近的点为有向线段的起点A;3、AD长度使用统一公式计算结果大于等于0且小于AB长度,则对应情景1,

2024-06-25 08:00:00 274

原创 【仿真建模-anylogic】MarkupSegment代码解析

【代码】【仿真建模-anylogic】MarkupSegment代码解析。

2024-06-25 07:30:00 119

原创 【仿真建模-anylogic】Path代码解析

【代码】【仿真建模-anylogic】Path代码解析。

2024-06-24 08:00:00 303

原创 【仿真建模-anylogic】Node代码解析

【代码】【仿真建模-anylogic】Node代码解析。

2024-06-24 07:30:00 212

原创 【仿真建模-anylogic】Network代码解析

【代码】【仿真建模-anylogic】Network代码解析。

2024-06-22 11:26:31 631

原创 【仿真建模-anylogic】INetwork相关接口说明

INetwork为辊道网络、路线网路的顶层接口,其组成元素有节点和路径两种,对应的接口为INode、IPath;

2024-06-22 08:00:00 231

原创 【仿真建模-anylogic】ConveyorCustomStation原理解析

动态生成自定义站点时,定义该类的子类,并在子类中覆写onEnter函数,以便自定义物料到达站点时需要执行的逻辑;由于Anylogic内核做过代码混淆,以下为二次加工后的逻辑;

2024-06-19 13:35:33 464

原创 【仿真建模-anylogic】动态生成ConveyorCustomStation

"code": "", // 点编码"name": "", // 点名称"x": 0.0, // 点坐标"y": 0.0,"z": 0.0],"code": "", // 辊道编码"name": "", // 辊道名称"pointCodes": [] // 辊道从起点至终点所经历的位置点编码列表],"code": "", // 自定义站点编码"name": "", // 自定义站点名称"inConveyorCodes": [], // 传入站点的辊道。

2024-06-18 17:56:00 402

原创 【仿真建模-anylogic】动态生成辊道网络

"code": "", // 点编码"name": "", // 点名称"x": 0.0, // 点坐标"y": 0.0,"z": 0.0],"code": "", // 辊道编码"name": "", // 辊道名称"pointCodes": [] // 辊道从起点至终点所经历的位置点编码列表。

2024-06-18 15:34:28 405 2

原创 【仿真建模-anylogic】Conveyor Network理念解析

用图来表示Conveyor Network的话,Conveyor就是图中的边,Conveyor Point Node为图中的点,而Position On Conveyor则需用额外的信息进行定义;Conveyor Network由物料处理库中的多种空间标记元素所构成的图形化运输网,如:Conveyor、Station、Turn Station、Transfer Table、Turntable、Custom Station、Position On Conveyor、Conveyor Point Node等;

2024-06-17 16:23:46 298

原创 【仿真建模-anylogic】FlowchartBlock原理解析

由于Anylogic内核做过代码混淆,以下代码为二次加工后的逻辑;该类为所有流程处理块的基类,定义标准函数;

2024-06-17 08:00:00 415

原创 【仿真建模-anylogic】EventOriginator原理解析

该类为anylogic中所有离散事件类型的基类,如Event、DynamicEvent、Transition等。由于Anylogic内核做了代码混淆,以下代码为二次加工后的逻辑;

2024-06-16 08:00:00 376

原创 【仿真建模-anylogic】Event原理解析

Event是所有静态事件的基类,如:EventTimeout、EventRate、EventCondition。

2024-06-16 08:00:00 179

原创 【仿真建模-anylogic】EventCondition原理解析

图形编辑窗口拖拽Event组件,并选择Trigger Type为Condition时,Anylogic会自动生成EventCondition实例;当指定的检测条件为true时,自定义逻辑会被执行;如果是纯离散模型,则只会在变更发生时才会进行检测,即在onChange函数中检测;如果条件使用连续变化量,则数值引擎会持续检测条件是否发生;

2024-06-15 12:21:35 242

原创 【仿真建模-anylogic】Statechart原理解析

实际使用中有两种方式向状态图发送消息:fireEvent和receiveMessage,两者的区别在于消息是否会被加入队列进行排队;可根据实际应用场景进行选择;Statechart主要用于对事件驱动或时间驱动的行为进行建模,其包含状态和转换两种核心元素;转换可由消息、超时、速率、条件等触发,从而导致状态发生流转;Anylogic内核做了代码混淆,以下代码为二次加工后的逻辑;

2024-06-15 11:24:04 347

原创 【仿真建模-anylogic】FlowchartPort原理解析

FlowchartPort是流图组件端口的基类,一般不会直接使用;如果需要自行封装组件库时会用到;FlowchartPort继承Port类,并定义了一系列抽象函数;用于输入端口判定此刻是否不能接收Agent。用于输出端口判定是否有Agent准备离开。判定端口是否发生错误。

2024-06-14 14:08:37 454

原创 【仿真建模-anylogic】Port原理解析

图形编辑窗口拖入Port组件后,Anylogic将自动创建Port实例,主要用于实现智能体间消息通信;代码解析:(由于AnyLogic内核做过代码混淆,以下代码为二次加工后的内容,与源码不同)

2024-06-14 10:14:36 975

原创 【仿真建模-anylogic】EventRate原理解析

为了自定义泊松过程的到达率以及“到达”特性发生时需要执行的逻辑,Anylogic会自动在容器类中生成double evaluateRateOf( EventRate _e )和void executeActionOf( EventRate self )函数;EventRate主要用于对符合泊松过程的事件触发场景进行建模,例如:商店顾客到达过程符合泊松过程,统计数据分析出其到达率为每天1000人,则可以通过EventRate描述顾客到达模型;EventRate是Event的3个子类之一,其主要用于对符合。

2024-06-13 13:33:03 689

原创 【仿真建模-anylogic】泊松过程简介

anylogic仿真中,对于具有“到达”特性的随机过程进行建模时,内部使用的就是泊松过程,例如:事件发生器、source发生器等;对于泊松过程需要设置其唯一的参量:到达率,单位为 次/每时间单位,含义:每时间单位内的平均到达次数;概率实验随着时间演进,会产生一系列的数值结果,其中每一个数值都被视为一个随机变量;即将随机过程看作一串随机变量的序列;泊松过程:到达时间连续情形下,相邻到达间隔是相互独立随机变量的到达过程;到达过程:关注某种“到达”特性是否发生的随机过程;泊松过程用一个参量表达:到达率;

2024-06-13 10:52:28 201

原创 【仿真建模-anylogic】Dynamic Event原理解析

CustomDynamicEvent是由用户拖拽Dynamic Event组件后由Anylogic自动生成的DynamicEvent子类,用户可在该组件的属性窗口自定义入参和事件逻辑;Anylogic会依据自定义入参自行调整生成的构造函数,并为用户生成对应的create_CustomDynamicEvent方法;这也是DynamicEvent可以并行的原因(每次都是生成一个新的实例,互不影响);DynamicEvent是EventOriginator的子类,其主要扩充了 void reset()函数;

2024-06-12 14:02:15 335

原创 【日常记录】Jackson如何支持org.joda.time.DateTime

Jackson默认不支持时间串与org.joda.time.DateTime之间的转换;

2024-06-12 11:21:10 183

原创 【日常记录】EasyExcel支持时间字符串同org.joda.time.DateTime转化

默认情况下,EasyExcel不支持时间字符串到org.joda.time.DateTime的转化。

2024-06-11 16:13:14 451

原创 【仿真建模-anylogic】事件之手动定时触发

在Event的User Control模式下,通过api方式对事件对象进行操控;建模过程中经常遇到需要临时规划特定逻辑执行时机的场景;

2024-06-11 14:23:59 199

原创 【仿真建模-anylogic】机车可行进轨道判定

问题:机车沿轨道运行时只能选择夹角为钝角的路线行进。当需自定义路径规划算法时,算法内部需要做两条相连轨道的夹角值判定。解决方案:使用两条轨道上的三点坐标,依据余弦定理判断两条轨道夹角是否为钝角;

2024-06-07 17:33:29 135

原创 【仿真建模-anylogic】动态生成轨道网络

anylogic支持在图形编辑界面以拖拽方式搭建轨道网络,以该方法搭建的模型复用性低。轨道布局以配置文件进行描述,模型启动时依据配置文件动态绘制轨道网络。

2024-06-07 16:58:43 347

原创 【仿真建模-anylogic】桥式起重机参数化桥架数

anylogic物料库中的桥式起重机只能静态指定桥架数,不符合模型参数化需求;在容器智能体中通过代码生成方式,进行桥式起重机的定制化;

2024-06-04 18:00:56 327

Anylogic模型:桥式起重机参数化桥架数

anylogic物料库中的桥式起重机只能静态指定桥架数,不符合模型参数化需求;本模型通过在容器智能体中通过代码生成方式,进行桥式起重机的定制化; 适用于anylogic版本:8.8.1

2024-06-04

Linux命令行与Shell脚本编程大全LinuxCommandLineAndShellScriptingBible(2th).pdf

Linux命令行与Shell脚本编程大全LinuxCommandLineAndShellScriptingBible(2th).pdf 第一部分 Linux 命令行 第1章 初识Linux shell 1.1 什么是Linux 1.1.1 深入探究Linux内核 1.1.2 GNU工具链 1.1.3 Linux桌面环境 1.2 Linux发行版 1.2.1 核心Linux发行版 1.2.2 专业 Linux发行版 1.2.3 Linux LiveCD 1.3 小结 第2章 走进shell 2.1 终端模拟 2.1.1 图形功能 2.1.2 键盘 2.2 terminfo数据库 2.3 Linux控制台 2.4 xterm终端 2.4.1 命令行参数 2.4.2 xterm主菜单 2.4.3 VT选项菜单 2.4.4 VT字体菜单 2.5 Konsole终端 2.5.1 命令行参数 2.5.2 标签式窗口会话 2.5.3 配置文件 2.5.4 菜单栏 2.6 GNOME Terminal 2.6.1 命令行参数 2.6.2 标签 2.6.3 菜单栏 2.7 小结 第3章 基本的bash shell命令 3.1 启动shell 3.2 shell提示符 3.3 bash手册 3.4 浏览文件系统 3.4.1 Linux文件系统 3.4.2 遍历目录 3.5 文件和目录列表 3.5.1 基本列表功能 3.5.2 修改输出信息 3.5.3 完整的参数列表 3.5.4 过滤输出列表 3.6 处理文件 3.6.1 创建文件 3.6.2 复制文件 3.6.3 链接文件 3.6.4 重命名文件 3.6.5 删除文件 3.7 处理目录 3.7.1 创建目录 3.7.2 删除目录 3.8 查看文件内容 3.8.1 查看文件统计信息 3.8.2 查看文件类型 3.8.3 查看整个文件 3.8.4 查看部分文件 3.9 小结 第4章 更多的bash shell命令 4.1 监测程序 4.1.1 探查进程 4.1.2 实时监测进程 4.1.3 结束进程 4.2 监测磁盘空间 4.2.1 挂载存储媒体 4.2.2 使用df命令 4.2.3 使用du命令 4.3 处理数据文件 4.3.1 排序数据 4.3.2 搜索数据 4.3.3 压缩数据 4.3.4 归档数据 4.4 小结 第5章 使用Linux环境变量 5.1 什么是环境变量 5.1.1 全局环境变量 5.1.2 局部环境变量 5.2 设置环境变量 5.2.1 设置局部环境变量 5.2.2 设置全局环境变量 5.3 删除环境变量 5.4 默认shell环境变量 5.5 设置PATH环境变量 5.6 定位系统环境变量 5.6.1 登录shell 5.6.2 交互式shell 5.6.3 非交互式shell 5.7 可变数组 5.8 使用命令别名 5.9 小结 第6章 理解Linux文件权限 6.1 Linux的安全性 6.1.1 /etc/passwd文件 6.1.2 /etc/shadow文件 6.1.3 添加新用户 6.1.4 删除用户 6.1.5 修改用户 6.2 使用Linux组 6.2.1 /etc/group文件 6.2.2 创建新组 6.2.3 修改组 6.3 理解文件权限 6.3.1 使用文件权限符 6.3.2 默认文件权限 6.4 改变安全性设置 6.4.1 改变权限 6.4.2 改变所属关系 6.5 共享文件 6.6 小结 第7章 管理文件系统 7.1 探索Linux文件系统 7.1.1 基本的Linux文件系统 7.1.2 日志文件系统 7.1.3 扩展的Linux日志文件系统 7.2 操作文件系统 7.2.1 创建分区 7.2.2 创建文件系统 7.2.3 如果出错了 7.3 逻辑卷管理器 7.3.1 逻辑卷管理布局 7.3.2 Linux中的LVM 7.3.3 使用Linux LVM 7.4 小结 第8章 安装软件程序 8.1 包管理基础 8.2 基于Debian的系统 8.2.1 用aptitude管理软件包 8.2.2 用aptitude安装软件包 8.2.3 用aptitude更新软件 8.2.4 用aptitude卸载软件 8.2.5 aptitude库 8.3 基于Red Hat的系统 8.3.1 列出已安装包 8.3.2 用yum安装软件 8.3.3 用yum更新软件 8.3.4 用yum卸载软件 8.3.5 处理损坏的包依赖关系 8.3.6 yum软件库 8.4 从源码安装 8.5 小结 第9章 使用编辑器 9.1 Vim编辑器 9.1.1 Vim基础 9.1.2 编辑数据 9.1.3 复制和粘贴 9.1.4 查找和替换 9.2 Emacs编辑器 9.2.1 在控制台上使用Emacs 9.2.2 在X Window中使用Emacs 9.3 KDE系编辑器 9.3.1 KWrite编辑器 9.3.2 Kate编辑器 9.4 GNOME编辑器 9.4.1 启动gedit 9.4.2 基本的gedit功能 9.4.3 设定偏好设置 9.5 小结 第二部分 shell脚本编程基础 第10章 构建基本脚本 10.1 使用多个命令 10.2 创建shell脚本文件 10.3 显示消息 10.4 使用变量 10.4.1 环境变量 10.4.2 用户变量 10.4.3 反引号 10.5 重定向输入和输出 10.5.1 输出重定向 10.5.2 输入重定向 10.6 管道 10.7 执行数学运算 10.7.1 expr命令 10.7.2 使用方括号 10.7.3 浮点解决方案 10.8 退出脚本 10.8.1 查看退出状态码 10.8.2 exit命令 10.9 小结 第11章 使用结构化命令 11.1 使用if-then语句 11.2 if-then-else语句 11.3 嵌套if 11.4 test命令 11.4.1 数值比较 11.4.2 字符串比较 11.4.3 文件比较 11.5 复合条件测试 11.6 if-then的高级特性 11.6.1 使用双尖括号 11.6.2 使用双方括号 11.7 case命令 11.8 小结 第12章 更多的结构化命令 12.1 for命令 12.1.1 读取列表中的值 12.1.2 读取列表中的复杂值 12.1.3 从变量读取列表 12.1.4 从命令读取值 12.1.5 更改字段分隔符 12.1.6 用通配符读取目录 12.2 C语言风格的for命令 12.2.1 C语言的for命令 12.2.2 使用多个变量 12.3 while命令 12.3.1 while的基本格式 12.3.2 使用多个测试命令 12.4 until命令 12.5 嵌套循环 12.6 循环处理文件数据 12.7 控制循环 12.7.1 break命令 12.7.2 continue命令 12.8 处理循环的输出 12.9 小结 第13章 处理用户输入 13.1 命令行参数 13.1.1 读取参数 13.1.2 读取程序名 13.1.3 测试参数 13.2 特殊参数变量 13.2.1 参数计数 13.2.2 抓取所有的数据 13.3 移动变量 13.4 处理选项 13.4.1 查找选项 13.4.2 使用getopt命令 13.4.3 使用更高级的getopts 13.5 将选项标准化 13.6 获得用户输入 13.6.1 基本的读取 13.6.2 超时 13.6.3 隐藏方式读取 13.6.4 从文件中读取 13.7 小结 第14章 呈现数据 14.1 理解输入和输出 14.1.1 标准文件描述符 14.1.2 重定向错误 14.2 在脚本中重定向输出 14.2.1 临时重定向 14.2.2 永久重定向 14.3 在脚本中重定向输入 14.4 创建自己的重定向 14.4.1 创建输出文件描述符 14.4.2 重定向文件描述符 14.4.3 创建输入文件描述符 14.4.4 创建读写文件描述符 14.4.5 关闭文件描述符 14.5 列出打开的文件描述符 14.6 阻止命令输出 14.7 创建临时文件 14.7.1 创建本地临时文件 14.7.2 在/tmp目录创建临时文件 14.7.3 创建临时目录 14.8 记录消息 14.9 小结 第15章 控制脚本 15.1 处理信号 15.1.1 重温Linux信号 15.1.2 产生信号 15.1.3 捕捉信号 15.1.4 捕捉脚本的退出 15.1.5 移除捕捉 15.2 以后台模式运行脚本 15.2.1 后台运行脚本 15.2.2 运行多个后台作业 15.2.3 退出终端 15.3 在非控制台下运行脚本 15.4 作业控制 15.4.1 查看作业 15.4.2 重启停止的作业 15.5 调整谦让度 15.5.1 nice命令 15.5.2 renice命令 15.6 定时运行作业 15.6.1 用at命令来计划执行作业 15.6.2 计划定期执行脚本 15.7 启动时运行 15.7.1 开机时运行脚本 15.7.2 在新shell中启动 15.8 小结 第三部分 高级shell脚本编程 第16章 创建函数 16.1 基本的脚本函数 16.1.1 创建函数 16.1.2 使用函数 16.2 返回值 16.2.1 默认退出状态码 16.2.2 使用return命令 16.2.3 使用函数输出 16.3 在函数中使用变量 16.3.1 向函数传递参数 16.3.2 在函数中处理变量 16.4 数组变量和函数 16.4.1 向函数传数组参数 16.4.2 从函数返回数组 16.5 函数递归 16.6 创建库 16.7 在命令行上使用函数 16.7.1 在命令行上创建函数 16.7.2 在.bashrc文件中定义函数 16.8 小结 第17章 图形化桌面上的脚本编程 17.1 创建文本菜单 17.1.1 创建菜单布局 17.1.2 创建菜单函数 17.1.3 添加菜单逻辑 17.1.4 整合shell脚本菜单 17.1.5 使用select命令 17.2 使用窗口 17.2.1 dialog包 17.2.2 dialog选项 17.2.3 在脚本中使用dialog命令 17.3 使用图形 17.3.1 KDE环境 17.3.2 GNOME环境 17.4 小结 第18章 初识sed和gawk 18.1 文本处理 18.1.1 sed编辑器 18.1.2 gawk程序 18.2 sed编辑器基础 18.2.1 更多的替换选项 18.2.2 使用地址 18.2.3 删除行 18.2.4 插入和附加文本 18.2.5 修改行 18.2.6 转换命令 18.2.7 回顾打印 18.2.8 用sed和文件一起工作 18.3 小结 第19章 正则表达式 19.1 什么是正则表达式 19.1.1 定义 19.1.2 正则表达式的类型 19.2 定义BRE模式 19.2.1 纯文本 19.2.2 特殊字符 19.2.3 锚字符 19.2.4 点字符 19.2.5 字符组 19.2.6 排除字符组 19.2.7 使用区间 19.2.8 特殊字符组 19.2.9 星号 19.3 扩展正则表达式 19.3.1 问号 19.3.2 加号 19.3.3 使用花括号 19.3.4 管道符号 19.3.5 聚合表达式 19.4 实用中的正则表达式 19.4.1 目录文件计数 19.4.2 验证电话号码 19.4.3 解析邮件地址 19.5 小结 第20章 sed进阶 20.1 多行命令 20.1.1 next命令 20.1.2 多行删除命令 20.1.3 多行打印命令 20.2 保持空间 20.3 排除命令 20.4 改变流 20.4.1 跳转 20.4.2 测试 20.5 模式替代 20.5.1 and符号 20.5.2 替换单独的单词 20.6 在脚本中使用sed 20.6.1 使用包装脚本 20.6.2 重定向sed的输出 20.7 创建sed实用工具 20.7.1 加倍行间距 20.7.2 对可能含有空白行的文件加倍行间距 20.7.3 给文件中的行编号 20.7.4 打印末尾行 20.7.5 删除行 20.7.6 删除HTML标签 20.8 小结 第21章 gawk进阶 21.1 使用变量 21.1.1 内建变量 21.1.2 自定义变量 21.2 处理数组 21.2.1 定义数组变量 21.2.2 遍历数组变量 21.2.3 删除数组变量 21.3 使用模式 21.3.1 正则表达式 21.3.2 匹配操作符 21.3.3 数学表达式 21.4 结构化命令 21.4.1 if语句 21.4.2 while语句 21.4.3 do-while语句 21.4.4 for语句 21.5 格式化打印 21.6 内建函数 21.6.1 数学函数 21.6.2 字符串函数 21.6.3 时间函数 21.7 自定义函数 21.7.1 定义函数 21.7.2 使用自定义函数 21.7.3 创建函数库 21.8 小结 第22章 使用其他shell 22.1 什么是dash shell 22.2 dash shell的特性 22.2.1 dash命令行参数 22.2.2 dash环境变量 22.2.3 dash内建命令 22.3 dash脚本编程 22.3.1 创建dash脚本 22.3.2 不能使用的功能 22.4 zsh shell 22.5 zsh shell的组成 22.5.1 shell选项 22.5.2 内建命令 22.6 zsh脚本编程 22.6.1 数学运算 22.6.2 结构化命令 22.6.3 函数 22.7 小结 第四部分 高级shell脚本编程主题 第23章 使用数据库 23.1 MySQL数据库 23.1.1 安装MySQL 23.1.2 MySQL客户端界面 23.1.3 创建MySQL数据库对象 23.2 PostgreSQL数据库 23.2.1 安装PostgreSQL 23.2.2 PostgreSQL命令行界面 23.2.3 创建PostgreSQL数据库对象 23.3 使用数据表 23.3.1 创建数据表 23.3.2 插入和删除数据 23.3.3 查询数据 23.4 在脚本中使用数据库 23.4.1 连接到数据库 23.4.2 向服务器发送命令 23.4.3 格式化数据 23.5 小结 第24章 使用Web 24.1 Lynx程序 24.1.1 安装Lynx 24.1.2 lynx命令行 24.1.3 Lynx配置文件 24.1.4 Lynx环境变量 24.1.5 从Lynx中抓取数据 24.2 cURL程序 24.2.1 安装cURL 24.2.2 探索cURL 24.3 使用zsh处理网络 24.3.1 TCP模块 24.3.2 客户端/服务器模式 24.3.3 使用zsh进行C/S编程 24.4 小结 第25章 使用E-mail 25.1 Linux E-mail基础 25.1.1 Linux中的E-mail 25.1.2 邮件传送代理 25.1.3 邮件投递代理 25.1.4 邮件用户代理 25.2 建立服务器 25.2.1 sendmail 25.2.2 Postfix 25.3 使用Mailx发送消息 25.4 Mutt程序 25.4.1 安装Mutt 25.4.2 Mutt命令行 25.4.3 使用Mutt 25.5 小结 第26章 编写脚本实用工具 26.1 监测磁盘空间 26.1.1 需要的功能 26.1.2 创建脚本 26.1.3 运行脚本 26.2 进行备份 26.3 管理用户账户 26.3.1 需要的功能 26.3.2 创建脚本 26.4 小结 第27章 shell脚本编程进阶 27.1 监测系统统计数据 27.1.1 系统快照报告 27.1.2 系统统计数据报告 27.2 问题跟踪数据库 27.2.1 创建数据库 27.2.2 记录问题 27.2.3 更新问题 27.2.4 查找问题 27.3 小结 附录A bash命令快速指南 附录B sed和gawk快速指南

2017-10-15

精通AngularJS.pdf

由科兹洛夫斯基、达尔文所著的《精通AngularJS》全面系统的介绍了AngularJS框架。AngularJS是Google开发者设计和开发的一套前端开发框架,帮助简化前端开发的负担。AngularJS主要有以下几点优势:1)它是由互联网巨人Google组织开发的;这意味着它有更加强大的社区支持;2)AngularJS非常全面,没有其它的插件或者架构足以开发数据驱动的web应用;3)开发过程简单 快捷。 AngularJS诞生于Google,已用于开发多款Google产品。它是一套JavaScript前端框架,用于开发当下流行的数据驱动的单页面Web应用。其核心特性是:MVC、模块化、自动双向数据绑定、语义化标签、依赖注入等。《精通AngularJS》深入浅出地讲解了AngularJS的开发概念和原理,并通过丰富的开发实例向读者展示了构建复杂应用的完整过程,包括学习使用AngularJS特有的基于DOM的模板系统,实现复杂的后端通信,创建漂亮的表单,制作导航,使用依赖注入系统,提高Web应用的安全性,使用Jasmine开展单元测试,等等。

2017-09-13

AngularJS权威教程.pdf

《AngularJS权威教程》内容全面,讲解通俗,适合各层次的学习者。作者拥有丰富的AngularJS开发和教学经验,也是一位全栈工程师。全书35章,由浅入深地讲解了AngularJS的基本概念和基本功能,包括模块、作用域、控制器、表达式、指令、路由、依赖注入等,重要的是书中对每一个概念的讲解都配合了恰如其分的示例和代码,让读者通过动手实践,切身体会到这些概念的含义和价值。《AngularJS权威 教程》后半部分深入到AngularJS应用开发,系统地讨论了服务器通信、事件、架构、动画、本地化、安全、缓存、移动应用等主题。《AngularJS权威教程》适合各个层次的AngularJS开发人员学习,无论是出于工作需要,还是好奇心的驱使,只要你想彻底理解AngularJS,《AngularJS权威教程》都会让你满载而归。

2017-09-13

REST实战(中文版)].Jim.Webber等.扫描版.pd

[REST实战(中文版)].Jim.Webber等.扫描版.pdf

2017-08-09

深入Java虚拟机第2版 清晰版pdf文件

深入Java虚拟机第2版 清晰的pdf文件,仅供学习参考

2017-06-10

微服务设计中文完整版

微服务设计中文完整版

2017-05-22

控制系统计算机辅助设计——MATLAB语言与应用_第三版

薛定宇的《控制系统计算机辅助设计——MATLAB语言与应用》的第三版

2017-03-17

effective STL 中文版

effective stl pdf 怎么使用stl 这里几乎都有说明 条款1: 仔细选择你要的容器 条款2: 小心对“容器无关代码”的幻想 条款3: 使容器里对象的拷贝操作轻量而正确 条款4: 用empty来代替检查size是否为0 条款5: 尽量使用范围成员函数代替他们的单元素兄弟 条款6: 警惕C++的及其令人恼怒的分析 条款7: 当使用new得指针的容器时,切记在容器销毁前delete那些指针 条款8: 千万不要把auto_ptr放入容器中 条款9: 小心选择删除选项 条款10: 当心allocator的协定和约束 条款11: 了解自定义allocator的正统使用法 条款12: 对STL容器的线程安全性的期待现实一些 vector和string 条款13: 尽量使用vector和string来代替动态申请的数组 条款14: 用reserve来避免不必要的内存重新分配 条款15: 当心string的实现中的变化 条款16: 如何将vector和string的数据传给传统的API 条款17: 用“交换技巧”来修正过度的容量 条款18: 避免使用vector<bool> 关联容器 条款19: 了解相等和等价的区别 条款20: 为包含指针的关联容器指定比较类型 条款21: 永远让比较函数对相等的值返回false 条款22: 避免对set和multiset的键值进行修改 条款23: 考虑用排序的vector代替关联容器 条款24: 当效率很关键时尽量用map::insert代替map::operator 条款25: 让自己熟悉非标准的hash容器 迭代器 条款26: 尽量使用iterator代替const_iterator,reverse_iterator和const_reverse_iterator 条款27: 使用distance和advance把const_iterators转化成iterators 条款28: 了解如何通过reverse_iterator的base得到iterator 条款29: 需要一字符一字符输入时请用istreambuf_iterator 算法 条款30: 确保目的范围足够大 条款31: 了解你的排序选项 条款32: 如果你真的想删除东西的话在remove-like的算法后紧接上erase 条款33: 当心在包含指针的容器使用remove-like的算法 条款34: 注意哪些算法需要排序过的范围 条款35: 通过mismatch或lexicographical_compare实现简单的忽略大小写字符串比较 条款36: 用not1和remove_copy_if来表现copy_if 条款37: 用accumulate或for_each来统计序列 仿函数,仿函数类,函数等等 条款38: 把仿函数类设计成值传递的 条款39: 用纯函数做predicate 条款40: 增强仿函数类的适应性 条款41: 明确ptr_fun, mem_fun和mem_fun_ref的区别 条款42: 保证less是operator<的意思 用STL编程 条款43: 尽量用算法调用代替手写循环 条款44: 尽量用成员函数代替同名的算法 条款45: 注意count、find、binary_search、lower_bound、upper_bound和equal_range的区别 条款46: 考虑用函数对象代替函数作为算法的参数 条款47: 避免产生只写代码 条款48: 总是#include适当的头文件 条款49: 学会破解STL相关的编译器出错信息 条款50: 让自己熟悉STL相关的网站

2016-08-23

大话处理器:处理器基础知识读本.pdf

大话处理器:处理器基础知识读本的真正完整本,全部八章,手动呕血扫描加书签,非网上那种6.33MB的太监版~!以全家人性命为誓~! 作者简介   万木杨,网名木兮清扬,华为公司服务近6年,曾任软件工程师、算法工程师、系统工程师,擅长多媒体算法设计和编写高效代码。 作者自2004年起开始研究多媒体算法,

2016-03-18

大话操作系统

大话操作系统——做坚实的工程实践派!内容还不错,只是偏向硬件!

2016-03-17

大话物联网

本书是一本关于物联网的基础知识读物,书中用独特的行文风格,以风趣、幽默的语言向读者讲述了物联网的发展历程,以独特的视角说明物联网的特点、原理和应用,使用大量的实例和漫画式的插图帮助读者理解晦涩、枯燥的技术,向读者展示了物联网高科技的巨大魅力,为初学者打开了一扇深入学习物联网技术的大门。

2016-03-17

stm32f4XX中文参考手册PDF

stm32f4XX中文参考手册PDF版,

2016-01-23

惯性技术——邓正隆PDF

《惯性技术》,邓正隆,哈尔滨工业大学出版社,PDF

2016-01-14

串口调试精灵 V1.023.exe

串口调试精灵 V1.023.exe,串口调试开发的简易工具,

2015-12-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除