设计开发 模型 思路 数字
ArcObjects SDK 021 开发框架搭建-FrameWork包设计
1、框架引擎部分 引擎模块其实就是之前我们说的App-Command-Tool模块,通过这个模块,把系统的主干框架搭建起来。 其中大部分出现在菜单以及工具条上的按钮都会继承这个框架定义ICommand和ITool。整个系统也是通过整合一些列Comand和Tool的方式,把整个系统搭建出来,这点也可以 ......
ArcObjects SDK 022 开发框架搭建-FrameWorkUI包设计
1、CommandUIs部分 这部分主要是定义承载Command和Tool的具体UI。如下图所示。 以CommandUI结尾的这几个类都是继承了Framework.Engine里面的ICommandUI接口,这样我们定义的Command和Tool就可以和这些UI绑定到一起了。 其中BarButton ......
Potree 002 Desktop开发环境搭建
1、工程创建 我们使用Visual Studio 2022开发,把下载好后的PotreeDesktop源码添加到Visual Studio中。 打开Visual Studio 2022,新建Asp.Net Core空项目,如下图所示。 点击下一步按钮,设置项目的名称、存储路径以及解决方案名称等。如下 ......
ArcObjects SDK 024 开发的技术和技巧
1、基本技术 开发方面。会使用C#开发语言和Visual Studio开发工具。会使用WinForm或者WPF开发。 理论知识方面。了解GIS的相关概念,例如矢量数据,栅格数据,空间参考、比例尺等概念。 工具方面。能够较为熟练的使用ArcMap桌面软件。 2、面向对象编程 如果我们只用.Net开发一 ......
小白致力于成为前后端开发程序员
小白有个烦恼,做前端项目的时候,遇到两种情况一种是在vue框架下,使用HTML写页面,script部分代码里面的方法基本上使用JS来写;一种同样在vue框架下,通过安装的框架来构建页面,script中使用的方法也多是安装的框架中封装好的方法。小白是个倒霉催的孩子,负责的项目比较多,常常在两种情况下切 ......
深入理解 dbt 增量模型
想要实现数据增量写入数据库,可以选择 dbt 增量模型。通过 dbt 增量模型,我们只用专注于写日增 SQL,不用去关注于如何安全的实现增量写入。 dbt 增量模型解决了什么问题 原子性写入:任何情况下,增量写入只有一个程序在写入。 假设增量程序已经上线,线上增量程序在执行的同时,开发也在本地执行增 ......
终于弄明白了 RocketMQ 的存储模型
RocketMQ 优异的性能表现,必然绕不开其优秀的存储模型 。 这篇文章,笔者按照自己的理解 , 尝试分析 RocketMQ 的存储模型,希望对大家有所启发。 1 整体概览 首先温习下 RocketMQ 架构。 整体架构中包含四种角色 : Producer :消息发布的角色,Producer 通过 ......
CH9434-MCU代码移植,芯片使用详细说明(附Linux开发资料链接)
简介 CH9434是一款SPI转四串口转接芯片,提供四组全双工的9线异步串口,用于单片机/嵌入式/安卓系统扩展异步串口。提供25路GPIO,以及支持RS485收发控制引脚TNOW。本篇基于STM32F103,介绍CH9434在MCU平台移植和使用方法。 Linux移植说明可以跳转到这个链接:http ......
C#开发的线程池和管理器 - 开源研究系列文章
上次编写了一个小软件,用于练手及自己的一个小工具集合。今天把其中的线程池和管理器的代码抽取出来,写成一个博文,让需要的朋友能够进行学习和应用。 这个线程管理器包括了3个类库和一个应用程序,见下图: 第一个是窗体磁吸屏幕的类库,以前有过一个VB编的类库(磁性窗体源码开源 - 开源研究系列文章),这次把 ......
C#开发的磁吸屏幕类库 - 开源研究系列文章
上次写了一个关于线程池的博文( C#开发的线程池和管理器 - 开源研究系列文章 ),里面讲到了关于磁吸屏幕的类库,今天就把这个类库进行下讲解。 一、 类库目录; 类库的目录见下图,主要定义了Win32的一些API,以及一些API使用到的常量和结构体定义。主要的类定义在MainAPI里。 二、 主函数 ......
【深入浅出Sentinel原理及实战】「基础实战专题」零基础实现服务流量控制实战开发指南(2)
你若要喜爱你自己的价值,你就得给世界创造价值。 Sentinel的组成部分 Sentinel 主要由以下两个部分组成。 Sentinel核心库(Java客户端) :Sentinel的核心库不依赖任何框架或库,能够运行于Java 8及以上的版本的运行时环境中,同时对 Spring Cloud、Dubb ......
掌握这5大功能,解锁鲲鹏开发新发现
摘要:目前,鲲鹏亲和开发框架提供:场景化SDK、启发式编程、鲲鹏亲和分析、鲲鹏调试器、远程实验室等功能,降低开发应用难度,方便开发者使用鲲鹏架构提供的软硬协同能力,提升开发效率。 本文分享自华为云社区《掌握这5大功能,解锁鲲鹏开发新发现》,作者:华为云社区精选 。 本文主要介绍鲲鹏开发框架插件工具能 ......
跟光磊学Java-Windows版Java8开发环境搭建
Java语言核心技术 如果想要开发Java程序/Java项目之前,必须要安装和配置JDK,这里的JDK表示Java8\JDK8,不过下载软件的时候,强烈推荐大家一定要去软件的官网下载,因为官网提供的软件版本是最新的,会修复旧版本遗留的问题,这样我们在使用软件时可以避免一些问题。 1. Windows ......
跟光磊学Java-macOS版Java8开发环境搭建(基于Intel x86 64-bit)
Java语言核心技术 日常办公和软件开发除了可以使用Windows系统以外,还可以使用macOS系统,至于具体使用什么系统取决于你入职公司之后公司给你发的什么电脑,如果是MacBookPro那么就使用macOS开发项目,因此现在我们开始在macOS系统下搭建Java8的开发环境,如果你的Mac电脑使 ......
架构设计(九):估算
架构设计(九):估算 作者:Grey 原文地址: 博客园:架构设计(九):估算 CSDN:架构设计(九):估算 估算在系统设计中非常重要,这决定了你的设计是否可以满足要求,要实现比较靠谱的估算,就需要对如下几个概念熟练掌握 第一个概念:二的幂 尽管在处理分布式系统时,数据量可能是巨大的,但计算都可以 ......
LFU 的设计与实现
LFU 的设计与实现 作者:Grey 原文地址: 博客园:LFU 的设计与实现 CSDN:LFU 的设计与实现 题目描述 LFU(least frequently used)。即最不经常使用页置换算法。 题目链接:LeetCode 460. LFU Cache 主要思路 首先,定义一个辅助数据结构 ......
MongoDB - 模式设计
虽然说 MongoDB 是无模式的,但实际上模式设计在 MongoDB 中也非常重要。在实际开发中,大多数性能问题都可以追溯到糟糕的模式设计。 ......
《Kubernetes Operator 开发进阶》- 作者絮絮叨
今天聊啥 昨晚在京东上试着搜索关键字“Kubernetes Operator 开发进阶”,看到我的书终于上架了,百感交集。 (没有老泪纵横。你以为是我没有眼眶湿润?不,我说的是我没有老!) 这本书花费了我大约半年的心血。半年,没有周末,没有假期。去年的除夕和大年初一都没有休息,每天三小时,赶稿子。 ......
Redis网络模型究竟有多强
高效的网络模型是Redis实现高吞吐量的重要底层支撑,是“高性能”的重要原因,却不是“快”的直接理由。本文将从BIO开始介绍,经过NIO、多路复用,最终说回Redis的Reactor模型,力求详尽。 ......
设计模式实践---策略模式实现对大量计算公式的处理
业务流程: 1.用户根据需要选择的实验方案,每个实验方案对应一种计算公式,计算公式例如下面这种 2.将带有实验数据的PDF文件上传到特定位置,对PDF文件进行解析后将数据数据保存到数据库。 3.遍历所有方案,对每种方案使用特定的公式对数据库中的数据进行 重构前实现: 遍历方案,使用IF语句对使用的公 ......
模型驱动设计的构造块(下)——DDD
3. 领域对象的生命周期 每个对象都有生命周期,如下图所示。对象自创建后,可能会经历各种不同的状态,直至最终消亡——要么存档,要么删除。当然很多对象是简单的临时对象,仅通过调用构造函数来创建,用来做一些计算,然后由垃圾收集器回收。这类对象没必要搞得那么复杂。但有些对象具有更长的生命周期,其中一部分时 ......
万字长文解析Scaled YOLOv4模型(YOLO变体模型)
Scaled YOLOv4 模型最主要的贡献在于通过理论系统分析和实验证了模型缩放的原则,进一步拓展了 CSPNet 方法,并基于此设计了一个全新的 Scaled-YOLOv4,Scaled-YOLOv4 网络的卷积模块都有使用 CSP。总的感觉就是针对不同的 GPU 平台,根据作者分析出来的模型缩... ......
Django模型层
模型层与ORM 一、初步认识ORM 1.什么是ORM 对象关系映射 能够让不会SQL语句的python程序员 使用python面向对象的语法来操作数据库 优势>>>:简单方便快捷 劣势>>>:效率可能会低 2.概念对接 类 表 对象 一条条数据 对象点名字 数据获取字段对应值 3.基本操作(增删改查 ......
万字长文详解 YOLOv1-v5 系列模型
yolov1 作者提出了一种新的目标检测方法 YOLO,之前的目标检测工作都是重新利用分类器来执行检测。作者的神经网络模型是端到端的检测,一次运行即可同时得到所有目标的边界框和类别概率。YOLO 架构的速度是非常快的,base 版本实时帧率为 45 帧,smaller 版本能达到每秒 155 帧,性... ......
【架构设计】保持简单轻量设计的三个原则——DRY,KISS, YAGNI
前言 一个软件轻量简单的软件架构是非常重要的,它可以让我们花最小的代价就能满足业务上的需求。那如何保证轻量简单呢?那今天就和大家分享下这其中的秘密,也就是3个重要的指导原则,KISS原则,YAGNI原则和DRY原则,你们都知道并且理解吗? 欢迎关注微信公众号「JAVA旭阳」交流和学习 KISS原则 ......
【架构设计】你的类足够“专一”吗
前言 软件设计SOLID原则中有一个最基础的原则就是单一职责原则,我想绝大部分的程序员都知道,而且都理解它的意思,甚至觉得很简单。但是往往“看懂”和“会用”是两回事,而“用好”更是难上加难。好比我们项目,一开始一直和大家强调类的单一职责,随着业务不断发展,不同的同事都往这个类“添砖加瓦”,最终导致一 ......
【架构设计】你的应用该如何分层呢?
前言 最近review公司的代码,发现现在整个代码层级十分混乱,一个service类的长度甚至达到了5000多行。而且各种分层模型DTO、VO乱用, 最终出现逻辑不清晰、各模块相互依赖、代码扩展性差、改动一处就牵一发而动全身等问题。 我们在吸取了阿里巴巴的分层规范以及网上的一些经验后,重新梳理总结了 ......
Triple 协议支持 Java 异常回传的设计与实现
作者:Apache Dubbo Contributor 陈景明 背景 在一些业务场景, 往往需要自定义异常来满足特定的业务, 主流用法是在catch里抛出异常, 例如: public void deal() { try{ //doSomething ... } catch(IGreeterExcep ......
90%的Java开发人员都会犯的5个错误
前言 作为一名java开发程序员,不知道大家有没有遇到过一些匪夷所思的bug。这些错误通常需要您几个小时才能解决。当你找到它们的时候,你可能会默默地骂自己是个傻瓜。是的,这些可笑的bug基本上都是你忽略了一些基础知识造成的。其实都是很低级的错误。今天,我总结一些常见的编码错误,然后给出解决方案。希望 ......
【架构设计】如何让你的应用做到高内聚、低耦合?
前言 最近review公司的代码,发现代码耦合程度特别高,修改一处,不知不觉就把其他地方影响到了,这就让我思考该如何让我们写的代码足够内聚,减少耦合呢? "高内聚、松耦合"是一个非常重要的设计思想,能够有效地提高代码的可读性和可维护性,缩小功能改动导致的代码改动范围。它可以用来指导不同粒度代码的设计 ......