piano basic

piano basic 连奏(Legato) 钢琴练习中什么是连奏? 连奏(Legato),也称连音,是音与音相衔接时,既没有一点空隙,也不互相重叠。因此,至少要有两个音依次出现,才有连奏的问题。 在乐谱上,用连线记号将需要连奏的音置于一个弧线之内。有的乐谱不画连线,只标上Legato。应当指出,相当多的乐谱或是没画上该画的连线,或是连线的位置、长短不准、不妥,这是初学者要注意的。 连奏,还有心理感受上的意义。要在感觉上连绵不断,仿佛后一个音就是从前一个音生长出来的,音音之间,“血脉”相连。 钢琴上两个相同的音如何连奏? 依据钢琴的发音原理,不用踏板时,两个相同的音事实上是连不起来的。有的乐曲,因为风格或音乐片断结构的关系,又不允许使用踏板,怎么办? (1)在意念里,想象中要把两个同音连起来。这种感觉和愿望会使弹奏者想方设法调整动作,弥补两个音的隔断。 (2)弹两个同音时,无论换指或不换指,都要手指几乎不离键,用柔软的腕部小幅度的上下动作带动手指(手指几乎不动)的方法弹出两个同音。 用这两个办法,就可以使事实上连不起来的两个同音,给人以连起来的感觉。 钢琴弹奏连音的基本要领是什么? (1)听觉要精细地监督,确实听清了两个音没有一丝缝隙、没有一毫重叠。这就要求后一个音弹下时.前一个音的手指要准时(不早也不晚)地离键。离键动作无须幅度很大,但却不可缺少。这一点必须给予一定的注意。 (2)连奏中,要运用重量转移的方法。通常,连奏的第一个音都是用“提起手、落下去”的方法弹出的。弹第二个音时,则要把第一个音“落下”时手指承受的重 量感,转移到第二个音上来。这个转移不是再落一次,而是通过弹第二个音的手指主动触键实现的。如果是两个音的连奏,这个过程已经完成,可把手提起来。如果 是若干个音的连奏,就依次逐个转移下去,直至连线的最后一音再提起手。 (3)所以,从整体综合动作看,无论连线多么短多么长,都是手部“落下——被提起”的一个过程。有时,数十上百的快速音符在一个连线之内,也要感觉到是在 第一个音上落下去,最后一音上抬起手的一个综合、整体动作,就好象是被串起来的一串珠子,提起第一个就能带出一串来一样。 Tempo Tempo 速度意大利文时间的意思,泛指乐曲演奏时的速度,常见的有:Largo(宽广的),Adagio(缓慢的),Moderato(中庸速度, 90 - 115 bpm),Andante(行板, 90 - 115 bpm),Allegro(欢乐的快板)和Presto(非常快)。 高音谱号 𝄞 高单谱号的位置是固定的, 高音谱号起点圆圈围绕第2线 https://zh.wikipedia.org/zh-cn/%E8%AD%9C%E8%99%9F 拍号 分子表示每小节中单位拍的数目,分母表示单位拍的音符时值,例如 3/4 拍即是以四分音符作为一拍的基准单位,且一个小节之内共有三拍。 表示3个4分音符 , 拍号的读法应该是拍数在前,单位在后, 按照语序读就是 三四拍 https://peking.bjd.com.cn/content/s65082f88e4b021d199f1f76b.html 音 物理现象 音乐: 指任何以声音组成的艺术 乐音 : 发音物体有规律地振动而产生的具有固定音高的音称乐音。 噪音 鼓: 噪音乐器 调式: 贝多芬 至爱丽丝 巴洛克时代 古典时代 woO : works out opus 维护记录 时间 修改内容 原因 2026-10-09 修复本地 Hugo 构建的 Raw HTML 警告:代码/配置放入代码块,正文中的尖括号占位符改为行内代码;文件重命名为 basic.md;url 改为 piano-basic 正文中的 HTML/XML 片段被当作原始 HTML 丢弃;文件名/URL/标题按规范调整

Created 8086-10-08 · Updated 9096-10-09 · 1 min · 84 words · -

Kindergarten Anti-Abduction Drill 幼儿园防拐骗专题安全演练

幼儿园防拐骗专题安全演练 背景说明 我家孩子所在的幼儿园小班需要进行一次防拐骗专题安全演练活动,邀请我扮演"坏叔叔"。因为我家孩子在小三班,为了避免被认出来,我要去小一班或者小二班进行演练。 目标群体:幼儿园小班(3-4 岁儿童) 演练目标:骗几个小朋友到幼儿园一楼大厅就算骗成功,然后老师会进行劝说和教育。 现有道具:一些气球 3-4 岁儿童特点: 认知能力:对陌生人概念模糊,容易被玩具、食物吸引 语言理解:能听懂简单指令,但逻辑思维能力弱 情感特征:好奇心强,容易相信成人,缺乏危险意识 社交行为:喜欢模仿同伴,从众心理明显 自我保护:基本没有防范意识,需要通过反复练习建立 演练剧本 场景一:物质诱惑法(气球诱惑) 时间:上午活动时间 地点:小一班教室外走廊或教室内 方案对比: 方式 优点 缺点 成功率预估 门口经过 更真实(模拟陌生人在公共区域);孩子需要主动走出教室;教室内老师可能看不清门口情况 吸引力较弱;孩子可能不敢离开教室 30-50% 走进教室 直接接触,吸引力强;更容易建立互动;近距离诱惑效果好 不够真实(陌生人不会随意进教室);老师可能会提前干预 60-80% 推荐方案:分阶段进行 阶段 1:门口经过(先测试警觉性) 在门口来回走动 2-3 次,故意让气球很显眼 观察孩子反应,看有没有人主动围过来 如果有孩子凑到门口,就在门口互动 测试目标:看孩子是否会主动靠近陌生人 阶段 2:走进教室(如果门口效果不好) 如果门口没人理你,或孩子不敢出来,就走进教室 假装找老师:“老师在吗?哎呀,老师不在呀” 然后开始与孩子互动:“哇,你们在玩什么呀?” 测试目标:看孩子对进入教室的陌生人是否警觉 剧本流程: 接近阶段(1-2 分钟) 方式A(门口):我拿着五颜六色的气球在教室门口慢慢走过,来回 2-3 次 方式B(进教室):如果门口效果不好,敲敲门或直接走进教室 故意让气球飘得很显眼,吸引孩子注意 微笑着说:“哇,这些气球真漂亮!你们喜欢气球吗?” 针对 3-4 岁技巧:用夸张的表情和动作,因为这个年龄段的孩子对视觉刺激特别敏感 观察要点:记录孩子是否对"门口的陌生人"保持警惕 诱惑阶段(2-3 分钟) 等孩子们围过来后说:“叔叔这里有好多漂亮的气球呢!” “你们想要吗?叔叔在一楼大厅那里还有更多更漂亮的气球!” “有小猪佩奇的、有超人的、有公主的,什么样的都有!” “谁跟叔叔去拿气球呀?只要下楼就能拿到哦!” 针对 3-4 岁技巧:提到他们熟悉的动画角色(小猪佩奇、汪汪队等),用简单短句,语速稍慢 引导阶段(1-2 分钟) ...

