一、题目描述寿司店周年庆,正在举办优惠活动回馈新老用户。寿司转盘上总共有n盘寿司,prices[i]是第i盘寿司的价格。如果客户选择了第i盘寿司,寿司店免费赠送客户距离第i盘寿司最近的下一盘寿司j,前提是prices[j]
华为OD机试 - 流浪地球(Python/JS/C/C++ 2024 E卷 100分)
哪 吒
python华为odjava
华为OD机试2024E卷题库疯狂收录中,刷题点这里专栏导读本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新,全天CSDN在线答疑。一、题目描述流浪地球计划在赤道上均匀部署了N个转向发动
华为OD机试 - 吃到最多的刚好合适的菜(Python/JS/C/C++ 2024 E卷 100分)
哪 吒
python华为odjava
一、题目描述入职后,导师会请你吃饭,你选择了火锅。火锅里会在不同时间下很多菜。不同食材要煮不同的时间,才能变得刚好合适。你希望吃到最多的刚好合适的菜,但你的手速不够快,用m代表手速,每次下手捞菜后至少要过m庙才能在捞(每次只能捞一个)。那么用最合理的策略,最多能吃到多少刚好合适的菜?二、输入描述第一行两个整数n,m,其中n代表往锅里下的菜的个数,m代表手速。接下来有n行,每行有两个数x,y代表第x
如何学习Transformer架构
fydw_715
Transformers学习transformer架构
Transformer架构自提出以来,在自然语言处理领域引发了革命性的变化。作为一种基于注意力机制的模型,Transformer解决了传统序列模型在并行化和长距离依赖方面的局限性。本文将探讨Transformer论文《AttentionisAllYouNeed》与HuggingFaceTransformers库之间的关系,并详细介绍如何利用HuggingFaceTransformers的代码深入学
鸿蒙OpenHarmony【Docker编译环境】工具
郁闷的黄米鸡
hmharmonyos华为单片机嵌入式硬件鸿蒙鸿蒙系统
工具概述为了方便开发者进行设备开发,OpenHarmony提供了HUAWEIDevEcoDeviceTool(以下简称DevEcoDeviceTool)一站式集成开发环境,同时借助了应用容器引擎Docker简化编译环境搭建。表1工具简介工具简介相关资源DevEcoDeviceToolDevEcoDeviceTool是OpenHarmony面向智能设备开发者提供的一站式集成开发环境,支持OpenHa
Spring Boot 全局异常处理
十二同学啊
SpringBootspringbootjava前端
在开发任何应用程序时,异常处理都是至关重要的。一个良好的异常处理机制不仅能提高用户体验,还能帮助开发者更好地定位和修复问题。SpringBoot提供了强大的异常处理能力,使我们能够集中处理应用程序中抛出的各种异常,从而构建更健壮和可靠的系统。 本文将深入探讨SpringBoot中全局异常处理的最佳实践,包括如何创建全局异常处理器,如何自定义异常响应,以及如何处理不同类型的异常。为什么需要全局
Spring Boot 统一返回数据格式
十二同学啊
SpringBootspringbootjava
在构建RESTfulAPI时,保持一致的返回数据格式至关重要。统一的返回格式不仅可以提高API的可读性,还能方便客户端解析和处理响应数据。SpringBoot提供了多种方式来实现统一的返回数据格式,本文将深入探讨如何在SpringBoot项目中实现这一目标,并提供代码示例和最佳实践。为什么需要统一的返回数据格式?提高API可读性:统一的格式可以让客户端更容易理解API的响应数据。简化客户端解析
Android adb 调试,不在手机上点击信任 “允许usb调试” 即可连接的方式(手机需root)
Grassto
androidadb
前言不知道大家有没有被这玩意儿困扰过,第一次插上手机进行adb调试的时候,总会弹出“允许usb调试”的弹窗。这手机明明就在我的手上,为什么还要弹出这个信任框呢,这不是多此一举吗?一个场景:我现在有一台Android电视,通过网络adb进行连接,但是同一局域网内有不止我自己一台电脑,这时候如果没有这个权限校验,那任何该网络下的设备都可以连接到这个电视,那就保不准会干些什么坏事了。如何直接信任本文介绍
2025最新的陪玩小程序系统有哪些开源架构?如何完全的实现安全交付?
D矜持
架构安全前端框架交友uniapp系统架构
一、开源架构前端框架:*Uni-app等前端框架使得开发者能够创建跨平台的应用程序,这些应用程序在不同操作系统和设备上具有一致的用户体验。这些框架提供了丰富的组件和工具,使得开发者能够快速构建出美观、易用的用户界面。*通过这些前端框架,用户可以轻松地浏览陪玩师资料、下单、支付以及进行实时通信等操作,从而提高用户满意度和忠诚度。实时通信技术:*WebSocket实时通信技术实现了用户与陪玩师之间的即
融云 IM 干货丨SwiftUI 集成 IMKit 源码解决方案
融云即时通讯
关于在SwiftUI中集成IMKit的问题,需要找到一个源码解决方案。首先,需要明确IMKit是什么。IMKit是一个用于构建即时通讯界面的库,它提供了消息列表、输入视图等组件,可以简化开发过程。既然问题是关于在SwiftUI中集成IMKit,IMKit可能最初是为UIKit设计的。因此,需要找到一种方法,将UIKit的组件或视图与SwiftUI的视图进行桥接。首先,需要检查IMKit是否已经支持
简单优化模型实例(1)
补三补四
数学建模#LINGO算法数学建模
lingo实例简单线性规划简单线性规划是数学中线性规划的一种简化形式,主要用于解决具有两个决策变量的线性目标函数在一组线性约束条件下的最优化问题。目标函数:是一个关于决策变量的线性函数,通常表示z=ax+by的形式,其中a和b是常数。目标函数需要在约束条件下达到最大值或最小值。约束条件:是一组关于决策变量的线性不等式或等式。这些约束条件限制了决策变量的取值范围,使得问题的解在一定的可行域内。例如x
Nmap使用总结
黑客KKKing
网络工程师网络安全网络web安全安全
0X00背景nmap是测试中常用的网络探测工具,但是这回简单的操作,一直了解不深入,现在深入的了解和学习一下。在文章结构上,我把平时常用的内容提前了,以便再次查阅的时候,比较方便。0X01安装nmap可以到DownloadtheFreeNmapSecurityScannerforLinux/Mac/Windows下载最新版本(目前最新版本nmap-7.70)0X02实例部分实例下面给出一些实例,简
如何给 Flask 项目创建 Systemd 服务 ?
flasksystemd
为Flask应用程序创建systemd服务文件是确保应用程序在Linux系统上顺利运行的一种极好的方法,它提供了一种健壮且可靠的方式来管理应用程序进程。本文将指导您完成为Flask应用程序创建和配置systemd服务。1:CreateaFlaskApplication创建一个样例Flask应用程序fromflaskimportFlaskapp=Flask(__name__)@app.route('
你曾经star学习的项目现在能看懂了吗?
github阅读
前言我有随时翻看GitHubStar的习惯,尤其是下载了GitHubApp后更加方便我查看了,后来我偶然翻到了自己曾经折腾过的项目LiteWebChat_Frame看了看文档忽然一个问题映入了我的脑海自己曾经因为没看懂而star的项目现在看懂了吗这也是我写文的缘由且也想和大家聊聊这件事三个阶段我又重新看了一遍我的Star,发现可分为三个阶段1.Minecraft及相关启动器2.命令行及后端3.前端
如何在 Nginx 中创建单个文件的别名 ?
nginx
Nginx以其高性能和稳定性而闻名,它提供了一种为特定文件创建别名的方法,就像Apache一样。当您希望通过特定URL访问文件而不将文件移动到相应的目录结构时,此功能特别有用。下面是如何在Nginx中为单个文件设置别名的分步指南。Step1:OpenNginxConfigurationFile第一步,打开Nginx配置文件。该文件通常位于/etc/nginx/nginx.conf,但是确切的位置因
掌握Linux top命令:优化系统性能的关键
Linuxtop命令:系统性能监控与优化指南top命令是Linux系统中优化系统性能的关键工具之一。通过实时监控系统资源,top帮助管理员和开发者迅速定位性能瓶颈,进行有效优化。本文将详细介绍如何使用top命令监控和优化系统性能,涵盖其主要功能和实际应用技巧。top命令概述top命令提供了实时的系统资源使用情况,包括CPU使用率、内存使用率、进程列表等信息。通过这些数据,用户可以快速了解系统当前的
《进阶篇第9章》学习vuex知识点后练习:把求和案例改成getters
@[toc]效果展示:注意点1:问题:如何实现“当前和为奇数再加”?答案:incrementOdd(){if(this.sum%2){this.sum+=this.n}}注意点2:问题:select下拉框默认为1时,点击加号没问题,但是下拉框选中为2时,n值变成字符串了,不应该是数字类型名吗?旧代码:无论设置value="1"还是value=1都无效当前求和为:{{sum}}123答案:因为没设置
3分钟理清QPS、TPS、RT 以及它们之间的关系
java后端
在评估系统性能的时候,我们经常会听到QPS、TPS、RT、吞吐量等等一些概念,包括在一些面试场景下可能也会遇到这些概念,我们来稍微梳理一下。做一个简单的概念扫盲。一QPSQPS(QueriesPerSecond)是每秒的查询率,它表示一台服务每秒响应的查询的次数。具体来说,QPS反映了系统在高并发环境下处理请求的能力。一个高QPS的系统能够在单位时间内处理更多的请求,从而提供更好的用户体验和更高的
Redis过期策略内存淘汰机制、持久化 、备份与恢复 、事务 、管道技术 、发布与订阅等知识点详解
ziania_cumt
Redisredis中间件
缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题缓存雪崩我们可以简单的理解为:由于缓存挂掉或原有缓存失效,(例如:我们设置缓存时采用了相同的过期时间,在同一时刻出现大面积的缓存过期),所有原本应该访问缓存的请求都去查询数据库了,而对数据库CPU和内存造成巨大压力,严重的会造成数据库宕机。从而形成一系列连锁反应,造成整个系统崩溃。解决办法:Redis高可用;限流降级:通过加锁或者队列来控制读数
开源多媒体播放器 VLC 将引入基于 AI 的实时字幕功能
自不量力的A同学
人工智能
开源多媒体播放器VLC将引入基于AI的实时字幕功能在CES2025上,VideoLAN展示了VLC即将推出的基于AI的实时字幕功能,以下是对行业格局可能产生的影响:对VLC自身的影响用户体验提升:该功能可自动为视频生成字幕并支持多种语言实时翻译,对于观看外语影片或有特殊需求的用户,如聋哑人士,无需再寻找合适字幕,大大提升了使用便利性和观影体验,有助于吸引更多用户使用VLC播放器,进一步巩固其在开源
华为快应用引擎技术架构详解
weixin_34233679
javascriptux操作系统ViewUI
2018年3月华为与小米,Oppo,Vivo等9家手机厂商,联合发布快应用联盟标准。快应用是一种基于手机硬件平台的新型应用形态,无需安装,即点即用,又兼具原生应用体验(性能、系统整合、交互等)。同时,快应用在诞生之初就在开发规范、能力接入、开发者服务等层面实现了手机厂商间的标准化统一,极大地降低开发者的适配成本。与传统应用相比,快应用具备如下特点:Instant:即点即用,用户无需等待Everyw
.net core webapi框架
weixin_30952103
数据库
折腾了一段时间。。还是用ef比较熟,哈哈参考地址:https://www.cnblogs.com/danvic712/p/10331976.html--jwt参考地址:https://www.cnblogs.com/laozhang-is-phi/p/9495618.html#autoid-1-0-0--swaggerapi文档版本控制/aufofac/仓储/redis/cors跨域/aop...
AWS设计和实现无人机图形显示和控制系统
weixin_30777913
云计算aws
设计无人机图形显示和控制系统涉及多个组件,这些组件组合在一起以确保实时监控和精确控制。要使用AWS实施无人机图形显示和控制系统,您需要通过云基础设施将实时视频流、遥测监控和远程控制相结合。AWS提供了IoTCore、Kinesis和Lambda等强大的工具,有助于构建此系统,而Python可用于控制无人机和处理流。该系统可以通过高级AI/ML等功能进行扩展,以实现自主飞行,或与其他AWS服务(如S
原生微信小程序中使用Sass
王阔阔
微信小程序微信小程序sass小程序
在project.config.json文件中配置项setting项{"setting":{//省略其他配置项"useCompilerPlugins":["sass"]},}将wxss后缀名改为scss,就可正常使用sass语法了Sass有两种语法格式:SCSS(SassyCSS)和Sass(缩进语法),SCSS为Sass的主流语法格式。
ShardingSphere 实现数据脱敏
drebander
数据库shardingSphere
在分布式数据库场景中,数据的安全性至关重要。ShardingSphere提供了一套灵活且高效的数据加密解决方案,帮助开发者在分布式环境中实现敏感数据的加密存储和安全访问,从而满足合规性和安全性需求。一、数据加密的重要性1.数据加密的作用保护隐私:防止敏感数据(如用户信息、交易记录)被窃取。满足合规:符合GDPR、CCPA等隐私保护法规的要求。防止数据泄露:即使数据库被非法访问,敏感数据也无法直接读
Web 企业级项目开发:从零到一的学习与实践
阿宝Altai
html5vue.jsjquery
随着互联网技术的不断演进,Web企业级项目开发已经成为了许多企业的核心竞争力。那么,如何掌握这门技术并在实际工作中加以应用呢?下面,我将为您深入探讨Web企业级项目开发的相关内容。一、Web简介Web,全称为WorldWideWeb,是一种基于超文本和超媒体的信息系统。它允许用户通过浏览器访问全球范围内的信息。Web的发展经历了从静态页面到动态内容的转变,如今的企业级应用更是要求Web具备高效、安
JVM StackMapTable 属性的作用及理解
lijingyao8206
jvm字节码Class文件StackMapTable
在Java 6版本之后JVM引入了栈图(Stack Map Table)概念。为了提高验证过程的效率,在字节码规范中添加了Stack Map Table属性,以下简称栈图,其方法的code属性中存储了局部变量和操作数的类型验证以及字节码的偏移量。也就是一个method需要且仅对应一个Stack Map Table。在Java 7版
回调函数调用方法
百合不是茶
java
最近在看大神写的代码时,.发现其中使用了很多的回调 ,以前只是在学习的时候经常用到 ,现在写个笔记 记录一下
代码很简单:
MainDemo :调用方法 得到方法的返回结果
[时间机器]制造时间机器需要一些材料
comsci
制造
根据我的计算和推测,要完全实现制造一台时间机器,需要某些我们这个世界不存在的物质
和材料...
甚至可以这样说,这种材料和物质,我们在反应堆中也无法获得......
 
开口埋怨不如闭口做事
邓集海
邓集海 做人 做事 工作
“开口埋怨,不如闭口做事。”不是名人名言,而是一个普通父亲对儿子的训导。但是,因为这句训导,这位普通父亲却造就了一个名人儿子。这位普通父亲造就的名人儿子,叫张明正。 张明正出身贫寒,读书时成绩差,常挨老师批评。高中毕业,张明正连普通大学的分数线都没上。高考成绩出来后,平时开口怨这怨那的张明正,不从自身找原因,而是不停地埋怨自己家庭条件不好、埋怨父母没有给他创造良好的学习环境。
jQuery插件开发全解析,类级别与对象级别开发
IT独行者
jquery开发插件 函数
jQuery插件的开发包括两种: 一种是类级别的插件开发,即给
jQuery添加新的全局函数,相当于给
jQuery类本身添加方法。
jQuery的全局函数就是属于
jQuery命名空间的函数,另一种是对象级别的插件开发,即给
jQuery对象添加方法。下面就两种函数的开发做详细的说明。
1
、类级别的插件开发 类级别的插件开发最直接的理解就是给jQuer
Rome解析Rss
413277409
Rome解析Rss
import java.net.URL;
import java.util.List;
import org.junit.Test;
import com.sun.syndication.feed.synd.SyndCategory;
import com.sun.syndication.feed.synd.S
RSA加密解密
无量
加密解密rsa
RSA加密解密代码
代码有待整理
package com.tongbanjie.commons.util;
import java.security.Key;
import java.security.KeyFactory;
import java.security.KeyPair;
import java.security.KeyPairGenerat
linux 软件安装遇到的问题
aichenglong
linux遇到的问题ftp
1 ftp配置中遇到的问题
500 OOPS: cannot change directory
出现该问题的原因:是SELinux安装机制的问题.只要disable SELinux就可以了
修改方法:1 修改/etc/selinux/config 中SELINUX=disabled
2 source /etc
面试心得
alafqq
面试
最近面试了好几家公司。记录下;
支付宝,面试我的人胖胖的,看着人挺好的;博彦外包的职位,面试失败;
阿里金融,面试官人也挺和善,只不过我让他吐血了。。。
由于印象比较深,记录下;
1,自我介绍
2,说下八种基本类型;(算上string。楼主才答了3种,哈哈,string其实不是基本类型,是引用类型)
3,什么是包装类,包装类的优点;
4,平时看过什么书?NND,什么书都没看过。。照样
java的多态性探讨
百合不是茶
java
java的多态性是指main方法在调用属性的时候类可以对这一属性做出反应的情况
//package 1;
class A{
public void test(){
System.out.println("A");
}
}
class D extends A{
public void test(){
S
网络编程基础篇之JavaScript-学习笔记
bijian1013
JavaScript
1.documentWrite
<html>
<head>
<script language="JavaScript">
document.write("这是电脑网络学校");
document.close();
</script>
</h
探索JUnit4扩展:深入Rule
bijian1013
JUnitRule单元测试
本文将进一步探究Rule的应用,展示如何使用Rule来替代@BeforeClass,@AfterClass,@Before和@After的功能。
在上一篇中提到,可以使用Rule替代现有的大部分Runner扩展,而且也不提倡对Runner中的withBefores(),withAfte
[CSS]CSS浮动十五条规则
bit1129
css
这些浮动规则,主要是参考CSS权威指南关于浮动规则的总结,然后添加一些简单的例子以验证和理解这些规则。
1. 所有的页面元素都可以浮动 2. 一个元素浮动后,会成为块级元素,比如<span>,a, strong等都会变成块级元素 3.一个元素左浮动,会向最近的块级父元素的左上角移动,直到浮动元素的左外边界碰到块级父元素的左内边界;如果这个块级父元素已经有浮动元素停靠了
【Kafka六】Kafka Producer和Consumer多Broker、多Partition场景
bit1129
partition
0.Kafka服务器配置
3个broker
1个topic,6个partition,副本因子是2
2个consumer,每个consumer三个线程并发读取
1. Producer
package kafka.examples.multibrokers.producers;
import java.util.Properties;
import java.util.
zabbix_agentd.conf配置文件详解
ronin47
zabbix 配置文件
Aliaskey的别名,例如 Alias=ttlsa.userid:vfs.file.regexp[/etc/passwd,^ttlsa:.:([0-9]+),,,,\1], 或者ttlsa的用户ID。你可以使用key:vfs.file.regexp[/etc/passwd,^ttlsa:.: ([0-9]+),,,,\1],也可以使用ttlsa.userid。备注: 别名不能重复,但是可以有多个
java--19.用矩阵求Fibonacci数列的第N项
bylijinnan
fibonacci
参考了网上的思路,写了个Java版的:
public class Fibonacci {
final static int[] A={1,1,1,0};
public static void main(String[] args) {
int n=7;
for(int i=0;i<=n;i++){
int f=fibonac
Netty源码学习-LengthFieldBasedFrameDecoder
bylijinnan
javanetty
先看看LengthFieldBasedFrameDecoder的官方API
http://docs.jboss.org/netty/3.1/api/org/jboss/netty/handler/codec/frame/LengthFieldBasedFrameDecoder.html
API举例说明了LengthFieldBasedFrameDecoder的解析机制,如下:
实
AES加密解密
chicony
加密解密
AES加解密算法,使用Base64做转码以及辅助加密:
package com.wintv.common;
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
import sun.misc.BASE64Decod
文件编码格式转换
ctrain
编码格式
package com.test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
mysql 在linux客户端插入数据中文乱码
daizj
mysql中文乱码
1、查看系统客户端,数据库,连接层的编码
查看方法: http://daizj.iteye.com/blog/2174993
进入mysql,通过如下命令查看数据库编码方式: mysql> show variables like 'character_set_%'; +--------------------------+------
好代码是廉价的代码
dcj3sjt126com
程序员读书
长久以来我一直主张:好代码是廉价的代码。
当我跟做开发的同事说出这话时,他们的第一反应是一种惊愕,然后是将近一个星期的嘲笑,把它当作一个笑话来讲。 当他们走近看我的表情、知道我是认真的时,才收敛一点。
当最初的惊愕消退后,他们会用一些这样的话来反驳: “好代码不廉价,好代码是采用经过数十年计算机科学研究和积累得出的最佳实践设计模式和方法论建立起来的精心制作的程序代码。”
我只
Android网络请求库——android-async-http
dcj3sjt126com
android
在iOS开发中有大名鼎鼎的ASIHttpRequest库,用来处理网络请求操作,今天要介绍的是一个在Android上同样强大的网络请求库android-async-http,目前非常火的应用Instagram和Pinterest的Android版就是用的这个网络请求库。这个网络请求库是基于Apache HttpClient库之上的一个异步网络请求处理库,网络处理均基于Android的非UI线程,通
ORACLE 复习笔记之SQL语句的优化
eksliang
SQL优化Oracle sql语句优化SQL语句的优化
转载请出自出处:http://eksliang.iteye.com/blog/2097999
SQL语句的优化总结如下
sql语句的优化可以按照如下六个步骤进行:
合理使用索引
避免或者简化排序
消除对大表的扫描
避免复杂的通配符匹配
调整子查询的性能
EXISTS和IN运算符
下面我就按照上面这六个步骤分别进行总结:
浅析:Android 嵌套滑动机制(NestedScrolling)
gg163
android移动开发滑动机制嵌套
谷歌在发布安卓 Lollipop版本之后,为了更好的用户体验,Google为Android的滑动机制提供了NestedScrolling特性
NestedScrolling的特性可以体现在哪里呢?<!--[if !supportLineBreakNewLine]--><!--[endif]-->
比如你使用了Toolbar,下面一个ScrollView,向上滚
使用hovertree菜单作为后台导航
hvt
JavaScriptjquery.nethovertreeasp.net
hovertree是一个jquery菜单插件,官方网址:http://keleyi.com/jq/hovertree/ ,可以登录该网址体验效果。
0.1.3版本:http://keleyi.com/jq/hovertree/demo/demo.0.1.3.htm
hovertree插件包含文件:
http://keleyi.com/jq/hovertree/css
SVG 教程 (二)矩形
天梯梦
svg
SVG <rect> SVG Shapes
SVG有一些预定义的形状元素,可被开发者使用和操作:
矩形 <rect>
圆形 <circle>
椭圆 <ellipse>
线 <line>
折线 <polyline>
多边形 <polygon>
路径 <path>
一个简单的队列
luyulong
java数据结构队列
public class MyQueue {
private long[] arr;
private int front;
private int end;
// 有效数据的大小
private int elements;
public MyQueue() {
arr = new long[10];
elements = 0;
front
基础数据结构和算法九:Binary Search Tree
sunwinner
Algorithm
A binary search tree (BST) is a binary tree where each node has a Comparable key (and an associated value) and satisfies the restriction that the key in any node is larger than the keys in all
项目出现的一些问题和体会
Steven-Walker
DAOWebservlet
第一篇博客不知道要写点什么,就先来点近阶段的感悟吧。
这几天学了servlet和数据库等知识,就参照老方的视频写了一个简单的增删改查的,完成了最简单的一些功能,使用了三层架构。
dao层完成的是对数据库具体的功能实现,service层调用了dao层的实现方法,具体对servlet提供支持。
&
高手问答:Java老A带你全面提升Java单兵作战能力!
ITeye管理员
java
本期特邀《Java特种兵》作者:谢宇,CSDN论坛ID: xieyuooo 针对JAVA问题给予大家解答,欢迎网友积极提问,与专家一起讨论!
作者简介:
淘宝网资深Java工程师,CSDN超人气博主,人称“胖哥”。
CSDN博客地址:
http://blog.csdn.net/xieyuooo
作者在进入大学前是一个不折不扣的计算机白痴,曾经被人笑话过不懂鼠标是什么,