• Linux驱动|cdev_init、cdev_alloc区别

    这两个函数是字符设备初始化相关的内核函数。一、字符设备架构下面我们以两个设备:LED、MPU6050为例来讲解字符设备的架构由上图所示:1、硬件外设有MPU6050、LED两个设备,他们通过外设电路连接到SOC的对应的引脚上。程序要操作外设,就要通过设置soc中对应的SFR来与外...

    C语言编程
    2021-09-30
    ni ev
  • 今天,带你写个操作系统!

    “操作系统”作为所有软件的基础,是计算机王国的掌舵者。我们常用“灵魂、大脑、内核、基石”等词来形容它,足以见得它对计算机而言有多么重要。 事实也确实如此,作为每个程序员必须好好修炼的“基本功”,它能直接解决我们在工作中的很多疑难杂症,比如做高性能服务端编程时,经常会用到内存、进程...

  • 干货|分享一个EMC辐射抗扰度测试案例

    ▼点击下方名片,关注公众号▼RS(辐射抗扰度测试),又称辐射敏感度测试,是EMC测试中最基本测试项目之一,主要验证各种装置、设备、系统在存在一定外界辐射干扰的情况下抵抗辐射的一种能力。然而在实际测试中,经常由于这样或那样的因素,导致辐射抗扰度不过,这时该如何处理呢?下面就由本人根据亲身经历给大家分享几点经验:首先可通过如下文章简单再了解下RS测试:简单了解下(RS)射频辐射电磁场抗扰度测试遇到的问题:公司开发了一款功能转接板,该功能转接板在正常运行过程中,转接板接收到控制系统的发出的指令后,会有扬声器发声。其功能框图如下图所示: 功能测试框图功能介绍:该系统分为两部分,第一部分是最右侧的信号控...

  • 这里收集了100多篇C 原创文章(入门进阶必备)

    点击上方蓝字关注我个人认为公众号平台有个小瑕疵:不能设置个人主页,不能把自己写过的原创文章以目录的形式展示!新关注的读者基本看不到公众号以前发布的文章!为了方便大家阅读以前的文章,尤其是一些新来的读者,贴心如我,特意整理了一个目录。干货开始入门必备基础入门可以首先看清华郑莉老师视频(不能插外链,点击阅读原文)C学习路线C服务端学习路线如何入门CC基础知识汇总C面试宝典数组长度可以为变量吗?是否应该使用异常处理new/delete、new[]/delete[]为什么需要配对使用指针和引用的区别以及使用场景C对象布局分析C为什么要入这4种类型转换?为什么会出现nullptr?非常全面的时间相关所有...

    程序喵大人
    2021-09-29
  • 你真的理解内存分配吗?

    内存是计算机中必不可少的资源,因为CPU只能直接读取内存中的数据,所以当CPU需要读取外部设备(如硬盘)的数据时,必须先把数据加载到内存中。我们来看看可爱的内存长什么样子的吧,如图1所示:一、内存申请通常使用高级语言(如Go、Java或Python等)都不需要自己管理内存(因为有垃圾回收机制),但C/C程序员就经常要与内存打交道。当我们使用C/C编写程序时,如果需要使用内存,就必须先调用malloc函数来申请一块内存。但是,malloc真的是申请了内存吗?我们通过下面例子来观察malloc到底是不是真的申请了内存:1#include 23int main(int argc, char cons...

    CPP开发者
    2021-09-29
  • 详解EMC测试国标GB/T-17626

    电波暗室,用于模拟开阔场,同时用于辐射无线电骚扰(EMI)和辐射敏感度(EMS)测量的密闭屏蔽室。来源:http://gememc.com/upload/201712/20171201093022763.jpg0.前言最近公司的几块板子要做认证,EMC测试自然是少不了,既然要做试验,就要有一个标准,是消费电子、工业控制,还是汽车电子、军工电子,这些工作环境所要求的EMC测试标准是不同的,每个试验又分为了很多的等级。接触静电是要做到6kV还是8kV,空气放电是要做到8kV还是15kV?我的产品要做哪些EMC试验?要做到什么等级?一起来了解一下关于EMC测试的国家标准吧!上一篇文章介绍了《详解电子...

  • 10款免费的电路设计软件,你用过几个?

    点击上方“小麦大叔”,选择“置顶/星标公众号”福利干货,第一时间送达工程软件和在线资源往往比较昂贵,但是对于专业人员、学生和爱好者来说非常有益。用户开展项目或者仅进行工程验证时,这些资源往往是必要的,但是相关成本却令许多人望而却步。本文为工程师和工程研究爱好者们寻找了几款高质量的免费资源,现在将其概述如下。PART1.电路仿真01PartSim网址:www.partsim.comPartSim是一款基于浏览器的电路仿真器,用户可以通过该软件进行电路实验。该仿真器布局简单,从而确保易用性,同时提供完整的SPICE仿真引擎、基于Web的原理图捕获工具和图形示波器,可以监视电路的模拟/数字信号电平。...

  • 死磕网络编程!

    大家好,我是小林。不知道大家当初是怎么学网络编程的?我来说说我踩过的坑。我当初在学网络编程的时候,看见网上的人都说《Unix网络编程》是网络编程圣经,豆瓣评分也很高,那么好学的小林,那肯定毫无犹豫买了。书到货后,我瞬间就懵逼了,这本书的厚度堪比新华字典,这尼玛怎么学?跟着书本的节奏,学了一段的时间,是懂了些LinuxsocketAPI的用法,摸索来摸索去都是各个API的细节,始终不知道高并发网络框架是如何实现的。后面我又重新找了一波关于网络编程的书,找到了这两本:《TCP/IP网络编程》和《Linux高性能服务器编程》。《TCP/IP网络编程》这个是网络编程入门绝佳书,书里的内容不会有过多的术...

  • 实战!聊聊如何解决MySQL深分页问题

    前言我们日常做分页需求时,一般会用limit实现,但是当偏移量特别大的时候,查询效率就变得低下。本文将分四个方案,讨论如何优化MySQL百万数据的深分页问题,并附上最近优化生产慢SQL的实战案例。limit深分页为什么会变慢?先看下表结构哈:CREATE TABLE account (  id int(11) NOT NULL AUTO_INCREMENT COMMENT '主键Id',  name varchar(255) DEFAULT NULL COMMENT '账户名',  balance int(11) DEFAULT NULL COMMENT '余额',  create_time ...

    架构师社区
    2021-09-29
  • Redis 很屌,不懂使用规范就糟蹋了

    ❝这可能是最中肯的Redis使用规范了码哥,昨天我被公司Leader批评了。我在单身红娘婚恋类型互联网公司工作,在双十一推出下单就送女朋友的活动。谁曾想,凌晨12点之后,用户量暴增,出现了一个技术故障,用户无法下单,当时老大火冒三丈!经过查找发现Redis报Couldnotgetaresourcefromthepool。获取不到连接资源,并且集群中的单台Redis连接量很高。于是各种更改最大连接数、连接等待数,虽然报错信息频率有所缓解,但还是持续报错。后来经过线下测试,发现存放Redis中的字符数据很大,平均1s返回数据。❝码哥,可以分享下使用Redis的规范么?我想做一个唯快不破的真男人!R...

    架构师社区
    2021-09-29
  • 深入理解Netty-从偶现宕机看Netty流量控制

    作者:vivo互联网服务器团队-ZhangLin一、业务背景目前移动端的使用场景中会用到大量的消息推送,push消息可以帮助运营人员更高效地实现运营目标(比如给用户推送营销活动或者提醒APP新功能)。对于推送系统来说需要具备以下两个特性:消息秒级送到用户,无延时,支持每秒百万推送,单机百万长连接。支持通知、文本、自定义消息透传等展现形式。正是由于以上原因,对于系统的开发和维护带来了挑战。下图是推送系统的简单描述(API->推送模块->手机)。二、问题背景推送系统中长连接集群在稳定性测试、压力测试阶运行一段时间后随机会出现一个进程挂掉的情况,概率较小(频率为一个月左右发生一次),这会影响部分客户...

    架构师社区
    2021-09-29
    控制
  • 阿里面试败北:5种微服务注册中心如何选型?这几个维度告诉你!

    1、前言微服务的注册中心目前主流的有以下五种:ZookeeperEurekaConsulNacosKubernetes那么实际开发中到底如何选择呢?这是一个值得深入研究的事情,别着急,今天陈某就带大家深入了解一下这五种注册中心以及如何选型的问题。2、为什么需要注册中心?随着单体应用拆分,首当面临的第一份挑战就是服务实例的数量较多,并且服务自身对外暴露的访问地址也具有动态性。可能因为服务扩容、服务的失败和更新等因素,导致服务实例的运行时状态经常变化,如下图:商品详情需要调用营销、订单、库存三个服务,存在问题有:营销、订单、库存这三个服务的地址都可能动态的发生改变,单存只使用配置的形式需要频繁的变...

    架构师社区
    2021-09-29
    选型
  • 一份完整的聚合支付中心设计方案!

    来源:https://blog.csdn.net/liuzhirou1/article/details/117649569一、项目目标支付中心架构将各业务的公共交易、支付、财务等沉淀到支付中心,并主要解决了以下三个主要问题:建立基础订单、支付、财务统一体系,抽象和封装公共处理逻辑,形成统一的基础服务,降低业务的接入成本及重复研发成本;构建安全、稳定、可扩展的系统,为业务的快速发展和创新需求提供基础支撑,解决业务「快」和支付「稳」之间的矛盾;沉淀核心交易数据,同时为应用端、物业公司、用户提供数据支撑。二、具体调用流程在目标的指导下,我向集采、o2o、收费易三个项目组的相关开发咨询了业务逻辑,再结...

    架构师社区
    2021-09-28
  • 系统架构设计:平滑发布和ABTesting

    平滑发布的介绍 背景 单位的云办公相关系统没有成熟的平滑发布方案,导致每一次发布都是直接发布,dll文件或配置文件的变更会引起站点的重启。 云办公系统的常驻用户有10000,即使短短半分多钟,也会收到一堆投诉。基于此,我们梳理了一套平滑发布的方案。实施方案1、跟nginx代理服务器约定了一个健康检查的接口2、通过接口返回的http状态码来让ngx是否分流用户请求(这个我们单位的技术部那边有标准的做法)3、根据提供的这个服务健康检查的接口:nginx判断只要某个实例的接口返回5xx的状态码,即把该实例下线(nginx不会把流量转发到该实例)   发布流程目的主要是为了发布的时候能够平滑发布,所以...

  • Jlink使用技巧之读取STM32内部的程序

    前言Jlink可以将Hex文件下载到单片机内,也可以将未加密单片机内部的程序文件读出。本篇文章介绍,如何使用JFlash来读取单片机的程序,学习单片机程序文件的读取,不是为了破解别人的程序,而是学习破解的原理,从而更好保护自己的程序不被破解,希望大家也能尊重他人的劳动成果。JFlash的下载和安装首先,安装JFlash软件,安装完成后,会默认安装JLink驱动程序,主要包含以下几个工具:JFlash,主要用于程序下载和读取。JFlashLite,JFlash的Mini版JFlashSPI,用于给SPI存储器下载程序,如W25Q128。JLinkGDBServer,用于第三方软件的调试器,如使用...

发布文章