Created 20206-11-20 · Updated 9096-10-09 · 2 min · 288 words · -

macOS Basics

macOS Basic # uninstal /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh)" # install /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" brew install maven diskutil list 快捷键 截屏: Command + Shift + 3 显示/隐藏 Dock: Option + Command + D 显示隐藏文件: Command + Shift + . 将光标移动到行首:control + a 将光标移动到行尾:control + e 清除屏幕:control + l 搜索以前使用命令:control + r 清除当前行:control + u 清除至当前行尾:control + k 单词为单位移动:option + 方向键 锁屏 Touch ID:带有 Touch ID 的 MacBook 或妙控键盘,轻按指纹识别键即可瞬间锁屏,比快捷键更快速。 Command (⌘) + Control (⌃) + Q:立即锁定屏幕。 窗口切换 macOS 的设计逻辑:Command + Tab 是在应用程序之间切换,而不是在窗口之间切换。 ...

Created 10106-01-10 · Updated 11116-06-11 · 2 min · 257 words · -

dev env

dev env linux ubuntu kafka containerd + nerdctl yubico login selfsigned cert, use for nginx citrix OK 远程桌面正常使用 传文件, 用桌面版的 citrix Jetbrains OK webex fcitx 输入中文, 2404 使用正常, 字体需要 配置一下 会议模式 ok, 音质销差但是不影响 共享屏幕, 用网页版 中文输入法 fcitx outlook 用网页版 或者 Thunderbird gnome terminal: 可以配置保留所有命令行的输出, windows terminal 只能保留 32767 行 containerd + nerdctl install chrome, download deb install vscode, download deb install 1password, download deb export ssh private key from 1password sudo apt install git # ubuntu install python3 by default # pdm depends on python3.12-venv sudo apt install python3.12-venv curl -sSL https://pdm-project.org/install-pdm.py | python3 - export PATH=/home/ywang6/.local/bin:$PATH sudo apt-get install libpq-dev python3-dev clang # sudo nopassword # install zsh # install fcitx5 windows # install latest version of powershell https://github.com/PowerShell/PowerShell/releases/tag/v7.1.0 # 以 admin 启动 powershell, 执行以下命令 choco install golang choco install nodejs-lts choco install python2 winget 安装软件不知道会安装到哪 ...

Created 1016-08-01 · Updated 22226-05-22 · 2 min · 364 words · -

mobile apps, iOS apps, android apps, app list, apk

mobile apps, iOS apps, android apps, app list, apk iOS/Android bitwarden plex, 流媒体服务器 QuMagie, 威联通 NAS 相册 macrodroid, 设备自动化, 监控电池电量发 http 请求. otter, 语音转文字 Ingress Prime, 一个 LBS 游戏 APTV, apple tv, ios 看电视频道 name comments 古诗文网 Wander iOS app store redirect: 切换 app store 版本 (中国区/美区) name comments 英语轻松读 surge 网络调试工具 wireguard vpn Chanify 消息推送工具 默沙东诊疗手册 Sun Surveyor Lite 查看太阳轨迹 Star Walk 2 Strongbox keepassxc的ios实现, deprecated, > bitwarden iOS app 美区 wireguard telegram android app, apk list name comments macrodroid 设备自动化 英语轻松读 英语学习 ebuoy english buoy 英语学习 酷安 应用商店 internet speed meter lite 网速监控 随手记 Cellular-Z 移动信号监测 PingTools Network Utilities 炼妖壶 流氓软件管理 半导小蕊 Live Transcribe & Sound Notifications/实时转写和声音通知 语音转文字 RssX DevCheck 手机硬件检测工具 Quizlet 英语学习工具 shareit 茄子快传 Internet Speed Meter Lite 网速监控 F-droid 应用商店 android/chromeos apps android apps Live Transcribe & Notification Name Comments airdroid 文件传输 JuiceSSH Kde connect nplayer 视频播放 automate vysor MicroDroid total command Squid pixelbook 笔记或草稿软件 Infinite Painter 绘画软件 Imaging Edge Mobile Sony 相机远程控制 Sony Headphones Connect, Sony 耳机管理软件 rd client 微软的远程桌面安卓版 EBuoy Learn English through video subtitles AnkiDroid Flashcards sfdroid ...

Created 24246-12-24 · Updated 21216-05-21 · 2 min · 271 words · -

缓存

