查看系统架构 root@raspberrypi:~# uname -a Linux raspberrypi 5.10.17-v7l+ #1414 SMP Fri Apr 30 13:20:47 BST 2021 armv7l GNU/Linux 安装torch和torchvision https://torch.maku.ml/whl/stable.html 安装torch root@rasp
#利用jar包制作docker镜像 前提说明 创建构建docker文件 构建docker镜像 构建成功后启动容器 前提说明 jar包已上传linux服务器 jar包名称:demo.jar jar包路径:/work/project/demo 创建构建docker文件 vi Dockerfile 输入以下代码 FROM java:8 MAINTAINER baicang WORKDIR /wor
抽象类 什么是抽象类 与java一样,python也有抽象类的概念。抽象类是一种特殊的类,它只能有抽象方法,不能被实例化,在子类继承抽象类时,不能通过实例化使用其抽象方法,必须实现该方法。 抽象类的作用 抽象类可以实现多个子类中共用的部分,而不需要重复写到实现类中。 从设计角度去看,抽象类是基于类抽象而来的,是实现类的基类。 从实现角度来看,抽象类与普通类的不同之处在于:抽象类中有抽象方法,该类不
Java 中的方法,是为执行一个操作而组合在一起的语句组。如果一个操作会被多次执行,则可以将该操作定义成一个方法,执行该操作的时候调用方法即可。 方法的语法结构 方法包括方法头和方法体,方法头又可以分成修饰符、返回值类型、方法名和参数列表,因此方法包括 5 个部分。 修饰符:修饰符是可选的,告诉编译器如何调用该方法。 返回值类型:方法可以返回一个值,此时返回值类型是方法要返回的值的数据类型。方法
奇偶校验位介绍 奇偶校验位是一种用于检测和纠正数据传输中出现的错误的机制。在数据传输过程中,数据被分割为固定大小的块,一般为一字节(8 位)。每个字节都会附加上一个奇偶校验位,用于表示该字节中 1 的个数是奇数还是偶数。 在奇偶校验位中,如果数据字节中 1 的个数是奇数,则校验位被设置为 1;如果是偶数,则校验位被设置为 0。 在接收端,当接收到数据时,会重新计算接收到的字节中 1 的个数,并与接
SRAM PUF简介 之前博主介绍了PUF原理,那么SRAM PUF又是什么呢? 我们知道PUF(Physical Unclonable Function)是物理不可克隆功能。PUF是一种物理对象,对于给定的输入和条件,提供物理定义的“数字指纹”输出(响应),作为唯一标识符 同样SRAM PUF(Physical Unclonable Function)也是是一种物理不可克隆功能,可用于生成唯一的
移除元素 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 双指针 对于要求原地实现移除,我们可以使用双指针的方式实现。 首先我们定义 l、r两个指针,r指针指向当前
前言 通常情况下,我们在进行软件开发和服务器管理时,习惯性地使用Linux作为主要的开发服务器。但是有的项目中,由于系统的特殊性,不得不切换到Windows服务器,这样的转变会让人非常不适应。对于那些习惯了Linux的开发者来说,就像博主一样,经常会弄混Linux和windows的指令。这篇文章有意总结一些常用windows命令,希望以后记错的时候方便检索正确的命令。 在Windows服务器上,与
?介绍 CAS(Compare and swap),即比较并交换。我们平时所说的自旋锁或乐观锁,其中的核心操作实现就是CAS。 ?保证原子操作 CAS 适用于保证原子操作不被干扰。原子操作即最小不可拆分的操作,也就是说操作一旦开始,就不能被打断,直到操作完成。 在多线程环境下,原子操作是保证线程安全的重要手段。 比如说,假设有两个线程在工作,都想对某个值做修改,就拿自增操作来说吧,要对整数 i 进
题:给定一个只包含三种字符的字符串:( ,) 和 *,写一个函数来检验这个字符串是否为有效字符串。有效字符串具有如下规则: 任何左括号 ( 必须有相应的右括号 )。 任何右括号 ) 必须有相应的左括号 ( 。 左括号 ( 必须在对应的右括号之前 )。 * 可以被视为单个右括号 ) ,或单个左括号 ( ,或一个空字符串。 一个空字符串也被视为有效字符串。 示例 1: 输入: "()&q
?排序算法-平均时间复杂度 排序算法 平均时间复杂度 稳定性 冒泡排序 $O(n^2)$ 稳定排序 选择排序 $O(n^2)$ 非稳定排序 插入排序 $O(n^2)$ 稳定排序 希尔排序 $O(n^{1.5})$ 非稳定排序 归并排序 $O(n*logN)$ 稳定排序 堆排序 $O(n*logN)$ 非稳定排序 快速排序 $O(n*logN)$ 非稳定排序
多线程-线程池7大参数及其作用 public ThreadPoolExecutor(int corePoolSize, //核心线程池大小 int maximumPoolSize, //最大核心线程池大小 long keepAliveTime, //超时释放
轮转数组 给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 借用临时数组 我们可以新建一个临时数组,用于存储旋转后的元素。首先获取数组的长度n,并计算k%n将k值限制在数组nums长度范围内,避免不必要的旋转。创建一个临时数组ans,在第一个循环中,从位置n-k开始,将nums向量中的元素逐个添加到ans向量中。在第二个循环中,从位置 0 开始,将 n
?MongoDB慢查询分析 开启 Profiling 功能,开启后会在运行的实例上收集有关MongoDB的写操作,游标,数据库命令等,可以在数据库级别开启该工具,也可以在实例级别开启。 该工具会把收集到的所有都写入到system.profile集合中,该集合是一个capped collection http://docs.mongodb.org/manual/tutorial/manage-th
GitHub Action简介 GitHub Actions使你可以直接在你的GitHub库中创建自定义的工作流,工作流指的就是自动化的流程,比如构建、测试、打包、发布、部署等等,也就是说你可以直接进行 CI(持续集成)和 CD(持续部署)。 简单地说,就是利用官方以及第三方提供的actions,组合action来实现一些你能做到的其他事情,比如抓取代码、运行测试、登录远程服务器,发布到第三方服务
流计算中的window计算 回顾下批式计算和流式计算的区别: 就数据价值而言,数据实时性越高,数据价值越高 批处理 批处理模型典型的数仓架构为T+1架构,即数据计算是按天计算的,当天只能看到前一天的计算结果。通常使用的引擎为Hive或者Spark等。计算的时候,数据是完全ready的,输入和输出都是确定性的 处理时间窗口 实时计算:处理时间窗口 数据实时流动,实时计算,窗口结束直接发送结果,不
数据流和动态表 SQL和流处理的区别 流式数据是一种实时生成的数据,而在一般的数据表中存储的数据肯定是有限的,这就会产生矛盾,由此就需要一种新表来存储流式数据,动态表就产生了。 动态表 动态表与表示批处理数据的静态表不同,动态表是随时间变化的。可以像查询静态批处理表一样查询它们。 连续查询的特点 查询从不终止 查询结果会不断更新,产生一个新的动态表 在任何时候,连续查询的结果在语义上与以批处理
Flink概述——什么是Flink Apache Flink 是一个框架和分布式处理引擎,用于在无边界和有边界数据流上进行有状态的计算。Flink 能在所有常见集群环境中运行,并能以内存速度和任意规模进行计算。 Apache Flink 功能强大,支持开发和运行多种不同种类的应用程序。它的主要特性包括:批流一体化、精密的状态管理、事件时间支持以及精确一次的状态一致性保障等。Flink 不仅可以运行
安装 docker 安装Docker相关环境包 yum -y install gcc yum -y install gcc-c++ 安装下载需要的软件包 yum install -y yum-utils 设置Docker的镜像仓库 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/cent
前言 Redis是一个开源的内存型数据库,也被称为数据结构服务器nosql。它是一种高性能、非关系型数据库,通常用于缓存和快速存储键值对数据,也可以支持多种复杂的数据结构。 Redis 在许多应用场景中都有应用,比如缓存、会话存储、消息队列、计数器、排行榜、实时分析和发布/订阅系统等。 centos 安装redis的过程 查看可用的 Redis 版本 可以在redis镜像地址: https://h
前言 我需要一台稳定且能够全天候运行的机器时,电脑原本预装的 Windows 10 系统,虽然在日常使用场景下表现良好,但大家都知道Windows系统的自动更新太频繁了,而且无法关闭。 为了解决这个问题,我决定重新安装 Windows Server 系统。这里我选择了 Windows Server 2022 版本。 Windows Server 2022 是微软最新发布的服务器操作系统版本,它提供
什么是WiredTiger? MongoDB和 WiredTiger的职责范围 MongoDB使用的底层存储引擎 WT是键/值数据库,而不是文档数据库 支持事务 使用无锁算法 压缩磁盘上的数据 使用WT缓存和FS缓存 支持多版本控制 它将 BSON文档存储在BTree中 通过内部键索引文档 文档存储在叶节点中 索引也是由索引值构成的B树 MongoDB数据存放在WT Table 中
前言 在看源码的时候发现一段代码很神奇,(x << n) | ((x & 0xffffffff) >> (32 - n))。乍一看不知道它在计算啥,又是右移操作,又有左移操作,还涉及到按位与和按位或操作,于是博主就对其做了深入学习。 下文博主会从位运算基础开始,然后深入探讨该表达式的计算过程。 基础——位运算 在深入讨论这段代码之前,先了解一些基本的位运算知识。
插入排序(InsertionSort) 插入排序是一种简单直观的排序算法,它的基本思想是将待排序的元素插入到已经排好序的序列中,从而得到一个新的有序序列。插入排序的具体过程如下: 从第一个元素开始,认为它已经是有序的序列。 取出下一个元素,在已经排序的序列中从后向前扫描。 如果已经排序的序列中的元素大于新元素,将该元素移到下一个位置。 重复步骤3,直到已经排序的序列中的元素小于等于新元素。 将
打造Go语言的pdqsort排序算法 pattern-defeating-quicksort简介 pdqsort是一种不稳定的混合排序算法,采用了快速排序和插入排序的结合,以避免快速排序在小数组上的性能下降。 pdqsort还使用了一些模式避免技术,以减少分支预测错误和缓存行不命中的次数。这些优化使得pdqsort在各种情况下都表现良好,尤其是对于大型、随机分布的数据集。 pdqsort已经被广泛
Git学习与问题总结 git介绍 Git是一个分布式版本控制系统,最初由Linus Torvalds于2005年创建。它被广泛用于软件开发中,以协调多个开发者之间的代码修改和版本控制。Git可以跟踪文件的修改历史,可以轻松地查看和恢复之前的版本。它还支持分支和合并,使得多个开发者可以独立地工作并在最终将其代码合并到一起。Git的优点包括速度快、可靠性高、支持分布式开发、易于使用等。 项目中使用 m
Golang应用容器化 Dockerfile 有三种方法可以制作Go的Dockerfile 官方Golang镜像 使用官方的Golang Docker镜像作为基础镜像,然后在其中添加应用程序的源代码和依赖项。这种方法的Dockerfile可以如下所示: FROM golang:latest WORKDIR /app COPY . . RUN go mod downl
Go并发编程 1. Goroutine 协程 Goroutine 是 Go 语言中的轻量级线程,可以在同一个进程中同时运行成百上千个 Goroutine。与操作系统线程相比,Goroutine 的创建和销毁的代价非常低,因此可以轻松地创建大量的 Goroutine,以实现高并发的处理能力。 一个线程里可以同时执行多个协程,Go可以同时创建上万级别的协程,也是Go支持高并发原因之一。 Gorout
Flink如何做到流批一体 流批一体的理念 2020年,阿里巴巴实时计算团队提出“流批一体”的理念,期望依托Flink框架解决企业数据分析的3个核心问题,理念中包含三个着力点,分别是一套班子、一套系统、一个逻辑。 一套班子:统一开发人员角色,现阶段企业数据分析有两个团队,一个团队负责实时开发,一个团队负责离线开发,在流批一体的理念中,期望促进两个团队的融合。 一套系统:统一数据处理技术,不管实时
前言 按照官方给出的配置方式,将所有配置都完成后,博主发现只能Flash Download,而点击调试测提示报错——详见【错误解决】的第二个错误,询问官方技术支持后,得到他们工程使用的CDK版本为2.20.0,于是尝试降低CDK版本,可惜天公不作美,还是同样的错误。 看论坛有人说Windows版本也有关,于是博主在想是不是我把系统环境搞乱了(之前配置了一堆用不上的环境),于是又把系统重装了——把出
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号