XOR

简易的工厂设计模式

工厂设计模式是一种创建型设计模式,它提供了一种创建对象的最佳方式,而无需暴露对象的创建逻辑。在工厂模式中,我们定义一个接口或抽象类,该接口或抽象类用于创建对象,但让子类决定要实例化的类。工厂方法模式使类的实例化延迟到其子类。 下面是一个完整的C#实现案例: 首先,我们定义一个接口,用于创建对象: p ......
设计模式 简易 工厂 模式

从宏观上理解计算机网络模型-坐在直升机上看网络

大家好,我是风筝 今天是轻解计算机网络系列第一解,从宏观上了解网络。主要介绍网络分成模型、基本传输过程。 学习任何一种新技术都应该是这样的顺序,先从宏观上了解这门技术的基本原理和作用。这就好像生物学家研究一种生物,不能上来就解刨吧,一定是从整体上观察了这种生物的体貌和形态。这里的宏观就像是一具动物骨 ......
计算机网络 宏观 模型 网络

小白都能看懂得Xxl-job安装教程

大家好,我是咔咔 不期速成,日拱一卒 一、背景 在平时的业务场景中,经常有一些场景需要使用定时任务,比如: 某个时间点发送优惠券发送短信等等。批量处理数据:批量统计上个月的账单,统计上个月销售数据等等。固定频率的场景:每隔5分钟需要执行一次。 所以定时任务在平时开发中并不少见,而且对于现在快速消费的 ......
Xxl-job 教程 Xxl job

Python批量读取HDF多波段栅格数据并绘制像元直方图

本文介绍基于Python语言gdal模块,实现多波段HDF栅格图像文件的读取、处理与像元值可视化(直方图绘制)等操作~ ......
直方图 栅格 波段 数据 Python

批量下载Landsat遥感影像的方法

本文介绍在USGS网站批量下载Landsat系列遥感影像的方法。 首先,打开EarthExplorer的官网,首先完成注册与登录。 接下来,点击左侧“Search Criteria”,首先选择研究区域。研究区域的划定有多种方法,可以依据地理名称选定研究区域,也可以在右侧地图中手动划定研究区域,还可以 ......
遥感 影像 Landsat 方法

Landsat数据在USGS中无法下载Surface Reflectance产品的解决方法

本文介绍在USGS官网下载Landsat遥感影像数据时,出现报错信息,无法下载地表反射率产品(Surface Reflectance)的解决办法~ ......
Reflectance Landsat Surface 方法 数据

批量下载浏览器网页中全部链接的方法

本文介绍在Chrome浏览器中,通过迅雷自动批量选中网页中全部下载链接并进行下载的方法。 前期的文章批量下载Landsat遥感影像的方法中,我们详细介绍了USGS遥感影像批量下载的方法。在利用这一方法生成每一幅影像的下载链接后,我们直接结合可以批量获取网页内下载链接的下载软件进行下载。而在这一过程中 ......
浏览器 链接 网页 方法

批量下载MODIS遥感影像:基于LAADS DAAC的方法

本文介绍在LAADS DAAC的官方网站中,批量、快速下载MODIS遥感影像各类产品数据的免费方法。 之前一篇文章Earthdata批量下载MODIS遥感影像的方法介绍了MODIS等遥感数据在Earthdata中批量下载的方法,但是这一方法需要可以访问外国网站才可进行,因此相对不太实用;本文所介绍方 ......
遥感 影像 方法 MODIS LAADS

Python gdal读取MODIS遥感影像并结合质量控制QC波段掩膜数据

本文介绍基于Python中GDAL模块,实现MODIS遥感影像数据的读取、计算,并基于质量控制QC波段进行图像掩膜的方法~ ......
掩膜 遥感 波段 影像 质量

HDF格式遥感影像批量转为TIFF格式:ArcPy实现

本文介绍基于Python中ArcPy模块,实现大量HDF格式栅格图像文件批量转换为TIFF格式的方法。 首先,来看看我们想要实现的需求。 在一个名为HDF的文件夹下,有五个子文件夹;每一个子文件夹中,都存储了大量的.hdf格式的栅格遥感影像数据。 我们在其中任选一个子文件夹,来看看其中所含的文件。 ......
格式 遥感 影像 ArcPy TIFF