缓存 https://xie.infoq.cn/article/0134f29b0c0895df548dd929b?utm_source=rss&utm_medium=article 缓存的存在,是为了调和差异。 差异有多种,比如处理器和存储之间的速度差异、用户对产品的使用体验和服务处理效率的差异等等。 CPU 缓存[2]。为了调和 CPU 和内存之间巨大的速度差异,设置了 L1/L2/L3 三级缓存,离 CPU 越近,速度越快。 Ehcache[3]。是最流行了 Java 缓存框架之一。因为其开源属性,在 spring/Hibernate 等框架上被广泛使用。支持磁盘持久化和堆外内存。缓存功能齐全。 Guava cache。灵感来源于 ConcurrentHashMap,但具有更丰富的元素失效策略,功能没有 ehcache 齐全,如只支持 jvm 内存,但比较轻量简洁。 memcached。[5] memcached 是一个高效的分布式内存 cache,搭建与操作使用都比较简单,整个缓存都是基于内存的,因此响应时间很快,但是没有持久化的能力。 Redis 以优秀的性能和丰富的数据结构,以及稳定性和数据一致性的支持,被业内越来越普遍的使用。 缓存预热 缓存预热就是系统上线后,将相关的缓存数据直接加载到缓存系统。这样就可以避免在用户请求的时候, 先查询数据库, 然后再将数据缓存的问题!用户直接查询事先被预热的缓存数据! 解决思路: 直接写个缓存刷新页面,上线时手工操作下; 数据量不大,可以在项目启动的时候自动进行加载; 定时刷新缓存; 缓存更新 除了缓存服务器自带的缓存失效策略之外 (Redis默认的有6中策略可供选择) ,我们还可以根据具体的业务需求进行自定义的缓存淘汰,常见的策略有两种: 定时去清理过期的缓存; 当有用户请求过来时, 再判断这个请求所用到的缓存是否过期,过期的话就去底层系统得到新数据并更新缓存。 两者各有优劣,第一种的缺点是维护大量缓存的key是比较麻烦的,第二种的缺点就是每次用户请求过来都要判断缓存失效,逻辑相对比较复杂!具体用哪种方案,大家可以根据自己的应用场景来权衡。 缓存穿透 Cache Penetration 穿透形象一点就是: 请求过来了 转了一圈 一无所获 就像穿过透明地带一样。 在高并发系统中缓存穿透,如果一个 req 需要请求的 key 在缓存中没有,这时业务线程就会访问磁盘数据库系统,然而磁盘数据库也没有这个 key,无奈业务线程只能返回 null,白白处理一圈。 查询的是数据库中不存在的数据,没有命中缓存而数据库查询为空,也不会更新缓存。导致每次都查库,如果不加处理,遇到恶意攻击,会导致数据库承受巨大压力,直至崩溃。 解决方案 接口层防护(第一道防线) API 限流、防 DDoS 网关黑名单、用户鉴权 参数合法性校验(如 ID 必须 > 0) 缓存空对象 如果一个查询返回的数据为空(不管是数据不存在,还是系统故障),仍然把这个空结果进行缓存,但它的过期时间会很短,不超过 5 分钟。通过这个直接设置的默认值存放到缓存,这样第二次到缓存中获取就有值了,而不会继续访问数据库。当修改或者新增该 key 的数据信息的时候,需要删除或者更新 null 缓存值。 ...

Created 14146-04-14 · Updated 14146-04-14 · 2 min · 379 words · -

pnpm basic, npm basic

pnpm - 高效的 Node.js 包管理器 pnpm 简介 pnpm (performant npm) 是一个快速、节省磁盘空间的 JavaScript 包管理器,作为 npm 和 yarn 的替代方案。它通过创建硬链接和符号链接的方式来共享依赖,避免重复安装相同的包。 核心特点 节省磁盘空间 所有版本的依赖都存储在硬盘上的单一位置(全局存储目录) 当安装包时,文件会从全局存储硬链接到项目的 node_modules 如果你有 100 个项目使用相同版本的某个依赖,磁盘上只会有这个依赖的一份文件 极快的安装速度 由于使用硬链接,安装过程比 npm 和 yarn 都快 多个项目共享依赖时,速度优势更加明显 严格的依赖解析算法避免了冗余操作 创建非扁平化的 node_modules 使用符号链接创建依赖的嵌套结构 只有 package.json 中声明的依赖才能访问 避免了"幽灵依赖"(phantom dependencies)问题 严格的依赖管理 防止访问未声明的依赖 确保项目的可重现性和安全性 pnpm 工作原理 全局存储 (~/.pnpm-store/) ├── package-a@1.0.0 ├── package-b@2.0.0 └── package-c@3.0.0 ↓ (硬链接) 项目 node_modules/ └── .pnpm/ └── package-a@1.0.0/ └── node_modules/ └── package-a (实际内容) ↓ (符号链接) └── package-a → .pnpm/package-a@1.0.0/node_modules/package-a 与 npm/yarn 的对比 特性 pnpm npm yarn 磁盘空间效率 ⭐⭐⭐⭐⭐ ⭐⭐ ⭐⭐ 安装速度 ⭐⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐ 依赖隔离 ⭐⭐⭐⭐⭐ ⭐⭐ ⭐⭐ Monorepo 支持 ⭐⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐ 严格性 ⭐⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐ pnpm 安装 全局安装 pnpm # 使用 npm 安装 npm install -g pnpm # 使用 Homebrew (macOS/Linux) brew install pnpm # 使用独立脚本安装 curl -fsSL https://get.pnpm.io/install.sh | sh - # Windows (PowerShell) iwr https://get.pnpm.io/install.ps1 -useb | iex 查看版本 pnpm --version pnpm -v pnpm 基本命令 安装依赖 # 安装 package.json 中的所有依赖 pnpm install pnpm i # 安装指定包 pnpm add <package> pnpm add lodash # 安装指定版本 pnpm add lodash@4.17.21 # 安装到 devDependencies pnpm add -D <package> pnpm add --save-dev jest # 全局安装 pnpm add -g <package> pnpm add -g typescript # 安装指定 workspace 包 pnpm add <package> --filter <workspace> 更新依赖 # 更新所有依赖 pnpm update pnpm up # 更新指定包 pnpm update lodash pnpm up lodash # 更新到最新版本(忽略 package.json 中的版本范围) pnpm update --latest pnpm up -L # 交互式更新 pnpm update -i 删除依赖 # 删除指定包 pnpm remove <package> pnpm rm lodash # 删除全局包 pnpm remove -g <package> 查看依赖 # 列出所有依赖 pnpm list pnpm ls # 列出指定包的依赖树 pnpm list <package> # 查看过期的包 pnpm outdated # 查看包信息 pnpm view lodash pnpm info lodash 运行脚本 # 运行 package.json 中定义的脚本 pnpm run <script> pnpm run build pnpm run test # 简写(对于常用命令) pnpm start pnpm test pnpm t 清理缓存 # 清理未被引用的包 pnpm store prune # 查看 store 状态 pnpm store status # 查看 store 路径 pnpm store path 安全审计 # 检查依赖包的安全漏洞(对应 npm audit) pnpm audit # 自动修复漏洞(对应 npm audit fix) pnpm audit --fix # 仅生产环境依赖审计 pnpm audit --prod # 输出 JSON 格式 pnpm audit --json # 审计并显示详细信息 pnpm audit --audit-level=<severity> # severity 可选值: low, moderate, high, critical pnpm audit 与 npm audit 的差异: ...

