最后的作业

基于深度学习的农作物叶片病害检测系统(UI界面+YOLOv5+训练数据集)

农作物叶片病害检测系统用于智能检测常见农作物叶片病害情况,自动化标注、记录和保存病害位置和类型,辅助作物病害防治以增加产值。本文详细介绍基于YOLOv5深度学习模型的农作物叶片病害检测系统,在介绍算法原理的同时,给出Python的实现代码、PyQt的UI界面以及训练数据集。在界面中可以选择各种图片、... ......
农作 病害 检测系统 农作物 叶片

「重启程序」的正面和反面

「重启程序」对我来讲,太熟悉了不过了,我很纠结,因为它能帮我解决问题,但出于程序员对于程序健壮的强迫症,我又本能的抗拒。 这篇文章, 我想分享 "工作十年,我对「重启程序」的认知升级过程",希望对大家有所启发。 1 一路重启 2010 - 2014 年 ,蛮幸运的,我经历了一家彩票网站重构的整个过程 ......
反面 正面 程序

简单明了的体会构建者模式

我们由一个小小的Demo来引出主题,尽管这个Demo有点长~~,我相信还是值得你一看的! 木兰诗中有:“雄兔脚扑朔,雌兔眼迷离;双兔傍地走,安能辨我是雌雄?” 对象之间的比较想必大家都很熟悉。只须用 util 包中的Objects.equals()方法即可。如果我想找出对象之间不相同的属性呢? 那肯 ......
明了 模式

小知识:SQL Monitor Report的使用

在上一篇 优化利器In-Memory开启和效果 中,提到的两个SQL对比,使用的是传统的dbms_xplan.display_cursor方式来查看执行计划,好处是文本输出的通用性强,基本信息也都有。 但如果大家参加过我们的RWP培训,就会发现O原厂强烈推荐大家使用的一个工具是 SQL Monito ......
Monitor 知识 Report SQL

使用 zeromq与cppzmq 程序退出遇到的坑

在使用zeromq 退出的时候还遇到一点坑,对于服务deaman(守护进程)化的进程可能会遇到这个问题。 现象: 这个问题导致的现象是服务一旦关闭(stop),就会 core dump,core dump 的信息如下。意思大概是使用了无效的描述符。 (gdb) bt #0 0x00007f522e2 ......
程序 zeromq cppzmq

近期调研和使用 zeromq 与 cppzmq 的一些问题

关于message 消息分片 消息分片的发送 消息分片允许将多个消息封装成一条消息。在发送自定义协议数据时,我们经常需要在消息前“填充”一个包头。如下代码,在发送的时候加上 zmq::send_flags::sndmore 标识(对应 zeromq ZMQ_SNDMORE),表示后面还有消息。这样 ......
zeromq cppzmq 问题

【分布式技术专题】「分布式技术架构」一文带你厘清分布式事务协议及分布式一致性协议的算法原理和核心流程机制(Paxos篇)

概念简介 Paxos是一种基于消息传递具有高度容错特性的一致性算法,是目前公认的解决分布式一致性问题最有效的算法之一。 发展历史 Paxos算法的发展历史追溯到古希腊,当时有一个名为“Paxos“的小岛, 岛上采用一会的形式通过法令, 议会中议员通过信使进行消息传递,议员与信使都是兼职的,他们随时都 ......
分布式 技术 一致性 算法 架构

windows作业系统部署nfs服务

文件共享的需求是如何产生的? 据说当年美国和苏联冷战期间,双方都有摧毁对方的能力。而苏联 不怕死的性格让美国人多少有些害怕。美国当时害怕自己的军事指挥中心被苏联摧毁。于是,美国建立了阿帕网,并把自己的军事指挥中心分开建立,这就叫分布式,用我们中国人的话说 :"不要把鸡蛋放在同一个篮子里"。 同时,美 ......
windows 系统 nfs

[Python]语音识别媒体中的音频到文本

@ 准备工作 安装python3环境 申请一个可用的语音转换API,此篇以Microsoft Azure Speech为例 在Microsoft Azure 市场中搜索speech关键字找到语音服务。并创建好服务实例 在资源中找到创建的服务并查看 在此处点击显示密钥,我们要记住key值和locati ......
语音 文本 音频 媒体 Python

在京东如何做好前端系统的可观测性

本文旨在从0到1的讲述一下我们团队在做系统可观测性过程中所沉淀下来的一整套解决方案,收效甚巨,不敢苟藏,当公之于众,共建吾辈光明之未来。 ......
前端 系统