Python ArcPy批量拼接长时间序列栅格图像

本文介绍基于Python中ArcPy模块,对大量不同时相的栅格遥感影像按照其成像时间依次执行批量拼接的方法。 在前期的文章Python arcpy创建栅格、批量拼接栅格中,我们介绍了利用Python实现栅格遥感影像批量拼接的方法;但这篇文章实现的操作是将某个保存路径下全部的栅格图像文件加以拼接,换句 ......
栅格 序列 图像 Python ArcPy

flutter系列之:在flutter中自定义themes

简介 一般情况下我们在flutter中搭建的app基本上都是用的是MaterialApp这种设计模式,MaterialApp中为我们接下来使用的按钮,菜单等提供了统一的样式,那么这种样式能不能进行修改或者自定义呢? 答案是肯定的,一起来看看吧。 MaterialApp中的themes Materia ......
flutter themes

还不知道如何在java中终止一个线程?快来,一文给你揭秘

简介 工作中我们经常会用到线程,一般情况下我们让线程执行就完事了,那么你们有没有想过如何去终止一个正在运行的线程呢? 今天带大家一起来看看。 Thread.stop被禁用之谜 问道怎么终止一个线程,可能大多数人都知道可以调用Thread.stop方法。 但是这个方法从jdk1.2之后就不推荐使用了, ......
线程 java

flutter系列之:创建一个内嵌的navigation

简介 我们在flutter中可以使用Navigator.push或者Navigator.pushNamed方法来向Navigator中添加不同的页面,从而达到页面调整的目的。 一般情况下这样已经足够了,但是有时候我们有多个Navigator的情况下,上面的使用方式就不够用了。比如我们有一个主页面ap ......
navigation flutter

Leftpad事件 我们是不是早已忘记该如何好好地编程?

Leftpad撤包事件、event-stream投毒事件、Ant Design彩蛋时间,使得我们不得不开始重新思考npm生态真的存在的问题,甚至去问自己:我们是不是早已忘记该如何好好地编程? ......
Leftpad 事件

前端程序员需要了解的MySQL

数据库的基本概念 数据库(database)是用来组织、存储和管理数据的仓库。对数据库中的数据可以进行增删改查操作。市面上常见的数据库有: MySQL(使用最广泛。流行度最高的开源免费数据库 Community+Enterprise) Oracle(收费) SQL Server(收费) Mongod ......
前端 程序员 程序 MySQL

前端必须知道的调试工具

1949年9月9日,天气非常炎热,有一只娥死在了70号继电器里面,造成电路不通,机器死机,经过近一天的检查,Grace Hopper(格蕾斯哈珀)终于找到了真凶,原来正是被光吸引过来的娥造成了机器宕机,在这儿之后,在计算机科学中,Bug就从虫子变成了程序的缺陷,一只虫子就这样被载入了计算机史册。 ......
前端 工具

初识Node和内置模块

初识Node与内置模块 概述:了解Node.js,熟悉内置模块:fs模块、path模块、http模块 初识Node.js 浏览器中的JavaScript运行环境 运行环境是指代码正常运行所需的必要环境 对于Chrome浏览器运行环境=V8引擎+内置API(DOM、BOM等) V8引擎负责解析和执行J ......
模块 Node

一个由public关键字引发的bug

