apt-get install时遇错误404

目录 1 问题 2 解决 3 编译源码时其他安装命令 1 问题 执行 sudo apt-get install libglib2.0-dev 或者其他安装命令时出现如下类似错误 http://security.debian.org/debian-security stretch/updates/main amd64 poppler-utils amd64 0.48.0-2+deb9u4 404 Not Found [IP: 151.101.194.132 80] 2 解决 找你相应的系统 我的是Ubuntu 18.04 阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 (1) 按照如上面说的 图形界面配置 (2)替换源 用你熟悉的编辑器打开: /etc/apt/sources.list 最好先备份一份sources.list (3) 找到对应的版本 deb https://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb-src https://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb https://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb-src https://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb https://mirrors.

实现元素进入界面的平滑效果

先看效果: 实现思路:获取页面中需要加载动画的节点,用元素的animate()方法创建一个动画对象,并传入两个关键帧,接着使用IntersectionObserverAPI创建观察对象,用于观察元素进入页面。当元素进入界面时,执行动画,最后取消元素的观察即可。 具体实现: 第一步: <div class="container"> <div class="module">模块1</div> <div class="module">模块2</div> <div class="module">模块3</div> <div class="module">模块4</div> <div class="module">模块5</div> <div class="module">模块6</div> <div class="module">模块7</div> <div class="module">模块8</div> <div class="module">模块9</div> <div class="module">模块10</div> </div> <script> const DISTANCE = 100; onload = function() { // 页面加载完毕,获取到所有需要加载动画的节点 document.querySelectorAll('.module').forEach(module => { // 循环调用每个模块的animate方法。用法:animate(keyframes, options) // keyframes 关键帧对象数组,或一个关键帧对象(其属性为可迭代值的数组) // options 代表动画持续时间的整数(以毫秒为单位),或者一个包含一个或多个时间属性的对象 let animation = module.animate([ { transform: `translateY(${DISTANCE}px)`, opacity: 0 }, { transform: 'translateY(0)', opacity: 1 } ], { duration: 1000, easing: 'ease-in-out' }) animation.

ubuntu18.04 安装cuda-10.2

0,重装ubuntu安装基本软件 刻录系统盘,rufus工具,3.10 基本配置和ubuntu阿里源 sudo apt-get install vim make cmake gcc g++ libnss3 tree git openssh-server openssh-client sudo apt-get install libssl-dev net-tools apache2-utils iputils-ping # ifconfig, ab,ping sudo apt-get install htop jtop # 压测指标 sudo apt-get install locales # python输出中文不报错,zh_CN.UTF-8 # 谷歌浏览器 sudo wget http://www.linuxidc.com/files/repo/google-chrome.list -P /etc/apt/sources.list.d/ sudo wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add - sudo apt-get update sudo apt-get install google-chrome-stable # vlc sudo apt-get install liba52-dev sudo snap install vlc # 搜狗输入法 sudo apt-get install fcitx 设置 -> 区域和语言 -> 管理已安装的语言 -> 键盘输入法系统 -> fcitx 下载搜狗输入法 https://pinyin.

大模型进阶应用——检索增强生成

RAG( Retrieval Augmented Generation),是一种将预训练大型语言模型功能与外部数据源相结合的技术。这种方法结合了LLM(如GPT-3或GPT-4)的生成能力和业务数据搜索机制,从而提供更准确、更符合业务要求的系统响应。本文概要探讨检索增强生成,给出详细步骤说明,以帮助您更好了解LLM实践应用。 RAG核心流程 关于LLM的优缺点请参考上篇博文,这里直接进入主题。了解RAG基本原理后,下面详细介绍搭建这个框架的步骤。 1. 数据收集 首先收集所有实际应用的业务数据。通常包括产品手册、开发文档、业务流程规范、FAQ(常见问题)等。 2. 数据分块 数据分块是将数据分解成更小、更易于管理的片段。例如一份长达100页的用户手册,您可以将其分成不同的部分,每个部分可能回答不同的用户问题。 这样每个数据块都集中在一个特定的主题上。当从源数据集中检索到一条信息时,它更有可能直接适用于用户的查询,因为我们避免了包括来自整个文档的不相关信息。同时也提高了效率,因为系统可以快速获取最相关的信息,而不是处理整个文档。 3. 嵌入向量模型 现在源数据已经被分解成更小的片段,需要将其转换为向量表示。这涉及需要选择相应模型将文本数据转换为嵌入向量,嵌入向量是捕获文本背后语义的数字表示。简而言之,文档嵌入向量允许系统理解用户查询,并根据文本的含义将其与源数据集中的相关信息进行匹配,而不是简单的逐字比较。此方法确保响应是相关的,并与用户的查询保持一致。 4. 处理用户查询 当用户查询信息传入系统时,还必须将其转换为嵌入向量表示。文档嵌入和查询嵌入必须使用相同的模型进行转换,以确保两者之间的一致性。一旦将查询转换为嵌入向量,系统将查询嵌入与文档嵌入进行比较。它使用余弦相似度和欧几里得距离等度量来识别和检索嵌入与查询嵌入最相似的数据块,这些数据块被认为是与用户查询最相关的。 5. 用LLM生成响应 检索到的文本块以及初始用户查询被输入到语言模型中。该算法将利用这些信息通过聊天界面对用户的问题生成连贯的回应。 为了无缝地完成使用llm生成响应所需的步骤,可以使用LlamaIndex这样的数据框架。该解决方案允许您通过有效地管理从外部数据源到语言模型(如GPT-3)的信息流来开发自己的LLM应用程序。 RAG应用举例 我们现在知道RAG允许LLM根据训练数据之外的信息形成连贯的响应。这类系统可用于很多应用场景,提高组织效率和用户体验。除了智能客服以外,下面再介绍RAG的一些实际应用。 文本摘要 RAG可以使用来自外部资源的内容来生成准确的摘要,从而节省大量时间。例如,经理和高级管理人员都是忙碌的人,他们没有时间筛选大量的报告。使用基于RAG的应用程序,他们可以从文本数据中快速获取最关键的发现,并更有效地做出决策,而不必阅读冗长的文档。 个性化推荐 RAG系统可用于分析客户数据,例如过去的购买和评论,以生成产品推荐。这将提高用户的整体体验,并最终为组织带来更多收入。例如,RAG应用程序可用于根据用户的观看历史和评分在流媒体平台上推荐更好的电影。它们还可以用来分析电子商务平台上的书面评论。由于LLM擅长理解文本数据背后的语义,RAG系统可以为用户提供比传统推荐系统更细致的个性化建议。 数据分析 组织通常通过密切关注竞争对手的行为和分析市场趋势来做出商业决策。这是通过仔细分析商业报告、财务报表和市场研究文件中的数据来完成的。使用RAG应用程序,组织不再需要手动分析和识别这些文档中的趋势。相反,LLM可以用来有效地获得有意义的洞见和改进业务数据分析过程。 总结 RAG系统的有效性在很大程度上取决于输入该系统的数据的质量。如果应用程序访问的源内容很差,生成的响应将是不准确的。组织必须提供高质量内容并实践微调过程。对于实际商业应用程序中,在RAG系统中使用数据集之前,非常有必要让业务专家来检查和补充业务空白信息。

可视化uniapp2.0高级事件使用说明

体验地址:http://hey.diyhey.com/admin/indexhttp://hey.diyhey.com/admin/login 为了使可视化uniapp2.0的功能 更加丰富,除了拖拉拽快速生成页面布局外,现在增加高级事件,动态的绑定编写的js代码,和动态绑定样式 可视化uniapp2.0的高级事件使用技巧! 1.可以自定义本页设计的初始化变量,可以定义变量的类型有 ,布尔类型,整型、字符串、对象、数组等! 初始化变量定义好了后可以绑定动态样式,现有class动态绑定样式和style动态绑定样式,和事件里编写js代码修改赋值!通过对初始化变量的修改来控制整个页面的修改, 2.可视化绑定v-if指令,v-if用于根据条件来判断是否渲染DOM元素。当条件为真时,元素会被渲染到DOM中;当条件为假时,元素会从DOM中移除。以初始化变量为例 3.可视化动态绑定类样式 :class vue项目中:class的用途是用于根据数据的变化动态绑定元素的类名。你可以根据条件、计算属性等来决定元素是否添加某个类名 ,用法如下: 4.可视化动态绑定style样式 :style vue项目中::style用于根据数据的变化动态绑定元素的样式。你可以根据条件、计算属性等来决定元素的样式。,用法如下: 绑定后,查看代码如下 6.可视化绑定v-for指令,v-for用于根据数据源循环渲染DOM元素。它可以遍历数组或对象,并为每个元素生成相应的DOM元素。 用法如下 效果如下 7,开启事件,事件相当于一个方法函数 ,开启事件有点击事件,本页自动加载事件,change事件,和长按事件 8,事件支持自定义方法名和方法传值,必须含有括号,支持传一个值,或者传两个值, 传一个值的话,接收参数为p,传两个值得话,接收参数的名称为p1,p2 固定写法 9.点击快速选择。进入一个代码工具栏,里面有AI生成代码,和请求接口还有页面跳转等。如图 页面跳转 请求接口

Modelsim 软件使用方法

一、建立工程 1、在建立工程(project) 前,先建立一个工作库( library),一般将这个library命名为 work。尤其是第一次运 行modelsim时,是没有这个“work”的。但我们的project 一般都是在这个work下面工作的,所以有必要先建立这个work。 File> new- > library 点击 library 后会弹出一个对话框,问是否要创建 work ,点击 OK 。就能看见 work. 2 、 如果在 library 中有 work ,就不必执行上一步骤了,直接新建工程。 File-> new-> project 会弹出 在 Project Name 中写入工程的名字,这里我们写一个二分频器,所以命名 half_clk, 然后点击 OK 。 会出现 由于我们是要仿一个自己写的程序,所以这里我们选择Create New File。 在 File Name 中写入文件名(这里的 file name 和刚刚建立的 project name 可以一致也可以不 一致)。注意 Add file as type 要选择成 Verilog (默认的是 VHDL ),然后 OK。 发现屏幕中间的那个对话框没有自己消失,我们需要手动关闭它,点 close 。 并且在 project 中出现了一个 half_clk.

分享 | 《计算机网络》黄传河等课后题参考答案

1.引言 百度网盘资源链接: 链接:https://pan.baidu.com/s/1urNQjabSSlqO4CkmqQE85w?pwd=7td8 提取码:7td8 2.参考书籍 《计算机网络》作者:黄传河 杜瑞颖 张健 等 简介:本书从思维能力、创新能力、系统能力培养出发,以建构型、设计型、创新型思维引导学生从无到有设计计算机网络。本书首先从需求出发,明确计算机网络应满足的要求和约束条件以及可用的设计方法,然后将计算机连接成小型网络,进而将小型网络互联成大型网络,实现任意计算机及应用程序之间数据的可靠传输;之后设计计算机网络服务和应用,并设计服务质量保证机制、网络安全机制和网络自动管理机制;最后讨论面向未来的新型网络技术。 3.资源中的课后题整理目录预览 目录 第一章 ·分别从计算机系统设计和软件设计的角度,尽量清晰地给出计算机网络的设计需求: ·分析 C / S 模式在各种情况下的性能。达到极限性能的条件是什么? ·请给出计算机网络更多可行的拓扑结构,并分析其优缺点 ·分析请求/应答模式与流式模式在保证传输正确性方面的差异 ·分析 OSI 参考模型的成功和失败之处 ·分析 TCP / IP 参考模型的主要不足 第二章 ·说明电梯中使用随行电缆而不是 UTP 或 STP 的原因。 ·计算单模光纤将3个波段全部充分使用时能达到的数据率。 · SDH 低阶帧复用为高阶帧时,为什么不把几个帧首尾相连拼接,而是采用字节能插复用方式? ·5G网络基站采用广播方式发送无线信号,解释为什么一个用户不能收到发给其他用户的数据 ·如果将 Wi - Fi 的帧格式改成像以太网那样只保留目的地址、源地址两个地址字段请重新设计终端、 AP 的发送、接收程序(伪代码),分析其可行性和优缺点。 ·给出蓝牙手表与牙手机配对的详细通信过程。 ·为以太网与 OTN 网络互联设计一种具体的方案 ·一部智能手机通过5G联网,办公室的计算机通过以太网联网,二者利用微信相互发送信息,请给出从手机到计算机的传输过程中各环节的 PDU 格式(名称) ·用香农定理解释 Wi - Fi 7的数据率指标。 ·为交换机设计一个支持802.1Q( VLAN )的帧转发算法。 ·设计一个算法,判断一个码字是否为合法的64B/66B编码。 第三章 ·给出中继器(转发器)、网桥、交换机和路由器的比较。 ·请简述路由器的工作原理。 ·给出用 SPT 构建组播树的算法。 ·如果用链路上的延迟时间作为计算路由的判据,据此给出 RIP 测量延迟、更新路表的代码实现逻辑 ·如果用链路上的可用带宽作为链路状态,据此给出修改后的 OSPF 计算路由算法。 ·给出一种实现高效的可靠广播的路由算法 ·IP - Ethernet 的组播地址和组播 MAC 地址有什么关系? ·给出一种高效任播通信的实现方案。 ·给出移动IPv4中家乡代理以代理方式实现转发的算法。 ·给出移动IPv6中不需要通过三角路由而直接收发的实现算法。 ·为 CIDR 设计一种数据包转发算法。 ·为 NAT 设计一个实现算法。 ·为 IP 数据报分片、分片还原设计实现算法。 第四章 4-1、给出接收方构造UDP、TCP伪首部的伪代码: 4-2、给出TCP选择性应答机制的实现算法: 4-3、给出TCP滑动窗口发送机制的实现算法: 4-4、给出TCP实现紧急数据发送与接收的实现算法: 4-5、为AP设计一种分段TCP,以缓解无线传输不稳定的实现算法: 4-6、修改TCP以适应星际通信:校验码为前向纠错码——海明校验码。列出主要的修改,以及相关的实现算法: 4-7、讨论TCP采用否定应答的可行性:对正确的报文不应答,对无法纠正的错误报文给出否定应答,对丢失的报文超时重传: 4-8、当发送端存在多条传输链路时,可以在源-目的之间建立多条并行的TCP连接,将数据分解到多条连接上并行传输。设计此机制的一种算法: 4-9、为QUIC设计一种实现方法: 第五章 5-1、如果美国关闭某国对根域名服务器的访问权,分析其结果。相关国家可以采取什么策略: 5-2、将递归解析与迭代解析进行融合,设计一种更加高效的DNS解析方法: 5-3、提供网络服务的服务器已有合法的域名,但没有合法的公网IP,只有动态分配的私有地址。为此种需求设计一种动态域名解析服务,使得该服务器也能按域名访问: 5-4、为HTTP3.

PhpStorm调试docker容器中的php项目

背景 已经通过docker容器启动了一个web服务,并在宿主机可以访问http://localhost:8080访问网页。 现在想使用phpstorm打断点调试代码。 方法 1. 容器内安装xdebug 进入容器 docker exec -it <container-name> bash 为php安装xdebug拓展 apt install php8.1-xdebug 查一下配置文件的路径,并编辑其内容 php --ini|grep xdebug # 输出路径信息如下(注意末尾多了个逗号) # /etc/php/8.1/cli/conf.d/20-xdebug.ini, 编辑xdebug配置文件vim /etc/php/8.1/cli/conf.d/20-xdebug.ini,并输入必要的配置项: zend_extension=xdebug.so xdebug.mode=debug xdebug.start_with_request=yes xdebug.client_host = host.docker.internal xdebug.client_port = 9003 xdebug.idekey = "phpstorm" 重启fpm使配置生效 service php8.1-fpm restart 到这里,容器内的web服务已经支持调试了,等着客户端跟它通信。 另外,php文件中可以调用xdebug_info()查看xdebug的配置信息。 2. PhpStorm配置调试环境 2.1 配置php解释器 点击确定后,选中这个解释器,并保存设置。 2.2. 配置被调试代码所在的服务器 2.3 开始调试 随后点击调试按钮(小瓢虫)即可监听调试。打个断点,发个请求试试。 3. 效果 4. 原理 xdebug的工作流程:客户端使用浏览器通过80端口访问服务端,服务端因为开启了xdebug所以根据配置,将调试信息通过9003端口发送到刚刚配置的docker宿主机地址(docker宿主机就是我们的客户端地址,因为phpstorm运行在windos宿主机上),宿主机上的phpstorm监听到9003端口的响应以后,通过dbpg协议与服务端进行连接,xdebug的每一步进都会响应到phpstorm上,phpstorm在接收到响应后,再通过docker环境里的php解释器,解释请求并显示在我们的编辑界面上。

【Go】Channel底层实现 ②

文章目录 channel底层实现channel发送、接收数据有缓冲 channelchannel 先写再读channel 先读再写(when the receiver comes first) 无缓冲channelchannel存在3种状态: channel底层实现 // channel 类型定义 type hchan struct { // channel 中的元素数量, len qcount uint // total data in the queue // channel 的大小, cap dataqsiz uint // size of the circular queue // channel 的缓冲区,环形数组实现 buf unsafe.Pointer // points to an array of dataqsiz elements // 单个元素(数据类型)的大小 elemsize uint16 // closed 标志位 closed uint32 // 元素的类型 elemtype *_type // element type 指向类型元数据 (内存复制、垃圾回收等机制依赖数据的类型信息) // send 和 recieve 的索引,用于实现环形数组队列(用于记录 交替读写的下标位置) sendx uint // send index recvx uint // receive index // recv goroutine 等待队列 想读取数据但又被阻塞住的 goroutine 队列 recvq waitq // list of recv waiters // send goroutine 等待队列 想发送数据但又被阻塞住的 goroutine 队列 sendq waitq // list of send waiters // lock protects all fields in hchan, as well as several // fields in sudogs blocked on this channel.

【数据分享】1929-2023年全球站点的逐日平均气温数据(Shp\Excel\免费获取)

气象数据是在各项研究中都经常使用的数据,气象指标包括气温、风速、降水、湿度等指标,其中又以气温指标最为常用!说到气温数据,最详细的气温数据是具体到气象监测站点的气温数据!本次我们为大家带来的就是具体到气象监测站点的数据——1929-2023年全球气象站点的逐日平均气温数据! 原始数据来源于美国国家海洋和大气管理局(NOAA)下设的国家环境信息中心(NCEI),原始数据以华氏度为单位,数据格式为csv,缺失数据用9999.9表示。为了方便大家使用,我们对原始数据进行了一些处理,包括:①气温单位转为摄氏度;②处理得到了shp和Exce两种数据格式;③对于excel格式,将缺失数据表示为空值,对于shp格式,缺失值依然用9999.9表示。该数据的其他重要信息包括数据坐标为GCS_WGS_1984,以2023年为例全球有12311个气象观测站点,具体的数据处理方式会在下文详细介绍! 以下为数据的详细介绍: 01 数据预览 该数据提供Shp和Excel两种数据格式,由于是逐日平均气温数据,又有95多个年份,数据条数非常多,难以将所有年份保存在一个文件中。我们将每一年的数据保存为一个Shp文件和一个Excel文件,一共有95个年份,也就是有95个Shp文件和95个Excel文件。 我们先来看一下Excel格式的数据,每个Excel文件中包含有该年365天每天的全球所有气象站点的平均气温值。 数据字段包括气象观测站点的编号(STATION)、气象观测站点的名称(NAME)、纬度(LATITUDE)和经度(LONGITUDE)以及每日平均气温数值(例如2023-01-01)。我们来预览一下: 接下来我们来看一下Shp格式的数据,同样每个Shp文件中都包含该年365天每天的全球所有气象站点的平均气温。 Shp格式数据的具体属性和Excel数据相同,我们以2023年气象观测站点的每日平均气温数据为例来预览一下: 2023年气象观测站点空间分布 02 数据来源 数据来源于美国国家海洋和大气管理局(NOAA)下设的国家环境信息中心(NCEI),网址为:https://www.ncei.noaa.gov/data/global-summary-of-the-day/archive/,包括了1929—2023年的气象数据,大家可以自己去该网站下载原始数据! 03 数据处理说明 1.合并处理: 从NCEI网站下载到的原始csv数据,每1个csv包含某个特定站点1年内所有的日均气温,按天记录,但并不全是365天,有的300多天,有的只有十几天。我们按照年份将每年涉及到的所有气象观测站点的每日平均气温数据进行合并处理,最终得到以年份命名的1929-2023年全球范围气象站点的逐日平均气温数据。 2.单位换算: 将华氏度转化为摄氏度单位,数据处理公式为摄氏度 = (华氏度 - 32°F) ÷ 1.8进行换算。 3.空值处理: 原始csv数据中的缺失值用数字9999.9表示!在处理时,Excel格式文件用空值表示数据缺失;由于Shp文件会自动把空值识别为0,为区分空值与0度气温,Shp中仍保留数字9999.9表示数据缺失,特此说明! 4.站点数量说明: 每一年的站点数并不相同,基本是越新的年份全球气象站点数越多,2023年有12311个,早些年份的气象站点较少。有一点需要注意,对于缺失经纬度信息的站点,Excel中进行保留,其经纬度信息为空值。Shp中则将缺失经纬度信息的站点进行了删除。所以存在Excel和Shp中站点数量不一致的情况,例如2023年Shp中的站点个数为12270,Excel中的站点数量为12311。 文末下方是我们微信公众号”立方数据学社”的名片,我们将定期介绍各类城市数据以及数据的可视化和分析技术,有关1929-2023年全球站点的逐日平均气温数据,欢迎大家多多关注我们进行了解!

后端学习:数据库MySQL学习

数据库简介 数据库:英文为 DataBase,简称DB,它是存储和管理数据的仓库。 接下来,我们来学习Mysql的数据模型,数据库是如何来存储和管理数据的。在介绍 Mysql的数据模型之前,需要先了解一个概念:关系型数据库。 关系型数据库(RDBMS)是指建立在关系模型基础上,由多张相互连接的二维表组成的数据库。二维表,指的是由行和列组成的表。 二维表的优点: 使用表存储数据,格式统一,便于维护 使用SQL语言操作,标准统一,使用方便,可用于复杂查询 MySQL是关系型数据库,是基于二维表进行数据存储的,具体的结构图下: 通过MySQL客户端连接数据库管理系统DBMS,然后通过DBMS操作数据库使用MySQL客户端,向数据库管理系统发送一条SQL语句,由数据库管理系统根据SQL语句指令去操作数据库中的表结构及数据。一个数据库服务器中可以创建多个数据库,一个数据库中也可以包含多张表,而一张表中又可以包含多行记录。 在Mysql数据库服务器当中存储数据,你需要: 1. 先去创建数据库(可以创建多个数据库,之间是相互独立的) 2. 在数据库下再去创建数据表(一个数据库下可以创建多张表) 3. 再将数据存放在数据表中(一张表可以存储多行数据) SQL通用语法 SQL:一门操作关系型数据库的编程语言,定义操作所有关系型数据库的统一标准。 SQL语句可以单行或多行书写,以分号结尾。 SQL语句可以使用空格/缩进来增强语句的可读性。 MySQL数据库的SQL语句不区分大小写。 注释: 1.单行注释:-注释内容或#注释内容(MySQL特有) 2.多行注释:/* 注释内容 */ SQL数据类型 MySQL中的数据类型有很多,主要分为三类:数值类型、字符串类型、日期时间类型。 数值类型 类型大小有符号(SIGNED)范围(默认)无符号(UNSIGNED)范围描述TINYINT1byte(-128,127)(0,255)小整数值SMALLINT2bytes(-32768,32767)(0,65535)大整数值MEDIUMINT3bytes(-8388608,8388607)(0,16777215)大整数值INT/INTEGER4bytes(-2147483648,2147483647)(0,4294967295)大整数值BIGINT8bytes(-263, 263-1)(0,264-1)极大整数值FLOAT4bytes(-3.402823466 E+38,3.402823466351 E+38)0 和 (1.175494351 E-38,3.402823466 E+38)单精度浮点数值DOUBLE8bytes(-1.7976931348623157E+308,1.7976931348623157E+308)0 和(2.2250738585072014 E-308,1.7976931348623157E+308)双精度浮点数值DECIMAL依赖于M(精度)和D(标度)的值依赖于M(精度)和D(标度)的值小数值(精确定点数) 字符串类型 类型大小描述CHAR0-255 bytes定长字符串(需要指定长度)VARCHAR0-65535 bytes变长字符串(需要指定长度)TINYBLOB0-255 bytes不超过255个字符的二进制数据TINYTEXT0-255 bytes短文本字符串BLOB0-65 535 bytes二进制形式的长文本数据TEXT0-65 535 bytes长文本数据MEDIUMBLOB0-16 777 215 bytes二进制形式的中等长度文本数据MEDIUMTEXT0-16 777 215 bytes中等长度文本数据LONGBLOB0-4 294 967 295 bytes二进制形式的极大文本数据LONGTEXT0-4 294 967 295 bytes极大文本数据 char 与 varchar 都可以描述字符串,char是定长字符串,指定长度多长,就占用多少个字符,和字段值的长度无关 。而varchar是变长字符串,指定的长度为最大占用长度 。相对来说,char的性能会更高些。

Golang协程池ants使用笔记

最近工程中遇到goroutine滥用导致的bug,采用了ants协程池来解决。 github-ants官方源码和使用说明。 记录一个例子 package main import ( "fmt" "runtime" "sync" "time" "github.com/panjf2000/ants/v2" ) // 模拟一个任务:求数字x的平方 func square(x int, ch chan int) { time.Sleep(1 * time.Second) // 模拟任务 fmt.Printf("Calculate: %d x %d = %d\n", x, x, x*x) ch <- x * x // 用channel存放返回值 close(ch) } func test_ants() { fmt.Println("CPU cores: ", runtime.GOMAXPROCS(0)) numTask := 10 poolSize := 3 // 申请一个协程池对象 pool, _ := ants.NewPoolWithFunc(poolSize, func(i interface{}) { arr := i.

PHP要怎么学--【思维导图知识范围】

语言视频选择收录专辑链接C张雪峰推荐选择了计算机专业之后-在大学期间卷起来-【大学生活篇】JAVA黑马B站视频JAVA部分的知识范围、学习步骤详解JAVAWEB黑马B站视频JAVAWEB部分的知识范围、学习步骤详解SpringBootSpringBoot知识范围-学习步骤【JSB系列之000】微信小程序详细解析黑马微信小程序视频–【思维导图知识范围】python详细解析python视频选择–【思维导图知识范围】phpPHP要怎么学–【思维导图知识范围】VUEVUE的环境安装–【环境篇】编辑器【idea-theme插件】没有颜值插件的编辑器是没有灵魂的–【idea-theme插件】白嫖项目(PHP 嫖呀嫖) 总目录在此我们在大大的花园里面挖呀挖呀挖,我们在项目花园里面P呀P呀P专辑工作量PHP登陆/php登录–【白嫖项目】难度★✫✰✰✰PHP登陆-购物车的实现–【白嫖项目】★★★✫✰PHP登陆-购物车-订单的实现–【白嫖项目】★★★✫✰PHP注册/登录/发邮件–【白嫖项目】★★★✫✰PHP在线相册–【白嫖项目】★★★★✫PHP节日摇奖-幸运大抽奖-带Thinkphp工作流程-【白嫖项目】★★★★★PHP注册、登陆、6套主页-带Thinkphp目录解析-【白嫖项目】】★★★★★PHP-Mysql图书管理系统–【白嫖项目】THINKPHP ★★★★★PHP-Mysql好运图书管理系统–【白嫖项目】PHP★★★★★PHP-简单项目引起的大麻烦–【白嫖项目】★★★✫✰PHP-简单项目巧起名的大作业–【白嫖项目】★★★✫✰PHP-界面漂亮的教学资源全站的毕业设计–【白嫖项目】★★★✫✰PHP-线上学习教学资源全站的毕业设计–【白嫖项目】THINKPHP ★★★★★–– 文章目录 本系列校训学习资源的选择环境的问题本人推荐 PHP视频的知识点分析不要语法,直接开搞本辑资源总结题外话 本系列校训 用免费公开视频,卷飞培训班哈人!打死不报班,赚钱靠狠干! 只要自己有电脑,前后项目都能搞!N年苦学无人问,一朝成名天下知! 学习资源的选择 https://www.bilibili.com/video/BV1S3411T7R7/ https://www.bilibili.com/video/BV1Kw411R7qX PHP零基础入门到精通教程(P3 核心编程技术)(77集) https://www.bilibili.com/video/BV1jx411M7B7/ 说明如下: 编辑工具: 1 phpstorm 下载略。能免费使用的只有社区版了。 2 vscode 随着2019年的到来,Stack Overflow对2018年的IT生态调查显示:Visual Studio Code超过Visual Studio一跃成为榜首,成为“最受欢迎的开发环境”,没有之一。 这个工具真的是很得人心的。其实+插件之后,这个小工具也是特别方便的。尤其是他多种多样的颜色主题。更是让很多人对他青睐有加 官方有1.80之后的下载。不过抛弃了win7. 给一下1.70.*的地址吧,你肯定用起来 感觉不到差别 https://az764295.vo.msecnd.net/stable/e4503b30fc78200f846c62cf8091b76ff5547662/VSCodeUserSetup-x64-1.70.2.exe 另一个国内的址 https://vscode.cdn.azure.cn/stable/e4503b30fc78200f846c62cf8091b76ff5547662/VSCodeUserSetup-x64-1.70.2.exe 3 hbuilder X. 这个工具的使用人也比较多,尤其是随着uni-app 的兴趣。 HBuilder是DCloud(数字天堂)推出的一款支持HTML5的Web开发IDE。 [1] HBuilder的编写用到了Java、C、Web和Ruby。HBuilder本身主体是由Java编写。 它基于Eclipse,所以顺其自然地兼容了Eclipse的插件。 但是他的全局搜索功能一直让人吐槽不止,(还不如直接用eclipse 上面的全局搜索的插件改动了)可能是学vsCode 但是又没学好。 更离谱的是hbuilder X 与hbuilder 的搜索方式,复制文件的方式,都不相同。这真的是离了大谱。甚至都怀疑他们的开发能力了。 地址自行百度吧,估计后面的版本肯定BUG要少。 4 nodepad++ 此作者JP人,经常发表一些对华不利言论,自动跳过吧。 而且它的功能大部分都可以被editplus ++ 代替,而且速度也更快。真的不知道为何这个编辑器经常出现在榜单。 5 其它编辑器 都小众一些了,对于现在的电脑,VSCode真的就算是小工具了。 主要是他真的好漂亮呀。 我最喜欢的是这个配色。有点蓝又有也绿。呃,好吧,你们随意下载配色方案吧。 还有一个紫色的方案,我也感觉挺漂亮的。 PHP节日摇奖-幸运大抽奖-带Thinkphp工作流程-【强撸项目】 图片上有点失真,其实很漂亮。相信我! phpstorm 2018加插件之后的样子:(这个插件早期的是免费的)

Vue3中ElementPlus组件二次封装,实现原组件属性、插槽、事件监听、方法的透传

本文以el-input组件为例,其它组件类似用法。 一、解决数据绑定问题 封装组件的第一步,要解决的就是数据绑定的问题,由于prop数据流是单向传递的,数据只能从父流向子,子想改父只能通过提交emit事件通知父修改。 父: import { ref } from 'vue' import CInput from '@/components/CInput/index.vue' const name = ref<string>('') <c-input v-model:value="name"/> 子组件: import { ref, computed } from 'vue'; const props = withDefaults(defineProps<{ value: string; }>(), { value: '' }) const inputValue = computed({ get: () => props.value, set: (value: string) => emit('update:value', value) }) <el-input v-model="inputValue" ></el-input> 以上即可实现父子之前数据的双向传递。 但在Vue3.4+版本中,新增了defineModel() ,这个宏可以用来声明一个双向绑定 prop,通过父组件的 v-model 来使用:const model = defineModel()。同样实现了父子组件数据的双向绑定。感兴趣的同学可以看下官网解释,其有更多用法。 二、属性、事件监听 在vue3版本中,“透传 attribute”指的是传递给一个组件,却没有被该组件声明为 props 或 emits 的 attribute 或者 v-on 事件监听器。

adb掉线

进adb shell老是掉线出来,把怡氧卸载了好很多。不知道在后台偷偷干啥?

python 相关

字符串 https://www.cnblogs.com/dreamer-fish/p/3818443.html python 打包成 exec 利用Pycharm将Python程序生成.exe执行文件 - 知乎 python 学习 http://www.runoob.com/python/python-for-loop.html 字符与数字转换 int(x [,base ]) 将x转换为一个整数 long(x [,base ]) 将x转换为一个长整数 float(x ) 将x转换到一个浮点数 complex(real [,imag ]) 创建一个复数 str(x ) 将对象 x 转换为字符串 repr(x ) 将对象 x 转换为表达式字符串 eval(str ) 用来计算在字符串中的有效Python表达式,并返回一个对象 tuple(s ) 将序列 s 转换为一个元组 list(s ) 将序列 s 转换为一个列表 chr(x ) 将一个整数转换为一个字符 unichr(x ) 将一个整数转换为Unicode字符 ord(x ) 将一个字符转换为它的整数值 hex(x ) 将一个整数转换为一个十六进制字符串 oct(x ) 将一个整数转换为一个八进制字符串 chr(65)='A' ord('A')=65 int('2')=2; str(2)='2'

kkfileview安装libreoffice和linux字体

一、安装Libreoffice 1、下载安装包 :链接: https://zh-cn.libreoffice.org/ 主页 | LibreOffice 简体中文官方网站 - 自由免费的办公套件 2、LibreOffice解压查看 #解压: tar -zxvf LibreOffice_7.3.0_Linux_x86-64_rpm.tar.gz 手动解压或命令解压 3、命令上进到rpms文件夹 执行yum localinstall *.rpm cd LibreOffice_7.5.6.2_Linux_x86-64_rpm/RPMS yum localinstall *.rpm 二、安装Libreoffice所需的中文字体 由于Libreoffice默认不支持中文,需手动安装字体。 1.下载中文字体包 http://kkfileview.keking.cn/fonts.zip 字体问题 大部分Linux系统上并没有预装中文字体或字体不全,需要把常用字体拷贝到Linux服务器上,具体操作如下: 下载如下字体包 https://kkfileview.keking.cn/fonts.zip 文件解压完整拷贝到Linux下的 /usr/share/fonts目录。然后依次执行mkfontscale 、mkfontdir 、fc-cache使字体生效 2.上传服务器至目录/usr/share/fonts 3.执行命令 unzip fonts.zip 再依次执行 mkfontscale mkfontdir fc-cache 如果报错命令没有找到,则安装对应命令,例如 yum install -y mkfontscale 4.赋予字体权限 cd /usr/share/fonts/zhFonts chmod -R 755 *.TTF chmod -R 755 *.ttf chmod -R 755 *.ttc 5.生效 source /etc/profile 6.将之前kkfileview服务和office服务都停止重启

Jmeter性能测试: 基于JDK 21 安装 Jmeter 5.6.3

目录 一、实验 1.环境 2.JDK下载 3.Jmeter下载 4.Windows安装JDK 21 5.Windows安装Jmeter 5.6.3 6.Linux安装JDK 21 7.Linux安装Jmeter 5.6.3 二、问题 1. Linux 的profile、bashrc、bash_profile文件有哪些区别 一、实验 1.环境 (1)主机 表1-1 主机 主机系统软件工具备注jia Windows Jmeter 5.6.3 java JDK21 localhost LinuxJmeter 5.6.3java JDK21 2.JDK下载 (1)下载 Java Downloads | Oracle (2)选择对应版本 windows Linux wget "https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz" 3.Jmeter下载 (1)下载 Apache JMeter - Download Apache JMeter (2)选择对应版本 1)Binaries 二进制版,即已经编译好、可直接执行; 2)Source 源代码版,需要自己编译; 3).tgz 后缀名的为Linux下使用的包 4).zip 后缀名的为Windows、macOS下使用的包 也可以国内镜像源下载 wget https://mirrors.tuna.tsinghua.edu.cn/apache//jmeter/binaries/apache-jmeter-5.6.3.tgz 4.Windows安装JDK 21 (1) 安装 下一步 关闭