作为移动开发你不能不了解的编译流程

阅读本文,或许能够了解关于以下的几个问题: 1、编译器是什么?为什么会有编译器这样一个东西? 2、编译器做了哪些工作?整个编译过程又是什么? 3、Apple的编译器发展历程以及为什么会抛弃GCC换成自研的LLVM? 4、从编译器角度看Swift与OC能够实现混编的底层逻辑 ......
不能不 流程

在京东如何做好前端系统的可观测性

本文旨在从0到1的讲述一下我们团队在做系统可观测性过程中所沉淀下来的一整套解决方案,收效甚巨,不敢苟藏,当公之于众,共建吾辈光明之未来。 ......
前端 系统

复杂度分析:如何分析、统计算法的执行效率和资源消耗

我们都知道,数据结构和算法本身解决的是“快”和“省”的问题,即如何让代码运行得更快,如何让代码更省存储空间。所以,执行效率是算法一个非常重要的考量指标。那如何来衡量你编写的算法代码的执行效率呢?这里就要用到我们今天要讲的内容:时间、空间复杂度分析。 ......
复杂度 算法 效率 资源

golang中关于deadlock的思考与学习

1、Golang中死锁的触发条件 1.1 书上关于死锁的四个必要条件的讲解 发生死锁时,线程永远不能完成,系统资源被阻碍使用,以致于阻止了其他作业开始执行。在讨论处理死锁问题的各种方法之前,我们首先深入讨论一下死锁特点。 必要条件: 如果在一个系统中以下四个条件同时成立,那么就能引起死锁: 互斥:至 ......
deadlock golang

千亿参数开源大模型 BLOOM 背后的技术

假设你现在有了数据,也搞到了预算,一切就绪,准备开始训练一个大模型,一显身手了,“一朝看尽长安花”似乎近在眼前 …… 且慢!训练可不仅仅像这两个字的发音那么简单,看看 BLOOM 的训练或许对你有帮助。 近年来,语言模型越训越大已成为常态。大家通常会诟病这些大模型本身的信息未被公开以供研究,但很少关 ......
模型 背后 参数 BLOOM 技术

疯一样的向自己发问 - 剖析lsm 索引原理

疯一样的向自己发问 - 剖析lsm 索引原理 lsm简析 lsm 更像是一种设计索引的思想。它把数据分为两个部分,一部分放在内存里,一部分是存放在磁盘上,内存里面的数据检索方式可以利用红黑树,跳表这种时间复杂度低的数据结构进行检索。 而当内存数据到达一定阀值的时候则会将数据同步到一个新的磁盘文件上。 ......
索引 原理 lsm

NodeJs的模块化和包

模块化的基本概念 什么是模块化? 模块化是解决一个复杂问题时,自顶向下逐层把系统划分为若干个模块的过程,编程中,就是遵守一定规则,把一个大文件拆成独立并相互依赖的多个小模块。 模块化规范 使用什么样的语法格式引用模块和向外暴露成员 CommonJS规范 Node.js 遵循了 CommonJS 的模 ......
模块 NodeJs

kafka的原理及集群部署详解

kafka原理详解 消息队列概述 消息队列分类 点对点 组成:消息队列(Queue)、发送者(Sender)、接收者(Receiver) 特点:一个生产者生产的消息只能被一个接受者接收,消息一旦被消费,消息就不在消息队列中了 发布/订阅 组成:消息队列(Queue)、发布者(Publisher)、订 ......
集群 原理 kafka

Python地理分析库whitebox在Anaconda中的配置

本文介绍在Anaconda环境下,安装Python中的一个高级地理空间数据分析库whitebox的方法。 首先,我们打开“Anaconda Prompt (Anaconda)”软件。 随后,将弹出如下所示的命令输入窗口。 在上述弹出的命令输入窗口中,输入以下代码: conda install -c ......
Anaconda whitebox 地理 Python

ARP协议:网络世界的临门一脚

大家好,我是风筝。 各位同学肯定见过关于网络的面试题,什么TCP协议和UDP的区别啦,IP协议工作在哪层啊等等,这都是网络中定义的各种协议。这些标准化的协议就是网络分层模型标准化的核心部分。要想搞懂网络,必须搞明白其中的几种主要的网络协议。 今天我们就开始介绍网络世界的协议。介绍的顺序大致是从网络模 ......
世界 网络 ARP

Linux Bash Shell 中变量的 5 个易错点