Created 24246-03-24 · Updated 24246-03-24 · 10 min · 1972 words · -

video, h.264, h.265, ffmpeg

“video, h.264, h.265, ffmpeg” H.265与H.264是ITU-T VCEG 制定的视频编码标准。H.265标准围绕着现有的视频编码标准H.264,保留原来的某些技术,同时对一些相关的技术加以改进。新技术使用先进的技术用以改善码流、编码质量、延时和算法复杂度之间的关系,达到最优化设置。具体的研究内容包括: 提高压缩效率、提高鲁棒性和错误恢复能力、减少实时的时延、减少信道获取时间和随机接入时延、降低复杂度等。H264由于算法优化,可以低于1Mbps的速度实现标清数字图像传送;H265则可以实现利用1~2Mbps的传输速度传送720P (分辨率1280*720) 普通高清音视频传送。 H.265旨在在有限带宽下传输更高质量的网络视频,仅需H.264的一半带宽即可播放相同质量的视频。H.265标准也同时支持4K(4096×2160)和8K(8192×4320)超高清视频。 H.264 H.264,同时也是MPEG-4第十部分,是由ITU-T视频编码专家组 (VCEG) 和ISO/IEC动态图像专家组 (MPEG) 联合组成的联合视频组 (JVT,Joint Video Team) 提出的高度压缩数字视频编解码器标准。这个标准通常被称之为H.264/AVC (或者AVC/H.264或者H.264/MPEG-4AVC或MPEG-4/H.264 AVC) 而明确的说明它两方面的开发者。 H.264最大的优势是具有很高的数据压缩比率,在同等图像质量的条件下,H.264的压缩比是MPEG-2的2倍以上,是MPEG-4的1.5~2倍。举个例子,原始文件的大小如果为88GB,采用MPEG-2压缩标准压缩后变成3.5GB,压缩比为25∶1,而采用H.264压缩标准压缩后变为879MB,从88GB到879MB,H.264的压缩比达到惊人的102∶1。低码率 (Low Bit Rate) 对H.264的高的压缩比起到了重要的作用,和MPEG-2和MPEG-4ASP等压缩技术相比,H.264压缩技术将大大节省用户的下载时间和数据流量收费。尤其值得一提的是,H.264在具有高压缩比的同时还拥有高质量流畅的图像,正因为如此,经过H.264压缩的视频数据,在网络传输过程中所需要的带宽更少,也更加经济。 H.265, HEVC(高效视频编码) H.265是ITU-TVCEG继H.264之后所制定的新的视频编码标准。H.265标准围绕着现有的视频编码标准H.264,保留原来的某些技术,同时对一些相关的技术加以改进。 新技术使用先进的技术用以改善码流、编码质量、延时和算法复杂度之间的关系,达到最优化设置。具体的研究内容包括: 提高压缩效率、提高鲁棒性和错误恢复能力、减少实时的时延、减少信道获取时间和随机接入时延、降低复杂度等。H264由于算法优化,可以低于1Mbps的速度实现标清数字图像传送;H265则可以实现利用1~2Mbps的传输速度传送720P (分辨率1280*720) 普通高清音视频传送。 H.265旨在在有限带宽下传输更高质量的网络视频,仅需原先的一半带宽即可播放相同质量的视频。这也意味着,我们的智能手机、平板机等移动设备将能够直接在线播放1080p的全高清视频。H.265标准也同时支持4K(4096×2160)和8K(8192×4320)超高清视频。可以说,H.265标准让网络视频跟上了显示屏"高分辨率化"的脚步。 H.265 与 H.264 有何不同 在讨论 H.265有哪些提升和优点之前,我们不妨先来了解一下H.264。H.264 也称作 MPEG-4AVC(Advanced Video Coding,高级视频编码),是一种视频压缩标准,同时也是一种被广泛使用的高精度视频的录制、压缩和发布格式。H.264 因其是蓝光光盘的一种编解码标准而著名,所有蓝光播放器都必须能解码H.264。更重要的是,因为苹果公司当初毅然决然抛弃了Adobe 的VP6 编码,选择了 H.264,这个标准也就随着数亿台iPad和iPhone 走入了千家万户,成为了目前视频编码领域的绝对霸主,占有超过80%的份额。H.264 也被广泛用于网络流媒体数据、各种高清晰度电视广播以及卫星电视广播等领域。H.264相较于以前的编码标准有着一些新特性,如多参考帧的运动补偿、变块尺寸运动补偿、帧内预测编码等,通过利用这些新特性,H.264比其他编码标准有着更高的视频质量和更低的码率,也因此受到了人们的认可,而被广泛应用。 H.265/HEVC 的编码架构大致上和H.264/AVC的架构相似,也主要包含: 帧内预测(intra prediction)、帧间预测(inter prediction)、转换(transform)、量化(quantization)、去区块滤波器(deblocking filter)、熵编码(entropy coding)等模块。但在HEVC编码架构中,整体被分为了三个基本单位,分別是: 编码单位(coding unit,CU)、预测单位(predict unit,PU)和转换单位(transform unit,TU)。 H.265为 何优于H.264 比起H.264/AVC,H.265/HEVC提供了更多不同的工具来降低码率,以编码单位来说, 最小的8x8到最大的64x64。信息量不多的区域(颜色变化不明显,比如车体的红色部分和地面的灰色部分)划分的宏块较大,编码后的码字较少,而细节多的地方(轮胎)划分的宏块就相应的小和多一些,编码后的码字较多,这样就相当于对图像进行了有重点的编码,从而降低了整体的码率,编码效率就相应提高了。同时,H.265的帧内预测模式支持33种方向(H.264只支持8种),并且提供了更好的运动补偿处理和矢量预测方法。 反复的质量比较测试已经表明,在相同的图象质量下,相比于H.264,通过H.265编码的视频码流大小比H.264减少大约39-44%。由于质量控制的测定方法不同,这个数据也会有相应的变化。通过主观视觉测试得出的数据显示,在码率减少51-74%的情况下,H.265编码视频的质量还能与H.264编码视频近似甚至更好,其本质上说是比预期的信噪比(PSNR)要好。这些主观视觉测试的评判标准覆盖了许多学科,包括心理学和人眼视觉特性等,视频样本非常广泛,虽然它们不能作为最终结论,但这也是非常鼓舞人心的结果。 目前的HEVC 标准共有三种模式: Main、Main10 和Main Still Picture。Main模式支持8bit色深(即红绿蓝三色各有256个色度,共1670万色),Main10模式支持10bit色深,将会用于超高清电视(UHDTV)上。前两者都将色度采样格式限制为4: 2: 0。预期将在2014年对标准有所扩展,将会支持4: 2: 2和4: 4: 4采样格式(即提供了更高的色彩还原度)和多视图编码(例如3D立体视频编码)。 ...

