@nasha 是的
ROS Group 产品服务
Product Service 开源代码库
Github 官网
Official website 技术交流
Technological exchanges 激光雷达
LIDAR ROS教程
ROS Tourials 深度学习
Deep Learning 机器视觉
Computer Vision

Posts made by weijiz
-
RE: 求助,ROS如何编写判断节点启动的程序。
ros::master::V_TopicInfo available_topics; ros::master::getTopics(available_topics); for (size_t it = 0; it<available_topics.size(); it++){ std::string available_topic_name = available_topics[it].name; }
-
重定向时没有cookie的问题
有时候会发现从其他网站重定位到自己的网站时,这个请求会没有cookie。这是由于设置了cookie的SameSite 属性为Strict
SameSite attribute
SameSite Cookie 允许服务器要求某个 cookie 在跨站请求时不会被发送,(其中 Site (en-US) 由可注册域定义),从而可以阻止跨站请求伪造攻击(CSRF)。
SameSite cookies 是相对较新的一个字段,所有主流浏览器都已经得到支持。
下面是例子:
Set-Cookie: key=value; SameSite=Strict
SameSite 可以有下面三种值:
None。浏览器会在同站请求、跨站请求下继续发送 cookies,不区分大小写。 Strict。浏览器将只在访问相同站点时发送 cookie。(在原有 Cookies 的限制条件上的加强,如上文 “Cookie 的作用域” 所述) Lax。与 Strict 类似,但用户从外部站点导航至URL时(例如通过链接)除外。 在新版本浏览器中,为默认选项,Same-site cookies 将会为一些跨站子请求保留,如图片加载或者 frames 的调用,但只有当用户从外部站点导航到URL时才会发送。如 link 链接
以前,如果 SameSite 属性没有设置,或者没有得到运行浏览器的支持,那么它的行为等同于 None,Cookies 会被包含在任何请求中——包括跨站请求。
大多数主流浏览器正在将 SameSite 的默认值迁移至 Lax。如果想要指定 Cookies 在同站、跨站请求都被发送,现在需要明确指定 SameSite 为 None。
这个是16年新增的属性。如果想要重定向时仍有cookie则应设置此属性为Lax
-
RE: 小强ROS机器人教程(27)___bw_auto_dock自动充电功能包的使用和实现原理
@xxxxxxxxxxxx 相关参数需要调整,比如超声波触发的距离,pid的控制参数。odom是否准确。充电桩的高度是否合适。
-
rust使用中的坑
- 内存泄漏
由于程序中使用了正则表达式,而rust的正则表达式库依赖了一个线程库。这个线程库在使用中会内存泄漏。目前最新版本的正则表达式库已经移除了这个线程库依赖,不再有内存泄漏的问题。
所以虽然rust本身是内存安全的,但是内存泄漏的情况还是会发生。rust目前还是比较新,比较重要的库还不是很稳定。
- 同样的程序在不同系统中表现不一样
虽然rust本身是可以平台编译使用的,但是具体的函数库在不同平台上的表现并不完全一致。如TcpStream的Shutdown方法。如果使用阻塞的TcpStream。Shutdown方法在windows和Ubuntu 20.04上都工作正常,但是在Ubuntu16.04上却可能会阻塞。这是由于Shutdown只是对系统的shutdown函数进行了封装调用,具体的表现就和系统的shutdown相关,而不同系统的shutdown表现并不一致。
-
RE: 在Ubuntu 20.04上使用Systemback
@lucktu 这个教程的证书是旧的,后来换了。用下面的指令添加证书
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key 50B2C005A67B264F
-
pip sys.stderr.write(f"ERROR: {exc}") 错误
在Ubuntu 16.04上使用pip安装python3的库时可能会报下面的错误
Traceback (most recent call last): File "/home/xiaoqiang/Documents/ros/src/galileo_data_display/venv/bin/pip", line 7, in <module> from pip._internal.cli.main import main File "/home/xiaoqiang/Documents/ros/src/galileo_data_display/venv/lib/python3.5/site-packages/pip/_internal/cli/main.py", line 60 sys.stderr.write(f"ERROR: {exc}") ^ SyntaxError: invalid syntax
这是由于新版本的pip已经放弃了对
python2.7
和python3.5
的支持。解决方法就是安装新版本的python3比如安装python3.8
sudo add-apt-repository ppa:deadsnakes/ppa sudo apt update sudo apt install python3.8 python3.8-venv
安装完成之后可以用下面的指令创建虚拟环境,这时候使用最新的pip就不会再报错了。
python3.8 -m venv venv