style-components如何结合bootstrap样式

styled-components 是一个用于 React(以及其他框架的变体版本)的 CSS-in-JS 库,它允许你编写可复用、动态的样式,并直接在组件中定义它们。Bootstrap 是一个流行的前端 UI 框架,提供了预设的 CSS 样式和响应式的布局。 要将 Bootstrap 的样式与 styled-components 结合使用,你可以按照以下步骤操作: 安装 Bootstrap: 首先确保已安装并引入了 Bootstrap 的 CSS 文件。可以通过 npm 或 yarn 安装 Bootstrap 并将其添加到项目中: 1npm install bootstrap@next 2# 或者 3yarn add bootstrap@next 然后在项目的入口文件(如 index.js 或 main.js)中导入 Bootstrap 的 CSS: 1import 'bootstrap/dist/css/bootstrap.min.css'; 2// 或者未压缩版(开发时使用) 3import 'bootstrap/dist/css/bootstrap.css'; 创建 styled 组件并应用 Bootstrap 类名: 在 styled-components 中,可以创建自定义组件并结合 Bootstrap 的类名来实现其样式。例如: 1import styled from 'styled-components'; 2import { Container, Row, Col } from 'react-bootstrap'; 3 4// 创建一个基于 Bootstrap Container 的 styled 组件 5const StyledContainer = styled(Container)` 6 /* 在这里可以添加额外的内联样式 */ 7 background-color: palevioletred; 8`; 9 10// 使用 Bootstrap 的 Row 和 Col 组件,并结合 styled-components 11const CustomRow = styled(Row)` 12 margin-top: 2rem; 13`; 14 15const StyledColumn = styled(Col)` 16 border: 1px solid lightgray; 17 padding: 1rem; 18 background-color: white; 19`; 20 21function MyComponent() { 22 return ( 23 <StyledContainer fluid> 24 <CustomRow> 25 <StyledColumn xs={12} md={6}> 26 {/* 这里是你的内容 */} 27 </StyledColumn> 28 <StyledColumn xs={12} md={6}> 29 {/* 另外一块内容 */} 30 </StyledColumn> 31 </CustomRow> 32 </StyledContainer> 33 ); 34} 35 36export default MyComponent; 在这个示例中,我们首先导入了 Bootstrap 的 Container、Row 和 Col 组件,并且为它们创建了基于 styled-components 的包装组件。这样可以在保留 Bootstrap 基础样式的同时,对这些组件添加或覆盖特定的样式规则。

