自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 ROS坐标管理系统

# ubuntu版本不同,安装的版本有所区别sudo apt install ros-kinetic-turtle-tf# 启动脚本文件roslaunch turtle_tf turtle_tf_demo.launch开一个新的终端,输入如下命名,在终端中操作海龟,另一只海龟会向我们操作的海龟靠近rosrun turtlesim turtle_teleop_key再开一个终端,输入如下命令,会生成一个pdf文件,显示坐标关系:rosrun tf view_frames可以看

2021-08-12 17:13:59 137

原创 ROS话题消息的定义与使用

在文件夹learning_topic中新建一个命名为msg的文件夹,存放消息类文件,方便管理Person.msgstring nameuint8 sexuint8 ageuint8 unknown = 0uint8 male = 1uint8 female = 2在package.xml中添加功能包依赖<build_depend>message_generation</build_depend><exec_depend>message_runtim

2021-08-10 15:08:49 238

原创 ROS发布者订阅者编程实现

发布者publisher的编程实现:velocity_publisher.cpp/** * 该例程将发布turtle1/cmd_vel话题,消息类型geometry_msgs::Twist */ #include <ros/ros.h>#include <geometry_msgs/Twist.h>int main(int argc, char **argv){ // ROS节点初始化 ros::init(argc, argv, "velocity_publi

2021-08-10 14:07:44 193

原创 ROS创建工程包与工作空间

创建工作空间:工作空间(workspace)是一个存放工程开发相关文件的文件夹.*src:代码空间(Source Space)*build:编译空间(Build Space)*devel:开发空间(Development Space)*instll:安装空间(Install Space)mkdir catkin_wscd catkin_ws/mkdir srccd src/catkin_init_workspace编译工作空间:cd ~/catkin_wscatkin_make

2021-08-10 14:06:13 167

原创 ROS常用命令

打开Turtlesimroscorerosrun turtlesim turtlesim_noderosrun turtlesim turtle_teleop_key

2021-08-10 10:23:48 51

原创 ROS安装(Ubuntu16.04)

设置sources.listsudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'设置密钥sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB1

2021-08-09 21:51:50 209

原创 LAB 2 Shellshock Attack

Shellshock Attack利用Shellshock攻击Set-UID程序Web服务器调用CGI程序Task 1: Experimenting with Bash FunctionTask 2: Setting up CGI programsTask 3: Passing Data to Bash via Environment VariableTask 4: Launching the Shellshock AttackTask 5: Getting a Reverse Shell via Shel

2021-07-18 15:38:20 341

原创 码农的自我修养之 软件危机和软件过程