Created 3036-03-03 · Updated 3036-03-03 · 2 min · 253 words · -

network manager

“network manager” sudo pacman -S networkmanager sudo systemctl status NetworkManager.service sudo systemctl start NetworkManager.service sudo systemctl restart NetworkManager.service sudo pacman -S nm-connection-editor sudo pacman -S network-manager-applet nmcli device nmcli connection nmcli c delete System policy prevents control of network connections System policy prevents control of network connections System policy prevents modification of network settings for all users< vim /usr/share/polkit-1/actions/org.freedesktop.NetworkManager.policy Open /usr/share/polkit-1/actions/org.freedesktop.NetworkManager.policy with root/sudo privileges and search for the following line: ...

Created 18186-02-18 · Updated 18186-02-18 · 2 min · 290 words · -

font, 字体

font, 字体 主流编程字体 等宽编程字体特性 编程字体需要具备以下特点: 等宽设计:每个字符宽度相同,便于代码对齐 字符区分度高:容易区分 0O(数字零和字母O)、1lI(数字一、小写L和大写I)等相似字符 连字支持(可选):将 ->, =>, != 等组合显示为单个符号 编程符号优化:清晰的括号、引号、运算符显示 舒适的行高和字间距:长时间编码不易疲劳 开源免费字体 Cascadia Code 开发者:Microsoft 特点:Windows Terminal 默认字体,支持连字(Cascadia Code PL 变体),包含 Powerline 字形 适用场景:Windows 开发、终端、VS Code 安装:sudo apt install fonts-cascadia-code (Ubuntu/Debian) 官网:https://github.com/microsoft/cascadia-code JetBrains Mono 开发者:JetBrains 特点:专为开发者设计,字符高度区分,支持连字,行高适中 适用场景:IntelliJ IDEA、PyCharm 等 JetBrains IDE 推荐 官网:https://www.jetbrains.com/lp/mono/ Fira Code 开发者:Mozilla(基于 Fira Sans 和 Fira Mono) 特点:最流行的连字编程字体之一,支持 100+ 连字组合 适用场景:喜欢连字效果的开发者 安装:sudo apt install fonts-firacode 官网:https://github.com/tonsky/FiraCode Hack 特点:基于 Bitstream Vera 和 DejaVu,字符区分度极高 适用场景:注重代码可读性,不需要连字 安装:sudo apt install fonts-hack 官网:https://sourcefoundry.org/hack/ Source Code Pro 开发者:Adobe 特点:优雅的设计,6 种字重,清晰的字符 适用场景:喜欢 Adobe 设计风格 安装:sudo pacman -S adobe-source-code-pro-fonts (Arch) 官网:https://adobe-fonts.github.io/source-code-pro/ DejaVu Sans Mono 特点:基于 Vera Sans Mono,Unicode 覆盖广 适用场景:多语言编程,Linux 默认等宽字体 安装:大多数 Linux 发行版预装 Ubuntu Mono 开发者:Canonical 特点:Ubuntu 系统默认等宽字体,字符清晰 适用场景:Ubuntu 用户 Inconsolata 开发者:Raph Levien 特点:简洁紧凑,适合小屏幕 适用场景:小尺寸显示 官网:https://levien.com/type/myfonts/inconsolata.html IBM Plex Mono 开发者:IBM 特点:现代设计,IBM 企业级品质 适用场景:喜欢 IBM 设计语言 官网:https://www.ibm.com/plex/ Iosevka 特点:窄字符设计,同屏显示更多代码 适用场景:喜欢紧凑布局,小屏幕 官网:https://typeof.net/Iosevka/ 商业付费字体 SF Mono 开发者:Apple 特点:macOS 和 Xcode 默认等宽字体 适用场景:macOS 开发者 获取:随 macOS 系统或 Xcode 提供 Operator Mono 开发者:Hoefler & Co. 特点:优雅的意大利斜体,价格较贵($199+) 适用场景:追求极致美观 官网:https://www.typography.com/fonts/operator/ MonoLisa 特点:专注可读性和长时间编码舒适度 价格:€139 起 官网:https://www.monolisa.dev/ Nerd Fonts 系列 Nerd Fonts 是在流行编程字体基础上打补丁,添加大量图标字形(Font Awesome、Devicons、Octicons 等)。 ...

