草庐IT

Ubuntu 20.04安装中文输入法和切换中文系统

文章目录前言1安装中文输入法2切换中文系统总结前言在Ubuntu18.04系统中安装过sogou输入法,主要喜欢它能切换皮肤。这次升级到Ubuntu20.04,可能年纪大了,不再追求那些“花里胡哨”的操作,感兴趣的童鞋可以参考sogou输入法官方的Linux安装指南。本着官方推荐,一般都是稳定、简单原则,尝试安装Ubuntu20.04系统自带的中文输入法和切换到中文系统。1安装中文输入法(1)在Ubuntu系统桌面任意空白处,鼠标右击—>弹出快捷菜单栏—>选择“Settings”;(2)往下拉选择“Region&Language”—>单击“ManageInstalledLanguages”;(

语言录制兼容长按跟点击录制

录音需求中,往往有两种常规操作。长按基本实现流程:监听触摸事件,按下时录制,抬起时停止。点击基本流程:点击开始录制,在次点击停止录制但是凡事有绝对,如果需要同时支持长按录制抬起结束跟点击录制在次点击结束呢?面对如此无理的需求,从技术层面上怎么如丝滑般去兼容呢。需要两者兼容,只能从触摸事件入手了,这里的重点其实就在于怎么在触摸事件中去区分点击事件跟触摸事件。功能可能并不难,但是没有一个好的思路,就会导致代码逻辑混乱,不好维护,并且代码过多,不够简洁。先看效果图,前面是点击事件,后面是触摸长按。 首先把开始录制跟结束方法写好,在触摸事件里,按下时录制,抬起时结束,等于是长按录制的逻辑在此基础上想要

recos软件绘制不同类型TE在染色体的分布热图

1、前期准备第一步,获取repeat注释结果,使用RepeatMasker对基因组进行repeat分析,可以得到以out结尾的文件,命令行如下:#genome.fa:为进行repeat分析的基因组文件#denovo.lib:从头repeat分析得到的repeat库RepeatMaskergenome.fa-libdenovo.lib-s-nolow-norna-gff-enginencbi-parallel8-no_is-dir./#输出文件会在-dir指定的路径下生成genome.fa.out第二步,获取关心TE类型在基因组的分布#通过模式匹配获取位置分布,下面命令行以LTR/Gypsy为例

react18中antd的Upload组件上传头像,并且拿到服务器返回的头像的url地址在页面中显示头像

业务需求:上传头像,上传完毕后拿到头像的url,把头像展示在页面中,最终把头像url和其他用户信息一起发送给服务器 上传头像流程 导入Upload组件和图标(一个加号,一个加载中)import{Upload}from'antd';import{PlusOutlined,LoadingOutlined}from'@ant-design/icons'; 定义状态constindex=memo(()=>{  //用于上传前和上传时切换  const[loading,setLoading]=useState(false);  //用于保存服务端返回的头像url  const[imageUrl,setI

仿chatGPT或chatPDF的前端界面布局,css实现对话聊天布局代码,响应式左右分栏布局(附完整源代码)

chatPDF或者chatGPT的界面挺简洁的,就是一个左侧的列表以及右侧的对话列表,现在使用css实现这样的布局充分运用了flex布局方式实现,左右分栏,以及对话形式展示效果下面是效果图: 在手机设备看就隐藏左侧,右侧100%适应 下面就是html和css的布局代码.chatpdf{display:flex;height:100vh;flex-direction:row;}.chatpdf.pannel{width:255px;background-color:rgb(0,21,41);}.chatpdfBox{display:flex;flex-direction:column;flex:

博客园页面展示--前端及样式代码

这是一个博客园的首页面的展示前端代码和样式代码样式代码CSS采用外部链接,建好文件直接复制运行vscode即可,话不多说,直接上代码DOCTYPEhtml>html>head>metacharset="utf-8">title>Mickey-博客园title>linkrel="stylesheet"href="css/new_file.css"/>head>body>divid="wrap">头部开始-->divid="header">h1>ahref="#">Mickeya>h1>p>随笔-span>0span>文章-span>0span>评论-span>0span>p>ul>li>ahre

windows10下golang使用protobuf前奏

1.更改代理(方便步骤3)  方法一:goenv-wGOPROXY="https://goproxy.cn"   颜色标注部分为代理  方法二:$env:GOPROXY="https://goproxy.cn"该方法对我有效http://mirrors.aliyun.com/goproxy/ 阿里云代理https://goproxy.cn 七云牛代理 2.安装protoc  从该网站https://github.com/protocolbuffers/protobuf/releases/选择合适版本下载并解压,将其中的protoc.exe文件写入到环境变量就能使用  (我创建了一个相关的目录a

图像梯度

图像梯度图像梯度计算的是图像变化的速度对于图像的边缘部分,其灰度值变化较大,梯度值也较大相反,对于图像中比较平滑的部分,其灰度值变化较小,相应的梯度值也较小。图像梯度计算需要求导数,但是图像梯度一般通过计算像素值的差来得到梯度的近似值(近似导数值)。(差分,离散)Sobel算子1#Sobel算法2#dst=cv2.sobel(src,depth,dx,dy,ksize)3#depth:深度4#dx和dy分别表示水平和竖直方向5#ksize:sobel的算子大小6#cv2.CV_64F,因为在计算梯度的时候会涉及到负值,如果单纯设置为-1,则会把负值改为0,显然是不符合梯度要求的,7#所以一般设

AGC004B Colorful Slimes

${\scr\color{Orchid}{\text{生于尘埃,溺于人海,死于理想高台。}}}$题目链接:ColorfulSlimes${\scr\color{Cyan}{\text{Solution}}}$分析思路:挺神奇的$dp$一个比较显然的结论:最小值的方案中第$2$种操作最多用$n-1$次证明大概就是一个数用$n-1$次一定会变成另一个数下面说说$dp$的思路:$dp[i][j]$表示能用最多$j$次第$2$种操作能变成$a_i$的最小值假设$a_k$所有可以用最多$j$次第$2$种操作能变成$i$的最小值,则$dp[i][j]=a_k$举个栗子:314对于这个$4$来说,用最多$2

React.FC详细解说

1.React.FC是一个函数式组件,是在TypeScript使用一个泛型,FC就是FunctionComponent的缩写,事实上React.FC可以写成React.FunctionComponentconstApp:React.FunctionComponent=({message})=>({message});//简写interfacePropsType{message:string;}constApp:React.FC=({message})=>(//{message}相当于解构赋值,从props中解构{message});//声明了一个函数组件App泛型为{message:strin