数组 语言 结构 文件
GLM数据结构输出到控制台
#include <iomanip> #include <iostream> #include <string> #include <sstream> #include <locale> #include <codecvt> #include <limits> // #include <glm/gl ......
【grep】linux 查找某目录下包含关键字内容的文件
1、目的 由于工作需要,需要查询包含某个接口的文件 2、方法 基于grep查询包含某个文件的内容 -> % grep --help Usage: grep [OPTION]... PATTERNS [FILE]... Search for PATTERNS in each FILE. Example ......
php数组,输入一个值,并返回比他小的值
function findClosestSmallerValue($array, $inputValue) { $minDifference = PHP_INT_MAX; $closestValue = null; foreach ($array as $value) { if ($value < ......
07linux启动文件添加环境变量
添加一个环境变量场景 vi /etc/profile 在文件最后面添加(如下是go执行的路径) export PATH=$PATH:/usr/local/go/bin 添加多个,路径与路径用:隔开 export PATH=$PATH:/usr/local/go/bin:/usr/local/yarn ......
Closure Table如何将树形结构存储在数据库中
今天介绍将树形结构存储在数据库中的第三种方法——闭包表Closure Table 继续用上一篇的栗子,下面是要存储的结构图: 需要回答的问题依旧是这样几个: 1.查询小天的直接上司。 2.查询老宋管理下的直属员工。 3.查询小天的所有上司。 4.查询老王管理的所有员工。 方案三、Closure Ta ......
解决python opencv2在pycharm中没有代码提示的问题 (不修改包文件)
解决python opencv2在pycharm中没有代码提示的问题 (不修改包文件) Jetbrain官方论坛解决方案 (en) 解决方法1 打开windows的环境变量配置 添加新环境变量 名: PYTHONPATH 值: 你的cv2库的文件夹路径 一般的(如果用的是venv),cv2的路径在你 ......
初学后端,如何做好表结构设计?
这篇文章介绍了设计数据库表结构应该考虑的4个方面,还有优雅设计的6个原则,举了一个例子分享了我的设计思路,为了提高性能我们也要从多方面考虑缓存问题。 ......
Go语言 :使用简单的 for 迭代语句进行 TDD 驱动测试开发与 benchmark 基准测试
前提准备与运行环境请参考:(新手向)在Linux中使用VScode编写 "Hello,world"程序,并编写测试-Ubuntu20.4 在 Go 中 for 用来循环和迭代, Go 语言没有 while,do,until 这几个关键字,我们只能使用 for。这也算是件好事! 让我们来为一个重复字符 ......
LeetcodePractice-数组
88. 合并两个有序数组 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。 注意:最终,合并后数组不应由函数返回, ......
C语言 ini 文件读写【Iniparser库】
一、概述 iniparser是针对INI文件的解析器。ini文件则是一些系统或者软件的配置文件。iniparser库的API可以对ini文件(配置文件)进行解析、设置、删除等操作。 常见的 ini 读写开源库有:minIni、inifile、iniparser 二、使用 下载 Github:http ......
C | 结构体字节对齐
01.字节对齐现象 #include<stdio.h> struct st1{ char a; short b; int c; }; struct st2{ char a; int c; short b; }; int main(){ printf("sizeof st1 = %u\n", size ......
结构型-装饰器模式
定义 如果希望动态给某个类添加一些属性或者方法,但是你又不希望这个类派生的对象受到影响,那么装饰器模式就可以给你带来这样的体验。 它的定义就是在不改变原对象的基础上,通过对其进行包装拓展,使得原有对象可以动态具有更多功能,从而满足用户的更复杂需求。 举个例子,一部手机,你可以买各种花里胡哨的手机壳等 ......
Django笔记二之连接数据库、执行migrate数据结构更改操作
本篇笔记目录索引如下: Django 连接mysql,执行数据库表结构迁移步骤介绍 操作数据库,对数据进行简单操作 接下来几篇笔记都会介绍和数据库相关,包括数据库的连接、操作(包括增删改查)、对应的字段类型、model 里Meta 相关参数和 QueryAPI 的详解等。 这一篇先介绍数据库的连接和 ......
Linux 硬盘存储和文件系统介绍
一:硬盘存储 1、存储类型 根据存储的特性不同,可以将存储分为内存和外存两类。 内存:又叫做主存储器,计算机中所有程序的运行都是在内存中进行。 外存:又叫做辅助存储器,因为内存容量小且断电会丢失所有数据。所以磁盘来实现数据的持久化存储。例如:硬盘,U盘,软盘,光盘 2、硬盘和磁盘: 磁盘是一个广泛的 ......
深入理解Go语言中的sync.Cond
1. 简介 本文将介绍 Go 语言中的 sync.Cond 并发原语,包括 sync.Cond的基本使用方法、实现原理、使用注意事项以及常见的使用使用场景。能够更好地理解和应用 Cond 来实现 goroutine 之间的同步。 2. 基本使用 2.1 定义 sync.Cond是Go语言标准库中的一 ......
自己动手从零写桌面操作系统GrapeOS系列教程——20.汇编语言读硬盘实战
学习操作系统原理最好的方法是自己写一个简单的操作系统。 本讲我们设计一个简单的读硬盘实验。通过一定的方法使硬盘第二个扇区的前3个字节依次为1、2、3,最后3个字节依次为3、2、1,中间的506个字节全为0。然后通过读硬盘程序将硬盘第二个扇区的数据读取到内存0x7e00-0x7fff的地方,也就是内存 ......
自己动手从零写桌面操作系统GrapeOS系列教程——21.汇编语言写硬盘实战
学习操作系统原理最好的方法是自己写一个简单的操作系统。 在上一讲中我们学习了用汇编语言读硬盘,本讲我们来学习用汇编语言写硬盘。同样也是设计一个简单的实验,实验内容为: 在内存中准备一段有特征的512字节数据,地址为0x7e00~0x7fff,其特征是前3个字节依次为4、5、6,最后3个字节依次为6、 ......
发布新版博客备份功能:生成 sqlite 数据库文件,vscode 插件可查看
大家好,最近我们重新开发了园子的博客备份功能,今天发布第一个预览版,欢迎大家试用。园子的 vscode 插件也集成了博客备份功能,不仅可以查看通过博客后台下载的备份文件,而且可以直接在 vscode 插件中直接操作博客备份的创建、下载、查看。 ......
自己动手从零写桌面操作系统GrapeOS系列教程——17.用汇编语言清空屏幕
学习操作系统原理最好的方法是自己写一个简单的操作系统。 在QEMU中会默认输出一些字符,有时候会干扰我们自己输出的字符。一个比较好的办法是向将屏幕清空,再输出我们想要输出的字符。下面就来学习如何清空屏幕。 一、清空屏幕 其实清空屏幕的原理很简单,就是将屏幕写满空格就行了。 下面来实战。mbr8.as ......
MongoDB 数组查询($elemMatch)、更新操作(占位符$)详解
前言和官方文档 前言: MongoDB中涉及到数组字段的查询和更新很常用,抽空把自己开发工作中常遇到的场景拿出来并结合官方文档小结一下。 有说的不对的地方,欢迎指出交流探讨,也希望这篇笔记能够帮到你。 可以转载,但请注明出处。 之前自己写的SpringBoot整合MongoDB的聚合查询操作,感兴趣 ......
设计模式(十五)----结构型模式之外观模式
1 概述 有些人可能炒过股票,但其实大部分人都不太懂,这种没有足够了解证券知识的情况下做股票是很容易亏钱的,刚开始炒股肯定都会想,如果有个懂行的帮帮手就好,其实基金就是个好帮手,支付宝里就有许多的基金,它将投资者分散的资金集中起来,交由专业的经理人进行管理,投资于股票、债券、外汇等领域,而基金投资的 ......
设计模式(十四)----结构型模式之组合模式
1 概述 对于这个图片肯定会非常熟悉,上图我们可以看做是一个文件系统,对于这样的结构我们称之为树形结构。在树形结构中可以通过调用某个方法来遍历整个树,当我们找到某个叶子节点后,就可以对叶子节点进行相关的操作。可以将这颗树理解成一个大的容器,容器里面包含很多的成员对象,这些成员对象即可是容器对象也可以 ......
设计模式(十六)----结构型模式之代理享元模式
1 概述 定义: 运用共享技术来有效地支持大量细粒度对象的复用。它通过共享已经存在的对象来大幅度减少需要创建的对象数量、避免大量相似对象的开销,从而提高系统资源的利用率。 2 结构 享元(Flyweight )模式中存在以下两种状态: 内部状态,即不会随着环境的改变而改变的可共享部分。 外部状态,指 ......
MySql生成ER【StarUML】文件
1. 背景 要画ER图,一个个打费时费力,StarUML文件打开是json。那么就有可能自动生成。 2. 效果 把表结构生成好,自己只要维护关系即可。 3. 代码 import lombok.Data; import java.io.FileWriter; import java.io.IOExce ......
FAQ docker运行tomcat提示找不到文件
docker运行tomcat提示找不到文件 问题描述 docker课程中,老师是用tomcat镜像来演示docker的一些操作 但同样的操作有的同学是ok的,有的同学就会遇到如下错误 核心信息 Exited(1) Cannot find /usr/local/tomcat/bin/setclassp ......
面试官:请说一下如何优化结构体的性能?
使用内存对齐机制优化结构体性能,妙啊!
可以简单理解为:将对齐系数小的字段,尽可能放在一起,尽量减少空白填充。
掌握了内存对齐机制后,结构体Struct的优化,调整下字段顺序,效果立竿见影。内存对齐其实就是典型的空间换时间的方式,来达到优化的目的。牢记对齐原则,对实际场景进行分析,减少空白填充。 ......
【数据结构与算法学习】线性表(顺序表、单链表、双向链表、循环链表)
实现语言:C++ 1. 线性表相关概念 线性表(Linear List) 是由n(n≥0)个具有相同特性(数据类型)的数据元素(结点)a1,a2,...,ai-1,ai,ai+1,...,an组成的有限序列。 其中,a1为线性起点(起始结点),an为线性终点(终端结点)。对于每一个数据元素ai,我们 ......
在Windows 环境下使用 Nginx 搭建 HTTP文件服务器 实现文件下载 全步骤(详细)
HOW TO USE NGINX TO BUILD A FILE SERVER WHAT IS THE NGINX ? “Nginx 是一款轻量级的 HTTP 服务器,采用事件驱动的异步非阻塞处理方式框架,这让其具有极好的 IO 性能,时常用于服务端的反向代理和负载均衡。 它是由俄罗斯人 伊戈尔·赛 ......
【数据结构与算法学习】散列表(Hash Table,哈希表)
实现语言:C++ 1. 散列表 散列表,英文名称为Hash Table,又称哈希表、杂凑表等。 线性表和树表的查找是通过比较关键字的方法,查找的效率取决于关键字的比较次数。 而散列表是根据关键字直接访问的数据结构。散列表通过散列函数将关键字映射到存储地址,建立了关键字和存储地址之间的一种直接映射关系 ......
为什么 C# 可能是最好的第一编程语言
纵观神州大地,漫游中华互联网,我看到很多人关注为什么你应该开始学习JavaScript做前端,而对blazor这样的面向未来的框架有种莫名的瞧不起,或者为什么你应该学习Python作为你的第一门编程语言,恕不知有多少公司业务是用Python开发的,Python更多是粘合剂,作为胶水语言来使用。我用C ......