Linux 中的 Bash 脚本支持对变量的操作,下面咸鱼将介绍 Linux Bash Shell 中关于变量的 5 个易错点 因为编程习惯,这类现象往往发生在大多数使用过其他流行编程语言的程序员身上 变量赋值 对于许多编程语言(例如 Python),变量赋值的时候在等号两边添加空格是一个好的习惯 ......
变量 Linux Shell Bash

详解uniapp和vue在路由方面的不同和联系

Uniapp 和 Vue 在路由方面有相似之处,因为 Uniapp 是基于 Vue 的。Uniapp 的路由系统是通过 Vue Router 实现的,因此两者有许多相同的概念和 API。 相同点: 都支持基于 URL 的路由; 都可以使用嵌套路由来管理多个页面之间的关系; 都支持路由参数和查询参数的 ......
路由 方面 uniapp vue

不存在百分百的安全,该给你的系统上个保险了

故障,是每个技术人都不愿遇到,但却总会遇到的事件。程序Bug、安全漏洞、黑客攻击、服务器宕机、网络中断等诸多因素都有可能引发系统故障,使我们的业务面临瘫痪的窘境。这样的例子,国内外都在不断的发生,比如: 2020年,由于严重的全澳性IT故障,Coles的收银机全部不能联网,down机瘫痪。收银员扫不 ......
百分 系统

【开源】最近写了一个简单的网址导航网站

前言 随着团队的成长,要管理的项目或使用的内部系统越来越多,很多内部系统都没有域名,使用IP+端口,很难记。 为了解决这个痛点,我抽空写了个导航网站~ 目前用下来效果还不错,可以基本完美的解决这个问题。 项目名称是 SiteDirectory ,代码在 Github 开源了: https://git ......
网址导航 网址 网站

一次.net code中的placeholder导致的高cpu诊断

背景 最近一位朋友找到我,让我帮看他们的一个aspnet core service无端cpu高的问题。从描述上看,这个service之前没有出现过cpu高的情况,最近也没有改过实际的什么code。很奇怪了,会有什么变化导致cpu上去了呢? 分析 由于比较容易复现 (据说一启动service,cpu就 ......
placeholder code net cpu

JUC源码学习笔记8——ConcurrentHashMap源码分析1 如何实现低粒度锁的插入,如何实现统计元素个数,如何实现并发扩容迁移

源码基于jdk1.8 这一片主要讲述ConcurrentHashMap如何实现低粒度锁的插入,如何实现统计元素个数,如何实现并发扩容迁移 系列文章目录和关于我 一丶ConcurrentHashMap概述 支持高并发读写的哈希表,ConcurrentHashMap中每一个方法都是线程安全的,并且读数据 ......

同步协程的必备工具: WaitGroup

1. 简介 本文将介绍 Go 语言中的 WaitGroup 并发原语,包括 WaitGroup 的基本使用方法、实现原理、使用注意事项以及常见的使用方式。能够更好地理解和应用 WaitGroup 来协调多个 Goroutine 的执行,提高 Go 并发编程的效率和稳定性。 2. 基本使用 2.1 定 ......
WaitGroup 工具

处理尚不存在的 DOM 节点

探索 MutationObserver API 与传统轮询等待最终被创建的节点方法相比的优劣。 有时候,您需要操作尚未存在的 DOM 的某个部分。 出现这种需求的原因有很多,但你最常看到的是在处理第三方脚本时,这些脚本会异步地将标记注入页面。举个例子,我最近需要在用户关闭Google reCAPTC ......
节点 DOM

CSS 高阶小技巧 - 角向渐变的妙用!

本文将介绍一个角向渐变的一个非常有意思的小技巧! 我们尝试使用 CSS 绘制如下图形: 在之前,类似的图案,其实我们有尝试过,在 单标签实现复杂的棋盘布局 一文中,我们用单标签实现了这样一个棋盘布局: 那么,本文有什么特殊之处呢?让我们一探究竟。 快速实现网格布局 首先,上述的布局还是希望使用一个标 ......
高阶 妙用 技巧 CSS

由x-www-form-urlencoded引发的接口对接失败

原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,非公众号转载保留此声明。 问题发生 这周正在写代码,突然,旁边小哥问我个问题... 小哥:我这有个接口,自己调用没有问题,但别人调用就不行,这种问题该如何排查? 我:抓下包看看呢... 小哥:是这样使用tcpdump吗? 我:是的 待小哥 ......