- 博客(106)
- 收藏
- 关注
原创 600条最强Linux命令总结
今天,带来一篇 Linux 命令总结的非常全的文章,也是我们平时工作中使用率非常高的操作命令,命令有点多,建议小伙伴们可以先收藏后阅读。2. 关机3. 文件和目录4. 文件搜索5. 挂载一个文件系统6. 磁盘空间7. 用户和群组8. 文件的权限 使用 “+” 设置权限,使用 “-” 用于取消9. 文件的特殊属性 ,使用 “+” 设置权限,使用 “-” 用于取消10. 打包和压缩文件11. RPM 包12
2023-09-05 12:18:51
149
原创 什么程度才算精通 Linux?
Linux 的优秀之处自然不必多说。如果将操作系统比作一辆汽车,那 Linux 就是一辆性能出色的多功能越野车,上山下海飞天无所不能。如果你拥有了它,一定不会只满足于驾驶它上下班,不能只会挂挡、踩油门和控制方向之类的基本操作。我们想充分了解并掌握它,挖掘其更多潜能。但是,这个过程有相当的难度。
2023-09-05 12:15:29
6835
原创 从C++98到C++26,经历了什么?
作为一名程序员,2023年最应该关注的话题就是C++的标准更新。C++标准遵循3年开发周期,并以发布年份命名。C++在临发布的一年前会进入“功能冻结期(feature freeze)”,即版本开发进入半稳定状态,不再添加重大功能及特性,着重于修复各种BUG。因此,直到2025年初,C++26都会增加新内容。上个月,C++26时间表发布,将会在“并发和并行性方面有重大改进”。而已经推出的C++ 23版本则沿袭了C++17的传统特征,完善了现有特性。
2023-09-05 12:08:32
313
原创 开发神器VSCode配置C/C++环境
以上就是对VSCode的介绍,并且配置了C/C++编译环境,后面实例代码都是在此编辑器的基础上进行编写,如果对VSCode感兴趣的小伙伴可以试着安装尝试一下进行开发。如果有对其他语言环境需求的小伙伴可以安装对应的扩展插件。后续我会对markdown编写以及远程链接Linux系统进行编译调试的方法进行介绍,有喜欢的小伙伴可以关注一下。---END---
2023-09-05 12:02:47
193
原创 超全总结 | 流行的 C++ 开源框架
CxImage:用于加载,保存,显示和转换的图像处理和转换库,可以处理的图片格式包括 BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K。C++ Shell:一个非常简单方便,不需要注册的C++在线编译器,可以显示编译信息,允许使用不同的C++标准,不同的优化选项,并支持stdio.官网。Thrift:高效的跨语言IPC/RPC,用于C++,Java,Python,PHP,C#和其它多种语言中,最初由Twitter开发。
2023-09-05 12:00:24
1939
原创 如何成为游戏主程
2、善于将自我的工作流程变为习惯,比如写代码前不断构筑设计流程,在开始编码,编码完成后,在做检查,检查完提交版本控制时在对比,最后提交。4、对于底层技术能劲量多的掌握,开发中总是会遇到一些崩溃, 网络,图形方面难解决的问题,如果基础不好,压根没有思路。8、耐心,很多做技术的同事缺乏耐心,总是急于表现自己,反而忘了我们的初心,解决问题才是唯一的目的。9、学习别人的优点,找一个比自己优秀的人去挖掘,找出别人比你优秀的原因,迎头跟进。3、有敬畏心,明白自己是在做商业项目,项目是有很多限定的边界条件,懂得取舍。
2023-08-14 11:56:23
658
原创 QT与VS环境 代码文件编码格式使用utf-8与带bom的utf-8的差异
使用QT进行开发的时候,有时候通常会遇到使用中文的时候,就算格式为utf-8,也会出现编译错误的问题,一般无从下手,这几天看到同事有专门研究这个问题,于是也决心花一点时间这地搞懂utf-8的编码。带bom 的utf-8 与不带bom的utf-8的区别在于有没有bom。也就是标准的utf-8是不带bom的,在utf-8编码的文件中放置bom头,主要是微软的习惯。在有中文的时候,utf-8编译会报错,utf-8 bom编译正常。在没有中文的时候,utf-8与utf-8bom都可以编译通过。
2023-08-03 16:41:47
820
原创 跟xshell说再见,推荐免费的终端连接器WindTerm
linux的远程连接工具有很多,比如crt、xshell等,今天推荐一款免费开源好用的远程连接工具- WindTerm。WindTerm 是一款开源免费、跨平台SSH/Sftp/Shell/Telnet/Serial 客户端,即远程连接工具。◆。
2023-08-02 00:03:19
940
原创 好用的Linux远程工具
它可以让你通过 SSH、Telnet、RDP、VNC 等协议连接到运行 Windows、Unix 和 VMS 的远程系统,并提供了一个内置的 X 服务器,让你可以在本地显示远程的图形界面。它还有一个自动的 SFTP 浏览器,让你可以方便地传输文件,以及一个支持 VBScript、JScript 和 PerlScript 的脚本工具,让你可以编写和执行自动化任务。:不同的工具提供不同的功能,如文件传输、会话管理、多标签、多屏幕、剪贴板共享、端口转发等。你也可以自定义你的终端显示,如字体、颜色、大小等。
2023-08-01 23:57:39
922
原创 后端技术趋势指南|如何选择自己的技术方向
最初,数据与程序一样,以简单的文件作为主要存储形式。,而我们需要加深对基础知识的理解,以不变应万变,深耕一个领域,同时也需要多去尝试新技术,扩宽自己的眼界,增加解决问题的思路,当你有一技之长后,即便国内35危机,你还可以去外企(Google,Facebook,亚马逊,微软等)养老。但后来,人们发现有更多的诉求,希望开发软件变得更简单、更快捷,程序员希望更少编写代码,非专业人员也希望能开发程序,于是,更多的更傻瓜的编程语言被发明出来,更多的编程技术和编程思想被发明出来,比如库、组件、云基础设施。
2023-07-31 20:01:00
806
原创 Linux 终端操作高效率快捷键!
今天给大家分享一下 Linux 下终端中命令操作常用的快捷键。作为一名 Linux 下的开发人员,和 Linux 系统打交道是每天必做的事情,通过 Linux 终端下命令行与 Linux 进行交互。熟练掌握 Linux 终端下命令行的操作可以让我们的工作达到事半功倍的效果,熟悉常用的终端命令快捷键可以很大程度上提高我们的工作效率。下面是平时常用的终端快捷键,希望小伙伴们熟练掌握,并灵活运用。
2023-07-31 17:01:18
677
原创 图解TCP 三次握手和四次挥手的高频面试题(2023最新版)
TCP 是面向连接的、可靠的、基于字节流的传输层通信协议。img面向连接:一定是「一对一」才能连接,不能像 UDP 协议可以一个主机同时向多个主机发送消息,也就是一对多是无法做到的;可靠的:无论的网络链路中出现了怎样的链路变化,TCP 都可以保证一个报文一定能够到达接收端;字节流:用户消息通过 TCP 协议传输时,消息可能会被操作系统「分组」成多个的 TCP 报文,如果接收方的程序如果不知道「消息的边界」,是无法读出一个有效的用户消息的。
2023-07-31 16:59:04
864
原创 最全面的TCP、UDP、Socket、HTTP网络编程面试题
当源主机要发送数据包到目的主机时,会先检查自己的ARP高速缓存中有没有目的主机的MAC地址,如果有,就直接将数据包发到这个MAC地址,如果没有,就向所在的局域网发起一个ARP请求的广播包(在发送自己的 ARP 请求时,同时会带上自己的 IP 地址到硬件地址的映射),收到请求的主机检查自己的IP地址和目的主机的IP地址是否一致,如果一致,则先保存源主机的映射到自己的ARP缓存,然后给源主机发送一个ARP响应数据包。网络上的两个程序通过一个双向的通讯连接实现数据的交换,这个双向链路的一端称为一个Socket。
2023-07-31 16:53:28
224
原创 20道嵌入式经典面试题(附答案)
但是多进程程序更健壮,多线程程序只要有一个线程死掉,整个进程也跟着死掉了,而一个进程死掉并不会对另外一个进程造成影响,因为进程有自己独立的地址空间。它往往与其他通信机制,如信号两,配合使用,来实现进程间的同步和通信。而线程是共享进程中的数据,使用相同的地址空间,因此,CPU切换一个线程的花费远比进程小很多,同时创建一个线程的开销也比进程小很多。因为在 嵌入(inline)操作符 变为标准C的一部分之前,宏是方便产生嵌入代码的唯一方法,对于嵌入式系统来说,为了能达到要求的性能,嵌入代码经常是必须的方法。
2023-07-31 16:48:55
1441
原创 面试官问我:一个 TCP 连接可以发多少个 HTTP 请求?我竟然回答不上来...
那浏览器就会在一个 HOST 上建立多个 TCP 连接,连接数量的最大限制取决于浏览器设置,这些连接会在空闲的时候被浏览器用来发送新的请求,如果所有的连接都正在发送请求呢?持久连接:既然维持 TCP 连接好处这么多,HTTP/1.1 就把 Connection 头写进标准,并且默认开启持久连接,除非请求中写明 Connection: close,那么浏览器和服务器之间是会维持一段时间的 TCP 连接,不会一个请求结束就断掉。一个支持持久连接的客户端可以在一个连接中发送多个请求(不需要等待任意请求的响应)。
2023-07-31 16:44:33
157
原创 一文带你全面掌握Git技能知识!
commit 对象内容里面包含了一个 tree 对象和相关提交信息,而 tree 对象里面则包含了这次我们提交版本里面的文件状态(文件名称和 blob 对象),这样我们就知道了这次提交的变动了。这就可以证明,blob 类型的 object 只存储的是文件的内容,如果两个文件的内容一致的话,则只需要存储一个 object 即可。当我们切换到指定的 commit 的时候,如果需要在对应的 commit 上继续修改代码提交的话,可以使用上述图片中提及的 swtich 命令创建新分支,再进行提交。
2023-07-31 16:23:58
182
转载 分享一些精选的开源框架与代码!
了,从接触到现在对于该RTOS的代码研读应该有3遍的样子,虽然工作以后也会用到其他的RTOS,感觉都大同小异,因为他们封装的服务接口都很类似,一通百通,所以后面接触的。了一些自己所了解和学习过的优秀的嵌入式开源框架代码和项目,不太了解的就不推荐给大家了,因为开源的东西实在是太多了,鱼龙混杂,所以取其精华去其糟粕是迫在眉睫的大事~一个小巧简单易用的事件驱动型按键驱动模块,可无限量扩展按键,按键事件的回调异步处理方式可以简化你的程序结构,去除冗余的按键处理硬编码,让你的按键业务逻辑更清晰。
2023-07-31 16:05:01
925
原创 Git下:Git命令使用-详细解读
当对工作区修改(或新增)的文件执行 git add 命令时,暂存区的目录树被更新,同时工作区修改(或新增)的文件内容被写入到对象库中的一个新的对象中,而该对象的ID被记录在暂存区的文件索引中。当执行 git checkout HEAD . 或者 git checkout HEAD命令时,会用 HEAD 指向的 master 分支中的全部或者部分文件替换暂存区和以及工作区中的文件。当执行提交操作(git commit)时,暂存区的目录树写到版本库(对象库)中,master 分支会做相应的更新。
2023-07-31 15:56:04
1124
原创 Git上:全网最全最详细的Git安装教程
这是安装成功后开始菜单里面的图。有 Git Bash、Git CMD、Git FAQs、Git GUI、Git Release Note,下面我们就分别介绍一下这几个。
2023-07-31 15:46:58
815
原创 600 条最强 Linux 命令总结
find /home/user1 -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents 从一个目录查找并复制所有以 '.txt' 结尾的文件到另一个目录。mkisofs -J -allow-leading-dots -R -V "Label CD" -iso-level 4 -o ./cd.iso data_cd 创建一个目录的iso镜像文件。
2023-07-28 10:19:41
285
原创 盘点五种最常见加密算法!
这一期就给大家简单盘点了一下最常用的5种加密算法。其实,论到加密解密算法的应用,有一个东西,可以说是应用到了极致,它是什么呢?——HTTPShttps工作流程详图我们简单回忆一下HTTPS的工作流程,和用到的加密算法:客户端发起HTTPS请求:用户使用浏览器输入网址访问HTTPS站点,准备发起HTTPS请求服务端提供证书:服务器返回公钥证书,证书包含了服务器的公钥、颁发者(证书颁发机构)等信息客户端验证证书:浏览器验证证书的有效性、合法性、来源等,校验证书的过程用到了非对称加密和散列算法。
2023-06-15 18:45:52
3219
1
原创 如果你访问了某个网站,又不想让人知道怎么办?
最后,需要特别强调的是,网络不是法外之地,我国法律规定,严禁使用非法信道访问国际网络,另外世界上也没有绝对的安全,不要想着有什么软件工具就能干坏事,国家相关部门如果真要溯源你,也是轻而易举,所以大家千万不要想着靠软件工具就能逍遥法外。如下图所示,Alice使用tor来访问Bob的网站,tor在访问之前,先在它的网络中,随机选择三个节点,构建起一条网络通路,数据通过三个节点层层转发,最终到达Bob的网站服务器。有美军的背景,听上去挺厉害的,那这玩意儿的工作原理是怎样的,它真的能让你浏览网站不被发现吗?
2023-05-05 18:36:12
1885
原创 C/C++内存泄露检查利器—valgrind
Valgrind是一套Linux下,开放源代码(GPL V2)的仿真调试工具的集合。Valgrind由内核(core)以及基于内核的其他调试工具组成。内核类似于一个框架(framework),它模拟了一个CPU环境,并提供服务给其他工具;而其他工具则类似于插件 (plug-in),利用内核提供的服务完成各种特定的内存调试任务。Memcheck。
2023-05-05 17:45:31
3483
1
原创 手把手教你搭建属于自己的服务器
最近总是想搭建自己的网站,奈何皮夹里空空如也,服务器也租不起,更别说域名了。于是我就寻思能否自己搭建个服务器,还不要钱呢?
2023-04-26 18:35:17
3527
1
原创 如何去阅读Java源码,我总结了18条心法
当我们在读完一个类的代码的时候,一定要总结这个类的职责,明白这个类存在的意义。一般情况下一个类核心职责只有一个,遵循单一职责的设计原则。举个例子,在RocketMQ中有一个类MQClientAPIImpl。
2023-04-23 12:11:34
5078
1
原创 面试官:说说对称加密、非对称加密、混合加密?
X截获了这个消息,用自己私钥private_X解密出对称密钥secretKey,自己再生成一个secretKeyXXX用public_A加密一下发送给A。上面混合加密的例子已经涉及到数字签名,混合加密解决了对称密钥分配问题,后续讲解数字签名的中间人攻击也会提到这个例子,到时候可以返回来再看,中间人攻击其实就是数字签名存在的不足。B:好的,收到public_A,你收好对称密钥secretKey。B:好的,公钥public_X已收到,生成一个对称密钥secretKey,然后用public_X加密这个对称密钥。
2023-04-23 12:06:37
598
原创 我总结的一些 C++ 高频面试题(收藏)
所谓的完美转发,是指std::forward会将输入的参数原封不动地传递到下一个函数中,这个“原封不动”指的是,如果输入的参数是左值,那么传递给下一个函数的参数的也是左值;程序申请的内存的前后,各增加一个redzone区域(n * 8bytes),用户申请的内存对应的shadow内存会被标记成可读写的,而redzone区域内存对应的shadow内存则会被标记成不可读写的。其他的都可变,如 p 中存放的是指向的内存单元的地址,这个地址可变,即 p 的指向可变。但指向谁,谁的内容就不可变。
2023-04-23 12:05:02
738
原创 别只顾着写代码,这130个网站比涨工资都重要!
今天推荐一些学习资源给大家,当然大家可以留言评论自己发现的优秀资源地址搞学习找书籍冷知识 / 黑科技写代码资源搜索小工具导航页(工具集)看视频学设计搞文档找图片。
2023-04-23 12:02:33
796
原创 手把手教你将项目部署到服务器!
进入 cd /etc/sysconfig/network-scripts 目录编辑对应的 vim ifcfg-ensXX,将HWADDR设置正确,重启 service network restart。下载地址https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html。其中:/usr/jdk1.8.0_281为jdk安装路径,/usr/local/project/springboot.jar 为打包好的jar包文件。
2023-04-19 20:15:02
4721
原创 99%的人都不知道内网、外网、宽带、带宽、流量、网速之间的区别与联系
一般是你从网络上的主机下载的速度,比如你下载文件的速度,打开网页的速度,这种速度就是下行速率,下行速率通常就是我们平常所说的网速,比如你的带宽是电信8M,光纤20M等,这种速度其实就是指的网络的下行速率。服务器的上行带宽主要用于本地用户请求服务器上的资源(每秒钟服务器传给客户端的最大数据量,服务器流出的带宽)(即本地的下载、服务器的上传),如果是在其他机器下载服务器上的文件,用的主要是服务器的上行带宽。我们申请的带宽是10Mb/s。通常买的服务器,比如阿里云,一般买的带宽指的是上行带宽,下行通常是不限的。
2023-03-22 01:38:10
1793
原创 100 个网络基础知识
您可以为计算机分配限制,例如允许访问的资源,或者可以浏览互联网的某一天的特定时间。这是因为互联网上的主机只能看到提供地址转换的计算机上的外部接口的公共 IP 地址,而不是内部网络上的私有 IP 地址。然而,随着越来越多的设备连接到它,它将无法有效地管理通过它的流量。相反,将 LAN连接到中转网络的网关创建了一个使用 IPSec 协议来保护通过它的所有通信的虚拟隧道。在这种设置中,一条电缆的数据传输引脚连接到另一条电缆的数据接收引脚,反之亦然。不知道正确的 IP 地址,甚至无法识别网络的物理位置。
2023-03-22 01:33:31
509
原创 网络基础知识和常用命令
如果网络A中的主机发现数据包的目标主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机。如果将子网掩码设置过大,也就是说子网范围扩大,那么,根据子网寻径规则,很可能发往和本地主机不在同一子网内的目标主机的数据,会因为错误的判断而认为目标主机是在同一子网内,那么,数据包将在本子网内循环,直到超时并抛弃,使数据不能正确到达目标主机,导致网络传输错误;也就是说,在网络底层的物理传输过程中,是通过物理地址来识别主机的,它一定是全球唯一的。
2023-03-22 01:26:05
2047
原创 36张图,一次性补全网络基础知识
第四次:客户向服务器发送确认段,确认字号段有效(ACK=1),表示客户传输的数据序号是x+1(seq=x+1),表示客户期望接收服务器数据序号为y+1+1(ack_seq=y+1+1);第二次:服务器发回确认报文段,同意建立新连接的确认段(SYN=1),确认序号字段有效(ACK=1),服务器告诉客户端报文段序号是y(seq=y),表示服务器已经收到客户端序号为x的报文段,准备接受客户端序列号为x+1的报文段(ack_seq=x+1);表示自己传输的第一个字节序号是y+1(seq=y+1);
2023-03-22 01:16:22
180
原创 TCP 三次握手和四次挥手的面试题
你想想,在两次握手的情况下,服务端在收到 SYN 报文后,就进入 ESTABLISHED 状态,意味着这时可以给对方发送数据,但是客户端此时还没有进入 ESTABLISHED 状态,假设这次是历史连接,客户端判断到此次连接为历史连接,那么就会回 RST 报文来断开连接,而服务端在第一次握手的时候就进入 ESTABLISHED 状态,所以它可以发送数据的,但是它并不知道这个是历史连接,它只有在收到 RST 报文后,才会断开连接。,它是任何报文在网络上存在的最长时间,超过这个时间报文将被丢弃。
2023-03-22 01:08:24
640
1
原创 Ubuntu 18.04 更换阿里源
我们在装好Ubuntu18.04之后,通常都要设置下root用户密码和配置下国内的阿里源。接下来,讲下Ubuntu18.04如何配置阿里源!
2022-10-02 02:27:21
6852
原创 Ubuntu20.04修改root用户密码
我们装完Ubuntu20.04之后,就需要设置下root用户的密码。先看看这张图,这是实际操作流程。具体操作如下:1.第一步:执行如下命令,设置密码sudo passwd2.第二步:输入当前用户的密码3.第三步:输入root用户的密码4.第四步:再次输入root用户的密码5.第五步:执行以下命令,切换到root用户su root6.第六步:输入root用户的密码密码验证通过后就切换到了root用户了!...
2022-04-20 19:11:59
17308
1
原创 SublimeText3安装中文插件
ctrl+shift+p,在输入框内输入“install package control”,选择并安装。 ctrl+shift+p,选择“Package Control:Install Package”并打开。 在输入框内输入“ChineseLocalization”选择并安装 找到设置中文的地方! 你学会了嘛?...
2021-09-19 03:56:47
915
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