ICode9

精准搜索请尝试: 精确搜索
  • vite打包出现global is not defined和Buffer is not defined的解决方法2022-08-03 02:03:36

    在index.html里   <script> var global = global || window; </script> 安装buffer yarn add buffer   在main.ts里   import * as buffer from "buffer"; window.Buffer = window.Buffer || buffer.Buffer;  

  • mysql 调优集锦2022-07-31 19:34:08

    这篇文章收集了常见的mysql调优知识   1.字段层面 •尽量使用TINYINT、SMALLINT、MEDIUM_INT作为整数类型而非INT,如果非负则加上UNSIGNED •VARCHAR的长度只分配真正需要的空间,如果长度固定则用CHAR长度 •使用枚举或整数代替字符串类型 •尽量使用TIMESTAMP而非DATETIME,在表数

  • MySQL 表连接策略 NLJ vs BNL2022-07-29 00:31:42

    select * from t1 join t2 on t1.c = t1.c 这样的语句,mysql优化器会选择t_a或t_b作为驱动表, 使用straight_join来指定 左边的表为驱动表。如果字段c上有建立索引,MySQL会使用 Index Nested-Loop Join 策略处理join,否则会使用Block Nested-Loop Join 来处理。 什么是Index Nested-L

  • Android 12(S) 图像显示系统 - 杂谈 - source crop & display frame2022-07-28 13:34:43

      用于GPU合成的GraphicBuffer的size(width & height) -- > 所有走GPU的layer,会绘制到这个buffer中 然后setClientTarget传递给HWC   SourceCrop 表示要把源的哪一部分做显示,需不需要裁剪 Client Target 应该是不需要做裁剪的,应该把 buffer中的所有内容 都 经由 HWC 显示到 di

  • 文件的读写2022-07-25 23:00:29

    public void copyFile(String source, String dest) throws Exception { // 构建文件输入出流。 InputStream is = new FileInputStream(new File(source)); OutputStream os = new FileOutputStream(new File(dest)); // 构建 InputStreamReader, OutputStreamWriter Reader read

  • 适用于顺序磁盘访问的1分钟法则2022-07-23 10:32:44

    预备知识梳理 本文中设定 block size 与 page size 大小相等。 什么是 Block 文章的开始先解释一下,磁盘的数据读写是以扇区 (sector) 为单位的,而操作系统从磁盘上读写数据是以块 (block) 为单位的,一个 block 由若干个连续的 sector 组成,使用 block 代替 sector 能够提升读写速度,相

  • mysql面试题整理2022-07-21 12:00:44

    1 myisam 和 innodb 引擎的区别 innodb 支持事务,外键,myisam 不支持 innodb 支持 mvcc ,myisam 不支持 innodb 支持表锁、行锁,myisam 仅支持表锁 innodb 必须有主键,myisam 不需要 2 mysql有几种锁 按锁粒度划分有三种:表锁、页锁、行锁 加锁机制:可分为 悲观锁和乐观锁 兼容性:意向

  • sprinf sprintf_s 的用法2022-07-20 08:32:37

    函数功能: 将数据格式化输出到字符串 函数原型: int sprintf( char *buffer, const char *format [,argument] ... ) 注意这里的buffer指针 指向的是格式化字符后写入的首地址。 意思就是:格式化数据,并写入字符串,这些方法已经不用,因为有更安全的方法可用。 参考sprintf_s, _sprintf

  • CPP常用代码2022-07-19 11:32:14

        IO--写 void DataProc_Manager::WriteXYZToFile(std::string filePath, int nPtNum, const double* lat, const double* lon, const double* height) { char buffer[1024] = ""; FILE* fp = nullptr; fp = fopen(filePath.c_s

  • Android字符串相机2022-07-18 18:03:37

    很早就看到过这种场景,用字符来展示图片甚至播放视频,可以说是黑客炫(zhuang)技(b)神器。当然有了一定的技术之后,就明白其实实现挺简单。 相机预览 首先是相机预览的实现,因为不是这里的重点,所以直接在Github上找到成熟的代码。Google官方的Demo当然是最好的: https://github.com/googles

  • xenomai驱动开发-参考博文-2驱动编写实例2022-07-17 14:04:32

    根据xenomai代码里面的example修改出一个字符驱动代码及其驱动对应的测试程序。 点击查看代码 #include <linux/module.h> #include <rtdm/rtdm_driver.h> MODULE_LICENSE("GPL"); MODULE_AUTHOR("ziv,<woshidahuaidan2011@hotmail.com>"); #define SIZE_MAX

  • 【Windows内核研究】使用 NtQuerySystemInformation API 获取进程信息2022-07-16 14:00:52

    需要附加依赖项ntdll.lib 需要导入NtQuerySystemInformation等相关函数的定义。这里使用了ProcessHacker的phnt库。 Github ProcessHacker phnt 代码如下: #include <iostream> #include <phnt_windows.h> #include <phnt.h> using namespace std; #define PTR_ADD_OFFSET(Poin

  • memset c++运算符“,”2022-07-15 12:02:56

    memset: 是计算机中C/C++语言初始化函数。作用是将某一块内存中的内容全部设置为指定的值,这个函数通常为新申请的内存做初始化工作。 memset()函数原型:extern void *memset(void *buffer, int c, int count) buffer:为指针或是数组; c:是赋给buffer的值; count:是buffer的长度。 c的取

  • STM32与物联网02-网络数据收发2022-07-15 10:32:19

    在上一节中,介绍了 ESP8266 的使用方法。不过上一节中都是通过串口调试工具手动发送信息的方式来操作 ESP8266 ,这肯定不能用于实际开发。因此,本节介绍如何编写合适的程序来和 ESP8266 交互,从而收发并解析网络数据。 TCP服务器 在 TCP 服务器下,可以使用移动设备主动连接 ESP8266 提

  • 实现一个简单的ftp文件上传功能2022-07-12 17:01:49

    # 接收端# 服务端 import json import socket import struct sk = socket.socket() sk.bind(('127.0.0.1', 8080)) sk.listen() conn, addr = sk.accept() buffer = 1024 head_len = conn.recv(4) head_len = struct.unpack('i', head_len) header = conn.recv

  • xv6——文件系统:磁盘的I/O操作和内存缓存机制2022-07-10 23:35:47

    目录 目录相关源码文件架构图数据结构内存的缓存块函数实现IDE磁盘的读写操作磁盘串口读写操作函数 void idestart()磁盘中断处理函数void ideintr()磁盘的读写处理函数void iderw()内存缓存区操作函数Buffer块初始化函数void binit()查找指定的磁盘block块对应的buffer缓存块函数

  • ByteBuffer 字节缓冲区2022-07-07 13:04:20

              HeapByteBuffer 在jvm堆上面的一个buffer,底层的本质是一个数组  由于内容维护在jvm里,所以把内容写进buffer里速度会快些;并且,可以更容易回收 DirectByteBuffer 底层的数据其实是维护在操作系统的内存中,而不是jvm里,DirectByteBuffer里维护了一个引用addres

  • 前端怎么使用AES 实现对登陆密码的加密和解密2022-07-06 23:05:41

    前端怎么使用AES 实现对登陆密码的加密和解密 import crypto from 'crypto' // @version 1.0 aes-128-gcm 加密 // @params msg 为加密信息 key为32位的16进制key // @return 返回base64编码 export function Encrypt(msg) { let key = 'adasdasdsad....' try { var pwd = Buffer.

  • Java实现文件下载(MySQL,MongoDB,OSS)2022-07-06 11:03:42

        1.  MySQL 1 public void getFile(String id,HttpServletResponse response) { 2 // TODO 自动生成的方法存根 3 DataObject criteria = DataFactory.INSTANCE.create("com.primeton.das.criteria", "criteriaType"); 4 crit

  • MySQL 学习(五) InnoDB架构2022-07-03 09:01:29

      表空间(ibd文件),一个MySQL实例可以对应多个表空间,用于存储记录、索引等数据。 段,分为数据段(Leaf node segment)、索引段(Non-Leaf node segment)、混滚段(Rollback segment),InnoDB是索引组织表,数据段就是B+树的叶子节点,索引段即为B+树的非叶子节点。段用来管理多个Extent(区)。 区,表空

  • MySQL锁大小错误2022-07-03 01:02:46

    1.The total number of locks exceeds the lock table size(锁的总数超过锁表的大小 ) 国外牛人解释: If you're running an operation on a large number of rows within a table that uses the InnoDB storage engine, you might see this error: ERROR 1206 (HY000): The total

  • 使用pll锁相环注意2022-07-01 16:00:59

    1.   如果通过外部引脚引进来,注意,比如你需要一个100MHz和一个19MHz的时钟,CLK100M是连接引脚F17的端口,然后CLK100M为clk_in1 clk_out1和clk_out2两个输出,一个100M,一个10M,只能用clk_out1这个100M的时钟,不能直接用CLK100M这个端口,如果用了,布线会报错,说明你的CLK100M不是简单端口而应

  • CMU15445 (Fall 2019) 之 Project#1 - Buffer Pool 详解2022-07-01 00:03:57

    前言 这个实验有两个任务:时钟替换算法和缓冲池管理器,分别对应 ClockReplacer 和 BufferPoolManager 类,BufferPoolManager 会用 ClockReplacer 挑选被换出的页,并通过 DiskManager 将换出的页写到数据库文件中。下面介绍这两个类的实现过程。 代码实现 如果直接克隆 Bustub 仓库,得到

  • Netty-01-NIO基础2022-06-29 00:00:24

    一. NIO 基础 non-blocking io 非阻塞 IO 1. 三大组件 1.1 Channel & Buffer channel 有一点类似于 stream,它就是读写数据的双向通道,可以从 channel 将数据读入 buffer,也可以将 buffer 的数据写入 channel,而之前的 stream 要么是输入,要么是输出,channel 比 stream 更为底层 graph L

  • OpenGL glVertexAttribPointer()函数解析2022-06-28 22:04:34

    OpenGL glVertexAttribPointer()函数解析   glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 3 * sizeof(float), (void*)0);   glEnableVertexAttribArray(0);     glVertexAttribPointer函数的参数非常多,所以我会逐一介绍它们:    第一个参数指定我们要配置的顶点

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有