自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

_明灭的专栏

积跬步,致千里.

  • 博客(37)
  • 收藏
  • 关注

原创 scala implicit关键字详解(隐式转换函数、隐式类、隐式参数、隐式值)

scala 隐式(implicit关键字)详解一、Overviewimplicit是scala中的一个关键字,关于它有着丰富的用法,使得scala更灵活和容易扩展。截止目前,scala已经来到了2.12.3版本,本篇文章把目前scala支持的implicit用法作了较为全面的整理,以方便在阅读scala源码的时候稍作参考。文中全部的代码和测试结果均以scala2.12.3为准。闲话不多讲,目前可以见

2017-09-20 21:53:33 4280

原创 spark编程指南

spark编程指南可以使容器并行化val data = Array(1, 2, 3, 4, 5)val distData = sc.parallelize(data)扩展数据集可以直接使用文本文件scala> val distFile = sc.textFile("data.txt")distFile: org.apache.spark.rdd.RDD[String] = data.txt

2017-09-17 23:27:17 376

原创 spark RDD常用函数/操作

spark RDD常用函数/操作文中的代码均可以在spark-shell中运行。transformationsmap(func)集合内的每个元素通过function映射为新元素val a = Array(1,2,3,4)val pa = sc.parallelize(a)val resultRdd = pa.map( _ + 1)注意对于所有transformation操作,生成的都是一个新的R

2017-09-17 12:03:48 2974

翻译 spark集群部署模式概览

spark集群部署模式概览[原文连接]元素一个spark应用包含运行在集群里的一系列进程,它们由主程序(称作driver)里的SparkContext对象协调。SparkContext可以连接不同的集群管理器( Spark的 standalone cluster manager/ Mesos/YARN),这层抽象使得spark可以利用不同的底层设施。集群管理器用于分配资源,spark应用的运行流程与

2017-09-16 17:43:03 593

原创 11、初步使用roswtf

在实践本篇文章前,请确保你的机器上没有roscore在运行。一、检查安装状态roswtf检查你的系统并且报告存在的问题,让我们尝试一下:roscdroswtf我的机器里得到:No package or stack in context================================================================================S

2016-04-19 22:32:48 1098

原创 10、ROS记录和重现数据

在使用ROS系统的时候,我们可能会遇到这样的需求——重现机器人在的运行状况或者分析机器人的某些运行数据。这时候我们就十分需要对数据进行记录和备份的功能,好在ROS提供了非常方便的这样的功能。一、记录数据(通过创建bag文件)这一节里介绍的是在一个运行中的ROS系统中记录某一个话题的信息,我们以小海龟节点为例,介绍如何在一个bag文件里记录话题发布的信息。首先运行ROS:roscore然后在另一个终端

2016-04-19 21:28:12 6040

原创 9、ROS使用C++编写一个简单的Service和Client

在开始本篇文章之前,默认我们在前面的几篇文章中已经进行了如下的工作:创建了beginner_tutorial包在beginner_tutorial包中创建了AddTwoInts.srv文件如果没有满足以上条件的话,请重新阅读本系列的第7、8篇文章。一、Service节点在包内的src下创建add_two_ints_server.cpp,粘贴以下内容:#include "ros/ros.h"#

2016-04-19 16:54:29 2529

原创 8、ROS使用C++编写一个简单的Publisher和Subscriber