Created 16166-01-16 · Updated 16166-01-16 · 2 min · 340 words · -

nodejs basic

nodejs basic version current v14.21.3 latest v21.6.2 Node.js 版本管理工具对比 nvm vs fnm 特性 nvm fnm 性能 较慢 (shell 脚本) 快速 (Rust 编写) 启动时间 明显延迟 (每次启动 shell) 几乎无延迟 自动切换 需手动配置 hook 内置支持 --use-on-cd 配置文件 .nvmrc .nvmrc 或 .node-version 跨平台 macOS/Linux macOS/Linux/Windows Windows 支持 需要 nvm-windows (独立项目) 原生支持 项目隔离 支持 (通过 .nvmrc) 支持 (自动检测) 安装速度 较慢 快速 内存占用 较高 较低 成熟度 非常成熟 (2010年) 较新 (2019年) 社区 庞大 增长中 推荐场景: 使用 nvm: 需要最成熟稳定的方案,或团队已在使用 使用 fnm: 追求性能,需要 Windows 支持,或新项目 nvm, Node Version Manager https://github.com/nvm-sh/nvm ...

Created 5056-12-05 · Updated 5056-12-05 · 3 min · 514 words · -

ubuntu basic

ubuntu basic 显示器分辨率问题 详细的显示器分辨率问题修复指南已移至专门文档: Ubuntu 显示器分辨率问题修复:手动加载 EDID 固件 该文档包含完整的诊断、修复步骤和故障排除方法。 apt-select # https://pypi.org/project/apt-select/ pip install apt-select apt-select -C JP sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup && sudo mv sources.list /etc/apt/ mirrors http://mirrors.ubuntu.com/ deb, deb-src 不是要看代码或者自己编译的话 deb-src 可以注释掉或者删除 backports proposed security updates 简单的解释: 基础:由于ubuntu是每6个月发行一个新版,当发行后,所有软件包的版本在这六个月内将保持不变,即使是有新版都不更新。除开重要的安全补丁外,所有新功能和非安全性补丁将不会提供给用户更新。 security:仅修复漏洞,并且尽可能少的改变软件包的行为。低风险。 backports:backports 的团队则认为最好的更新策略是 security 策略加上新版本的软件(包括候选版本的)。但不会由Ubuntu security team审查和更新。 update:修复严重但不影响系统安全运行的漏洞,这类补丁在经过QA人员记录和验证后才提供,和security那类一样低风险。 proposed:update类的测试部分,仅建议提供测试和反馈的人进行安装。 个人认为: 1.重要的服务器:用发行版默认的、security 2.当有要较新软件包才行能运作的服务器:用发行版默认的、 security、(backports 还是不适合) 3.一般个人桌面:用发行版默认的、 security、backports、update 4.追求最新、能提供建议和反馈大虾:发行版默认的、 security、backports、update、proposed 全部用上! Ubuntu 22.04 LTS (Jammy Jellyfish) ubuntu mirror aliyun deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse 163 deb http://mirrors.163.com/ubuntu/ jammy main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ jammy-security main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ jammy-updates main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ jammy-proposed main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ jammy-backports main restricted universe multiverse vim /etc/apt/sources.list %s/archive.ubuntu.com/mirrors.163.com/g tsinghua deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse # wsl export DISPLAY=172.18.80.1:0 # windows 里ipconfig看到的连接wsl的ip apt install git-svn apt install openjdk-8-jdk apt install maven # config ~/.m2/settings.xml apt install nautilus sudo apt-get install ttf-wqy-microhei #文泉驿-微米黑 sudo apt-get install ttf-wqy-zenhei #文泉驿-正黑 sudo apt-get install xfonts-wqy #文泉驿-点阵宋体 sudo apt install keepassxc 中文乱码问题 # 安装中文支持包language-pack-zh-hans sudo apt-get install language-pack-zh-hans # 设置语言 vim /etc/environment ## 中文语言环境, 设置后 vim 进入编辑状态屏幕下方会显示中文"插入"的那种 LANG="zh_CN.UTF-8" LANGUAGE="zh_CN:zh:en_US:en" ## 英文环境 LANG="en_US.UTF-8" LANGUAGE="en_US:en" vim /var/lib/locales/supported.d/local en_US.UTF-8 UTF-8 zh_CN.UTF-8 UTF-8 zh_CN.GBK GBK zh_CN GB2312 sudo locale-gen # 中文乱码是空格的情况,安装中文字体解决 sudo apt-get install fonts-droid-fallback ttf-wqy-zenhei ttf-wqy-microhei fonts-arphic-ukai fonts-arphic-uming https://blog.csdn.net/weixin_39792252/article/details/80415550 ...

Created 4046-12-04 · Updated 4046-12-04 · 5 min · 867 words · -

linux desktop

Linux 桌面环境 Linux 桌面环境(Desktop Environment,简称 DE)是运行在 Linux 操作系统上的图形用户界面,提供窗口管理、文件管理、系统设置等功能。 流行的 Linux 桌面环境 GNOME 官网:https://www.gnome.org/ 特点:现代化设计,简洁优雅,注重工作流程 默认用于:Fedora、Ubuntu(自 17.10 起)、Debian 技术栈:GTK KDE Plasma 官网:https://kde.org/plasma-desktop/ 特点:高度可定制,功能丰富,类似 Windows 的操作体验 默认用于:Kubuntu、openSUSE、KDE neon 技术栈:Qt Xfce 官网:https://xfce.org/ 特点:轻量级,资源占用低,适合老旧硬件 默认用于:Xubuntu、Manjaro Xfce 技术栈:GTK 桌面环境对比 桌面环境 资源占用 可定制性 适合人群 GNOME 中高 中 追求现代化体验的用户 KDE Plasma 中 高 喜欢定制的高级用户 Xfce 低 中 老旧硬件用户 GTK 与 Qt 技术栈 Linux 桌面应用主要基于两种 GUI 工具包: 技术栈 使用的桌面环境 代表应用 GTK GNOME、Xfce、Cinnamon、MATE Firefox、GIMP、Thunar Qt KDE Plasma Dolphin、Konsole、VLC 跨技术栈运行 GTK 应用可以在 Qt 桌面(如 KDE)运行,反之亦然。应用程序只需安装一次,所有桌面环境共享。 ...

