• C 语言的单元测试与代码覆盖率

    ↓推荐关注↓前言测试是软件开发过程中一个必须的环节,测试确保软件的质量符合预期。对于工程师自己来说,单元测试也是提升自信心的一种方式。直接交付没有经过测试的代码是不太好的,因为这很可能会浪费整个团队的时间,在一些原本早期就可以发现的问题上。而单元测试,就是发现问题一个很重要的环节...

  • 手撸一个线程池

    点击上方蓝字关注下我呗之前分享过一次手写线程池-C语言版,然后有朋友问是否有C线程池实现的文章:其实关于C线程池的文章我好久以前写过,但估计很多新朋友都没有看到过,这里也重新发一下!本人在开发过程中经常会遇到需要使用线程池的需求,但查了一圈发现在C中完备的线程池第三方库还是比较少...

  • 一文看懂各种开源许可协议

    参与开源项目贡献,或者使用开源项目的代码,一定要注意查看项目所遵循的开源许可协议,许可协议决定你贡献的代码将被如何规范的使用,也决定你要如何规范的使用开源项目的代码。目前世界上的开源许可证(OpenSourceLicense)大概有上百种,今天我们来介绍下几种我们常见的开源协议。...

  • 如何理解互斥锁、条件变量、读写锁以及自旋锁?

    锁是一个常见的同步概念,我们都听说过加锁(lock)或者解锁(unlock),当然学术一点的说法是获取(acquire)和释放(release)。恰好pthread包含这几种锁的API,而C11只包含其中的部分。接下来我主要通过pthread的API来展开本文。mutex(互斥量...

    CPP开发者
    2021-10-28
  • 1s 创建 100G 文件,最快的方法是?

    在我们日常工作中,为了验证开发的功能,比如:文件上传功能或者算法的处理效率等,经常需要一些大文件进行测试,有时在四处找了一顿之后,发现竟然没有一个合适的,虽然Linux中也有一些命令比如:vim、touch等可以创建文件,但是如果需要一个100G或者1T的大文件,这些命令就显得力...

    CPP开发者
    2021-10-28
  • 这个 MySQL bug 99% 的人会踩坑!

    这周收到一个sentry报警,如下SQL查询超时了。select * from order_info where uid = 5837661 order by id asc limit 1执行showcreatetableorder_info 发现这个表其实是有加索引的CREAT...

    架构师社区
    2021-10-27
  • 一文详解 API 设计最佳实践

    -   前言   -良好设计的API=快乐的程序员。应用程序接口(API)是一种接口,它让应用程序可以轻松地使用另一个应用程序的数据和资源,API对于一个产品或公司的成功至关重要。如果没有API,你大部分喜欢的软件今天就不会存在。例如,GoogleMapsAPI可以让你在app或...

    架构师社区
    2021-10-27
    API
  • 性能优化之Java多线程批量拆分List导入数据库

    |前言前两天做了一个导入的功能,导入开始的时候非常慢,导入2w条数据要1分多钟,后来一点一点的优化,从直接把list怼进Mysql中,到分配把list导入Mysql中,到多线程把list导入Mysql中。时间是一点一点的变少了。非常的爽,最后变成了10s以内。下面就展示一下过程。...

  • 梳理消息队列 MQ/JMS/Kafka

    是不是平常听到说消息队列啊,JMS啊,MQ啊、kafka啊巴啦啦的一堆术语,听不懂?关系混乱?今天就让我们来一起来看看他们都是什么吧。1消息队列介绍首先举个收快递的栗子,传统的收快递,快递小哥把我们的快递送到我们的手里。他需要什么条件嗯?快递小哥有时间送,我们有时间取,快递小哥和...

    架构师社区
    2021-10-27
  • 北京朝阳一互联网公司被端,警方上门,23人被带走…这种开发千万别干!

    劳动者作为普通员工,在很多情况下是很难知晓用人单位的经营行为是否涉嫌违法。为了保住自己的工作,对于管理者的安排言听计从。但是在此还是需要提醒广大职场人,在选择行业以及用人单位时需要具有风险防范意识。在从事用人单位安排的工作内容时一定要具有风险防范意识。有向上想挣钱的心是好的,但是...

  • C 20 新特性的小细节

    之前整理过一篇C20新特性的文章全网首发!!C20新特性全在这一张图里了,里面提到过latch、barrier和semaphore,但是没有详细介绍过三者的作用和区别,这里详细介绍下。latch这个可能大多数人都有所了解,这就是我们经常会用到的CountDownLatch。用于使...

    CPP开发者
    2021-10-27
  • 如何升级Windows 11正式版?四种方案都在这里了

      距离Windows 11预览版测试已经过去近四个半月。终于,在10月5日,微软的Windows11 正式版操作系统全面上市。Win11的正式上线,打破了微软在Win10刚发布之时曾表示Win10将会是最后一代Windows的说法。微软表示,符合条件的Windows10电脑可以...

    C语言编程
    2021-10-27
    Windows
  • 一个学妹写的按键检测函数把我秀翻了!

    ▼点击下方名片,关注公众号▼一、如何进行按键检测检测按键有中断方式和GPIO查询方式两种。推荐大家用GPIO查询方式。1.从裸机的角度分析中断方式:中断方式可以快速地检测到按键按下,并执行相应的按键程序,但实际情况是由于按键的机械抖动特性,在程序进入中断后必须进行滤波处理才能判定...

  • 常用的三极管电路设计-电阻到底是怎么选的?

    ▼点击下方名片,关注公众号▼今天的内容超级简单,主要给硬件新手写点东西,关于三极管实用方面的,会说两个基本的电路,以及相关电阻的取值及注意事项。 一个现状我们在模电教材里面,会有各种放大电路,共基,共集,共射等,相关的计算公式,曲线,电路等效模型天花乱坠,学起来非常费劲。实际90...

  • MOS管输出特性曲线你看明白了吗?

    ▼点击下方名片,关注公众号▼我们知道,三极管是利用Ib的电流去控制电流Ic的,所以说三极管是电流控制电流的器件。而MOS管是利用Ugs的电压去控制电流Id的,所以说MOS管是电压控制电流的器件。对于N沟道增强型的MOS管,当Ugs>Ugs(th)时,MOS就会开始导通,如果在D极...

发布文章