-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcontent.json
1 lines (1 loc) · 52 KB
/
content.json
1
{"posts":[{"title":"My-New-World","text":"markdown学习文本 这里是一段测试文字 这里也是一段测试文字斜体文本粗体文本粗斜体文本删 除 线下划线 创建脚注格式类似这样^t 第一项 列表嵌套 列表嵌套 第二项 区块第二行第三行 嵌套列表 嵌套列表 代码printf() 代码1代码2 123456#include<iostream>using namespace std;int main(){ cout<<"hello world"; return 0;} 链接这是一个链接链接https://www.bilibili.com","link":"/2021/10/20/My-New-World/"},{"title":"Reference","text":"icarus美化https://heroicons.dev/https://littlezero.top/20190811HexoIc/ rdClienthttps://www.cnblogs.com/feiye512/p/12256247.html","link":"/2021/10/21/Reference/"},{"title":"Vue学习笔记","text":"Reference Vue教程-菜鸟教程 Vue是什么?不知道 Vue能做的事情Vue功能实例 目录 Hello World v-once v-html v-bind v-model v-on v-if v-for vue组件 Prop computed Hello World12345678910111213141516171819202122232425262728293031<!DOCTYPE html><html><head><meta charset="utf-8"><title>Vue 测试实例1</title><script src="https://unpkg.com/vue@next"></script></head><body><div id="hello-world" class="demo"> {{ message }}</div><script>const HelloVueApp = { data() { return { message: 'Hello World!!' } } //这是HelloVueApp这个VueApp中的成员函数,使用Js语法 methods:{ Bye(){ this.message='Bye World!' } }}Vue.createApp(HelloVueApp).mount('#hello-world')</script></body></html> v-once12345678910111213141516171819<body> <div id='test'> <span v-once> {{message}} </span> </div> <script> const OnceTest={ data(){ return{ message:'hello world' } } } Vue.createApp(OnceTest).mount('#test') message='Bye world'//span中的内容不发生改变 </script></body> v-html1234567891011121314151617181920<body><div id="example1" class="demo"> <!--这里会输出字符串--> <p>使用双大括号的文本插值: {{ rawHtml }}</p> <!--这里会输出html结果--> <p>使用 v-html 指令: <span v-html="rawHtml"></span></p></div><script>const RenderHtmlApp = { data() { return { rawHtml: '<span style="color: red">这里会显示红色!</span>' } }}Vue.createApp(RenderHtmlApp).mount('#example1')</script></body> v-bind 将变量绑定12345678910111213141516171819202122<div id="app"> <!--这里用到了v-model指令,这是双向绑定指令,将会在后面体现--> <label for="r1">修改颜色</label><input type="checkbox" v-model="use" id="r1"> <br><br> <!--通过use的值决定这个div的样式--> <!-- v-bind:class也可以简写为 :class --> <div v-bind:class="{'class1': use}"> v-bind:class 指令 </div></div> <script>const app = { data() { return { use: false } }} Vue.createApp(app).mount('#app')</script> v-model12345678910111213141516<div id="app"> <p>{{ message }}</p> <input v-model="message"></div> <script>const app = { data() { return { message: 'Runoob!' } }} Vue.createApp(app).mount('#app')</script> v-on12345678<!-- 完整语法 --><a v-on:click="doSomething"> ... </a><!-- 缩写 --><a @click="doSomething"> ... </a><!-- 动态参数的缩写 (2.6.0+) --><a @[event]="doSomething"> ... </a> v-if v-if后的表达式决定这个元素是否展示 若要包括多个元素,可以使用<template>标签1234567891011121314151617181920212223242526<div id="app"> <div v-if="type === 'A'"> A </div> <div v-else-if="type === 'B'"> B </div> <div v-else-if="type === 'C'"> C </div> <div v-else> Not A/B/C </div></div> <script>const app = { data() { return { type: "C" } }} Vue.createApp(app).mount('#app')</script> v-for v-for指令需要”site in sites”形式的语法12345678910111213141516171819202122232425<div id="app"> <ul> <!--key和index为额外提供的参数可作为键名和索引--> <!--in后面的也可以是一个computed中返回可用数据类型的函数--> <li v-for="(value, key, index) in object"> {{ index }}. {{ key }} : {{ value }} </li> </ul></div> <script>const app = { data() { return { object: { name: '菜鸟教程', url: 'http://www.runoob.com', slogan: '学的不仅是技术,更是梦想!' } } }} Vue.createApp(app).mount('#app')</script> vue组件1234567891011121314151617181920212223<!--全局组件--><div id="app"> <button-counter></button-counter></div><script>// 创建一个Vue 应用const app = Vue.createApp({})// 定义一个名为 button-counter 的新全局组件app.component('button-counter', { data() { return { count: 0 } }, template: ` <button @click="count++"> 点了 {{ count }} 次! </button>`})app.mount('#app')</script> 1234567891011121314151617<!--局部组件--><div id="app"> <runoob-a></runoob-a></div><script>var runoobA = { template: '<h1>自定义组件!</h1>'} const app = Vue.createApp({ components: { 'runoob-a': runoobA }}) app.mount('#app')</script> Prop123456789101112131415161718<div id="app"> <site-name title="Google"></site-namet> <site-name title="Runoob"></site-namet> <site-name title="Taobao"></site-name></div> <script>const app = Vue.createApp({}) app.component('site-name', { //需要通过props显式的声明 //将title传给template props: ['title'], template: `<h4>{{ title }}</h4>`}) app.mount('#app')</script> 动态Prop123456789101112131415161718192021222324252627282930<div id="app"> <site-info v-for="site in sites" :id="site.id" :title="site.title" ></site-info></div> <script>const Site = { data() { return { sites: [ { id: 1, title: 'Google' }, { id: 2, title: 'Runoob' }, { id: 3, title: 'Taobao' } ] } }} const app = Vue.createApp(Site) app.component('site-info', { props: ['id','title'], template: `<h4>{{ id }} - {{ title }}</h4>`}) app.mount('#app')</script> Prop验证123456789101112131415161718192021222324252627282930313233Vue.component('my-component', { props: { // 基础的类型检查 (`null` 和 `undefined` 会通过任何类型验证) propA: Number, // 多个可能的类型 propB: [String, Number], // 必填的字符串 propC: { type: String, required: true }, // 带有默认值的数字 propD: { type: Number, default: 100 }, // 带有默认值的对象 propE: { type: Object, // 对象或数组默认值必须从一个工厂函数获取 default: function () { return { message: 'hello' } } }, // 自定义验证函数 propF: { validator: function (value) { // 这个值必须匹配下列字符串中的一个 return ['success', 'warning', 'danger'].indexOf(value) !== -1 } } }}) computed 可以使用method,但computed性能更好12345678910111213141516171819202122232425262728293031<!DOCTYPE html><html><head><meta charset="utf-8"><title>Vue 测试实例 - 菜鸟教程(runoob.com)</title><script src="https://unpkg.com/vue@next"></script></head><body><div id="app"> <p>原始字符串: {{ message }}</p> <p>计算后反转字符串: {{ reversedMessage }}</p></div> <script>const app = { data() { return { message: 'RUNOOB!!' } }, computed: { // 计算属性的 getter reversedMessage: function () { // `this` 指向 vm 实例 return this.message.split('').reverse().join('') } }} Vue.createApp(app).mount('#app')</script> computed vs methods123456methods: { reversedMessage2: function () { return this.message.split('').reverse().join('') }}//我们可以使用 methods 来替代 computed,效果上两个都是一样的,但是 computed 是基于它的依赖缓存,只有相关依赖发生改变时才会重新取值。而使用 methods ,在重新渲染的时候,函数总会重新调用执行。 computed setter还没学到","link":"/2021/10/26/Vue%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/"},{"title":"Hexo与Github Pages配置","text":"前言今天突然产生了极大的个人博客搭建的热情,查询了wordpress没弄明白后从网上的教程里找到了如今的配置,遂记录一波早就听说了github page的方便之处,但当时在钻私人服务器和私人域名的牛角尖,内心里一直没有接受这个东西,但实际尝试之后发现还是香啊。 Reference 为什么用Reference不用参考文献呢?因为感觉参考文献这个词好奇怪啊 为什么要把Reference写在最前面呢,因为这个页面应该只有我自己看,而自己看的目的基本也就是找当时在哪里找的教程,遂如此 ubuntu下搭建Hexo+GitHub博客 怎么在Ubuntu服务器上部署Hexo博客 Ubuntu 安装最新版nodejs 指令|Hexo hexo 本地编辑md文件_使用hexo新建、编辑并预览文章 hexo模板-icarus Icarus快速上手 hexo g报错,line.mathALL is not funciton问题解决 这个是痛苦报错的雪中炭 npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\\fsevents): 这个也是,但没有用到 操作环境Ubuntu 20.04 环境配置一、安装npm1sudo apt-get install npm 二、安装Node.js 添加最新版Node.js源1curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash - 安装Node.js1sudo apt-get install -y nodejs 验证安装1nodejs -v 如果直接使用 apt-get install nodejs的话安装版本为10.16.0,在使用hexo时会出现方法不存在的问题。 三、安装Hexo123456789#创建目录mkdir hexo#进入目录cd hexo#安装hexosudo npm install -g hexo-clisudo npm install -g hexo-server#初始化仓库hexo init 测试安装成功 1hexo server github Pages配置ssh连接github的教程有很多,这里就不赘余了 在自己的github里创建名为 <用户名>.github.io的仓库(可以使用其他名称如hello.io,但这样做的好处是可以直接使用https://<用户名>.github.io访问此网站) 配置hexo/_config.yml 站点信息设置123456title: TJhaitang's Blog #站名subtitle: flame! #副标题description: #站描述author: #作者language: zh-CN #语言timezone: 配置url1234url: http://TJhaitang.github.ioroot: /permalink: :year/:month/:day/:title/permalink_defaults: 默认创建资源文件夹1yaml post_asset_folder: true 资源仓库1234deploy:type: gitrepo: [email protected]:TJhaitang/TJhaitang.github.io.git #TJhaitang是你的用户名branch: master Hexo基础命令123hexo n "文章标题" #会在 hexo/source/_post 下生成对应的.md文件hexo g #生成静态文件,即编译当前的网站hexo d #提交部署 Hexo模板配置以后再写,总的来说就是上面reference里面的那个","link":"/2021/10/20/hexo%E4%B8%8Egithub-Pages%E9%85%8D%E7%BD%AE/"},{"title":"php配置sqlserver驱动","text":"前言配置数据库大作业的环境是一个漫长且艰苦的过程,从最开始的Apache到给Apache加上php,再到ubuntu服务器上配置git仓库配置apache+php,再到尝试各种后端开发方式时配置npm、nodejs、typescript环境,然后今天配置php的sqlserver驱动,一路上可以说十分坎坷,由于时效性的问题很多博客已经失去了指示意义,但总是需要尝试后才能体会到这一点。apache+php使用者较多相对便利,php的sqlserver驱动属实时对我这个小白太不友好,在很久的一段挣扎之后我才知道有sqlserver的驱动这么一回事,在之前一直以为是一个开启就可以用的功能(使用了php5.4的配置教程)。后来渐渐摸索到了解决的关键,一个比较新的教程博客和官方文档给了我极大的帮助,但还是遇到了一些问题,遂记录。 Reference php+sqlserver之如何连接sqlserver数据库 Microsoft Drivers for PHP for SQL Server 操作环境 Win11 22000 家庭版 httpd-2.4.49-o111l-x64-vc15 php 7.4.25-win32-VC15-x64 驱动下载 php_pdo_sqlsrv_74_ts_x64.dll php_sqlsrv_74_ts_x64.dll 驱动下载后放在php/ext文件夹下,如在我电脑上即为U:\\下载\\php-7.4.25-Win32-vc15-x64\\ext若下载失败或版本不对应(74对应php版本为7.4),可以在上面的微软官方文档的连接中获取相应资源 php.ini配置使用你喜欢的文本编辑器打开php.ini文件(php/php.ini)在有很多的extension处写入这两行(在哪里其实关系不太大,主要是好看) 12extension=sqlsrv_74_ts_x64extension=pdo_sqlsrv_74_ts_x64 之后保存文件、重启apache即可重启apache可以在计算机管理-服务-Apache-重启动实现 验证是否成功 查看phpinfo新建index.php,输入以下内容 123<?php echo phpinfo;?> 保存退出,通过localhost访问此文件,下拉菜单应该看到这样的页面 这样应该就成功了 连接sqserver使用以下php代码连接sqlserver 123456789101112<?php $serverName = "localhost"; $connectionOptions = array( "Database" => "TPCH", "Uid" => "sa", "PWD" => "123456" ); $conn = sqlsrv_connect($serverName, $connectionOptions); if ($conn == false) echo "连接失败"; else echo "连接成功";?> 如果成功那就成功了!恭喜你! 总结按照这个流程的话配置应该是相对顺利的,如果还是有问题可以在评论区联系我(现在我还没用过评论区呢呜呜想尝鲜)以上","link":"/2021/10/27/php%E9%85%8D%E7%BD%AEsqlserver%E9%A9%B1%E5%8A%A8/"},{"title":"unity学习1","text":"前言为什么突然要学unity呢?这要追溯到很久很久以前,那是一个温暖的早晨,我在立德楼里面通宵准备期末考试。凌晨五点半的天还是黑的,眼前的书也看不明白了,只有七点的油条和八点的随机过程鼓动着我让我远离梦境的诱惑。百无聊赖之际,一些尘封的热情翻涌了起来,我就去发了一个学习做游戏招队友的帖子。最终我双开了两个小队,两个小队殊途同归到了unity上。与我原先的虚幻四+某2d引擎不同,unity有优势也有劣势。然而结果在此,寒假的unity学习也只能轰轰烈烈的展开了。这里记录我的学习收获叭。 Reference unity3D中文教程 操作环境win11家庭版Redmibook15 pro增强版i5-11320H无独显 软件安装unity安装搜索引擎unity,在unity官网里选择喜欢的版本安装即可 unity激活在unity官网下载unityhub,注册登陆后选择激活许可证,创建免费的个人许可证即可使用unity C#编辑器这里我目前选择的是vscode作为c#的编辑器,下载了visual studio但还没有开始使用,待unity学到一定程度再开始研究 一些了解 unity3d引擎是什么? unity3d引擎提供了预置的物体、属性、光照、摄像机等概念的界定,提供了C#方法库与项目代码的可视化界面。用户可以通过可视化界面进行项目的预览、调整甚至构建。 一些尝试 尝试了创建物体,调整物体性质尝试了为摄像机绑定c#脚本尝试了为物体绑定脚本,创建了按钮","link":"/2022/01/11/unity%E5%AD%A6%E4%B9%A01/"},{"title":"unity学习2","text":"前言自学习1写完以来9天过去了,这九天里面还算是做了一些事情。这里将学到的东西的感受记录一下。因为明天也就是21号GGJ就开始了,所以有必要查缺补漏一下子这个样子。 Reference Unity2D平台跳跃游戏开发教程 C#教程-菜鸟教程 解决VSCode无法显示Unity代码提示的真正解决办法 unity2D学习(12)角色发射子弹 操作环境Win11家庭版Redmibook15pro i5-11320H 无独显 遇到的问题 VScode无代码补全 其实vs也没有。。。因为之前写其他语言都用vscode,对一些界面快捷键都熟悉了也不想改就继续vscode了。但没有代码补全属实是让我难过。最后在一波搜索之下通过下载补全插件、更新unity的外部编辑器、重新生成工程文件修好的。 C#脚本在我的G15上无法运行 不知道为啥,既然小本子可以用就只用小本子了。 unity许可证无效 梯子被强制退出了导致一些代理没有还原,重启大法解决 一些概念的认知 unity,或者说游戏引擎,其面向对象的特征是自然而然而又无可避免的,在使用这些游戏引擎进行游戏的开发时“面向对象”是需要谨记在心的。不然就会产生很多乱七八糟的逻辑关系(比如现在枪口打出的子弹其实是由人生成的)。 一些概念十分常用:碰撞器、刚体、预制体、tilemap等等 对象的public方法可以在别的.cs文件中通过GameObject.Find()方法找到对象,然后使用对象的GetComponent<>()方法获取到控制器,从而调用其中的public方法。从而实现小怪提供一个被杀死的方法,而子弹来杀死小怪。 即使在代码中感觉结果是相同的,但在实际运行中可能效果天差地别。速度、稳定性,以及碰撞检测的不连续都会导致运行效果带来的意外。所以优化至关重要。 电脑的计算能力真的很强。 一些实践 写了一个简单的打砖块,只实现了反弹以及接小球的板子让小球方向改变,还没有做砖块毁灭的逻辑,但没必要了 写了一个平台跳跃设计的游戏,比较简陋,完成了移动、跳跃、摄像机跟随、在tilemap上绘制的地图、可以被击杀的小怪、开枪发射子弹、子弹容量与补充、根据子弹容量改变玩家形态这些功能。算是一个尝试。还没有学习ui的内容以及场景切换的内容,不过应该不难所以摆了 以上!还有就是,GGJ结束之后下周去街巷中国一波,然后过年,回来之后就是学车、unity(虚幻4?blender?)、背单词、研究考研。好忙啊。哦还有,寒假计划打完的游戏还没打几个呢,分别是 荒野大镖客2 古墓丽影崛起 古墓丽影暗影 巫师三 赛博朋克2077 刺客信条·黑旗 控制遥遥无期啊遥遥无期","link":"/2022/01/20/unity%E5%AD%A6%E4%B9%A02/"},{"title":"web开发学习——基于一个电商平台系统","text":"前言本学期的数据库大作业是一个电商系统,老师发布的文档指出可以选择自己喜欢的编程语言写用户界面(C++,java,python,JavaScript等等)。本着想触及一些好奇但未知的领域(如上学期的Java课对面向接口、编程模式、git、网络、多线程等等了解了一点,这个学期也想有这样的体验),同时想让自己的GitHub仓库里面多点语言(好看)而不是现在的Java、Java、Java,以及有点想装逼的念头,对开发方式探索来探索去。道路漫长,本学期的回归分析、机器学习、数据库、人生哲学以及不知道有没有的抽样技术大作业让人担惊受怕,估计后半学期八成是以毁灭为主旋律了,所以我准备把这几个的摸索过程记录下来,不过不知道什么时候就鸽掉了。 Reference 菜鸟教程-JavaScript Apache+PHP环境搭建 目录 ! 以下页面已失效 数据库作业要求 JavaScript学习笔记 Vue学习笔记 数据表 分工 功能设计 平台本体 开发模式也就是前端和后端的开发方式选择,最近简单了解了一下php、Node.js(typeScript\\javaScript)以及在研究Node.js的时候回忆起来的java,几个方式各有不同,但都没有实质上实现上面说的好奇且未知这件事。前端目前准备用vue,但还没有开始了解,所以先简述一下后端的几个方式的区别 开发方式 特点 php 学习成本适中可以嵌入到html文档中可以前端后端放在不同服务上apache后配置后即可自动运行不酷 JavaScript+Node.js 学习成本较低服务需要手动开启,但可以开一个screen跑虽然如此,这样网站更改时需要重启服务听名字一般酷 TypeScript+Node.js 学习成本较高特征同上名字比较酷(但需要翻译成JavaScript运行,其实一般酷)学习内容多 Java/Python 学习成本很低比较不酷特征同上 C/C++ 别闹 其他 还在想要不要继续看 总结来说php似乎是最好的选择,相对于其他几个“发送请求-返回数据”的方式,php可以在环境配置之后一劳永逸,每次更新只需要刷新页面就可以查看效果。同时使用php可以选择将静态网站放置在Github Pages上面,将动态部分由服务器提供运算。其他几种应该也可以实现这样的功能但便捷性上要差一点。但php最大的问题在于,真的不酷,不如TypeScript+Node.js酷目前选择Vue+JavaScript+php+SqlServer作为数据库大作业的开发方式 所需要的知识 Javascript、php在网页中的意义是什么 php如何连接到SqlServer php程序如何嵌入到网站中 Vue的网站设计方式 各语言的基本语法 想不到了 期待能学到的东西 不同编程语言之间的不同点是什么,为什么将他们分为不同的语言 一些html方面的知识 多人共同开发的经验以及自己如何立足其中的经验 一些功能的设计方式 卷法 UI设计 推荐系统 积分 签到 折扣活动 防sql注入 高并发安全性 信息系统 ……","link":"/2021/10/25/web%E5%BC%80%E5%8F%91%E5%AD%A6%E4%B9%A0%E2%80%94%E2%80%94%E5%9F%BA%E4%BA%8E%E4%B8%80%E4%B8%AA%E7%94%B5%E5%95%86%E5%B9%B3%E5%8F%B0%E7%B3%BB%E7%BB%9F/"},{"title":"使用SMB实现远程桌面","text":"前言实际上这是一个鸽了很久的文,因为实在是对我来说有些过于麻烦了。但确实很好用,可以说是捣鼓到现在最好用的一个小东西了。所以还是记录一下。 Reference Rdpwrap.ini-github Rdpwarpper-github 操作环境DELL g15 5511 : win11家庭版Redmibook15pro : ubuntu22.04 目录 Windows端 开启SMB服务 访问远程桌面 Ubuntu端 访问远程桌面 开启SMB远程桌面服务 iPad OS端 连接远程桌面 Windows端1.开启SMB服务如果你的windows是专业版,则只需打开开始菜单 -> 搜索栏搜索 -> 远程桌面设置 -> 打开远程桌面服务即可。然而对于大多笔记本用户或整机用户来说可能windows家庭版更加常见,而在家庭版windows上并没有开放远程桌面功能,如果尝试打开上述页面会看到如下提示: 你可以选择通过合法不合法的方式升级你的windows来获取这一服务,也可以使用Rdpwarpper来获取这一服务。下载解压后,使用管理员身份运行install.bat即可安装,这一脚本会为你设置一些配置文件。 安装完毕后,双击打开RDPConf.exe,如果程序显示 [fully supported] 则代表远程桌面服务已开启。然而十有八九是不可以的,还需要对Rdpwrap.ini进行配置。 下载此链接中的rdpwrap.ini文件的最新版本,将此文件移动到C:\\Program Files\\RDP Wrapper\\目录下对原文件进行覆盖即可。检查RDPConf.exe是否运行正常,此时十有八九是可以的,如果仍然不能三行全绿,可以尝试重启电脑。 2.访问远程桌面在开始菜单搜索远程桌面连接并打开相应程序,在计算机栏输入目标电脑ip地址即可,此处支持ipv6网络。若目标计算机与本机在同一局域网下,可以通过输入计算机名称来进行连接。 远程桌面连接程序可以对远程桌面进行一些设置,此处不再赘述。 Ubuntu端1.访问远程桌面ubuntu下可以通过Remmina来访问远程桌面,此程序在系统安装时会自动安装。若不存在此程序,可以通过apt-get install remmina来安装。 2.开启SMB远程桌面服务实际上在linux间远程桌面通过VNC来实现是一个更加方便的选择,但是若访问端为windows系统,则使用SMB远程桌面服务来实现远程桌面更加方便。由于各种原因,这一部分过段时间再写吧。 iPad OS端1.连接远程桌面在app store中搜索RD Client并下载,该软件为iPad端的远程桌面客户端,可以通过输入电脑的ip地址来进行连接。(其他移动端都可以使用这一软件)","link":"/2022/08/12/%E4%BD%BF%E7%94%A8SMB%E5%AE%9E%E7%8E%B0%E8%BF%9C%E7%A8%8B%E6%A1%8C%E9%9D%A2/"},{"title":"在RUC校园网环境下搭建SMB服务","text":"前言由于自己买了一个新轻薄本,原来的老重G15也就没有外带的必要了,遂放在宿舍提供服务。虽然有远程桌面和SFTP、SSH等可以使用,但搭建一个SMB服务器直接在小电脑上映射网络驱动器来的方便的多。遂干,但遇到了一些困难。 操作环境DELL G15-5511 i7-11800H RTX3060Laptop : Win11家庭版Redmibook15pro i5-11320H 无独显 : Win11家庭版 遇到的问题遇到的问题自然是无法连接,先说为什么 由于校园网封禁445端口,且smb服务默认445端口且无法更改 宿舍里是有一个路由器有线连接校园网的,G15通过网线连接在路由器上,在路由器上做端口映射以提供服务。但这个小米路由器不转发445端口 G15端 开启SMB服务 在本机建立端口转发,将外部对446端口的访问转发到445端口 路由器端 将G15的446端口转发为446端口 Redmibook端 在本地建立端口转发,将对localhost:445的访问转发为路由器所在ip的446端口 映射网络驱动器,地址为localhost 完毕!一点技术含量都没有,就是研究为啥连不上研究了好久遂水一篇","link":"/2022/01/21/%E5%9C%A8RUC%E6%A0%A1%E5%9B%AD%E7%BD%91%E7%8E%AF%E5%A2%83%E4%B8%8B%E6%90%AD%E5%BB%BASMB%E6%9C%8D%E5%8A%A1/"},{"title":"在Windows电脑上运行安卓程序","text":"前言今日惊闻WSA正式在Beta渠道推送了,本着有用没用先试了再说的的原则,在拿到电脑后便开始捣鼓。整体流程非常简单顺利,共计耗时一个小时,中间还打了把王者荣耀。用了之后感觉还是香啊,如果国内安卓pad生态再发展发展就好了。 Reference 乘风破浪,遇见最美Windows 11之新微软商店(Microsoft Store)生态 - 安卓(Android™)体验及开发兼容指南 操作环境Windows 11 家庭版 22000.282测试版Beta戴尔G5 5511 安装WSA可以搞windows测试版转美国地区然后在MS Store下载,测试版 转美国地区 在MS Store下载都有相关教程,我没有这么做。我选择的是将网友分享的WSA安装包直接安装。这里我两个方向都会介绍。 你所必要的事情 电脑操作系统为Windows11 22000及以上 电脑需要开启虚拟机平台 如果未开启,需要找到 设置->应用->可选功能->更多Windows功能 勾选 Hyper-V和虚拟机平台。之后重启系统即可。 下载WSA安装包 你可以不选择这个方案,不过我选择的是这个百度网盘下载链接 提取码:2sxh下载后双击打开点击Install即可 若提示无法安装 右键点击开始菜单,选择Windows终端(管理员) 切换到安装包所在目录123456# 切换盘符,例如切换到d盘d:# 查看当前目录dir# 切换目录cd <文件夹名> 执行命令1add-appxpackage "MicrosoftCorporationII.WindowsSubsystemForAndroid_1.7.32815.0_neutral___8wekyb3d8bbwe.Msixbundle" 待部署操作进程完毕后即可安装了 进入Windows内测版获取WSA 若不喜欢上面的方法或上面未成功可使用此方法 获取Windows内测资格设置->Windows更新->Windows预览体验计划在选择内测渠道时选择Beta渠道即可 切换地区为美国设置->时间和语言->区域和语言 重启电脑后,访问以下网站 https://www.microsoft.com/store/productId/9P3395VX91NR 或也可以Win+r,输入ms-windows-store://pdp/?productid=9P3395VX91NR并运行 点击获取 开启WSA的adb旁加载功能 由于目前WSA下载应用需要使用亚马逊应用市场,然而一方面上面应用太少了,另一方面很多人会对注册亚马逊账号感到困扰,所以adb旁加载功能显得十分重要。adb旁加载可以允许你安装你电脑上的.apk文件 查看adb版本 1adb version 若没有adb命令,则下载该压缩包,将解压后的东西全复制到C://Windows文件夹下就可以了 下载链接提取码:gr3g 在开始菜单打开WSA(一个绿色图标的应用),进入设置页面 打开开发人员模式 点击第一行文件右边的小箭头,启动Android子系统 打开Windows Terminal输入以下命令 12345adb connect 127.0.0.1:58526# 如果失败,可以在WSA设置中选择关闭Android子系统后重启WSA# 执行以下命令以安装.apk程序# 首先需要切换到安装包所在文件夹下adb install .\\name.apk # name.apk为文件名 之后就可以快乐的在你的电脑上使用安卓应用程序啦 总结 虽然捣鼓流程不长,但最后的效果是很好的,体感上感觉程序的刷新率能达到90~120的水平。不过现在这个功能还比较新,问题还是很多的,比如肉眼可见的不稳定和部分窗口的适配糟糕。 尝试了几个程序,目前没有真正的享受到这个工具带来的便利。一开始安装这个是为了在电脑上装一个微信读书,因为web端的微信读书我属实是不喜欢,想要一个类似iPad端的样式。但让我吃惊的是,微信读书居然没有安卓的pad版本。 可能这也是WSA的一个意义吧,突破Google Store的垄断,优化安卓平板生态。 但另一方面,在国内web环境日渐炸裂的当下,WSA的出现可能会为这一现象火上浇油 目前我还没有找到太多在电脑上好用的安卓应用,大家有什么想法可以卸载评论区里,虽然没有评论区。","link":"/2021/10/21/%E5%9C%A8Windows%E7%94%B5%E8%84%91%E4%B8%8A%E8%BF%90%E8%A1%8C%E5%AE%89%E5%8D%93%E7%A8%8B%E5%BA%8F/"},{"title":"查询-SqlServer学习","text":"这里用来记录数据库相关知识课件文件夹在这里 需要连接ruc校园网 查询 关键词 功能 SELECT 指定要显示的属性列 FROM 制定查询对象(基本表或视图) WHERE 指定查询条件 GROUP BY 对查询结果按指定列的值分组,该属性列值相等的元组为一个组。通常会在每组中作用聚集函数 HAVING 只有满足指定条件的组才予以输出 ORDER BY 对查询结果表安指定列值的升序或降序排序 DISTINCT 去掉表中重复的行 单表查询 选择表中的若干列 123456789-- 查询全体学生的学号与姓名SELECT Sno,SnameFROM Student;-- 选取所有属性列SELECT *FROM Student;-- 虚列,列别名SELECT Sname NAME,'New row',2014-Sage,LOWER(Sdept)FROM Student; 选择表中的若干元组 123456789101112131415161718192021222324-- DISTINCT关键词,去掉表中重复的行,作用范围是所有目标列SELECT DISTINCT Cno,GradeFROM SC;-- 查询满足条件的元组(条件见下表)--查询年龄在20以下的学生姓名和年龄SELECT Sname,SageFROM StudentWHERE Sage<20;--20到23之间WHERE Sage BETWEEN 20 AND 23;--确定集合WHERE Sdept IN ('CS','MA','IS')--字符串匹配,通配符-- _:任意单个字符-- %:任意长度字符串,可为0长-- [abc]:匹配abc中任意一个字符-- [^123]:不匹配123中的左右字符WHERE Sno LIKE '200615121';WHERE Cname LIKE 'DB\\_%i__'ESCAPE'\\';WHERE Sno LIKE '%[^235]'--LIKE等价于 '='--空值,逻辑连接WHERE Grade IS NOT NULL OR Sage>10; 查询条件 谓词 比较 =,>,<,>=,<=,<>,!>,!<; NOT +前述 确定范围 BETWEEN AND, NOT BETWEEN AND 确定集合 IN, NOT IN 字符匹配 LIKE, NOT LIKE 空值 IS NULL, IS NOT NULL 多重条件(逻辑运算) AND, OR, NOT ORDER BY子句 123456-- ORDER BY-- ASC 升序-- DESC 降序SELECT *FROM StudentORDER BY Sdept, Sage DESC;-- 系号升序,年龄降序 聚集函数 关键词 功能 COUNT(*) 统计元组个数 COUNT([DISTINCT &#124 ALL]<列名>) 计算一列中不同值的个数 SUM([DISTINCT &#124 ALL]<列名>) 计算一列值的总和 AVG([DISTINCT &#124 ALL]<列名>) 计算一列值的平均值 MIN(<列名>) 计算一列的最小值 MAX(<列名>) 计算一列的最大值 1234-- 实例SELECT AVG(Grade)FROM SCWHERE Cno='1'; GROUP BY,HAVING子句以后再写 连接查询一般格式:[<表名1>.]<列名1><比较运算符>[<表名2>.]<列名2> 广义笛卡尔积1234-- 不带连接谓词-- 很少直接使用SELECT Student.*,SC.*FROM Student,SC 等值与非等值连接查询1234567891011SELECT Student.*,Sc.*FROM Student,SCWHERE Student.Sno=SC.Sno-- 等价写法SELECT *FROM Student inner join Sc on Student.Sno=Sc.Sno-- 自然连接:在select中去掉重复字段SELECT Student.Sno Sno,Sname,Ssex,Sage,Sdept,Cno,GradeFROM Student,SCWHERE Student.Sno=SC.Sno AND SC.Grade>90 自身连接1234-- 需要给表起名以示区别SELECT A.Cno,B.CpnoFROM Course A,Course BWHERE A.Cpno=B.Cno 外连接外连接与普通连接的区别 普通连接操作之输出满足连接条件的元组 外连接操作以指定表为连接主题,将主题表中不满足连接条件的元组一并输出 左外连接:列出左边关系中所有的元组 右外连接:列出右边关系中所有的元组 1234567SELECT Student.Sno,Sname,Ssex,Sage,Sdept,Cno,GradeFROM Student LEFT JOIN SC ON (Student.Sno=SC.Sno); -- 左外连接------SELECT Student.Sno,Sname,Ssex,Sage,Sdept,Cno,GradeFROM Student FULL JOIN SC ON (Student.Sno=SC.Sno); -- 外连接 多表连接两个以上的表进行连接12345-- 查询每个学生的学号、姓名、选修的课程名及成绩SELECT Student.Sno,Sname,Cname,GradeFROM Student,SC,CourseWHERE Student.Sno=SC.Sno AND SC.Cno=Course.Cno; 嵌套查询 嵌套查询概述 一个 SELECT-FROM-WHERE语句称为一个查询块 将一个查询块嵌套在另一个查询块的WHERE子句或HAVING短语的条件中的查询称为嵌套查询 IN、比较运算符12345678-- 不相关子查询-- 由内向外SELECT SnameFROM StudentWHERE Sno IN (SELECT Sno FROM SC WHERE Cno='2') 123456-- 相关子查询SELECT Sno,CnoFROM SC xWHERE Grade >=(SELECT AVG(GRADE) FROM SC y WHERE y.Sno=x.Sno); ANY、ALL > ANY > ALL < ANY < ALL >= ANY >= ALL <= ANY <= ALL = ANY = ALL <> ANY != ALL 1234567SELECT Sname,SageFROM StudentWHERE Sage< (SELECT MAX(Sage) FROM Student WHERE Sdept='CS') AND Sdept <> 'CS'; EXISTS以后再写","link":"/2021/10/22/%E6%9F%A5%E8%AF%A2-SqlServer%E5%AD%A6%E4%B9%A0/"},{"title":"1229组会记录","text":"Information-Based Optimal Subdata Selection for Big Data Linear Regression背景与目的 数据量极大,然而计算能力有限 选择目标数据中更有代表性的数据,有目的的选择以增强模型的估计效果 找数据本身也需要计算量? 思想 $\\delta$向量代表是否选择这个变量,使用D-最优性准则——信息矩阵行列式最大化来求解 因为准确求解计算量较大,我们需要使用近似的方法进行 这个近似的方法是通过对这个行列式的上界进行分析得到的 算法 选择第一个特征的2r个数据点 选择第二个以及之后所有的特征的,不同于第一步选择到的2r个数据点 获得了子数据的估计值和协方差矩阵 分析 选择数据点这件事情本身虽然复杂度不低,但是是可以并行计算的 可以获得下界具有一些比较好的性质,其本身和上界的阶相似 为什么最大减最小会趋于零? 总结 大数据处理的方式 顺序计算 分布式计算 样本选择 Communication-Efficient Distributed Statistical Inference观众说的 把不太懂的地方不用重点说,要不然听众听起来莫名其妙的 选择文章要和自己的工作联系起来,要有启发 不重要的理论支持可以先不看,重点看算法构建思想,理论需要用的时候再看","link":"/2023/12/29/1229%E7%BB%84%E4%BC%9A%E8%AE%B0%E5%BD%95/"},{"title":"Communication-Efficient Distributed Statistical Inference","text":"前言这篇文章实在对我来说过于难以理解,破防了,所以边读边写 ReferencePart 2跳过 算法介绍 应用案例介绍 启发式说明有效性(没看懂 几个Remarks 该算法是中心化的,只有一个机器被选作中心机器。原则上可以不中心化的每个机器上都执行相同的操作,但作者说明在实际实验中这样一方面极大增加通信量,另一方面对估计效果的提升有限 与其这样做,不如将增加的通信量用在更好的初值估计上 前人的工作为我们权衡通信成本与统计准确性方面提供了帮助 我们对数据分布的要求是,中心机器上的数据与全局的数据要同质,其他机器上是无所谓的(当然了 Part3M-Estimators in Low DimensionsAssumption 参数空间紧且凸,优点在内点,且定义了参数空间的半径 全局风险函数的海瑟矩阵在最优点可逆,且特征值有上下界。有解、没有线性关系 对于经验风险函数,当n足够大时可以保证 全局最优点是该函数的最优点 最优点处的函数值足够小 在一个球内,经验风险函数 梯度有界 海瑟矩阵与全局风险函数的海瑟矩阵差异的最大特征值有界 海瑟矩阵变化率不足够大 Theorem 估计值与不使用替代loss的估计值的差异可以被bound住 大约是n^-1数量级 with high probability 估计值与真实值的差异的期望可以被bound住 全局最优也就1/N 所以这个很好 One-step approximation二次替代函数-一步求解 Theorem 当初值足够近的时候,在一个大概率下,估计值与全局估计的差异也是1/n Iterative local estimation algorithmn^-1/2的收敛速率 Confidence region construction对于估计值的分布,我们可以给出一个plug-in的估计 两种估计方式 使用本地最优估计和全局plug-in估计 Corollary 为上述说法提供了理论支持,说明了估计器的一致性 Regularized Estimators with L_1-RegularizerAssumption 在某个不太明白的区域内,local的risk函数强凸 restricted Lipschitz Hessians TheoremPart4Distributed M-Estimators in Logistic Regression本地比较 符合想法的,估计精度很好 当N定n小的时候估计效果差,因为使用本地数据估计全局的海瑟阵的精度变差了 对于右边的两幅图,为什么为什么ave没有随着k的变大而变小?这一点论文中提到,前人研究过。也就是需要k<<n才有这个结论(还是好奇怪 提到了当k大的时候误差会变大,但实验中其实还好?? 和其他方法比较 横坐标为数据遍历次数? 仅仅使用一阶信息的弱鸡对手收敛的太慢辣!(在用遍历次数当横轴这是有些不公平的评价,但可以想象到这样的评价倒没什么问题 居然叫二阶信息noisy? communication efficient如是说 区间估计 对$\\theta$ 的第一个分量进行区间估计,使用plug in estimators 小n时候差,和上面一样 其他情况基本就是95% 带撇的稍微好一点点 Distributed Sparse Linear Regression数值模拟,和平均进行比较 基本是线性的,也就是说数据的分布对算法的估计效果影响不大。与之相对的全局平均受分布散度影响很大 第二张图相当于把第一章图斜过来了,说明二者受N的影响都是线性的 本地、一步、全局进行比较,比较变量选择的准确性(感觉需要联系一下DITS 一步CSL和全局Lasso效果差别不大 左边是平均选中且对的,右边是平均选中且错的(选中的数量没有限定——软阈值 Distributed Bayesian Inference","link":"/2023/12/27/Communication-Efficient-Distributed-Statistical-Inference/"},{"title":"A robust fusion-extraction procedure with summary statistics in the presence of biased sources","text":"前言概述吧?包括对于其摘要与introduction的理解: 本文建立在数据分块的框架下,因此该方法原生的可以应用到分布式框架下。 本文的目标在对多个数据块进行综合估计,而这多个数据块的数据质量难以保证,且数据块之间没有明确的优先级,这一点是与迁移学习中的方法是有区别的,但其中思想好像不同(有点像样本选择) 数据块包含的数据可能存在异常状态,给出不利与总体估计的影响。同时,对总体数据进行分块本身就会导致数据块的数据分布与总体数据分布不一致,这也会导致不利于总体估计。 从摘要来看,本文给出的方法大抵是要选择出那个更好的数据块,在上面进行估计。这样的方法有更好的鲁棒性和准确性(好像样本选择 本文所提到的方法可以用在迁移学习中的相同数据源选择上,实现相同数据源、相似数据源与不相关数据源的分离 Reference Ruoyu Wang, Qihua Wang, Wang Miao, A robust fusion-extraction procedure with summary statistics in the presence of biased sources, Biometrika, Volume 110, Issue 4, December 2023, Pages 1023–1040, https://doi.org/10.1093/biomet/asad013 IntroductionEstimation in the presence of biased sourcesidentification 有些数据块是biased,也就是其参数估计值的极限不是总体参数的极限。有些是unbiased 不知道哪些有偏,哪些无偏 偏差定义为参数差的二范数 proposition 1这个定理有些强劲啊? 如果无偏的数据源所包含数据量占总数据的量大于一定的阈值——该阈值表示为不同数据源的偏差方向的加权累加和 那么,真实参数可以被无偏估计 Estimation 由Proposition 1,可以直观的给出估计量 问题是效果不好,因此选择了IVW估计量 IVW需要给定一些条件,但我们没有 $K_0$ ,所以用 $K$ 替代一下。 因此该估计量可能不一致,所以加入 $b^*$ 项使其一致 $b^*$ 也未知,将其加进去一起估计效果很大可能没那么好,所以要加一个惩罚 将相同的压缩为0,不同的不施加惩罚? Theoretical propertiesConsistency and oracle properties Oracle属性(Oracle Properties):(generate from copilot)在统计学和机器学习中,Oracle属性是指一个理想的模型选择过程,它知道真实的数据生成过程,并因此能够选择最佳的模型。在现实中,我们通常不知道数据的真实生成过程,因此不能实现Oracle选择。然而,我们可以设计算法来近似Oracle选择,通过选择最佳的模型来最大化预测性能。在编程中,我们经常寻求设计具有Oracle属性的算法,尽管这在实践中可能很困难。 Theorem 1 当比例条件满足,且 $\\delta^{-1} \\max_k |\\tilde{\\theta}_k - \\theta^*_k| \\to 0$ in probability, then $|\\tilde{\\theta}-\\theta_0| \\to 0$ in probability 比例足够且不要太小,且 $\\tilde{\\theta}_k$ 一致收敛 Conditions 有无偏的数据源 没看懂,给 $V_k$ 定了一些限制,并且单位矩阵满足这个限制(没有对好坏的评价吗 K不要太大,局部收敛速度不要太慢 Theorem 2 展示了一个和oracle estimator的bias的收敛速度 K不需要给定,也不需要知道一个已知的目标数据源 Conditions 还是很温和 Thheorem 3 对$ \\mathcal{K}_0 $的估计很好 咋证的啊?感觉在到时候证明自己的性质的时候会有用 Asymptotic normalityConditions 没看懂 Theorem 4 在一些没看懂的条件下 给出了一个超级复杂的式子 给出了一个渐进正态的性质 Simulationgenerated data 比较了初始值(好像是使用一阶信息的估计量)、oracle estimator(需要 $k_0$ 吧)、iFusion estimator(需要知道一个无偏的量)、本算法的估计结果 比较了有偏差和无偏差情况下的估计效果 具体效果没仔细看还 real dataEffects of a surgical procedure on the treatment of moderate periodontal diseaseEffects of smoking and alcohol on head and neck cancer","link":"/2024/01/03/A-robust-fusion-extraction%20procedure-with-summary-statistics-in-the-presence-of%20biased-sources/"},{"title":"Redmibook14pro从零开始的archlinux安装与配置","text":"前言Reference archlinux简明指南 end-4/dots-hyprland chinese input for Electron sound driver fxitx5皮肤 配置设备休眠 grub-theme Xwayland高分屏 lazyvim lazyvim进一步配置 初步安装准备好电脑、系统U盘、有线网络环境(无线也可,有线相对方便)后,按照上述链接的步骤进行安装。本文从上述链接结束处继续记录过程。 调整pacman源 增加archlinuxcn源 使用vim打开/etc/pacman.conf文件,在文件末尾添加以下内容 123[archlinuxcn]Server = https://mirrors.ustc.edu.cn/archlinuxcn/$archServer = https://repo.huaweicloud.com/archlinuxcn/$arch 增加32位支持 删除/etc/pacman.d/mirrorlist文件中的[multilib]部分的注释符号#,使其生效 对keyring进行更新 1pacman -Syy && pacman -S archlinux-keyring archlinuxcn-keyring 添加用户上述链接过程结束时,电脑应仅有root用户,并处于无桌面环境的情况下,此时需要添加一个日常用户 12useradd -m -G wheel -s /bin/bash haitangpasswd haitang 使用vim编辑/etc/sudoers文件,取消%wheel ALL=(ALL) ALL行的注释符号# 功耗控制设置休眠行为修改以下内容 /etc/systemd/logind.conf12HandlePowerKey=hibernateHandleLidSwitchExternalPower=ignore /etc/mkinitcpio.conf1HOOKS=(base udev autodetect microcode modconf kms keyboard keymap consolefont block filesystems resume fsck) /etc/defalut/grub1GRUB_CMDLINE_LINUX_DEFAULT="+resume=UUID=xxx"#指在参数中加入该项 之后,执行以下命令: 12sudo grub-mkconfig -o /boot/grub/grub.cfgsudo mkinitcpio -P 未完 设置suspend超时则hibernate 进一步的功耗控制 安装Gnome桌面1pacman -S gnome-extra 一路回车即可。安装完成后,输入 1systemctl enable --now gdm 即可启动Gdm,使用日常账户haitang登录即可。 安装必要软件12sudo pacman -S wqy-microhei wqy-zenhei fcitx5-im fcitx5-chinese-addons firefox gnome-browser-connector power-profiles-daemon tailscale syncthing moonlight-qt texlive texlive-langchinese obsidian zotero plymouth tmuxyay -S clash-verge-rev microsoft-edge-stable-bin ttf-ubuntu-nerd-font linuxqq wechat-bin firefox 用于安装gnome插件 power-profiles-daemon 用于调整电源模式 上述可能不全 配置开机自启动 systemctl部分 12systemctl enable --now tailscaledsystemctl enable --now syncthing@haitang hyprland OR Gnome clash-verge fcitx 给fxitx换一个皮肤下载该链接中的文件,将其解压到~/.local/share/fcitx5/themes目录下,然后在fcitx5配置中选择该主题即可。 安装好用的gnome插件 Dash to Dock vitals kimpanel appindicator 添加声卡驱动根据上面的链接成功播放了声音,但麦克风仍然不工作 安装Hyprland + end-4主题调整首先感叹一下,Gnome是真的好看啊。根据前面的链接即可安装好Hyprland主题,然后再安装end-4主题。 换壁纸~/.config/hypr/custom/exec.conf12# exec-once = swaybg -i /home/haitang/Pictures/wallpaper/f.jpg &sleep 1 && exec-once = swww img "/home/haitang/Pictures/wallpaper/f.jpg" & #不知道为啥不起作用 Foot配置 实际上上述安装脚本已经对foot和fish进行了大量配置,我只是修改了字体与透明度 对foot配置文件的下述部分进行修改 ~/.config/foot/foot.ini123456789font=UbuntuMono Nerd Font:size=13[colors]alpha=0.85[key-bindings]clipboard-copy=Control+Shift+cclipboard-paste=Control+Shift+v# primary-paste=Shift+Insertsearch-start=Control+Shift+f end-4主题中的修改主题颜色行为将覆盖上述的透明度设置,因此我屏蔽了这一部分。修改fish配置文件,注释以下内容 ~/.config/fish/config.fish123#if test -f ~/.cache/ags/user/generated/terminal/sequences.txt# cat ~/.cache/ags/user/generated/terminal/sequences.txt#end Fish配置将默认shell换为fish 1chsh -s /bin/fish darkmode其一,虽然我更加倾向于使用该主题的暗色版本,但>dark命令会将系统色调也换成暗色,我不希望这样。其二,不知道为什么>dark与>light命令会出错,因此,我对下述文件进行了修改 ~/.config/ags/modules/.miscutils/system.js1234567darkMode.connect('changed', ({ value }) => { let lightdark = value ? "dark" : "light"; execAsync([`bash`, `-c`, `mkdir -p ${GLib.get_user_state_dir()}/ags/user && sed -i "1s/.*/${lightdark}/" ${GLib.get_user_state_dir()}/ags/user/colormode.txt`]) .then(execAsync(['bash', '-c', `${App.configDir}/scripts/color_generation/switchcolor.sh --pick`,`&`])) // .then(execAsync(['bash', '-c', `command -v darkman && darkman set ${lightdark}`])) // Optional darkman integration .catch(print);}); ~/.config/ags/scripts/color_generation/applycolor.sh1234567apply_ags &apply_hyprland &apply_hyprlock &# apply_lightdark &# apply_gtk &apply_fuzzel &# apply_term & hyprlock调整这部分懒得写了,就是适配了一下我的屏幕尺寸然后加了个毛玻璃效果 配置自动登陆编辑/etc/gdm/custom.conf文件,修改以下内容 /etc/gdm/custom.conf123[daemon]AutomaticLoginEnable=TrueAutomaticLogin=haitang 为grub增加主题根据上述链接直接操作即可 vscode无法输入中文 尚未解决 我怎么怀疑是Gnome的问题呢? 不清晰:Electron应用/Xwayland该问题设计的软件有五 microsoft-edge-stable-bin google-chrome obsidian linuxqq qqmusic 解决方法为修改相对应的在/usr/share/applications目录下的.desktop文件,在启动参数后加--ozone-platform-hint=auto --enable-wayland-ime即可。 同时,一方面上述软件在更新时会覆盖.desktop文件,另一方面上述软件也不需要更新,因此可以对上述软件的更新进行屏蔽 /etc/pacman.conf1IgnorePkg = microsoft-edge-stable-bin google-chrome obsidian linuxqq qqmusic Xwayland配置见链接 plymouth上面的安装部分中已经安装了plymouth,下面只需要启动即可。修改下述文件 /etc/default/grub1GRUB_CMDLINE_LINUX_DEFAULT="+splash" /etc/mkinitcpio.conf1HOOKS=(+plymouth) 之后执行 12sudo grub-mkconfig -o /boot/grub/grub.cfgsudo mkinitcpio -P 即可。默认主题就是arch-logo足够了,不再进行修改。 SSH系统默认不启动sshd服务,因此需要手动启动 1sudo systemctl enable --now sshd tmux为tmux增加鼠标支持 ~/.tmux.conf1set -g mouse on lazyVim安装1234mkdir .config/nvimgit clone https://github.com/LazyVim/starter ~/.config/nvimrm -rf .config/nvim/.gitnvim 插件配置目前的绝大多数需求可以完全由LazyVim满足,参见链接 背景透明 ~/.config/nvim/lua/plugins/colorscheme.lua123456789-- 核心配置return{ { "catppuccin/nvim", opts = { transparent_background = true, } }} latexmk使用xelatex多番尝试都失败了,最终选择编辑如下文件 ~/.latexmkrc1$pdflatex = 'xelatex %O %S' ToDo 麦克风 vscode无法使用中文输入法 暂时使用hyprland可解 kitty 使用nautilus打开地址 NPU驱动 hyprland快捷键 打开设置 电源管理 帧率、电源管理文件 lazyvim ags小组件 功率控制:根据archlinux简明指南 这个简明指南是真的无敌 指纹 附录简单记录一下装windows时装的东西 clash-verge-rev vscode obs-studio VC runtime .net 米哈游启动器 obsidian tailscale winbtrfs WPS 7-zip zotero","link":"/2024/12/09/Redmibook14pro%E5%AE%89%E8%A3%85archlinux+hyprland%E7%AD%89%E9%85%8D%E7%BD%AE%E8%BF%87%E7%A8%8B/"}],"tags":[{"name":"普罗米修斯","slug":"普罗米修斯","link":"/tags/%E6%99%AE%E7%BD%97%E7%B1%B3%E4%BF%AE%E6%96%AF/"},{"name":"作业的奴隶","slug":"作业的奴隶","link":"/tags/%E4%BD%9C%E4%B8%9A%E7%9A%84%E5%A5%B4%E9%9A%B6/"},{"name":"课堂大师","slug":"课堂大师","link":"/tags/%E8%AF%BE%E5%A0%82%E5%A4%A7%E5%B8%88/"},{"name":"超级大柑橘","slug":"超级大柑橘","link":"/tags/%E8%B6%85%E7%BA%A7%E5%A4%A7%E6%9F%91%E6%A9%98/"},{"name":"联邦学习","slug":"联邦学习","link":"/tags/%E8%81%94%E9%82%A6%E5%AD%A6%E4%B9%A0/"},{"name":"迁移学习","slug":"迁移学习","link":"/tags/%E8%BF%81%E7%A7%BB%E5%AD%A6%E4%B9%A0/"},{"name":"阅读难度:困难","slug":"阅读难度:困难","link":"/tags/%E9%98%85%E8%AF%BB%E9%9A%BE%E5%BA%A6%EF%BC%9A%E5%9B%B0%E9%9A%BE/"},{"name":"阅读难度:简单","slug":"阅读难度:简单","link":"/tags/%E9%98%85%E8%AF%BB%E9%9A%BE%E5%BA%A6%EF%BC%9A%E7%AE%80%E5%8D%95/"}],"categories":[{"name":"数据库大作业","slug":"数据库大作业","link":"/categories/%E6%95%B0%E6%8D%AE%E5%BA%93%E5%A4%A7%E4%BD%9C%E4%B8%9A/"},{"name":"组会","slug":"组会","link":"/categories/%E7%BB%84%E4%BC%9A/"},{"name":"文献阅读","slug":"文献阅读","link":"/categories/%E6%96%87%E7%8C%AE%E9%98%85%E8%AF%BB/"}],"pages":[]}