嵌入式系统与单片机|技术阅读
登录|注册

您现在的位置是:嵌入式系统与单片机 > 技术阅读

技术阅读

  • 2022科技公司薪酬排行榜,来了!

    2024-07-27

    领取嵌入式学习路线,请加良许微信:coderliangxu-6来自:九章算法截止至2022年7月,levels.fyi最新全球软件工程师薪酬报告新鲜出炉了,这份报告搜集遍布全球1500多个城市,超过100000名员工的薪资、福利、等级等方面的数据。大众所期待的FLAG四大科技巨头中也只有Linkedln,在Senior Engineer(III)中险险保住了第三名的宝座。下面我们就来看看有哪些意想不到的公司冲进榜单!Entry-Level Engineer (I)初级工程师(Entry-Level Engineer)的薪酬榜单前三名分别是Instacart、Two Sigma和Box。cr:levels.fyiInstacart和Two Sigma难分伯仲,以$250k美...

  • Bash 中的 ${} 和 $() 有什么区别

    2024-07-27

    领取嵌入式学习路线,请加良许微信:coderliangxu-6来自:Linux迷链接:https://www.linuxmi.com/bash-difference-between.html像 Linux 这样的基于 GNU 的操作系统依赖于一个名为 Bash 的命令语言解释器或 Shell 来完成它们的大部分计算任务和目标。BBash 是 Bourne Again Shell 的缩写,Bunne Again Shell 是一个双关的名称,是对 Bourne Shell (即 Steven Bourne 发明)的致敬。在兼容性方面,Bash 和 sh 是绝配。C shell ( csh ) 和Korn shell ( ksh ) 中明显的有用特性也包含在这个 shell 语言解释器中。在实现方面,Bash 旨在符合 IEEE POSIX ...

  • Blackbox:极简主义 Linux 用户的美观终端

    2024-07-27

      有 许多可用于 Linux 的终端仿真器???? itsfoss.com。从 Terminator 到 Tilix,你有多种终端可供选择。但这并没有阻止新终端应用的到来。你最近已经见过了 GNOME Console???? itsfoss.com 吧,今天,我将向你介绍 Blackbox。Blackbox 终端:概述和功能Blackbox 是一个支持 GTK4 的终端仿真器。开发者为了他可以在 Linux 上使用外观优美的终端应用而创建了这个项目。所以,不要指望它有很多功能。它只是一个使用 GTK4 工具包并支持主题的终端仿真器。换句话说,它更多注重的是关于外观而不是功能。以下是 Blackbox 的主要亮点:◈ 可设置主题...

  • Linux命令lsscsi详解

    2024-07-27

      想要弄明白lsscsi命令,首先我们必须搞清楚什么是SCSI,以及常见的硬盘接口,常用的硬盘参数。一、什么是scsi? SCSI(Small Computer System Interface)是一套完整的数据传输协议,其主要功能是在主机和存储设备之间传送命令、状态和块数据。在各类存储技术中,SCSI技术可谓是最重要的脊梁。SCSI协议位于操作系统和外部资源之间,它具有一系列的功能组件,操作系统对外部设备(如磁盘、磁带、光盘、打印机等)的I/O操作均可以通过SCSI协议来实现,一般情况下,SCSI协议都嵌入到设备驱动器或者主机适配器的板载逻辑中。二、常见硬盘接口 1. IDE接...

  • 如何在 Linux 下使用 TC 优雅的实现网络限流

    2024-07-27

      转载:「 陈少文的博客 」原文:https://url.hi-linux.com/UBhb01. Linux 下的流量控制原理通过对包的排队,我们可以控制数据包的发送方式。这种控制,称之为数据整形,shape the data,包括对数据的以下操作:增加延时丢包重新排列重复、损坏速率控制在 qdisc-class-filter 结构下,对流量进行控制需要进行三个步骤:创建 qdisc 队列上面提到 Linux 是通过包的排队进行流量的控制,那么首先得有一个队列。创建 class 分类class 实际上,就是划分流量策略分类。比如划分两档流量限速 10MBps、20MBbs。创建 filter 过滤虽然创建了 class 分类,但是...

  • Kubernetes 网络排错骨灰级中文指南

    2024-07-27

      链接:https://www.cnblogs.com/Cylon/p/16611503.html本文将引入一个思路:“在 Kubernetes 集群发生网络异常时如何排查”。文章将引入 Kubernetes 集群中网络排查的思路,包含网络异常模型,常用工具,并且提出一些案例以供学习。Pod 常见网络异常分类网络排查工具Pod 网络异常排查思路及流程模型CNI 网络异常排查步骤案例学习Pod 网络异常网络异常大概分为如下几类:网络不可达,主要现象为 ping 不通,其可能原因为:源端和目的端防火墙(iptables, selinux)限制网络路由配置不正确源端和目的端的系统负载过高,网络连接数满,网卡队列满...

  • 这 7 个Github仓库,够学一辈子!

    2024-07-27

      一个人的头脑很可怕,一堆人的头脑更骇人。这些仓库经过了岁月的沉淀,里面的内容可以说是汗牛充栋。唯一不好的一点是,它们是英文的。Awesomehttps://github.com/sindresorhus/awesome首先我要推荐的当然是awesome系列。如果我对某项技术想要深入的研究,现在习惯性的会在google搜索awesome系列。比如awesome-promethues,它永远不会让我失望。awesome仓库是所有awesome的集合,涵盖了包括学习、工作、研究领域的各类awesome项目介绍、工程实践、原理探讨、框架扩展等。如果你的领导交给你一项新的技术的研究,来这里看看准没错。FreeCodeCamph...

  • 如何在 Linux 下限制端口仅对指定 IP 开放访问

    2024-07-27

      链接:https://www.chenshaowen.com/blog/set-port-to-be-accessible-only-to-a-specified-ip.html主机服务端口$ iptables -I INPUT -p tcp --dport 80 -j DROP$ iptables -I INPUT -p tcp -s 1.2.3.4 --dport 80 -j ACCEPT这里仅允许 1.2.3.4 访问本地主机的 80 端口。Docker 服务端口对于类似 docker run -d -p 80:80 shaowenchen/demo-whoami 运行的服务,上面的方法无效,需要在 DOCKER-USER 链中添加规则。Docker 会将 iptables 规则添加到 DOCKER 链中,如果需要在 Docker 之前添加规则需要添加到 DOCKER-USER 链中$...

  • “作弊”:只需要知道这一个 Linux 命令就够了

    2024-07-27

      互联网上有很多关于 Linux 和开源的信息,但是当你想要深入工作,通常需要一份便捷的文档。早在 Linux 出现之前的 Unix 系统中,就有 man(“manual” 的缩写)和 info 命令了,二者都会显示命令、配置文件、系统调用等的官方项目文档。关于 man 和 info 页面是对知晓如何使用工具的用户的有用提醒,还是为初次使用的用户提供介绍存在争议。不管怎样,man 和 info 页面介绍了工具以及如何使用该工具,很少涉及特定任务以及如何完成它们。正是出于这个原因,开发了 cheat 命令。例如,设想你想不起来如何 解压 tar 压缩包文件???? opensource.co...

  • 这 20 个好习惯,助你写出好代码!

    2024-07-27

      无论做什么行业,良好的习惯会让我们受益终生。放在我们程序员写代码的过程中,想要写出好的代码,也要不断养成一些必要的好习惯,这样才能不断跟进技术,从而提升自我。那么作为一个程序员,应该具备哪些好的习惯呢?1. 写注释也许很多程序员觉得简单的代码不需要去写注释。但对于涉及到一些复杂的程序,就需要在每个类、方法、函数、参数以及其他数据明确添加注释。这样当程序出错时,也可以更快地去找到问题,进行解决。对于项目后期迭代,也不会因为时间间隔太长而去重新看一遍代码,直接看注释一目了然,可以大大缩短时间。2. 重视小细节无...

  • 7 张图带你理解 Kubernetes 集群内服务通信机制

    2024-07-27

      转载自:「容器魔方」原文:https://url.hi-linux.com/AxBkY深入了解支持服务间通信的 3 个原生 K8s 对象:ClusterIP Service、DNS 和 Kube-Proxy。概述传统的服务到服务通信在进入 Kubernetes 生态系统之前,快速了解一下传统的服务到服务通信:通信是通过 IP 地址进行的,因此为了让服务 A 调用服务 B,一种方法是为服务 B 分配一个静态 IP 地址。现在,服务 A 已经知道该 IP 地址(这在处理极少数服务时可能会起作用)或服务 B 使用域名注册自己,并且服务 A 通过 DNS 查找获取服务 B 的联系地址。传统的服务到服务通信Kubernetes 网络模型现...

  • 如何使用 Wireshark 分析 TCP 吞吐瓶颈

    2024-07-27

     作者:laixintao出处:https://www.kawabangga.com/posts/4794Debug 网络质量的时候,我们一般会关注两个因素:延迟和吞吐量(带宽)。延迟比较好验证,Ping 一下或者 mtr[1] 一下就能看出来。这篇文章分享一个 debug 吞吐量的办法。看重吞吐量的场景一般是所谓的长肥管道(Long Fat Networks, LFN, rfc7323[2]). 比如下载大文件。吞吐量没有达到网络的上限,主要可能受 3 个方面的影响:发送端出现了瓶颈接收端出现了瓶颈中间的网络层出现了瓶颈发送端出现瓶颈一般的情况是 buffer 不够大,因为发送的过程是,应用调用 syscall,将要发送的数据...

  • 看完准大一新生的规划,EMO了

    2024-07-27

     一、信息与计算科学这是一名刚高考完的准大一新生,在星球提问了一些关于未来大学期间规划的问题,以下是帖子内容:您好,我是一个数学系信息与计算科学准大一新生(未入学,最近在看翁恺 C 语言和 CPP,还有数学和英语)未来读研想去计算机系统结构做数字 IC 设计或者人工智能算法方向。我本科需要转到计科或者人工智能吗?还是留在本专业。本专业培养方案为数学(数学分析、高等代数、概率论、常微分方程、解析几何、复变函数 、近世代数、图论)加部分计算机基础课程(算法分析与设计、数值分析、数据库、计算机图形学)、还有编程语言 C 和 Jav...

  • 如何在 Linux 上设置私有 Git 服务器

    2024-07-27

     来自:Linux迷链接:https://www.linuxmi.com/linux-private-git-server.htmlGit 是全球开发人员使用的开源版本控制系统。下面介绍如何创建自己的 Git Linux 服务器来托管项目。Git 服务器托管项目的存储库,其中包含源代码和其他核心文件。虽然在大多数情况下,您可以依赖 GitHub 等全球知名的 Git 托管服务,但在某些情况下,最好托管您的个人 Git 服务器以增加隐私、可定制性和安全性。让我们学习如何在 Linux 上设置私有 Git 服务器。设置 Git 服务器的先决条件在您开始设置您的私有 Git 服务器之前,您必须有权访问备用机器或订阅云提供商。...

  • 月薪3k到月薪3w的运维,就差红帽认证!

    2024-07-27

    01 运维学红帽认证的三大理由!红帽认证有什么优势?为什么建议运维来学习红帽认证呢?我总结三个原因。 原因1:红帽大厂背书,行业认可度高RedHat是全球最大的开源技术厂家,是世界领先的开源解决方案供应商,其产品RedHat Linux也是全世界应用最广泛的Linux。作为检验Linux技能的黄金标准,RHCE认证项目已经进行了20年,也将持续成为该行业的领导者。而从事Linux运维考证几乎唯一的选择就是红帽,因为红帽是唯一提供了Linux由浅入深完整学习路线的认证培训,也是Linux全球范围内认可度最高的;其他职业如果想要转行从事Linux运维工作,也可以考...

  • 详解 K8S 高可用部署,超详细!

    2024-07-27

     转自:开源Linux一、前言二、基础环境部署1)前期准备(所有节点)2)安装容器 docker(所有节点)3)配置 k8s yum 源(所有节点)4)将 sandbox_image 镜像源设置为阿里云 google_containers 镜像源(所有节点)5)配置 containerd cgroup 驱动程序 systemd(所有节点)6)开始安装 kubeadm,kubelet 和 kubectl(master 节点)7)使用 kubeadm 初始化集群(master 节点)8)安装 Pod 网络插件(CNI:Container Network Interface)(master)9)node 节点加入 k8s 集群10)配置 IPVS11)集群高可用配置12)部署 Nginx+Keepalived 高可用负载均衡器...

  • 微信可以上锁了!

    2024-07-27

     现在不管是生活还是工作肯定都离不开微信吧,尤其是工作上,相信大家痛的领悟肯定比我都深。你看,我现在上班开电脑后的第一件事情就是先把微信给登上,估计你们也差不多。那如果在上班时偶尔要离开办公桌的时候你们会怎么做?很多人为了防止别人乱动你的电脑,尤其是窥探你的微信聊天记录,一般会锁定电脑。毕竟「WIN+L」 锁定电脑这个快捷键不知道的人应该不多吧?不过问题也来了,都是办公电脑,万一领导或同事要用你的电脑,你这一看别人用电脑,直接就退出微信好像也不太合适。所以,如果能够直接锁定微信,但是不影响电脑的使用,这样就会好...

  • Linux 怎么防止 ssh 被暴力破解

    2024-07-27

     转自:入门小站SSH 是一种广泛使用的协议,用于安全地访问 Linux 服务器。大多数用户使用默认设置的 SSH 连接来连接到远程服务器。但是,不安全的默认配置也会带来各种安全风险。具有开放 SSH 访问权限的服务器的 root 帐户可能存在风险。尤其是如果你使用的是公共 IP 地址,则破解 root 密码要容易得多。因此,有必要了解 SSH 安全性。这是在 Linux 上保护 SSH 服务器连接的方法。1. 禁用 root 用户登录为此,首先,禁用 root 用户的 SSH 访问并创建一个具有 root 权限的新用户。关闭 root 用户的服务器访问是一种防御策略,可以防止攻击者实现入...

  • Linux 中的绝对路径和相对路径,有什么区别?

    2024-07-27

     转自:开源Linux路径是Linux中最基本的概念之一,这是每个Linux用户都必须知道的。路径是指文件和目录的引用方式。它给出了文件或目录在 Linux 目录结构中的位置,由名称和斜杠组成。/home/abhishek/scripts作为一个系统用户,当您想要访问某个文件或目录,或者必须为命令或脚本指定文件或目录的位置时,就会使用路径。cat /home/abhishek/scripts/my_script.sh请记住,如果路径以斜杠“/”开头,则第一个斜杠表示根,路径中的其余斜线只是分隔符。初学者经常混淆根斜杠和分隔符斜杠。在上图中,第一个路径是以根路径(/)开始的,第二个路径不是...

  • 6 张图详解 Docker 容器网络配置

    2024-07-27

     转自:马哥Linux运维链接:http://985.so/b8vc6docker 容器网络Docker 在安装后自动提供 3 种网络,可以使用 docker network ls 命令查看[root@localhost ~]# docker network lsNETWORK ID          NAME                DRIVER              SCOPEcd97bb997b84        bridge              bridge              local0a04824fc9b6        host                host                local4dcb8fbdb599       ...

  • 深入理解Linux进程管理

    2024-07-27

    目录一、进程基本概念      1.1 进程与程序      1.2 进程与线程      1.3 进程与内核      1.4 进程与内存      1.5 进程运行状态      1.6 进程亲缘关系二、进程的实现       2.1 基本原理       2.2 进程结构体       2.3 进程标识符       2.4 进程的状态三、进程的生命周期       3.1 进程的创建       3.2 进程的装载       3.3 进程的加载       3.4 进程的初始化       3.5 进程的运行       3.6 进程的死亡四、回顾总结一、进程基本概念进程是计算机里面最重要的概念之一。操...

  • 网络安全基础问答 24 例,白帽黑客必备

    2024-07-27

    转自:马哥Linux运维 *内容源于:红客联盟官网,侵删1)什么是白帽黑客?白帽黑客是指当某个人被允许在企业产品所有者允许的情况下攻击系统,以便在系统中发现弱点,然后修复bug。2)IP地址和Mac地址有什么区别?IP地址:分配每个设备的IP地址,使设备位于网络上。MAC(机器访问控制)地址:MAC地址是分配给每个设备上每个网络接口的唯一序列号。3)列出白帽黑客经常使用的一些工具?KaliMeta SploitWire SharkNMAPJohn The RipperMaltego4)黑客的类型?黑客的类型是:灰帽子黑客或Cyberwarrior黑帽子黑客白帽子黑客认证的白帽黑客红帽子黑客骇客5...

  • 如何在 npm 上发布一个包

    2024-07-27

    链接:https://www.linuxmi.com/npm-publish-package.htmlNode 包管理器,俗称 npm,是一个用于发布 NodeJS 包和库的在线存储库。它也是一个命令行工具,可让您与已注册的包进行交互。它可以帮助进行包安装、版本管理和依赖管理。开发人员每天都会在 npm 上发布他们的 JavaScript 库。这个过程相当简单,所以你也可以在 npm 上发布一个包。第 1 步:安装 NodeJS要与 npm 交互,您必须在系统上全局安装它。首先在 Ubuntu 、Windows或按照NodeJS网站上的说明安装 NodeJS 和 npm 。第 2 步:创建一个 npm 帐户要在 npm 上发布你的包,你必须在 npm 官...

  • macOS 和 Linux 有什么区别?

    2024-07-27

     导读:我们经常对比 Linux 和 Windows,那 macOS 和 Linux 有什么区别呢?     本文字数:5585,阅读时长大约:9分钟我们经常对比 ???? itsfoss.com,那 macOS 和 Linux 有什么区别呢?Linux 和 Windows 的差异很明显,但 Linux 和 macOS 在很多人看起来却很相似。二者都可以在命令行中运行 Unix 命令,并且与用户在 Windows 中的体验大相径庭。同时,并不是所有 Windows 上的应用和游戏可以在 macOS 和Linux 上运行。这就是为什么一些人认为苹果公司的 macOS 是基于 Linux 的系统。但事实并非如此。 尽管有相似之处,但 macOS 并不是 Linux...

  • 还没吃透面试必问的红黑树?图文并茂的让你彻底理解红黑树

    2024-07-26

    点击左上方蓝色“一口Linux”,选择“设为星标”第一时间看干货文章 ☞【专辑】☞【干货】☞【干货】 11. 红黑树的概念红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或Black。 通过对任何一条从根到叶子的路径上各个结点着色方式的限制,红黑树确保没有一条路径会比其他路径长出俩倍,因而是接近平衡的。2. 红黑树的性质2.1. 每个结点不是红色就是黑色2.2. 根节点是黑色的2.3. 如果一个节点是红色的,则它的两个孩子结点是黑色的(不会出现连在一起的红色节点)2.4. 对于每个结点,从该结点到其所有后代叶结...

  • 如何实现按键的短按、长按检测?

    2024-07-26

    在电子产品中经常用到按键,尤其是经常需要MCU判断短按和长按这两种动作,本篇我们来专门聊下这个话题。只谈理论太无聊,我们还是结合着实际应用来说明。之前写过一篇关于的文章,例子默认的功能是蓝牙连接后不断的发送数据,从而不断的拍照。而实际中的遥控器通常是按一次按键,控制一次,我们在来实现该功能。板子上只有两个按键,一个是RESET按键,一个是DOWNLOAD按键,我们使用DOWNLAOD按键,按键的一端接GND,另外一端接CH573的PB22引脚。原理图中有一个NC的C5,但是实际板子上我却没有找到它,可能是版本不一致。提前说明一下:CH573的代码里...

  • 28 张图,一次性说清楚 TCP

    2024-07-26

    点击左上方蓝色“一口Linux”,选择“设为星标”第一时间看干货文章 ☞【专辑】☞【干货】☞【干货】 1做IT相关的工作,肯定都离不开网络,网络中最重要的协议是TCP。无论是实际工作还是笔试面试,你看哪里能少得了TCP?我看过RFC中与TCP相关的文档,也看过linux中TCP相关的源码,也看过不少框架中的TCP相关的代码,对TCP是有点感觉了。一直想找个时间来分享下TCP相关的知识,如果大家有疑问,欢迎相互交流。其实,搞透了TCP之后,发现它也就那么回事。考虑最简单的情况:两台主机之间的通信。这个时候只需要一条网线把两者连起来,规定好彼此的硬...

  • USB的前世今生

    2024-07-26

    点击左上方蓝色“一口Linux”,选择“设为星标”第一时间看干货文章  1☞【专辑】☞【专辑】☞【干货】☞【干货】    在人类的历史长河中,很少有一种技术或者传输标准能像USB那样跟我们的生活息息相关,甚至到了没有不行的地步。    USB对于今天的人们来说,就好像是空气,是水,是我们每天必需但是又熟视无睹的东西,没有多少人知道它从哪来,也没多少人关心它要往哪去,对于大多数人来说,它平凡得不能再平凡了。    但是,在我们“电子攻城狮”的眼里,它太有趣了,它是目前使用率最高的接口,它是我们身边林林总总电子设备之间的...

  • 分享几个实用的代码片段(附代码例子)

    2024-07-26

    本次来分享几个实用的代码小片段。获取CPU温度 应用可以定时获取CPU的温度,比如程序异常崩溃时,我们可能需要分析多方面原因,CPU温度就是其中之一。代码:左右滑动查看全部代码>>>#include <stdio.h>   #include <unistd.h>#include <stdlib.h>#include <string.h>#include <errno.h>#define CPU_TEMP_FILE0 "/sys/devices/virtual/thermal/thermal_zone0/temp"struct cpu_temperature{ int integer_part; int decimal_part;};typedef struct cpu_temperature cpu_temperature_t;cpu_temperature_t get_cpu_temperature(const...

  • 详解linux多线程——互斥锁、条件变量、读写锁、自旋锁、信号量

    2024-07-26

    点击左上方蓝色“一口Linux”,选择“设为星标”第一时间看干货文章  1一、互斥锁(同步)  在多任务操作系统中,同时运行的多个任务可能都需要使用同一种资源。这个过程有点类似于,公司部门里,我在使用着打印机打印东西的同时(还没有打印完),别人刚好也在此刻使用打印机打印东西,如果不做任何处理的话,打印出来的东西肯定是错乱的。  在线程里也有这么一把锁——互斥锁(mutex),互斥锁是一种简单的加锁的方法来控制对共享资源的访问,互斥锁只有两种状态,即上锁( lock )和解锁( unlock )。【互斥锁的特点】:1. 原子性:把一个互斥...