Created 29296-11-29 · Updated 29296-11-29 · 4 min · 702 words · -

audio fix

Ubuntu 24.04 音频问题修复记录 日期: 2025-11-04 系统: Ubuntu 24.04 硬件: Beelink SER8 音频芯片: Realtek ALC897 问题描述 在系统设置中测试音频时,音箱接入耳机接口(3.5mm)没有声音输出。 排查过程 1. 检查音频设备状态 # 查看可用的音频输出设备 pactl list sinks short 结果: 发现主板音频设备: alsa_output.pci-0000_65_00.6.analog-stereo (Family 17h/19h HD Audio Controller) HDMI音频设备也存在 2. 检查混音器配置 # 查看声卡列表 cat /proc/asound/cards # 检查混音器设置 amixer -c 1 scontents 发现: 音频设备被正确识别 Master, Headphone, Line Out 通道配置正常 Speaker 通道初始被关闭(音量0%, 状态off) 3. 检查系统日志 journalctl -b | grep -i 'audio\|sound\|alsa' | tail -50 发现: ALSA控制器初始化时有多个 “failed to obtain info for control” 警告 PipeWire和PulseAudio服务正常启动 硬件被正确识别: Realtek ALC897 4. 分析硬件Pin配置 cat /proc/asound/card1/codec#0 | grep -A 10 "Node 0x1b\|Node 0x14\|Node 0x15" 关键发现: ...

Created 4046-11-04 · Updated 4046-11-04 · 3 min · 561 words · -

tcp_syn_retries

tcp_syn_retries http://www.chengweiyang.cn/2017/02/18/linux-connect-timeout/ tcp_syn_retries tcp_synack_retries # ubuntu 24.04 ➜ ~ sysctl net.ipv4.tcp_syn_retries net.ipv4.tcp_syn_retries = 6 ➜ ~ sysctl net.ipv4.tcp_synack_retries net.ipv4.tcp_synack_retries = 5 ➜ ~ # 对于主动连接(客户端主动发起连接),每次SYN重试的间隔会逐步递增(不是固定值),由内核写死,不能通过 sysctl 直接调整。 t0 第一次请求 超时时间 1s t1 第一次重试 超时时间 2s t2 第二次重试 超时时间 4s t3 第三次重试 超时时间 8s t4 第四次重试 超时时间 16s t5 第五次重试 超时时间 32s t6 第六次重试 超时时间 64s 总计 1+2+4+8+16+32+64 = 127s http://www.cnitblog.com/Scripts/archive/2009/05/20/57350.html tcp_syn_retries等参数详解(转帖) tcp_syn_retries : INTEGER 默认值是5 对于一个新建连接,内核要发送多少个 SYN 连接请求才决定放弃。不应该大于255,默认值是5,对应于180秒左右时间。(对于大负载而物理通信良好的网络而言,这个值偏高,可修改为2.这个值仅仅是针对对外的连接,对进来的连接,是由tcp_retries1 决定的) tcp_synack_retries : INTEGER ...

Created 29296-09-29 · Updated 29296-09-29 · 2 min · 266 words · -

BNF 巴科斯范式

BNF 巴科斯范式 BNF & Augmented BNF 巴科斯范式 巴科斯范式(BNF: Backus-Naur Form 的缩写) 是由 John Backus 和 Peter Naur 首次引入一种形式化符号来描述给定语言的语法 (最早用于描述ALGOL 60 编程语言) 。 确切地说,早在UNESCO (联合国教科文组织) 关于ALGOL 58的会议上提出的一篇报告中,Backus就引入了大部分BNF符号。 虽然没有什么人读过这篇报告,但是在Peter Naur读这篇报告时,他发现Backus对ALGOL 58的解释方式和他的解释方式有一些不同之处,这使他感到很惊奇。 首次设计ALGOL的所有参与者都开始发现了他的解释方式的一些弱点,所以他决定对于以后版本的ALGOL应该以一种类似的形式进行描述,以让所有参与者明白他们在对什么达成一致意见。 他做了少量修改,使其几乎可以通用,在设计ALGOL 60的会议上他为ALGOL 60草拟了自己的BNF。 看你如何看待是谁发明了BNF了,或者认为是Backus在1959年发明的,或者认为是Naur在1960年中发明。 (关于那个时期编程语言历史的更多细节,参见1978年8月,《Communications of the ACM (美国计算机学会通讯) 》, 第21卷,第8期中介绍Backus获图灵奖的文章。这个注释是由来自Los Alamos Natl.实验室的William B. Clodius建议的) 。 现在,几乎每一位新编程语言书籍的作者都使用巴科斯范式来定义编程语言的语法规则。 巴科斯范式的内容 在双引号中的字(“word”)代表着这些字符本身。而double_quote用来代表双引号。 在双引号外的字 (有可能有下划线) 代表着语法部分。 尖括号 <> 内包含的为必选项。 方括号 [] 内包含的为可选项。 大括号 {} 内包含的为可重复 0 至无数次的项。 竖线 | 表示在其左右两边任选一项,相当于"OR"的意思。 ::= 是"被定义为"的意思。 巴科斯范式示例 这是用BNF来定义的Java语言中的For语句的实例: FOR_STATEMENT ::= ...

Created 11116-03-11 · Updated 11116-03-11 · 2 min · 240 words · -

kodi, openelec