先来看一段代码: @Service @Slf4j public class AopTestService { public String name = "真的吗"; @Retryable public void test(){ // 模拟业务操作 log.debug("name:{}", this. ......
关键字 关键 public bug

.NET AsyncLocal 避坑指南

AsyncLocal 用法简介 通过 AsyncLocal 我们可以在一个逻辑上下文中维护一份私有数据,该上下文后续代码中都可以访问和修改这份数据,但另一个无关的上下文是无法访问的。 无论是在新创建的 Task 中还是 await 关键词之后,我们都能够访问前面设置的 AsyncLocal 的数据。 ......
AsyncLocal 指南 NET

.NET Task 揭秘(3)async 与 AsyncMethodBuilder

前言 本文为系列博客 什么是 Task Task 的回调执行与 await async 与 AsyncMethodBuilder(本文) 总结与常见误区(TODO) 上文我们学习了 await 这个语法糖背后的实现,了解了 await 这个关键词是如何去等待 Task 的完成并获取 Task 执行结 ......
AsyncMethodBuilder async Task NET

Web安全入门(一):Web安全是什么?

前言 本文内容基于《Web应用安全入门》公开课。 Prompt:下面是一篇课程音频转录后的文本,请把它转成老师和学生对话形式的文本,要求遵循原文结构,语言衔接流畅,保持 Markdown 结构。 New Bing: 你好,这是Bing。我可以帮你把课程音频转录后的文本转成老师和学生对话形式的中文文本 ......
Web

Go构建遇到cgo动态库时解决方案

1. 问题 golang构建程序很简单,当遇到需要调用c库时,如通常使用 net,kafka, sqlite3 程序运行时就会调用当前服务器的 动态库,如果遇到没有库时,通常还需要 下载比如 alpine需要安装sqlite apk add --no-cache sqlite-libs sqlite ......
解决方案 方案 动态 cgo

gorm操作sqlite3,高并发读写如何避免锁库?

1. 场景 这两天一直被这个sqlit3困扰,起因是项目中需要有这样一个中间,中间件承担着API角色和流量转发的角色,需要接收来自至少300个agent的请求数据,和健康检测的请求。 所以当即想到用go来实现,因为数据教训,不考虑使用pg大型数据库,所以就选择了轻量化的sqlite数据库。程序很快就 ......
sqlite3 sqlite gorm

Go内存管理逃逸分析

1. 前言 所谓的逃逸分析(Escape analysis)是指由编译器决定内存分配的位置吗不需要程序员指定。 函数中申请一个新的对象 如果分配在栈中, 则函数执行结束后可自动将内存回收 如果分配在堆中, 则函数执行借宿可交给GC(垃圾回收)处理 有了逃逸分析,返回函数局部变量将变得可能,除此之外, ......
内存

ABP微服务系列学习-搭建自己的微服务结构(一)

在原本的结构里面,由于默认服务引用的都是ABP原生的模块,所以结构目录里面没有包含modules目录,这里我们添加一个modules目录,用于存放我们的自定义模块。在shared里面,我们再抽一个EventData的模块,用于消息队列共用数据实体。修改后结构如下图所示: 开始搭建 由于我们没有商业版 ......
结构 ABP

ABP微服务系列学习-搭建自己的微服务结构(三)

上一篇我们基础服务初步搭建完毕,接下来我们整一下认证和网关。 搭建认证服务 认证服务的话,ABP CLI生成的所有模板都包括了一个AuthServer。我们直接生成模板然后微调一下就可以直接用了。 abp new FunShow -t app --tiered 使用命令创建模板后,我们可以找到一个A ......
结构 ABP

ABP微服务系列学习-使用Tye启动微服务

Tye是微软开源的一款开发人员工具, 能够用于简化微服务以及分布式应用程序的开发、测试以及部署过程。Tye 的首要目标是简化微服务的开发,具体方式包括仅用一行命令执行多项服务、在容器中使用依赖项目,以及使用简单的方法探索其他服务的地址。 安装tye 首先我们安装tye,使用dotnet cli命令。 ......
ABP Tye

ABP微服务学习系列-修复System.Text.Json不支持序列化Exception

前面我们已经把服务都启动了,然后我们试试请求API。发现请求出现500 返回错误 System.NotSupportedException: Serialization and deserialization of 'System.Reflection.MethodBase' instances a ......
序列 Exception System Json Text

ABP微服务系列学习-对接前端界面

前面我们把后端的微服务架子基本搭建完成并成功启动了,现在我们可以对接前端界面了。这里我们直接用ABP模板里面的Angular的前端界面。 创建应用程序模板 使用ABPCli创建一个应用程序模板,前端选择Angular,选择参数--separate-identity-server,分离身份认证和API ......
前端 界面 ABP