算法 笔记18

构建之法阅读笔记1

第一阶段读了构建之法的1-6章,感觉自己收获比较大、印象深刻的有如下几处: 第一个是初级软件工程师如何去成长的问题。 1.要积累软件开发相关知识,提升技术技能。 技术有很多种,你不需要做到全会,但至少你要对其中一种做到熟练掌握,每一个都懂一点,每一个又都不太懂,这样的感觉以后如果在公司最多就是个杂工 ......
笔记

大话AI绘画技术原理与算法优化

引子 博主很长一段时间都没有发文,确实是在忙一些技术研究。 如标题所示,本篇博文主要把近段时间的研究工作做一个review。 看过各种相关技术的公关文章,林林总总,水分很多。 也确实没有多少人能把一些技术细节用一些比较通俗的语言阐述清楚。 故此,再一次冠以大话为题,对AI绘画主要是stable di ......
算法 绘画 大话 原理 技术

《代码大全2》阅读笔记05

在阅读这十一章之前,我曾经遇到过一个问题。在编写代码时,我往往会尝试使用最新的技术和最酷的功能,而忽略了代码的可读性和可维护性。我觉得,只要我的代码能够正常工作,就没有什么问题。 然而,在阅读这一章之后,我意识到这种想法是错误的。书中介绍了许多关于代码可读性和可维护性的最佳实践,例如避免使用全局变量 ......
代码 笔记 大全

程序员面试金典---18