一、Publisher节点“节点” 是一个连接着ROS框架的可执行文件,这里我们用C++写一个publisher节点 (命名为”talker”) ,不断地发布一条信息。首先进入包目录的src文件夹:roscd beginner_tutorialscd src然后创建一个名为'talker.cpp'的文件,内容为:/*"ros/ros.h"里面包含了ROS系统内最常用的一些头文件,包含此文件,便可

2016-04-19 16:53:27 4819

原创 7、创建ROS msg和srv

一、msg和srv介绍msg: msg文件使用简单的文本格式声明一个ROS message的各个域。仅需要创建一个msg文件,就可以使用它来生成不同语言的message定义代码。srv: srv文件则声明了一个服务,包括request(请求)和response(响应)。msg文件和srv文件分别存储在包的msg目录和srv目录下。msgs是简单的txt文件,每行定义一个信息域,基本格式为 信息域的

2016-04-19 11:09:38 5262

转载 使用emacs进行时间管理(2)——基本任务管理[转]

原文链接:Org-mode,最强的任务管理利器,没有之一一、任务和子任务Org-mode认为,每一个任务通常会需要附带一些文字说明。所以Org-mode将标题作为任务的载体。通过在标题上增加状态标记,来定义任务。 由于大纲是分级的,所以将标题定义为任务天然支持了子任务:可以在子标题上标记子任务。使用C-c C-t或者S-LEFT/RIGTH可以为标题增加或改变任务标记。二、定义任务状态Org-mod

2016-04-18 20:50:00 3250

转载 使用emacs进行时间管理(1)——org-mode基本操作

本篇文章大部分引用自:org-mode: 最好的文档编辑利器,没有之一,同时结合自己的实践,整理而成。一、org-modeorg-mode官方定义:Org is a mode for keeping notes, maintaining TODO lists, and doing project planning with a fast and effective plain-text system

2016-04-17 23:32:50 7860

原创 在ubuntu14.04上安装spacemacs

一、引言去年寒假前,开始刷SICP,了解函数式编程,这本书从内容到习题,使用的都是比较小众的一门语言——scheme,lisp的后裔之一。而写lisp系语言的最佳实践一定是使用emacs编辑器,于是从那时开始入坑,走上了emacs的折腾之路。由于emacs的配置语言elisp也是lisp的后代之一,其最基本的语法与概念与scheme完全相同,只是里面加了一些过程式的东西以及作为emacs附属的独特的

2016-04-17 20:55:30 3636

原创 git工作流

日常使用git,一般只需掌握add、commit、checkout、reset、branch、merge、push几个基本操作即可。这里有一个git教程,廖雪峰的git教程,写得非常通俗易懂,我就不再画蛇添足另开git系列,仅记录个人在使用过程中遇到的问题与积累的经验。要开始一个多人协作项目,我们首先需要在代码托管平台注册一个帐号,我们以github为例,在线新建一个git仓库:一、新建git仓库如

2016-04-15 17:36:59 428

原创 6、rqt_console和roslaunch

一、准备确保你已经安装了rqt和turtlesim包,没有的话,使用一下命令安装:sudo apt-get install ros-<distro>-rqt ros-<distro>-rqt-common-plugins ros-<distro>-turtlesim请用你所使用的版本(比如indigo、jade)代替。二、使用rqt_console and rqt_logger_level命令rqt

2016-04-14 20:57:10 1007

原创 5、理解ros服务

一、ros服务ros服务(service)是节点间交流的另外一种方式,服务类似于web中的服务端与客户端的概念,节点类似一个客户端,可以发出一个请求(request),然后接受一个响应(response)。二、使用rosservice命令此命令的用法如下:rosservice list print information about active servicesrosservic

2016-04-14 19:43:53 1291

原创 4、理解ros话题

一、准备工作1.roscore首先启动ros:rosrun已经启动过则无需此步。2.turtlesim启动一个小海龟rosrun turtlesim turtlesim_node3.远程操控小海龟再一个新终端里运行:rosrun turtlesim turtle_teleop_key得到:Reading from keyboard---------------------------Use ar

2016-04-11 21:00:21 1029

原创 3、理解ros节点

一、总体框架参见[ros总体框架]二、roscore启动ros服务:roscoreroscore = ros+core : master (provides name service for ROS) + rosout (stdout/stderr) + parameter server (parameter server will be introduced later)三、rosnoderosn

2016-04-11 19:53:00 683

原创 第9天-mysql创建高级联结

一、使用表别名在sql中,除了可以使用列别名之外,也可以使用表别名,这样做有两个理由缩短sql语句允许在单个select语句中使用相同的表例子:SELECT name, age, sexFROM students as s, courses as c, course_selection as csWHERE cs.student_id = s.idAND c.course_teacher =

2016-04-11 19:27:19 423

原创 第8天-sql子查询和联结表

一、子查询嵌套在其他查询中的查询。1、 利用子查询进行过滤select student_id from course_selectionwhere course_id in (select course_id from courses where course_teacher='zhang');即首先从课程设置表’courses’中查询出张老师带的所有课的course_id,然后从学生

2016-04-09 21:11:35 451

原创 第7天-sql汇总与分组数据

一、汇总数据我们经常需要汇总数据而不用把它们实际检索出来,为此sql提供了专门的函数。聚集函数为了方便数据汇总,sql给出了5个聚集函数,与前面的数据处理函数不同,sql的聚集函数得到了主要sql实现相当一值的支持。 函数 说明 AVG() 返回某列的平均值 COUNT() 返回某列的行数 MAX() 返回某列的最大值 MIN() 返回某列的最小值 SUM(

2016-03-25 23:51:15 1128

原创 mysql参考及经验(长更)

一、参考资料常用数据类型:【mysql数据类型】 常用字符串函数:【mysql字符串函数(转载)】 常用数学函数:【Mysql数学函数】 常用日期和时间处理函数:【MySQL日期时间函数大全】、【MySQL:日期函数、时间函数总结】二、常用操作1、以数据库和脚本启动mysqlmysql -D samp_db -u username -p < script.sql2、将csv导入mysqlloa

2016-03-25 13:14:53 450

原创 2、ROS使用工作空间

一、引言本篇中,我们首先会展示catkin_make如何构建package,然后演示在不使用catkin_make的情况下手动构建,从而加深对catkin_make工作流程的理解。二、使用catkin_make1、使用catkin_make的典型工作流是这样的:$ cd ~/catkin_ws/src/beginner_tutorials/src# 添加/编辑 源码$ cd ~/catkin_w

2016-03-24 22:45:49 1657

原创 1、创建一个ROS package

英文链接CreatingPackage一、创建一个catkin的workspace1、使用如下命令创建workspace$ mkdir -p ~/catkin_ws/src$ cd ~/catkin_ws/src$ catkin_init_workspacecatkin_ws的目录结构如下:├── build├── devel└── src下一步即可在src文件夹里创建package。二、创

2016-03-24 17:49:06 738

原创 第6天-sql简单数据实操

为了练习数据库操作,可以使用python3随机生成一个数据表导入mysql中,具体过程如下:一、创建表新建一个名为createtable.sql的脚本,内容如下:create table students(id int unsigned not null primary key,name char(8) not null,sex char(6) not null,age tinyint u

2016-03-22 21:21:53 585

原创 第5天-sql计算字段的创建与基础函数的使用

一、创建计算字段基本从数据库中检索出数据,经过SELECT语句可以进一步转换、计算或者格式化,创建计算字段。计算字段并不实际存在与数据库表中,而是运行时在SELECT语句内创建的。例子:#拼接字段SELECT CONCAT('name:',name)FROM studentsORDER BY id;输出:+----------------------+| CONCAT('name:',nam

2015-07-01 21:31:49 555

原创 第4天-sql通配符与正则式

一、LIKE操作符mariadb的LIKE操作符支持以下通配符: 通配符 含义 % 任意字符出现任意次数 _ 单个字符书中出现的[](方括号),mariadb的LIKE操作符并不支持,更精细的匹配需要使用正则式。例子:#查询name中含有'li'的记录SELECT * FROM studentsWHERE name LIKE('%li%');#匹配name为三字符——'

2015-06-28 22:57:53 1545

原创 第3天-sql基本检索与数据过滤

一、基本查询语句上一篇中已经学到,sql基本的查询语句形式为:select select 列名称 from 表名称;sql语句是不区分大小写的,而且会忽略空格,语句可以一行给出,也可以分成多行。显然分成多行,且使用大写将关键字与表名列名等区分开更容易阅读和调试。另外每个sql语句必须以分号结尾。检索多个列:SELECT id,nameFROM students;其中sudents为上一篇中建立的表

2015-06-27 23:37:57 608

原创 第2天-sql增删改查

一、理论1.MySQL的相关概念介绍MySQL 为关系型数据库(Relational Database Management System), 这种所谓的”关系型”可以理解为”表格”的概念, 一个关系型数据库由一个或数个表格组成, 如图所示的一个表格: 表头(header): 每一列的名称 列(colomn): 表中的一个字段,代表某种属性,所有表都是由一个或多个列组成的 行(ro

2015-06-26 19:19:27 770

原创 第1天-sql基本概念及安装与添加用户

在学习web后端以及web安全时不可避免地需要与数据库打交道,而各种数据库中应用最为广泛的就是mysql等关系型数据库了,sql注入更是web领域常见的安全隐患,所以系统学习一下sql是很有必要的。自己订了一个30天的学习计划,不说要学到多精通,但至少做到熟悉。   那么从今天开始,结合[番茄工作法],执行30天的学习计划。一、基本概念  首先梳理清楚数据库的有关概念,分清我们常说的“数据库、SQ

2015-06-25 20:54:18 822

原创 IDF实验室-特殊的日子

特殊的日子一、原题[原题链接] 每个人的一生中都会或多或少有那么几个对自己很重要的日子,比如对于我来说,这一天就很重要。答案格式wctf{日期} //友情提示,此题需要暴力破解,但只是爆破这段密文,不是爆破这个网站。。 = =!就是这一天↓4D1FAE0B二、writeup没有思路,看提示,crc32。 CRC(循环冗余校验法)的百科:[CRC] 以前看过,具体的细节忘了,对照资料回忆了一下,CRC是

2015-06-05 21:44:51 4726

原创 IDF实验室-伟人的名字

伟人的名字一、原题[原题链接] 从前有个很厉害的人物演讲了一堆很厉害的东西,可是我读书少,认识人不多,你知道这个人叫啥不。。答案格式wctf{名字} 友情提示1、外国人,只要名字就可以了,就别要姓了,首字母大写。 友情提示2、说过我读书少,外国人的名字和姓我是分不清的,反正答案就是大家最常叫的那个。。以下就是这个人讲话的节选: EB BMQF KYJRD, IM ICHZZZ YWELXABD, IC

2015-06-04 22:22:52 8483 2

原创 IDF实验室-谁是卧底

一、原题[原题链接] 武林中某知名杀手在一次任务中失败,然后逃窜到了人群中,当时那个社会并没有我们现在这么发达,满地都是文盲,而这些文盲甚至连一句完整的英文都说不出来,所以其实只要用心去发现,就会很容易发现这个稍微有些文化的杀手是谁哦~答案wctf{杀手的英文名}人群→ http://pan.baidu.com/s/1bnq6nmR密码: 988u二、writeup1、初步分析下载文件,得到who

2015-06-01 15:31:37 6302 1

原创 IDF实验室-抓到一只苍蝇

感觉这道题对我已经有难度了一、原题报告首长!发现一只苍蝇。。在哪?here!卧槽?!好大一坨苍蝇。。文件地址: http://pan.baidu.com/s/1bnGWbqJ提取码:oe6wPS:flag写错了,太麻烦也懒得改了,格式还是wctf{…},大家明白就好,不要在意这些细节。。二、writeup首先下载所给的文件misc_fly.pcapng,是一个抓包软件抓取的数据包,解题流程如下:1.

2015-05-30 23:40:18 11576 2

原创 IDF实验室-图片里的英语

原题:一恒河沙中有三千世界,一张图里也可以有很多东西。不多说了,答案是这个图片包含的那句英文的所有单词的首字母。首字母中的首字母要大写,答案格式是wctf{一坨首字母}加油吧少年!看好你哦~ writeup:又是图片题,话不多说1.图片查看器打开亮度饱和度曝光各种调,无果。2.二进制打开用vim打开: vim -b problem.png在vim调整为16进制显示::%!xxd大致浏览一遍,由于内

2015-05-30 21:18:25 3727

原创 IDF实验室-简单的js解密

原题:[简单的js解密] writeup:直接看代码,页面内有一段script:/** * Pseudo md5 hash function * @param {string} string * @param {string} method The function method, can be 'ENCRYPT' or 'DECRYPT' * @return {string} */f

2015-05-30 20:23:49 4625

原创 IDF实验室-部分简单题目writeup

1. 被改错的密码原题: 从前有一个熊孩子入侵了一个网站的数据库,找到了管理员密码,手一抖在数据库中修改了一下,现在的密码变成了cca9cc444e64c8116a30la00559c042b4,那个熊孩子其实就是我!肿么办求解!在线等,挺急的。。 PS:答案格式wctf{管理员原密码} writeup: 观察所给字符串 “cca9cc444e64c8116a30la00559c042b4”,

2015-05-30 19:25:16 9960 4

原创 Git初级入门

1)初始化git仓库 git init2)提交修改到暂存区,添加跟踪:   git add filename3)提交修改到版本库:   git commit -m "information"4)查看状态及历史   git status git log git reflog5)版本回退     git reset

2015-02-28 20:25:07 536

空空如也

空空如也

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

TA关注的人

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