kodi, openelec LibreELEC 官网地址 https://github.com/LibreELEC/LibreELEC.tv LibreELEC 是从OpenELEC早期版本独立出来的一个分支. 与OpenELEC相比更精简, 更新更快(monthly updates), 官网文档详细, 更容易安装, 目前Kodi主页上的Friends列表, 只有LibreELEC, 没有OpenELEC. 目前大部分用户更倾向于使用LibreELEC. CoreELEC 官网地址 https://coreelec.org/ Github地址 https://github.com/CoreELEC/CoreELEC CoreELEC 是LibreELEC的一个分支, 专注于在Amlogic芯片方案上运行的Kodi. 如果你的盒子使用的是Amlogic系列芯片, 推荐使用这个. Kodi 官网地址 https://kodi.tv/ 首先是Kodi(曾经也叫XBMC), 是一个可以跨多平台运行的影音娱乐中心软件. 由XMBC/Kodi基金会资助开发. 是当前各种ELEC项目的鼻祖. https://github.com/taxigps/xbmc-addons-chinese OpenELEC 官网地址 https://openelec.tv/ OpenELEC(Open Embedded Linux Entertainment Center)是一个基于JeOS(Just Enough Operating System)的精简Linux, 用于将电脑变为可以运行Kodi的家庭媒体娱乐中心, 其功能包括影片管理和播放, TV播放, 相片浏览, 音乐播放. 因为不基于任何发行版, 所以OpenELEC的硬件驱动并不完整, 其优点在于提供了完整的管理界面, 普通用户完全可以通过界面管理系统而不需要使用命令行. OSMC 官网地址 https://osmc.tv/ OSMC 是一个基于Debian发行版的Kodi运行环境. 因为其基于Debian, 所以软件资源相当丰富. 相对应的, 运行OSMC需要的硬件要求相对LibreELEC要高. OSMC跟EmuELEC其实没什么关系, 但是既然都提到这么多了, 也顺带介绍一下. EmuELEC Github地址 https://github.com/EmuELEC/EmuELEC 终于介绍到主角了. EmuELEC基于CoreELEC和Lakka, 专注于在Amlogic芯片方案上运行的游戏模拟器, 主要是RetroArch, 附带一些PSP这类游戏的独立模拟器, 界面基于EmulationStation, 在游戏中可以调出RetroArch界面. EmuELEC相当于树莓派上RetroPie的Amlogic版. EmuELEC以前叫SX05RE, 从版本2.5开始, 改名为emuELEC, 专注于游戏功能, 不再集成Kodi. 常用的WiFi设置, 蓝牙设置等功能已经集成到主界面, 不需要通过Kodi来设置. ...

Created 14146-10-14 · Updated 14146-10-14 · 1 min · 85 words · -

calibre, 电子书管理, calibre-web

calibre, 电子书管理 calibre-web k8s calibre-dp.yaml apiVersion: apps/v1 kind: Deployment metadata: name: calibre-web namespace: default spec: replicas: 1 selector: matchLabels: name: calibre-web template: metadata: labels: name: calibre-web spec: containers: - name: calibre-web-container image: lscr.io/linuxserver/calibre-web:0.6.25 imagePullPolicy: IfNotPresent env: - name: PUID value: "1000" - name: PGID value: "1000" - name: TZ value: "Asia/Shanghai" - name: DOCKER_MODS value: "linuxserver/calibre-web:calibre" - name: OAUTHLIB_RELAX_TOKEN_SCOPE value: "1" ports: - containerPort: 8083 volumeMounts: - name: calibre-data mountPath: /config subPath: calibre-data volumes: - name: calibre-data persistentVolumeClaim: claimName: pvc0 --- apiVersion: v1 kind: Service metadata: name: calibre-web-service namespace: default spec: type: NodePort ports: - name: http port: 18083 targetPort: 8083 nodePort: 31083 selector: name: calibre-web web podman run -d \ --name=calibre-web \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Asia/Shanghai \ -e DOCKER_MODS=linuxserver/calibre-web:calibre \ -e OAUTHLIB_RELAX_TOKEN_SCOPE=1 \ -p 8083:8083 \ -v calibre-data:/config \ -v calibre-library:/books \ --restart unless-stopped \ lscr.io/linuxserver/calibre-web:latest GUI podman run -d \ --name=calibre \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Asia/Shanghai \ -p 8080:8080 \ -p 8081:8081 \ -v calibre-data-tmp:/config \ --restart unless-stopped \ lscr.io/linuxserver/calibre:latest mail server setup https://github.com/janeczku/calibre-web/wiki/Setup-Mailserver ...

Created 12126-10-12 · Updated 12126-10-12 · 1 min · 174 words · -

DataGrip

DataGrip console 中使用变量 select * from public.actor where actor.actor_id < ${a} 导出建表语句 打开DataGrip、找到目标表 选中之后右键点击SQL Scripts→SQL Generator. 就可以看到建表语句了

Created 3036-07-03 · Updated 3036-07-03 · 1 min · 17 words · -

android 自动充电

android 自动充电 Chanify 消息推送工具 https://github.com/chanify/chanify-ios/blob/main/README-zh_CN.md # sample podman run -it \ -v /my/data:/root/.chanify \ wizjin/chanify:latest \ serve --name=<node name> --endpoint=http://<address>:<port> # podman podman run -it \ -d --name chanify \ -p 30080:80 \ -v chanify-data:/root/.chanify \ wizjin/chanify:latest \ serve --name=chanify0 --endpoint=https://chanify.wiloon.com # docker docker run -it -d \ --name chanify \ --restart=always \ -p 30080:80 \ -v chanify-data:/root/.chanify \ wizjin/chanify:latest \ serve --name=chanify0 --endpoint=https://chanify.wiloon.com 启动服务配置好 nginx 之后, 在浏览器访问 https://chanify.wiloon.com, 能看到 endpoint 的二维码, 用 iOS chanify 客户端扫二维码添加节点. 切换到频道, 在频道上左滑查看 token 用自建的服务器发消息 curl --form-string "text=hello" "http://chanify.wiloon.com/v1/sender/<token>" curl "http://chanify.wiloon.com/v1/sender/<token>/msg0" 礼信通4芯数据传输 USB 定时开关遥控制器延长线智能 WIFI 电源数据 https://item.taobao.com/item.htm?spm=a1z09.2.0.0.3b462e8dwgAuy1&id=675291964059&_u=m2lc6g03a41 ...

Created 22226-06-22 · Updated 22226-06-22 · 1 min · 166 words · -