数字流的秩 代码: var StreamRank = function() { this.arr = [] }; /** * @param {number} x * @return {void} */ StreamRank.prototype.track = function(x) { this.a ......
程序员 程序 18

Vim学习笔记

在Linux终端命令行输入gvim & 打开GVIM Vim打开文件 终端输入:gvim *** 或 gvim *** & 使用Vim独立打开文件 vim *** 在终端显示文件 &:表示当前的这个进程打开,但是它还不影响你接下来在terminal上面敲一些其他的一些命令 Vim实现比较文件代码 终 ......
笔记 Vim

DVT_eclipse学习笔记1

常用方法 1.自动补全 快捷方式:alt+/ (可以多次按这个“/” 选择补全的东西) 自动补全有时候会包含许多提案,分为几类: 第一个是你可以在范围内访问的内容(信号、变量、方法等,取决于所包含的范围) alt+/ 第二个用于代码模板 alt+/+/ 第三个是其他的东西,例如模块实例 alt+/+ ......
DVT_eclipse eclipse 笔记 DVT

SpringCloud学习笔记

Eureka 基本知识 Eureka主要学习的是微服务的一些基本概念之类的,至于具体的操作其实都是在配置appolication.yml文件了,多看文档以及自己写过的demo就懂了。Eureka在微服务中承担的角色有三个,一个是注册中心server,一个是服务供给方porvider,以及接受用户请求 ......
SpringCloud 笔记

中国剩余定理(CRT)学习笔记

约定 $A\perp B$ 表示 $\gcd(A,B)=1$。 $A\mid B$ 表示 $B\equiv 0\pmod{A}(A\neq0)$。 引入 考虑以下这道题: 有物不知其數,三三數之剩二,五五數之剩三,七七數之剩二。 問物幾何?—— 《孫子算經》 也就是说,求出下列关于 $x$ 方程组的 ......
定理 笔记 CRT

构建之法阅读笔记02

《构建之法》是一本关于软件架构设计的经典著作,作者是美国软件工程师、架构师和教育家Christopher Alexander。这本书提出了一种全新的软件架构设计方法——模式语言法,通过模式语言法,可以帮助软件架构师和设计师更好地理解软件系统的结构和设计,提高软件的可维护性和可扩展性。本书的主要内容包 ......
笔记

Django笔记三十三之缓存操作

本文首发于公众号:Hunter后端 原文链接:Django笔记三十三之缓存操作 这一节介绍一下如何在 Django 中使用 redis 做缓存操作。 在 Django 中可以有很多种方式做缓存,比如数据库,比如服务器文件,或者内存,这里介绍用的比较多的使用 redis 作为缓存。 这篇笔记主要内容如 ......
缓存 笔记 Django

C++中的STL容器和算法

C++ STL(标准模板库)提供了一组丰富的容器和算法,使得开发者能够更加高效地编写程序。本文将介绍STL中的一些常用容器和算法。 容器 vector vector是一个动态数组,可以在运行时调整大小。它的优点在于可以快速地访问元素,缺点是在插入和删除元素时需要移动后面的元素。 #include < ......
算法 容器 STL

笔记:《语义化版本》速记口令

笔记:《语义化版本》速记口令 #FastAdmin #版本管理 语义化版本 版本号管理是项目管理中的重中之重,如果版本号管理混乱,会导致项目冲突,引发项目灾难,严重的还会导致项目失败。 《语义化版本》规范就是为了避免这些问题,但是很多小伙伴看着长长规范,进而产生了抵抗心理,这里整理了一个简单的速记口 ......
语义 口令 版本 笔记

一文带你了解区块链中15种共识算法

所有主要的区块链共识算法解释 区块链技术席卷全球,提供了一种去中心化且安全的信息存储和传输方式。它还彻底改变了交易的执行方式,随之而来的是广泛的共识算法。在这里,共识算法在确保区块链网络的完整性方面发挥着关键作用。在本文中,我们将探讨所有主要类型的区块链共识算法、它们的含义、优点、缺点,以及为什么它 ......
区块 共识 算法

[2core]加解密算法

本文主要记录从.netframework迁移到.net6后,加解密算法的跨平台测试,如AES和RSA算法。因为RSA使用了BouncyCastle类库提供的实现,所以并没有遇到什么问题。 完成加解密算法跨平台测试,迁移工作算是告一段,也标志着从.netframework迁移.net6工作完毕。 迁移 ......
算法 2core core

KMP算法

KMP算法用于解决字符串匹配问题, str1 某个字符串是否与 str2 一样, 如果一样, 返回 str2 开始的位置 //KMP算法模板 int n,m; char s[N],p[M]; int ne[M]; //s[]是长文本,p[]是模式串(短串),n是s的长度,m是p的长度 //读入字符串 ......
算法 KMP

人月神话读书笔记一

用了将近一周的时间,终于把人月神话读完了。本想着今天把读书笔记全部发完,但是老师要求每天都要发表博客,所以我决定分三天发表。我看的是40周年中文纪念版。相比于原版增加了一些作者根据今天软件工程管理现状添加的一些新的观点与评论,看看哪些过时了,哪些依然有效。 人月神话在开头有一句荷兰谚语:Een sc ......
神话 笔记

用户故事与敏捷方法阅读笔记03

第11章 测量并监控速率 我们将项目分成一系列迭代来做发布计划,每轮迭代中安排一定故事点的任务。一轮迭代完成的故事点就是项目的速率。因为速率是非常重要的度量,所以怎么测量它变得很重要,而且速率在初期的迭代可能很不稳定,经过两三轮迭代后,才能获得一个长期的、比较稳定的速率。注意:对于尚未完成的故事,不 ......
笔记 方法 故事 用户

一文彻底搞懂ZAB算法,看这篇就够了!!!

最近需要设计一个分布式系统,需要一个中间件来存储共享的信息,来保证多个系统之间的数据一致性,调研了两个主流框架Zookeeper和ETCD,发现都能满足我们的系统需求。其中ETCD是K8s中采用的分布式存储,而其底层采用了RAFT算法来保证一致性,之前已经详细分析了Raft算法的原理,今天主要仔细分 ......
算法 ZAB

用户故事与敏捷方法阅读笔记02

第6章 用户故事验收测试 比起写冗长的需求列表,可以用测试来充实很多用户故事的细节。测试是一个两步走的流程:第一,将测试要点记录在故事卡的背面,任何时候发现新的测试,都可以记录到故事卡的背面;第二,将测试要点变成全面的测试,这些测试可以用来演示故事已正确、完整地实现。 测试验收提供了确认故事是否被完 ......
笔记 方法 故事 用户

[练习记录] 《算法竞赛进阶指南》打卡活动

89. a^b 题目大意 给 $a,b,p$ 求 $a^b \mod p$。 思路 可以直接快速幂。当模数 $p$ 为 $1$ 的时候特判一下。 代码 ll a, b, mod; ll qpow(ll a, ll b) { ll res = 1; while (b) { if (b & 1) res ......
算法 指南

四月读书笔记三

在人月神话中巴比伦塔的失败主要是因为交流不畅,语言不通使得复杂的工程在交流模块变得更加的复杂,过度的交流影响了建筑的效率以及概念的完整性。软件产品也是一样的,一个软件产品的复杂度并不比巴比伦塔低,从分析到设计到开发到测试,整个流程下来,完全可以说软件产品就是一个小型的巴比伦塔,所谓软件工程的工程二字 ......
笔记

分块+莫队算法

分块 复杂度$O(n \sqrt n)$ 主要目的是解决一些区间操作问题 把区间拆分成 $\sqrt{n}$ 大小的块 每次碰到修改的操作,对于散块,直接暴力操作,对于整块,那么用一个 $tag$ 进行标记即可 也就是说对于一个操作 $[l,r]$ 来说 我们需要进行操作主要分三步: 暴力操作头散块 ......
算法

Gusfield算法学习

算法详解 等价流树正如其名,树上两点间的路径上的边权最小值为图上两点间的最小割。 Gusfield算法就是建等价流树的一种算法。设当前正在处理的集合为 $S(|S|\ge 2)$,从 $S$ 中任选两个点 $x,y$,求出 $x,y$ 间的最小割也就是最大流 $flow$,此时在最小割树中加入一条从 ......
算法 Gusfield

Berlekamp–Massey 算法 小记

神秘算法,模拟赛对着死磕了3.5h 然后发现是高科技,大家都不会,但是大家都会 T3 ,输麻了。 这个算法是一个增量构造的过程,我们尝试维护前 $i-1$ 项的递推式,然后对于加入 第 $i$ 项后调整。 具体的,假设我们有一个数列 $1,2,4,10,24,50$,最初我们的递推式是 ${}$。 ......
小记 算法 Berlekamp Massey

django学习笔记--小白三板斧

小白必会三板斧 1.HttpResponse #返回字符串 return HttpResponse("Hello, world.") 2.render # 返回一个模板 return render(request, 'hello.html') # 传参返回 l1 = ['Billy', 'Felix ......
三板 三板斧 笔记 django

快速傅里叶变换FFT学习笔记

离散傅里叶变换(Discrete Fourier Transform,简称DFT)的思想是利用 $\omega_n^k$将一个多项式转为点值表示法。 对于一个多项式$A(x)=a_0+a_1x+a_2x^2+...+a_{n-1}x^{n-1}$,我们按照前文所云,将所有的 $\omega_n^k... ......
笔记 FFT

Django学习笔记--目录结构

Django目录结构 myproject myproject文件夹 # 项目同名的文件夹 settings.py # django暴露给用户可以配置的配置文件 urls.py # 路由与视图函数(也可以是类)对应关系(路由层) wsgi.py # 网关,准备一些相关的环境(可以忽略) app01文件 ......
结构 笔记 目录 Django

三维重建原理和算法

原理 采集深度图像:使用深度相机采集场景深度信息,并将其转换为深度图像。 点云生成:根据深度图像,将场景中的点云数据进行生成。 点云滤波:对于采集到的点云数据进行滤波处理,去除无效数据点。 点云配准:如果需要将多个点云数据融合为一个完整的点云模型,需要进行点云配准操作,使得各个点云数据之间能够对齐。 ......
算法 原理

FFmpeg开发笔记(二)搭建Windows系统的开发环境

由于Linux系统比较专业,个人电脑很少安装Linux,反而大都安装Windows系统,因此提高了FFmpeg的学习门槛,毕竟在Windows系统搭建FFmpeg的开发环境还是比较麻烦的。不过若有已经编译好的Windows版本FFmpeg开发包,那就免去了繁琐的Windows编译过程,所以直接安装已 ......
Windows 环境 笔记 FFmpeg 系统

Django学习笔记--命令行启动与pycharm启动

命令行模式 创建Django项目 django-admin startproject 项目名 启动django项目 cd 项目名 python manage.py runserver # 可以配置ip和端口 python manage.py runserver 0.0.0.0:8000 # 如果遇到 ......
命令 pycharm 笔记 Django