Linux
2023.11.1
记录最难受的一次ubuntu ssh使用经历。今天想尝试一下ssh免密码登录服务器,本来以为几分钟就完事了,结果发现按照网上的教程没有成功。
首先在客户端生成ssh密钥ssh-keygen -t rsa -f C:\Users\JayL/.ssh/ubuntu_key
注意windows下不能直接使用ssh-copy-id命令,所以选择手动拷贝pub到/home/jayl/.ssh/authorized_keys下。
发现还是不能免密码连接。
打开客户端ssh调试信息打印,发现信息很粗略,没有什么价值。
反复查看网上说的文件权限的问题,发现一切正常。
按照教程,开始折腾rsyslog和/etc/ssh/sshd_config配置文件,但是由于没找到官方文档,设置的依托答辩,后来还不小心给把日志文件auth给弄没了。
最后使用下面的命令,打印sshd的调试信息。
sudo /usr/sbin/sshd -p 2222 -d
ssh -vvv -p 2222 jayl@玺.top
结果只是说找不到公钥。
最后,偶然间发现,在/home/jayl/.ssh/authori ...
IDE使用记录
今天初次使用了QT,安装的时候,出了一些问题记录一下。
QT6版本必须在线下载,网速其实还可以。
安装的时候,选择它给的默认安装组件就行。
记得把“D:\QT\6.5.0\mingw_64\bin”加入环境变量,否则会因为找不到DLL库报错。
在项目中配置运行环境,注意可能自动选择了vs的工具,导致编译出错。
C++
很少注意到的main函数的另一个重载形式,int main(int argc,char *argv[])。#include<bits/stdc++.h>#include<assert.h>using namespace std;int main(int argc,char *argv[]){ //main函数的重载,另一个是int main(void) //argc表示传进去多少个参数 //argv是一个包含传入参数的默认二维char数组,调用函数,默认会将调用的函数名作为第一个参数 //很像命令 int (*f)(int,char *[])=main; //函数指针 if(argc!=0){ char ***a=&argv,*first=argv[0],ch=argv[0][0]; //printf("arg=\"%s\";ch='%c'\n",first,ch); cout<< ...
ROS2学习
ROS1和ROS2的选择小车型号是HUNTER SE,给的官方教程是使用ROS1操作,但是安装教程过于陈旧,需要使用ubuntu16版本,和ROS KENICT版本,网上说ROS2是兼容ROS1的,而且有更好的性能,所以选择ROS2。
配置ROS2环境记录环境:ubuntu22.04+vscode
教程1
一、安装必要的ROS2工具网上教程很丰富,采用了直接进入官网下载安装包本地安装,选择代号为rolling的最新版本。
二、配置vscode环境考虑使用cmake+ament_cmake+colcon构建。可以使用教程中的ros2 pkg命令创建新的项目,参数可以问chatgpt。
需要的包和工具:
cmake是多文件编译的基本工具,可以根据CMakeLists.txt自动生成MakeFile文件
ament_cmake用于辅助ROS2的项目构建,注意这个包不会随着ROS工具集一起下载,需要使用apt-get命令单独安装。
colcon用于管理ros2的package的工作空间。这个工具是一个vscode插件。colcon基于CMake工作,在调试过程中,可单独使用CMake运行项目 ...
TSN网络
TSN名词解释GCL:门控列表(Gate Control List,GCL)
CNC:集中网络控制器(centralized network configuration,CNC)
CUC:集中用户控制器(centralized user configuration,CUC)
802.1AS:通用精确时间协议(Generalized Precision Time Protocol),将为汽车、工业自动化控制等领域实现精确时间的测量。
Linux Traffic Control:Linux TC(Traffic Control) 众所周知,在互联网诞生之初都是各个高校和科研机构相互通讯,并没有网络流量控制方面的考虑和设计,IP协议的原则是尽可能好地为所有数据流服务,不同的数据流之间是平等的。然而多年的实践表明,这种原则并不是最理想的,有些数据流应该得到特别的照顾,比如,远程登录的交互数据流应该比数据下载有更高的优先级。
NETCONF:网络配置协议NETCONF(Network Configuration Protocol)为网管和网络设备之间通信提供了一套协议,网管通过NETCONF协议 ...
android文本路径选择器
csdn
预期效果:通过点击文件夹或文件,选择文件或文件夹,并返回选择的路径总结
花了几天时间,做这个小程序,初步学习并体验了一下android开发。没想到看似这么基础的功能,也需要五六百行代码来实现。学习过程就是把网上前人的代码片段扒下来,然后一点点看懂,纠错,完善,通过看懂别人写的代码来学习。把学习到的东西,后来遇到的一些困难,以及解决的方法,作为笔记整理记录一下。
1.第一次深入了解面向对象语言,了解了面向对象语言的很多基础知识,如基类,派生类,接口,继承,implements的使用条件和规范,this的各种用法,和一些基础的方法,如super()。第一次学习xml文件的标签语言,如何用xml文件组织运行程序的各种资源,以及不同activity之间的通信方法。
2.学习了android软件开发的一些流程,从package下的文件构成,res下文件的作用,gradle的使用,manifest中注册activity,签名打包成apk文件,初步了解了整个android开发的基本流程。
3.了解了一些在android开发debug的一些基本方法。
(1)由于没学Kotlin,只会用 ...
计算机组成原理 第五章
第五章 中央处理器CPU的功能和组成CPU的功能中央处理器(Central Processing Unit)是计算机的核心部件,通常简称为CPU,控制计算机自动完成取指令和执行指令任务
CPU对整个计算机系统的运行是极其重要的
CPU的基本功能:指令控制 :
程序的顺序控制
将指令从内存中取到CPU里,并决定下条要执行的指令的地址
CPU内与指令控制功能相关的部件:
程序计数器PC(Program Counter),又名指令计数器、指令地址计数器或指令指针
用于确定下一条指令的地址
在程序开始执行前,将程序的第一条指令所在的 内存单元地址送入PC
顺序执行指令时,CPU将自动修改PC的内容,加上指令的长度,使其保持将要执行的下一条指令的地址
执行转移类操作时,将程序的后继指令的地址送入PC
(内存)地址寄存器MAR/AR(Address Register)
保存当前CPU所访问的内存单元或I/O接口的地址
连接到地址总线
由于在内存和CPU之间存在着操作速度上的差别,所以必须使用地址寄存器来保持地址信息,直到内存的读/写操作完成为止
(内存)数据寄存器 ...
计算机组成原理 第二章
第二章:运算方法和运算器数据与文字的表示方式真值和机器数数据表示需要考虑的因素:
数据的类型
可能遇到的数值范围
数值精确度
数据存储和运算的硬件代价
数据的表示格式:
定点格式
浮点格式
真值: 现实中真实的数值机器数: 计算机中用0和1组合表示的数值定点数:固定小数点的未至表达数值的机器数
定点整数:将小数点固定在机器数的最右侧表达的整数
定点小数:将小数点固定在机器数的最左侧表达的小数
浮点数:小数点浮动表达的实数无符号数:只表达0和正整数的定点整数有符号数:表达负整数、0和正整数的定点整数
符号位需要占用一个位,常用机器的最高位
0表示正数,1表示负数
具有原码、反码、补码、移码
无符号数与定点数的表示没有符号位,使用全部字长来表示数值大小举例:
字长N=8时,编码00000000~11111111取值范围: 0~255(28-1)
定点表示:约定机器中所有数据的小数点位置是固定不变的。通常将数据表示成纯小数或者纯整数。定点数x=x0x1x2……xn表示如下(x0表示符号位,0正1负)举例:
定点小数的取值范围纯小数的表示范围为 ...
计算机组成原理 第四章
第四章 指令系统指令系统的发展和性能要求指令的概念计算机的程序是由一系列有序且有一定意义的指令组成的指令:命令计算机执行某种基本操作的二进制代码串
每条指令可以完成一个独立的算术运算或逻辑运算操作,或者数据传送等基本操作
直接由硬件支持、软件可控制的最小的动作单位程序员按照指令格式编写软件而不必考虑机器如何实现指令的功能(即,软硬件的设计是透明的)
指令系统(Instruction Set):一台计算机能直接理解与执行的全部指令的集合
决定计算机的基本功能,软件与硬件的界面计算机系统设计的一个核心问题指令系统是软件和硬件之间的接口
指令:
微指令:微程序级的命令,属于硬件,软件不可见宏指令:由若干条机器指令组成的软件指令,属于软件,硬件不可见机器指令:介于微指令与宏指令之间,简称指令,每条指令可完成一个独立的算术运算或逻辑运算(软硬件可见)
指令系统的发展过程
50年代,指令系统只有定点加减、逻辑运算、数据传送、转移等十几至几十条指令
60年代后期,增加了乘除、浮点、十进制、字符串处理等指令,指令数目多达一二百条,寻址方式也趋多样化,开始出现系列计算机
70年 ...