码农的自我修养之软件危机和软件过程软件危机和软件过程没有银弹基于组件的软件工程方法再论没有银弹基于组件的软件供应链软件危机的根本问题软件危机的展望软件过程模型软件的生命周期概述描述性的过程和说明性的过程瀑布模型带原型的瀑布模型V模型分阶段增量和迭代螺旋模型PSP和TSPCMM/CMMI敏捷方法DevOps软件危机和软件过程没有银弹10年后到1986年,Brooks发表了一篇著名的论文“没有银弹(No Silver Bullet: Essence and Accidents of Software En

2021-07-18 09:58:17 231

原创 码农的自我修养之 软件科学基础概论

码农的自我修养之软件科学基础概论一、软件是什么?软件的基本构成元素对象(Object)函数和变量/常量指令和操作数0和1是什么?软件的基本结构顺序结构分支结构循环结构函数调用框架继承和对象组合软件中的一些特殊机制回调函数多态闭包异步调用匿名函数软件的内在特性一、软件是什么?软件的基本构成元素对象(Object)一个对象作为某个类的实例,是属性和方法的集合。对象和属性之间有依附关系,属性用来描述对象或存储对象的状态信息,属性也可以是一个对象。对象能够独立存在,对象的创建和销毁显式地或隐式地对应着构造

2021-07-17 16:01:54 861

原创 代码中的软件工程 工程化编程实战

代码中的软件工程工程化编程实战C/C++编译调试环境配置代码最初是如何生长起来的?简约而不简单——代码规范和代码风格代码风格的原则:简明、易读、无二义性到底什么样的代码是好代码呢?代码风格规范总结编写高质量代码的基本方法性能优先策略背后隐藏的代价拒绝修修补补要不断重构代码模块化的基本原理耦合度(Coupling)内聚度(Cohesion)模块化代码的基本写法软件设计中的一些基本方法KISS(Keep It Simple & Stupid)原则使用本地化外部接口来提高代码的适应能力先写伪代码的代码结构

2021-07-16 21:22:13 617

原创 码农的自我修养之从需求分析到软件设计

获取需求的主要方法什么是需求?需求就是对用户期望的软件行为的表述获取需求就是需求分析师通过关注用户的期望和需要,从而获得用户期望的软件行为,然后对其进行表述的工作;需求分析是在获取需求的基础上进一步对软件涉及的对象或实体的状态、特征和行为进行准确描述或建模的工作。为什么需求非常重要?Top factors that caused project to failSome part of the requirements process is involved in almost all o

2021-07-15 10:39:25 418

原创 LAB 13 数据包嗅探和伪造

Packet Sniffing and Spoofing Lab数据包时如何被接收的Lab Task Set 1: Using Tools to Sniff and Spoof PacketsTask 1.1: Sniffing PacketsTask 1.1A.Task 1.1B.Task 1.2: Spoofing ICMP PacketsTask 1.3: TracerouteTask 1.4: Sniffing and-then SpoofingLab Task Set 2: Writing Pro

2021-07-13 20:52:03 2862

原创 LAB 12 SQL注入攻击

SQL Injection Attack LabSQL注入攻击实战Task 1: Get Familiar with SQL StatementsTask 2: SQL Injection Attack on SELECT StatementTask 2.1: SQL Injection Attack from webpage.Task 2.2: SQL Injection Attack from command line.Task 2.3: Append a new SQL statement.Task

2021-07-13 16:41:16 601

原创 LAB10 跨站脚本攻击

@[TOC](XSS Attack Lab)、跨站脚本攻击跨站脚本攻击是一种代码注入攻击,这种攻击通常涉及三个实体:攻击者、被攻击用户和目标网站。一般情况下,用户在目标网站的网页及用户与目标网站的交互都会被保护起来,保护方法有登录凭证、会话cookie 等。攻击者要直接对这些页面或交互进行攻击比较困难。一种攻击它们的方法是向目标用户的浏览器中注入代码。把一段代码注入目标浏览器并不难。实际上,每次用户访问攻击者的网页时,网页中的JavaScript 代码都会在用户的浏览器上运行。然而,由于浏览器实施的沙

2021-07-13 14:55:06 509

原创 LAB9 跨站请求伪造(CSRF)

跨站请求伪造(CSRF)是一种恶意攻击当普通用户访问恶意网页时,该网页可以代替用户向目标网站发送伪造的请求。由于请求来自第三方网页,所以被称为跨站请求。如果目标网站没有采取适当的应对措施那么就无法区分一个请求是来自第三方页面的伪造请求还是一个来自本网站页面的真正用户请求.这就诱发了CSRF 漏洞。这个实验主要是利用CSRF攻击来完成一些恶意的操作。 ** 实验准备:** DNS Configuration. 修改/etc/hosts/文件设置如下ip映射: ``127.0.0.1 ...

2021-07-13 10:15:01 614

原创 leetcode 131. 分割回文串

class Solution { //要返回的答案 List<List<String>> ans = new ArrayList<>(); List<String> path = new ArrayList<>(); int n ; //g[i][j]表示s[i,j]是否是回文串 boolean[][] g; public List<List<String>> parti

2021-04-14 12:12:44 45

原创 LeetCode 50 Pow(x, n)

实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,x^n).class Solution { public double myPow(double x, int n) { long l = n; if(l < 0) { x = 1 / x; l = -l; } double res = 1; for(long k = l; k != 0; k >

2021-04-06 21:17:57 62

原创 LAB1 Set-UID

Task 1: Manipulating Environment Variables1. 使用env查看系统变量使用export添加环境变量,可以再子进程中看到testEnv,使用unset移除testEnv,子进程也没有了这个环境变量原因:export和unset都是shell自身的命令,在 shell 中执行程序时,shell 会提供一组环境变量。使用export和unset 可新增,修改或删除环境变量,供后续执行的程序使用,子进程使用env也能看到export设置的环境变量。Task 2:

2021-04-06 12:04:52 354

空空如也

空空如也

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

TA关注的人

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