基于antdesign pro 如何将公众号的文章同步到网页上

Ant Design Pro 是一个基于React的中后台应用框架,本身并不直接支持微信公众号文章同步到网页上的功能。不过,你可以利用Ant Design Pro构建的项目来开发这样一个功能模块。以下是一种实现思路及步骤: 步骤概述 注册并认证微信公众号: 在微信公众平台上创建或登录你的公众号,并完成相关认证,获取AppID和AppSecret。 开通并配置开发者模式: 在微信公众平台的“开发者中心”开启开发者模式,获取API接口调用凭证。 使用微信公众号API获取文章: 使用微信提供的/cgi-bin/material/get_material(获取永久素材)或者/cgi-bin/wxopen/template/list(获取已群发图文消息列表)等接口,根据需要获取文章内容。 在Ant Design Pro项目中编写接口请求: 在Pro项目的model层(models文件夹下的.js文件)中定义一个effect函数,用来发起HTTP请求获取微信公众号文章。通常会使用诸如axios、fetch或者umi-request这样的库发送网络请求。 1// models/article.js 示例代码 2import { request } from 'umi'; 3 4export async function getWechatArticles() { 5 return request('https://api.weixin.qq.com/cgi-bin/material/batchget_material', { 6 method: 'POST', 7 data: { 8 access_token: /* 这里从缓存或服务端获取access_token */, 9 type: 'news', 10 offset: 0, 11 count: 20, // 获取的文章数量 12 }, 13 }); 14} 处理响应数据并在前端展示: 在上述effect函数中处理返回的文章数据,转换为组件可识别的数据格式。在页面组件(pages文件夹下)中,通过dispatch action触发模型层的effect方法,获取文章数据。将获取的文章数据显示在页面上,例如使用List组件或其他自定义组件。 1// pages/index.js 示例代码 2import { useEffect, useState } from 'react'; 3import { useDispatch, useSelector } from 'dva/router'; 4import { connect } from 'dva'; 5 6const IndexPage = () => { 7 const dispatch = useDispatch(); 8 const [articles, setArticles] = useState([]); 9 10 useEffect(() => { 11 dispatch({ type: 'article/getWechatArticles' }).