普通视图

发现新文章,点击刷新页面。
昨天以前首页

养生视频号的补肾文案是用宠物食品广告改出来的

作者 石樱灯笼
2024年10月2日 18:58

省流:吃猫粮能补肾


老妈每天定时定点的开视频软件看养生视频号,说是能答题赚钱,看一天答完且答对所有视频后面的题后,能给最多5毛钱。家里好几个亲戚全都看,过节要是聚在一起,一个屋子里几台手机最大音量外放这些视频,相当撼天动地。

这些视频内容无非就是随便揪个养生话题,然后上来恐吓听众,说假如你心不好,那以后就会得心脏病,然后照着网上的烂文案念上几个小时个稿,大讲特讲心脏病患者家庭有多痛苦,有多惨,花了多少钱,治不好病,活不好命,连累家庭,一个人遇生不能,遇死不得,一家人生不如死,有多惨就讲更惨,有多吓人就讲更更吓人。至于如何预判自己是否有心脏问题,他不讲。专业医学内容,江湖骗子可能连字怎么念都不认识。至于如何预防和保养,视频最后会推荐给你 专业纯天然 的保健品,而且限时限量限购,限时下单还能买一箱赠一箱,机会从速,过了这个村就没这个店了。然后是语音连线环节,定时几个老太太操着一个奇怪的口音语音连进来,进来一定:

  1. 先感激大夫;
  2. 讲自己以前有多惨;
  3. 讲自己吃了这个药之后身体恢复得很好;
  4. 讲自己上次只买到半个疗程的还是托人高价全价买的,询问现在还有没有机会再买。大夫赶紧说现在又有一批货了还是半价赶紧下单货到付款。

模板和以前一样。基本还是以前收音机广播的医药保健骗局,后来又上到地方电视台。现在地方广播应该已经黄没了,多数地方电视台也都是总播放这些骗局玩意越作越烂,一个一个发不出工资开始倒闭。唯一的不同点就是电话连线变成手机语音连线了。当然了,大部分都是预先录制好的,偶尔也会来真的,只不过野人连进去对面也是照着对应的话术文案念稿的。

 

铁打的平台,流水的骗子……铁打的骗子,流水的平台?反正各个平台一直很欢迎骗子,骗子也是各个平台一直流窜。


今早我妈那手机声音那个大,一个所谓的大夫正坐在手机里,在那讲补肾,一个补肾能讲一个多小时。

什么补肾能降低血糖血脂,高血糖高血脂会使得脑血管心血管肾脏血管啥的损坏,你得了心血管疾病,那你就有可能不能自理,家里人要不就放弃自己的生活来照顾你,要不就花大钱请保姆,现在请保姆的钱可不便宜啊,而且你拉屎拉尿,外人不愿意,就算是你亲儿子亲女儿也不愿意啊,这一块能讲十多分钟;补肾能明目,能提高视力,老年人大部分都有视力问题,什么青光眼白内障玻璃体浑浊,眼睛一旦看不见了,那就不能自理,那就得(前面那堆屁话再讲一遍,我就不复制粘贴了),都是肾功能出问题导致的;补肾能滋养头发,老年人头发发白掉头发就是肾不好,频繁染发也对肾不好,这一块也能讲十多分钟;然后讲补肾能增加骨密度,骨密度低容易导致牙齿疾病,老年人牙齿松动甚至脱落就跟肾健康有关,你说你牙没了,好不容易退休了有钱了不用上班了,结果吃不了好东西,这不白瞎了么,白白工作一辈子,多惨呐,这一块能再讲十多分钟,无非把缺钙文案改成肾亏文案;然后补肾能缓解便秘,很多人日常便秘,就是肾功能缺失导致的,什么这个药那个药都吃了,不仅没吃好,那些药品还都是化学品,最后不仅肾不好,还把肝吃坏了,然后再便秘十多分钟;补肾还能增加皮肤弹性和光泽,老年人脸上总长斑,这都是肾功能下降导致的,你脸上要是有斑,那都是肾功能出问题导致的;最后补肾还能提高人的生殖能力……

嘶……这帮骗子又不是不知道你的受众的平均年龄是65周岁的老年人,提高65周岁老年人的生殖能力干啥?响应国家政策再生个二胎三胎?然后让孙子管比自己还小的娃娃叫叔?

反正这帮骗子像拉裤兜子把裤子拉开裆了一样,每个关键词都能扯开讲十多分钟废话,几个关键词加一起就能有一个多小时。

 

其实我听到一半的时候就觉得,这文案太过于耳熟,就仿佛自己看过一个完全一样的广告一样。

  • 平衡血糖血脂→均衡营养
  • 提高视力→保护视力
  • 滋养头发→滋养毛发
  • 牙齿松动脱落→牙齿疾病
  • 便秘→促进大便成型
  • 生殖能力(???)

这不是 猫粮/狗粮 的广告吗?

 

我还真就看到过很多宠物饲料广告讲过,因为现代人养猫养狗很难有精力照顾好宠物猫狗的健康饮食,所以很多没经验的饲主养出来的宠物猫狗经常出现 肥胖问题,视力问题,脱毛问题,牙齿问题,排便问题。而对于这些没有条件的家庭,最简单的办法就是调节饮食,吃有营养的猫粮狗粮作为营养调节,而不是人吃啥剩饭剩菜就喂猫喂狗,至少高油高盐的人也得少吃,猫猫狗狗更要避免吃。

vlcsnap-2024-10-02-16h56m38s016

虽然一般猫粮狗粮的广告最多也就2分钟,但基本上,均衡营养,保护视力,滋养毛发,巩固牙齿,促进排便,基本都齐了。随便在网上搜一个宠物饲料,基本这些宣传关键词都一个不缺,宣传用语也都差不多,基本算是宠物饲料的标配功能。

然后这些养生骗子把猫粮狗粮的宣传文案改了关键字,就拿到补肾上了。当然了,也可能不是猫粮狗粮的,毕竟一般家庭养宠物是不会想补宠物的 生殖能力 的。可能文案也不是专门针对猫猫狗狗的广告文案,可能是其他牲口的饲料。

 

所以结论就很明显了,养生视频号的观点是:

吃牲口饲料可以给人补肾

The post 养生视频号的补肾文案是用宠物食品广告改出来的 first appeared on 石樱灯笼博客.

新标签页助你重新掌控你的收藏夹

作者 折影轻梦
2024年3月5日 08:00

在数字时代,我们的浏览器收藏夹,就如同一个宝库,里面藏着我们曾经因兴趣、工作或学习而保留的无数网站链接。小舒同学,一个浏览器新标签页扩展,帮助您高效地管理这些珍贵的在线资源。通过整洁、直观的界面和强大的功能,通过小舒同学这款强大的浏览器扩展,让您的收藏夹焕发新生。

一键展示管理收藏夹

不需要反复整理和搜索您的主页,小舒同学提供了一种轻松的方法来展示和管理您的收藏夹。通过在新标签页中,将书签以清晰的图形方式呈现,帮助您聚焦真正重要的事情。无论是微软的 Edge、Google 的 Chrome,还是 Mozilla 的 Firefox,都可以实现一步直观整洁地展示管理您的网络财富。

一键展示管理收藏夹

随时随地的同步空间

小舒同学的同步空间可以让您轻松同步收藏夹,通过同步空间功能,不管您是在工作场合的电脑还是在家里的设备,都可以轻松连接,访问您全部的收藏内容。您的内容将被安全地存储与同步,确保您可以在任何时间访问。网络世界的一切都将由您连接统一,不仅能启动哔哩哔哩,更能直接访问您关注的具体内容。

同步空间

网页端

直观且舒适的重组织

小舒同学以流畅和直观的用户体验,帮您重新组织您的在线生活。我们专注于舒适的交互设计,将您的收藏夹以一种对您有意义的方式进行组织。

小舒同学提供各式各样的卡片形式和布局,让您可以完全按照自己的喜好进行自定义。您可以创建个性化的卡片组合,以满足您的独特需求。

重组织

严格隐私保护

小舒同学重视用户的隐私保护,拒绝记录和上传用户数据。在不使用同步空间的情况下,您的收藏夹数据也只在浏览器本地数据中,确保隐私数据的私密性。依托于 Manifest V3,小舒同学严格控制所需权限,保证只加载本地代码,保护用户的安全与私密。

定制个性化新标签页

小舒同学的自由度极高,可以按照用户的喜好进行多种个性化设置。您可以更换壁纸、主题、主题色,甚至可以用自定义 CSS 美化您的标签页。拥有如此高度自定义的新标签页,您的浏览器将成为真正属于您的个性空间。

主题 Fluid

主题 Meteor

主题 Hyper

小舒同学不仅仅是一个简单的收藏夹工具,它改变了我们与网络信息的互动方式,提供了一个更高效、更有组织性的网络生活体验。减少了无谓的折腾,让每一次收藏都变得值得,让每一次浏览都充满发现的喜悦。现在,尝试小舒同学,让您的收藏夹变成您的独特网络资产,发挥它们真正的潜力吧。

【前端十万个为什么】V0

作者 折影轻梦
2024年1月1日 08:00

为什么用 Composition API

c2f54277b2fb37d52596daa96202d926.png

  1. 使逻辑分离更容易:使用可组合函数可以将组件的逻辑分解为多个较小的部分,不再限制于 Options API 中组织代码,更容易重用有状态逻辑。
  2. 灵活性和代码重用性:可以提取和重用共享逻辑,分离关注点,使代码更加模块化和易于维护。
  3. 实现组件的复用和组合:将逻辑拆分为可重用的部分,使用可组合函数组合组件,避免重复编写代码,提高代码的重用性,减少重复和不一致性的风险。
  4. 更好的可读性和可理解性:每个可组合函数封装了特定方面的行为、方便推理和测试、有助于团队合作,使代码结构化和有组织。
  5. 更好的类型推断:使用变量和标准 JavaScript 函数处理组件逻辑。更容易在使用静态类型系统(如 TypeScript)构建大型 Vue 应用程序时进行类型推断

为什么解构 Proxy 会失去效应性

等待补坑

为什么 Vue 中解构 props 会失去响应性

在 Vue 3 中,当你解构 props 时,可能会丧失响应性。这意味着对 props 的更改不会触发组件的更新。

原因是 Vue 的响应性系统依赖 Proxy 来跟踪对象属性的更改。当组件接收到一个对象作为 props 时,Vue 会为该对象的每个属性设置响应性的 getter 和 setter。这使得 Vue 能够检测属性何时更改并相应地更新组件。

当你解构对象 props 时,实际上是创建了一个不再具有响应性的新对象。Vue 为原始对象创建的响应性 getter 和 setter 不会转移到新对象上。

参考

  1. Vue3 如果解构 props 会失去起响应性导致 setup 里一堆 pros.xxx 怎么办? - 这似谁的小鹿的回答 - 知乎
  2. Vue Tip: Destructure Props in Composition API Without Losing …
  3. How To Destructure Props In Vue 3 Without Losing Reactivity | by Nicky Christensen | Medium

为什么 Vue 项目很少用 RxJS

一句话解释

这是因为 Vue 希望成为一个轻量且灵活的框架,允许开发者选择他们喜欢的工具和库。虽然 RxJS 是一个强大的响应式编程库,但 Vue 采用了不同的方法,提供了自己的响应式系统。

详情点

  • 设计理念不同:Vue 注重简单和直观,便于响应式编程;而 RxJS 功能更强、更复杂,适合异步和事件驱动编程。
  • 库的大小与复杂性:RxJS 库大且学习曲线陡,若作为 Vue 的默认依赖,会增加框架大小和开发复杂性,与 Vue 的轻量和灵活理念不符。
  • 灵活性:Vue 设计为灵活且适应不同的项目需求。不将自己绑定到特定的响应式库(如 RxJS),允许开发人员选择最适合他们需求的工具和库。这种灵活性使开发人员能够无缝地将 RxJS 或其他任何库集成到 Vue 项目中。
  • 学习曲线:Vue 拥有平缓的学习曲线,特别是对于初级开发。通过提供自己的响应式系统,Vue 可以提供更简单、更渐进的学习体验。

参考

  1. Introduction to VueJS and RxJS - This Dot Labs
  2. Integrating RxJS with Vue.js | DigitalOcean
  3. Reactive Programming: The Good and the Bad | goodguydaniel.com
  4. A better practice to implement HTTP client in Vue with RxJS for enterprise Apps | by Pawel Woltschkow | Medium
  5. You might not want Rxjs

JavaScript 总结、比较 V2

作者 折影轻梦
2023年11月1日 08:00

Promise 与 RxJS Observables 的区别

Promise

  • Promise 是 JavaScript 中内置的,不需要任何额外的库。
  • Promise 表示可能现在或将来可用的单个值。
  • Promise 是急切的,也就是说一旦 Promise 被解析,.then()回调会立即执行。
  • Promise 只能发出单个值。
  • Promise 非常适合处理产生单个结果的简单异步操作。

RxJS Observables

  • Observables 是 RxJS 库的一部分,需要额外安装依赖。
  • Observable 表示可以随时间发出的值流。
  • Observable 是惰性的,也就是说在订阅之前不会执行任何操作。
  • Observable 可以发出多个值,包括零个或多个值。
  • 可以使用各种 RxJS 操作符对 Observable 进行转换和组合,以创建新的定制流。
  • Observable 非常适合处理复杂的异步操作,例如实时数据流或事件驱动编程。

参考

  1. JavaScript Theory: Promise vs Observable - Medium
  2. angular - What is the difference between Promises and Observables? - Stack Overflow
  3. JavaScript Promises vs. RxJS Observables

模版语法的简单实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
const name = 'Nexmoe';const message = 'My name is {{name}} and I\'m {{getAge(20)}} years old.';function getAge(age) {  return age;}const replacedMessage = message.replace(/\{\{(.*?)\}\}/g, (match, variableOrFunction) => {  const trimmedValue = variableOrFunction.trim();  if (trimmedValue.includes('(')) {  // 如果占位符包含括号,则表示为带参数的函数替换    const [functionName, ...args] = trimmedValue.split(/\(|\)/).filter(Boolean);    const func = eval(functionName);    return func(...args);  } else {  // 否则为变量替换    return eval(trimmedValue);  }});onsole.log(replacedMessage);

先检查占位符中是否包含括号,如果包含括号,则表示是一个带参数的函数调用。使用split方法和正则表达式来解析函数名和参数,并将其存储在functionNameargs变量中。然后,使用eval函数将函数名转换为实际的函数对象,并使用扩展运算符 (...) 将参数作为参数列表传递给函数。函数执行后,将返回值作为替换后的字符串返回。

如果占位符不包含括号,则表示是一个变量。直接使用eval函数将变量名转换为实际的变量值,并返回其值作为替换后的字符串。

⚠️ 注意:使用eval函数执行代码具有一定的安全风险,因为它可以执行任意的 JavaScript 代码。有相当多的建议建议不使用eval。准备过段时间研究研究不用eval的方法。

MVVM 是什么

MVVM 代表 Model-View-ViewModel,在 MVVM 中,Model 表示应用程序的数据和业务逻辑,View 表示用户界面,ViewModel 充当 Model 和 View 之间的中介。

模型(Model)

  • 模型代表应用程序中的数据和业务逻辑。
  • 它可以是从服务器获取的数据、本地存储的数据或通过其他方式获取的数据。
  • 模型通常实现了一些方法来操作、存储和管理数据。
  • 对应的是组件中的 data、props 属性。

视图(View)

  • 视图是用户界面的可见部分。
  • 它负责展示数据给用户,并接收用户的交互操作。
  • 在 Vue.js 中,视图通常由 Vue 组件表示,可以包含 HTML 模板和样式。

视图模型(ViewModel)

  • 视图模型是连接模型和视图的中间层。
  • 视图模型通常包含了与视图相关的数据、计算属性和方法,以及与模型交互的逻辑。
  • 通过双向绑定(data-binding)将视图和模型连接起来。当模型中的数据发生变化时,视图会自动更新。通过 DOM 事件监听,当用户在视图中输入数据或进行其他交互操作时,视图模型会自动更新模型中的数据。

优势

  • 分离关注点:将数据逻辑与视图逻辑分离,使代码更易于维护和测试。
  • 提高开发效率:通过双向数据绑定和声明式编程风格,减少了手动操作 DOM 的代码量。
  • 可重用性:通过组件化的方式,视图和视图模型可以在不同的应用程序中进行复用。
  • 响应式更新:当模型中的数据发生变化时,视图自动更新,提供了更好的用户体验。

参考

  1. 为什么尤雨溪尤大说 VUE 没有完全遵循 MVVM? - 知乎
  2. Vue 的 MVVM 思想(包含三个常见面试题) - 掘金
  3. MVC,MVP 和 MVVM 的图示 - 阮一峰的网络日志
  4. Getting Started - vue.js
  5. Comparing Vue.js to new JavaScript frameworks - LogRocket Blog

MVC 是什么

MVC 这个概念已经存在很久了,用了这么多年,今天了解一下概念做个总结。

MVC(Model-View-Controller)设计模式将应用程序中的对象分为三个角色:模型(Model)、视图(View)和控制器(Controller)。该模式不仅定义了对象在应用程序中的角色,还定义了对象之间的通信方式。每种类型的对象都通过抽象边界与其他类型的对象分离,并在这些边界上与其他类型的对象进行通信。应用程序中某种 MVC 类型的对象的集合有时被称为层,例如模型层。

848723f97c7a1b862e10abe0445da348.png

模型(Model)

  • 封装应用程序特定的数据,并定义操作和处理数据的逻辑。
  • 可以表示应用程序中的实体,如游戏中的角色或地址簿中的联系人。
  • 可以与其他模型对象建立关联,形成对象图。
  • 应该存储应用程序的持久状态数据。
  • 不应与呈现数据和用户界面相关的视图对象直接连接。

视图(View)

  • 用户可见的对象,负责显示数据和响应用户操作。
  • 知道如何绘制自身,并可以与用户进行交互。
  • 通常通过控制器对象从模型对象中获取数据进行展示和编辑。
  • 在 MVC 应用程序中与模型对象解耦,提供一致性和重用性。

控制器(Controller)

  • 充当视图对象和模型对象之间的中介。
  • 负责处理用户操作,并将其传递给模型层进行数据处理和更新。
  • 可以执行应用程序的设置和协调任务,管理其他对象的生命周期。
  • 在模型对象发生变化时,将新的模型数据传递给视图对象进行显示。

优势

  • 提供良好的应用程序设计,使对象更具可重用性和接口定义明确性。
  • 支持应用程序的可扩展性,易于添加新功能和模块。
  • 分离关注点,使代码更易于维护和测试。
  • 应用程序的模型层、视图层和控制层之间保持了清晰的分离,实现了代码的结构化和职责的明确划分,从而提高了应用程序的可维护性和可扩展性。

参考

  1. https://developer.apple.com/library/archive/documentation/General/Conceptual/DevPedia-CocoaCore/MVC.html

为什么 Bun 这么快

JavaScriptCore 引擎

Bun 使用 JavaScriptCore 引擎,这是 Safari 浏览器使用的引擎,而不是基于 Chromium 的浏览器和 Node.js 使用的 V8 引擎。JavaScriptCore 引擎经过了针对更快启动时间的优化,这有助于 Bun 的速度。

性能分析和优化

大量的性能优化。Bun 的初衷就是要快。[2]

Zig 语言

Bun 利用 Zig 语言进行低级内存控制和消除隐藏控制流。Zig 的设计原则注重性能,通过利用 Zig,Bun 可以实现更好的内存管理和控制,从而提高速度 [2]

参考

  1. Bun 1.0 | Bun Blog
  2. A first look at Bun: is it really 3x faster than Node.js and Deno? - DEV Community

VS Code 插件 Monitor Pro - 监控一切你在意的资源信息

作者 折影轻梦
2023年10月7日 08:00

Monitor Pro 是一个全面的资源监控工具,旨在帮助你实时跟踪重要的系统指标并提供直观的展现方式。无论你是什么职业,如果你用 VS Code,请不要错过它。

安装使用

安装后会自动启用该插件。

https://marketplace.visualstudio.com/items?itemName=nexmoe.monitor-pro

屏幕截图

功能特点

  • 资源监控
    • CPU 使用率:监控 CPU 利用率的百分比,以了解系统正在利用多少处理能力。
    • CPU 频率:跟踪当前 CPU 频率,以了解系统如何动态调整其处理能力。
    • CPU 温度:(如果可以的话)监控温度。
    • 内存使用:关注计算机的内存消耗情况。
    • 网络使用:跟踪机器上的网络活动,包括传入和传出的数据传输速率。
    • 文件系统使用(Linux、macOS):提供磁盘的读写速率。
    • 电池百分比和充电状态:如果你使用的是笔记本电脑或便携设备,此功能可让你监控电池电量和充电状态。
    • 操作系统发行版名称
    • 磁盘使用
  • 排序:自定义监控资源的显示顺序,方便一目了然地监控它们。
  • 刷新间隔:设置更新资源指标的刷新间隔。
  • 无布局移位:确保状态栏中元素的位置和大小不会意外改变。
  • 远程 SSH 资源监控:你可以在远程 SSH 连接的设备上跟踪重要
    的系统指标。
  • 高占用率警报:当任何监控的资源达到高占用水平时,接收警报。
  • 仪表板:我希望在一个页面上显示你关心的所有信息,并配备丰富的图表。

愿景

我深知监控信息的重要性,所以我的目标是打造一个最全面、最直观的监控工具,让你轻松掌握系统状态。开发 Monitor Pro 的初衷是为了满足大家对系统监控的各种需求。

同时在未来我也希望集成图表的设计,让这些数据更加直观易懂。你可以通过这些图表清楚地看到系统各项指标的变化趋势和相互关系。这样,你就能轻松地了解系统的性能表现。并能够基于这些指标做出明智的决策。

为什么要开发这款插件?

为了在使用 VS Code 的 Remote SSH 时提供一种全面的资源监控工具,以便更好地管理和监控服务器的状态。

详细参考:https://juejin.cn/post/7284885060338155539

建议反馈

我非常重视用户的反馈和意见,因为它们对于我改进和完善产品至关重要。有好的建议或者遇到了 BUG,请前来反馈:

https://github.com/nexmoe/vscode-monitor-pro/issues

支持我

Github 点个 star 或是来 VS Code 市场 给个五星好评吧!

动画 PNG(APNG) 转 GIF 并无限循环

作者 折影轻梦
2023年10月6日 08:00

今天在网上找了些 PNG 格式的动态表情包我是不会告诉你是我是在 LINE 偷的表情包的,于是了解到是 APNG 这种格式。由于微信和 QQ 不支持 APNG,所以就把 APNG 转为 GIF 了,在使用 APNG 转换成 GIF 后,发现在微信上只能播放一次,就产生了如何批量修改 GIF 的循环次数的问题。

所以准备简单介绍一下 APNG。并提供了一个在线工具,可以将 APNG 批量转换为 GIF,但是该工具不能实现无限循环。所以分享了一个批量修改 GIF 循环次数的方法,使用了 Node.js 和批处理脚本两种不同的实现方式。方便 Node 开发者和使用 Windows 的普通用户直接批量处理。

APNG 是什么?

APNG(Animated Portable Network Graphics)是 PNG 的位图动画扩展,可以实现 PNG 格式的动态图片效果。APNG 相比于 GIF 在图片质量和细节表现方面更有优势,而且随着越来越多的浏览器对 APNG 的支持,它有望成为下一代动态图的标准之一。主要有以下区别:

  1. 图片质量:GIF 最多支持 256 种颜色,并且不支持 Alpha 透明通道,这导致 GIF 在色彩丰富的图片和含有半透明效果的图片上质量较差。而 APNG 可以支持更高质量的图片,包括更多的颜色和 Alpha 透明通道,使得动画效果更加细腻。

  2. 构成原理:APNG 和 GIF 都是由多帧构成的动画,但是 APNG 的构成原理允许超自然向下兼容。APNG 的第一帧是标准的 PNG 图片,即使浏览器不认识 APNG 后面的动画数据,也可以无障碍显示第一帧。而如果浏览器支持 APNG,就可以播放后面的帧,实现动画效果。

  3. 浏览器支持:从 Chrome 59 开始,Chrome 浏览器开始支持 APNG,使得大部分浏览器都能显示 APNG 动画。唯独 IE 浏览器不支持 APNG。

更多内容请参考:https://xtaolink.cn/268.html

APNG 批量转 GIF

该工具可以批量将 APNG 转为 GIF,不过不能无限循环。

https://cdkm.com/cn/png-to-gif

批量修改 GIF 为无限循环

bat(普通用户请使用该方法)

下面是使用批处理脚本(.bat)来实现相同的功能:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
@echo offsetlocal enabledelayedexpansionset "directoryPath=C:\path\to\directory"for /r "%directoryPath%" %%f in (*.gif) do (    echo Modifying %%~nxf    call :modifyGif "%%f")exit /b:modifyGifset "filePath=%~1"set /p data=<"%filePath%"set "index=!data:~0,16!"set "modifiedData=!data:~0,16!!data:~16,1!!data:~17,1!!data:~19!"echo.!modifiedData!>"%filePath%"exit /b

请将C:\path\to\directory替换为实际的目录路径。将上述代码保存为.bat文件,双击运行即可。脚本将遍历指定目录下的所有.gif文件,并对其进行修改。

请注意,批处理脚本的功能相对有限,无法直接读取二进制文件。上述脚本通过读取文件的第一行来模拟读取文件内容。在修改文件时,它直接将修改后的数据写入文件,而不进行二进制操作。这种方法可能不适用于所有情况,尤其是处理大型文件时可能会有性能问题。如果需要更复杂的二进制文件处理,请考虑使用其他编程语言或工具来实现。

Node(Nexmoe 使用的该方法)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
const fs = require('fs');const path = require('path');function unlimitedGifRepetitions(path) {  const data = fs.readFileSync(path);  const index = data.indexOf(Buffer.from([0x21, 0xFF, 0x0B]));  if (index < 0) {    throw new Error(`Cannot find Gif Application Extension in ${path}`);  }  data[index + 16] = 255;  data[index + 17] = 255;  return data;}function batchModifyGifFilesInDirectory(directoryPath) {  fs.readdir(directoryPath, (err, files) => {    if (err) {      console.error('Error reading directory:', err);      return;    }    files.forEach(file => {      const filePath = path.join(directoryPath, file);      const fileExtension = path.extname(file);      if (fileExtension === '.gif') {        try {          const modifiedData = unlimitedGifRepetitions(filePath);          fs.writeFileSync(filePath, modifiedData);          console.log(`Modified ${file}`);        } catch (error) {          console.error(`Error modifying ${file}:`, error);        }      }    });  });}const directoryPath = './path/to/directory';batchModifyGifFilesInDirectory(directoryPath);

请注意,上述代码使用了 Node.js 的文件系统模块(fs)来读取和写入文件。此外,需要将./path/to/directory替换为实际的目录路径。在执行该脚本之前,请确保已经安装了 Node.js。

该脚本将批量遍历指定目录下的所有文件,并对后缀名为.gif的文件调用unlimitedGifRepetitions函数进行修改。修改后的数据将写回原始文件。在控制台输出中,你可以看到每个已修改的文件的信息或任何出现的错误信息。

更多内容参考:https://www.b612.me/golang/232.html

更好的工具

这个批处理工具可以将多个 APNG 文件批量转换为 GIF 文件,并且可以对转换后的 GIF 文件批量设置为无限循环。

https://github.com/nexmoe/batch-apng2gif

用 VS Code 管理服务器,我有独特的服务器管理方式

作者 折影轻梦
2023年10月3日 08:00

自从 Typora 开始收费之后,我彻底转向使用 VS Code(Visual Studio Code) 进行文章撰写。作为一款 Markdown 编辑器,它已经完全满足了我的需求。

然而,我开始思考是否可以将 Visual Studio Code 用作服务器管理器。在此之前,我一直使用 FinalShell 进行服务器管理,这款工具具备以下特点,也是我所喜欢的:

  • 简单的服务器资源监控
  • 服务器文件浏览
  • 终端功能
  • 多服务器管理

当 VS Code 发布 Remote SSH 功能时,我并没有太过关注。该功能的初衷是用于远程开发,而我并没有远程开发的需求。然而,当我开始进行远程开发时,我决定尝试使用 Remote SSH。结果令我惊喜地发现,Remote SSH 非常适合用于服务器管理工作。

那么,VS Code 有哪些特点,并且满足了我哪些需求呢?

VS Code 的特点

多服务器管理

通过在你需要访问的远程服务器中配置好 SSH Key,便可以轻松地设置 Remote SSH,并指定服务器的 IP 地址,从而直接通过 Remote SSH 访问服务器。

1
2
3
4
5
6
7
Host server1    HostName 服务器 1 的 IP 地址    User 用户名Host server2    HostName 服务器 2 的 IP 地址    User 用户名

通过这样的配置,然后就可以方便地在 VS Code 中访问和管理多个服务器。只需单击服务器列表中的相应服务器,即可快速连接到目标服务器,并在远程环境中执行所需的操作。

文件浏览器

和正常一个项目的使用一样,VS Code 可以打开服务器的一个文件夹。然后我们就可以进行各种各样的文件浏览器的常规操作。还可以使用搜索功能快速查找和定位特定的文件。

我通常就会直接把账号目录直接打开。

同时还可以直接集成 VS Code 本身拥有的强大的文件编辑能力。

从此告别 lsmkdirtouchvi 等操作。

方便快捷的终端体验

可以同时打开多个终端实例,并在它们之间切换。每个终端实例都可以独立运行命令,并保留其输出历史记录。

还可以在编辑器的多个标签页或分割视图中同时打开不同的终端实例,以便同时执行不同的命令。

除此之外,在 VS Code 中,可以通过右键单击文件或文件夹,选择"在终端中打开",快速打开终端并自动切换到对应的路径。再也不用痛苦的到处 cd 了。

Docker GUI 管理

由于我大部分服务都是放在 Docker 上,所以对于 Docker 的使用是非常高频的。

如果你在服务器上使用 Docker 进行容器化管理,VS Code 通常就会推荐你安装 Docker 扩展,然后就可以并以图形化界面的形式管理和操作 Docker 容器。可以方便地查看和管理容器、镜像、网络和卷等 Docker 资源,执行常见的 Docker 命令,以及监控容器的状态和日志。

这基本覆盖了大部分 Docker 常用的操作,也让我大部分时间不再需要使用 Portainer 或是命令行了。

Git GUI 集成

VS Code 提供了强大的 Git GUI 集成功能,可以在代码仓库上进行版本控制和协作。可以直接通过 GUI 进行查看提交历史、比较文件差异、切换分支、合并代码,以及推送和拉取代码等操作。

丰富的个性化主题、插件生态

如果本身就使用 VS Code,便可以直接继承自己的审美。同时 VS Code 比其他终端管理软件拥有更为丰富丰富的个性化主题选项,可以根据自己的喜好和习惯选择适合的主题。也具有丰富的插件社区。

其它

除此之外,VS Code 本身就具有跨平台支持、多语言支持等特性,而且它完全免费。

如何使用 VS Code 进行服务器管理

你需要满足如下条件

  • 能够运行 VS Code 的电脑
  • 正版的 VS Code
  • 生成 SSH Key 并完成配置
  • Remote SSH 插件

其实你需要的并不多,核心是 VS Code 中的 Remote SSH 插件。

配置 SSH Key

你需要在你的电脑上生成 SSH Key,并将公钥配置到服务器上以实现免密登录。你可以在网上查找相关教程了解如何生成和配置 SSH Key。

配置 Remote SSH

通过 这个链接 安装 Remote SSH 后。

你可以按照以下步骤来打开和配置 SSH 主机:

  1. 在 VS Code 左下方找到 Remote SSH 的图标按钮。
  2. 点击该按钮,然后选择 “Connect to Host” 选项。
  3. 再次点击 “Configure SSH Hosts”。

就可以在 VS Code 中进行配置,指定服务器的 IP 地址和用户名。示例配置如下:

1
2
3
4
5
6
7
Host server1    HostName 服务器 1 的 IP 地址    User 用户名Host server2    HostName 服务器 2 的 IP 地址    User 用户名

完成配置后便可以在左下角直接连接服务器了。

插件以及其他推荐

Monitor Pro 插件

资源监控,由我开发。

Monitor Pro 是一款资源监控工具,实时跟踪系统指标。监测 CPU、内存、网络、文件系统使用率,电池百分比和充电状态。可自定义顺序和刷新间隔,提供高占用警报。适用于开发人员、系统管理员和普通用户。

https://marketplace.visualstudio.com/items?itemName=nexmoe.monitor-pro

Docker 插件

如果你在使用 Docker 容器来部署应用程序,这个插件可以帮助你在 VS Code 中管理和调试 Docker 容器。

Wakatime 插件

统计你在服务器上的摸鱼时间。

zsh 与 ohmyzsh

使用 ohmyzsh 以及它的生态,为你的命令行集成自动补全和纠错功能。

累积布局偏移优化 CLS 完全指南

作者 折影轻梦
2023年9月16日 08:00

什么是布局偏移

一个十几秒的短视频解释清楚。

更详细的解释是:布局偏移指的是在网页上发生突然变化时,页面中的内容位置发生意外移动的现象。这种情况常常让人感到困扰,因为它会导致阅读中断或误操作。布局偏移通常是由于资源异步加载或动态添加到页面上的 DOM 元素导致的。可能的原因包括具有未知尺寸的图像或视频、字体与其备用字体渲染大小不同,或者第三方广告或小部件动态调整大小。

难受的是,网站在开发过程中的功能通常与用户体验有很大不同。个性化或第三方内容在开发中的行为通常与生产环境中不同,测试图像通常已经存在于开发者的浏览器缓存中,本地运行的 API 调用通常非常快,延迟几乎不可察觉。

什么是 CLS

累积布局偏移 CLS(Cumulative Layout Shift)是一个指标。

是对页面整个生命周期中发生的每个意外布局变化的最大布局变化分数的度量。

CLS 通过测量实际用户遇到布局偏移的频率来帮助解决布局偏移问题。它可以帮助开发者了解布局偏移在真实用户中发生的情况,从而采取相应的措施进行修复。

为什么要优化 CLS

布局偏移是一个非常影响用户体验的问题,通过上面那一个简短的视频也能理解。

布局偏移通常会导致意外点击、页面方向的迷失,最终导致用户受挫。用户往往不会逗留太久。有时也会使用户不按照预计的产品流程走。

通常优化好布局偏移能够很好的提高用户粘性、用户停留时间等指标。

Yahoo! JAPAN News 通过降低 CLS 0.2 分,得到如下成果。

如何降低 CLS

图片等媒体元素占位

在图像、视频等媒体资源元素中始终包含宽度和高度大小属性。或用 CSS 中的 min-heightaspect-ratio 或类似的方式保留所需的空间。

aspect-ratio

可以用来直接指定当前元素的比例。

https://developer.mozilla.org/zh-CN/docs/Web/CSS/aspect-ratio

对浏览器的支持:

padding-bottom

如果考虑浏览器支持问题仍然可以考虑使用目前一个被广泛接受的基解决方案 “Padding-Top Hack”。这个解决方案需要一个父元素和一个绝对型的子元素。然后计算出长宽比的百分比来设置为 padding-top。例如:

1
2
3
<div class="container">  <img class="media" src="..." alt="..."></div>
1
2
3
4
5
6
7
8
9
10
.container {  position: relative;  width: 100%;  padding-top: 56.25%; /* 16:9 Aspect Ratio */}.media {  position: absolute;  top: 0;}

使用不易产生偏移的 CSS

其中 transfrom 表现很好,以下举几个例子。
用例可以在这里找到:https://play.tailwindcss.com/26PxFA6UVI

zoom VS transform: scale

zoom 会撑大页面并向右偏移时,transform: scale 只是在原地放大。

margin VS transform: translate

margin 造成父元素变大,transform: translate 只是让当前元素移动。

border VS box-shadow

border 会撑起父元素,而 box-shadow 并不会。

小心你的懒加载

懒加载会引起布局的偏移,如果你在有懒加载长列表的里进行跳转,请小心!
无动画进行跳转,能够一定程度上避免该问题。

小心使用 transition: all

在页面首次加载或者跳转页面时,transition: all 可能会导致元素的 padding 等从参数为 0 开始渲染,照成页面的抖动。

这都是痛:
Commit:表格以及友情链接图标抖动
Commit:修复导航栏抖动问题

标签顺序导致的偏移问题

由于在移动端上优先展示主要内容,因此侧边栏的 markup 位于主要内容的后面;而在更大的屏幕上,则通过设置 CSS order 的方式进行排序,将主要内容移到中间(即第二列),伪代码如下:

1
2
3
4
5
6
7
8
9
export default function MainLayout(props) {  return (    <Container>      <Main className={css`@media screen and (min-width: breakpoint) { order: 0 }`} />      <Left className={css`@media screen and (min-width: breakpoint) { order: -1 }`} />      <Right className={css`@media screen and (min-width: breakpoint) { order: 1 }`} />    </Container>  )}

浏览器在首次绘制时并没有完整解析 DOM、只知道 <Main /> 的存在、但不知道 <Left /> 或者 <Right /> 的存在,才因此将 <Main /> 渲染进第一列而不是第二列;直到第二次绘制时,浏览器才将 <Main /> 渲染进第二列、将 <Left /> 渲染进第一列。

Chrome 并不是一次完整解析 HTML 的,在以下两种情况下,Chrome 会暂停解析、开始渲染和绘制:

  1. Chrome 解析器在读取了 65535 字节的 HTML 后暂停
  2. Chrome 在遇到 <script> 标签后,会继续读取约 50 个「Token」之后暂停

详细了解请看:优化博客的累计布局偏移(CLS)问题

网页跳转与前进后退缓存

默认情况下,所有浏览器都使用 bfcache,但由于各种原因,有些站点不适合使用 bfcache。有关如何测试和识别阻止 bfcache 使用的任何问题的更多详细信息,请阅读 bfcache 文章

在你离开后,bfcache 将页面保存在浏览器内存中很短的一段时间,所以如果你返回它们,那么它们将完全恢复为你离开时的样子。这意味着完全加载的页面立即可用,而不会出现任何变化。

现在的 SPA 应用也能很轻易的保证路由跳转页面布局的一致性。记住始终保持你的目录和导航栏在页面的固定位置。

字体

在下载和渲染网络字体之前,通常有两种处理方式:

  1. 使用网络字体替代备用字体(FOUT——未样式化文本的闪烁)。
  2. 使用备用字体显示“不可见”文本,直到网络字体可用并且文本可见(FOIT——不可见文本的闪烁)。

着两种方式都可能导致布局变化。即使文本是不可见的,它仍然使用备用字体进行布局。这意味着使用该字体的文本块以及周围的内容在网络字体加载时会发生布局变化,与 FOUT 的可见字体完全相同。

以下方法可以帮助你最小化这种问题:

  1. 使用 font-display: optional 可以避免重新布局,因为只有在初始布局时网络字体可用时才会使用它。
  2. 使用匹配度高的备用字体。例如,使用 font-family: "Google Sans", sans-serif; 将确保在加载"Google Sans"字体时使用浏览器的无衬线备用字体。如果只使用 font-family: "Google Sans" 而不指定备用字体,将使用默认字体,而在 Chrome 上默认字体是"Times",它是比默认无衬线字体的匹配度更差。
  3. 使用新的 size-adjustascent-overridedescent-overrideline-gap-override API 来尽量减小备用字体和网络字体之间的大小差异,详细信息请参阅“Improved font fallbacks”文章。
  4. 使用 Font Loading API 可以减少获取所需字体的时间。
  5. 使用 <link rel=preload> 尽早加载关键的网络字体。预加载的字体有更高的机会达到首次绘制,这样就不会发生布局变化。
  6. 阅读有关字体最佳实践的“Best practices for fonts”文章。

使用真正的骨架屏

骨架屏好坏示例

测量 CLS 分数

生产阶段

实验阶段

Lighthouse in DevTools

能够针对移动设备和桌面设备生成网页的实际性能报告,并能够提供关于如何改进相应网页的建议。

在本地开发期间从 DevTools 运行 Lighthouse 非常方便。

PageSpeed Insights

应该就是在线版的 Lighthouse。

Performance in DevTools

性能选项卡在 Chrome 的 DevTools 配置文件的所有页面行为在一段时间内记录。时间轴上会出现一个标记为“Experience”的图层,突出显示布局的变化和发生变化的元素。

Web Vitals extension

最好将 Web vital 扩展视为查找性能问题的抽查工具,而不是全面的调试工具——这是 Chrome 的 DevTools 中的性能选项卡的工作。

结语

作为一个对自己项目有较高要求的人,平常几乎都会接触到布局偏移优化或者 Lighthouse,只不过之前自己瞎折腾的时候还没有 CLS 这个概念,现在算是对 CLS 有了较为清晰的概念了。
CLS 作为一个非常基础的优化指标,在用户体验上非常重要,任何项目都应该针对 CLS 做优化。

如有勘误,请及时指出,感谢!

参考

  1. https://web.dev/cls/
  2. https://web.dev/optimize-cls
  3. https://developers.google.com/publisher-tag/guides/minimize-layout-shift
  4. https://web.dev/yahoo-japan-news/
  5. https://addyosmani.com/blog/infinite-scroll-without-layout-shifts/
  6. https://blog.skk.moe/post/fix-blog-cls/
  7. https://developer.mozilla.org/en-US/docs/Web/CSS/aspect-ratio

新功能!你想要的他来了 !

作者 折影轻梦
2023年2月19日 08:00

a9e0dfb376f64bfc455b912b130c0ab7.png

右键移动卡片,移动卡片时可以搜索文件夹

7c1feea42323cfb6b1f65e109cc890a2.png

比起拖动,更精准。移动到偏远文件夹更快捷

74e699e58f9f3536d67e4f9179ddf810.png

搜索补全,输入时可显示相关提示

89b2e747f0d55525bf1cc74402b6be0c.png

同时,搜索框现在失去焦点后会自动收起啦 😊

打开本地文件

现在可以在这里收藏你的 PDF 文件,也能用小舒同学直接打开了 🙂

0f9fea79fed3d0a1f6f34848a9b9a8af.png

片状卡片,展示更简洁美观的卡片界面

万番呼吁,它来了

467b3b4ce499fbe642a116c4a7989b88.png

全新分享功能,与你的账号联动

想要把一部分收藏的内容分享给朋友怎么办,简单,点几下就行 🚀

cc0fa7f79fa660a11979ff43e472e8cd.png

然后就会生成分享链接和二维码了

https://store.chainwon.com/bookmarks/63908420e127c076e239

d0b59f8d689ddfb98cae80edbf896462.png

搜索框自动获取焦点

可控制搜索框是否在打开时获取焦点

打卡全部卡片需要确认

不用再怕误触了

9190f18dd9c16d0b8f7cc9e5df510949.png

2c133700e9743ae20b76c10ce7429b62.png

重大更新,强大的小舒同学新标签页尽在 2.2 版本

作者 折影轻梦
2022年10月21日 08:00

喜欢简洁?来试试简洁模式或者我的好兄弟

如图片中一般简洁,仍然基于你的收藏夹生成,不需要手动添加新内容。了解更多:https://xiaoshuapp.com/meteor/
简洁模式在 设置 -> 收藏夹 -> 抽屉模式打开

Meteor New Tab

布局设置,让一个屏幕容纳更多内容

设置 -> 收藏夹 -> 收藏夹布局

aa6f2c90b8a1ded6e508bcee1e03c19c.png

小条形卡片,小而强

8508f3f2e4bf210db044159ab127eb38.png

轻松找到你想找的文件夹

现在搜索建议可以搜索到文件夹,点击即可轻松找你想要的文件夹

00785119705323c6dd42668c47b66975.png

数据备份

数据备份(不备份收藏夹内容)到云端,随意切换版本

db10458709b8afb5cf5e4f94bb84d14b.png

支持邮箱注册与登录

a2881600cf38538c4a8cb1315d0bab98.png

分享你的搜索引擎

目前只提供了分享功能,更多功能将在稍后的更新中解锁

fefc82bb8570bcb168b53de9e762a3e5.png

全新效果器系统

更加易用,更简单的制作与分享

5a49edf50a79685e728891910ce33d15.png

Meteor New Tab 是什么产品?产品介绍及产品灵魂

作者 折影轻梦
2022年9月25日 08:00

大家好,我们是觅漫者战队,非常荣幸获得了首届 Microsoft Edge 浏览器开拓者大赛的第三名!我是我们战队的唯一一名成员,我的好朋友都叫我折影轻梦或 Nexmoe。我的口号是:“为热爱战斗着,努力学着变得勇敢”。

产品介绍

基于你的收藏夹内容,帮你自动整理到标签页,让你的收藏夹在标签页上一目了然

我们的产品名称为:Meteor New Tab,他的作用和他的口号一致——让你的收藏夹再次伟大。在后疫情时代,线上学习与线上办公的人越来越多。许多用户在网络检索学习,遇见各种各样的“干货”资源,喜欢将相关的网页收藏。但是日积月累,收藏的速度远远大于学习的速度,导致网页越来越难以打理,导致日后检索相关网页特别耗费精力,也让很多优秀的干货资源被压在箱底,再也没有被打开过。

我们开发这样一款产品,希望能够帮助用户将尘封已久的收藏夹拿出来。它可以基于你的收藏夹内容,帮你自动整理到标签页,让你的收藏夹在标签页上一目了然。

基于你的收藏夹内容,帮你自动整理到标签页,让你的收藏夹在标签页上一目了然

产品的灵魂

我们倾听用户的声音,产品的灵魂即来自创作者同样也来自用户。一位用户曾夸赞 Meteor New Tab 理念先进,他说:“与其在信息流中漂泊,不如反刍收藏过的高质量内容。” Meteor New Tab 是逆时代而行之的,我们不再让你筋疲力尽地在信息流中寻找一些新东西,而是让你反刍收藏过的高质量内容来产生新的思考、新的灵感。

还有一位用户曾说:“太棒了,我真的不想折腾拨号页花里胡哨的功能,我只想快速导入链接,然后生成一个简洁的图标。”有时候我们需要思考对我们来说真正重要的是什么。我们所关注的、所热爱的其实早就已经被我们放入在收藏夹中。Meteor New Tab 做的就是让我们重新关注自己。

还有许多用户的评论与反馈也一并帮助我们完善了产品,让 Meteor New Tab 越来越具有产品的灵魂,我们非常感谢他们的支持。

让你更好的使用你的收藏夹

让多个文件夹并行显示,收藏夹也能变看板;进度条功能,自动记录你哔哩哔哩和 Youtube 的播放进度,收藏夹也是你追剧的仪表盘。排序功能,最先看到最近添加的书签。搜索功能,快速找到你想要的书签。还有更多功能,等你来发现。

让收藏夹不再只是知识的仓库

现代化设计,友好的用户体验

守护隐私,守卫安全:数据无需经过我们的服务器进行存储交互,做到真正强大的隐私安全。

自动跟随系统调整亮色与暗色模式,夜间不会因为突然从黑到白的界面切换导致你的健康问题。

新时代产品,新时代改进。我们倾听用户的声音,你可以参与到我们一起将 Meteor New Tab 变得更好。

add6ff1374b51833cc0c7cce3d76debd.png

让软件工程思维帮助我们构建更好的产品

我们采用增量模型作为产品的开发模型。适合我们这种一个人的小团队。我们会尽心尽力的关注到每个用户的反馈与需求,同时会对用户的反馈进行严格的管理与讨论。最后采取决策。我们会尽量地让 Meteor New Tab 越来越贴近完美。

同时我们也会不断地学习进步,采用最新的技术。我们参考 DevOps 的理念,将开发、测试、运维、部署等环节进行自动化,让我们的产品更加稳定并减少开发人员的工作量。让产品开发效率最大化。我们使用 Github 的最新特性,对产品进行版本控制;使用 Issue,Project 进行需求管理;使用 Github Action 自动测速编译发布。尽量减少人员的参与,让产品开发更加高效。

下载体验

https://xiaoshuapp.com/meteor/

Meteor New Tab - Makes Your Bookmarks Great Again

作者 折影轻梦
2022年8月6日 08:00

Edge:https://microsoftedge.microsoft.com/addons/detail/bopgggdgdhogemdpoepddaakfgfadjal
Chrome:https://chrome.google.com/webstore/detail/fefnkaabnkfafmmmopbghgejhnieccpm

我的想法

  • 英文名,更有科技感
  • 界面设计更有科技感
  • 产品名称更直白
  • 口号更加直白,而不是传递理念
  • 产品描述更加直白,而不是传递理念

产品形态

abba3f15aef73e184075fc4169d34e24.png/nexmoe

特点

  • 🏄不一个个添加:根据收藏夹生成,不用再额外管理一个新标签页
  • 🛡️绿色安全隐私强:数据来自于你的收藏夹,不再来自我们的服务器
  • 💪功能强大易用:强大的个性化、搜索、小功能,丰富的选项、状态设置

从今天开始,让你的书签变得再次强大

文件夹并行,让收藏夹变看板。进度跟踪,掌握全局

494b94a805c674601f3c1421c5158bc1.png/nexmoe

微创新

效果器

高可定制化

23ae5158b7ae41adf5250ac326452777.png/nexmoe

看板,并行显示

494b94a805c674601f3c1421c5158bc1.png/nexmoe

播放进度条

自动记录你哔哩哔哩(已上线)和 Youtube(暂未上线) 的播放进度

494b94a805c674601f3c1421c5158bc1.png/nexmoe

多个空间,随时变换身份

46b8ec1d47657f89f6e7d4d8dc2e120e.png/nexmoe

临时使用某个搜索引擎

e602d1822761a7651fd0d4e867c48330.png/nexmoe

快速目录

快速定位到你的书签

01a6f1f40b0e2e381a92bf396f48e0eb.png/nexmoe

面向开发者的高级功能

提供无限的自由与可能

46b8ec1d47657f89f6e7d4d8dc2e120e.png/nexmoe

发布时间

一个月以内。

目前参加了Edge浏览器开拓者大赛。这个比赛对我很重要,比赛前 20 名才有奖项。每天每个人可以投两次票。希望大家能够支持我的项目。谢谢大家。
https://edgecontest.microsoft.com/worksDetail.html?WorkDataId=a002d0f8-e68a-48c0-a3c4-c7885731bbcd

975e2809606f08f559c464dbae2dd3b9.png/nexmoe

小舒同学是怎么帮助我学习,卷死舍友的?

作者 折影轻梦
2022年3月10日 08:00

小舒同学不仅仅是一个普通的主页或者是新建标签页,她还是一个非常好的学习助手,陪伴我走过了在大学的学习生活。

记录在哔哩哔哩大学的学习进度

哔哩哔哩,一个视频平台。里面却有大量学习资料,因此被戏称为哔哩哔哩大学。本人作为一名大学生又是一个哔哩哔哩重度用户,经常在哔哩哔哩看一些教程视频。这些视频通常有大量分集,但是哔哩哔哩对于上次播放的记忆功能不太好用。经常是收藏到收藏夹里后,打开这个视频还要手动选择上次自己看到的那集。因此小舒同学推出了视频进度记录,将带有分集的视频收藏到浏览器收藏夹后,小舒同学会自动更新你收藏的视频的链接以记录播放进度。

同时播放进度以进度条的形式展现出来,以更直观的方式向你展示你的视频观看进度。当你收藏的视频足够多,小舒同学便是你的仪表盘,让你能以一个上帝视角观察你的学习进度,更具全局观。

同样你也可以将番剧、纪录片等哔哩哔哩中的视频收藏到浏览器收藏夹中,小舒同学也会自动记录这些视频的播放进度。

看番

使用热心网友分享的学习资源

即使你的收藏夹空空如也,即使你还没有开始建立你的知识体系,这都没有关系。我们有热心的网友,他们将自己的收藏夹分享了出来,让大家不必苦苦寻找高质量网站。

我们可以利用热心网友分享的收藏夹来完善我们自己的小舒同学。了解热点,欣赏艺术,找个趁手的工具。

当然希望你也能加入热心网友的大军中,为大家带来更多史诗的收藏夹。

建立学校网站的门户导航

快速打开你需要用到的学校的网站,了解学校信息更快人一步。

兴趣爱好培养,在生活与学习之间跳跃

在收藏了许多内容并分好文件夹后,我们可以借助快速目录功能迅速的在我们关注的不同方面进行跳转。

在我们前进很久,累了需要休息的时候可以跳转到设计,欣赏欣赏大佬们的作品,然后发现自己怎么这么菜,然后又跳回去学习。

也可以在吃饭的时候跳转到曾经收藏的纪录片或者番剧那些,让你在吃饭的时候能看到你最喜欢的视频。

记录学习反思,调整方向

学习是一个长期的过程,我们可以记录学习的过程,记录学习的结果,记录学习的收获,记录学习的经验……

记录让我们更好地了解自己,让我们更好地了解自己的学习方向。

不断的前进,不断的学习,不断的改变,不断的探索,不断的记录,不断的改变方向。我们才会离我们的目标更近一步。

记录

^ 记录功能通过调用 flomo api 实现,flomo api 需要 flomo 会员。

小舒同学官网:https://xiaoshu.app/

53a8c7cf3ad77a0f0a456ce2c6afe88a.png

正式版发布前夕,基建基本完成。重新向你介绍,小舒同学,你的下一代新建标签页。

作者 折影轻梦
2021年12月17日 08:00

我们费尽心思折腾我们的主页,却从来没好好整理过我们的收藏夹。

官网:https://xiaoshu.app/

为什么

新建标签页这么多,为什么我还要做这个东西?

其实就是因为暑假的一天,最后一次故障老项目没能挺过来。突然发现重新找个主页,去把我的一大堆东西弄进去太麻烦了。于是小舒同学便诞生了。

不久之前

其实不久前我就在 v2 发布过这个作品。https://www.v2ex.com/t/810701

但是那个时候太简陋,如今已经迭代多次,基本已经是一个全新的面貌。

所以是时候来重新介绍一下小舒同学了。

买了条域名

买了条 .app 的域名,意味着我开始更加投入了。

大收藏夹的支持

你有1K书签、2K书签还是5K书签?不再需要担心,小舒同学照样层次清晰的展现给你!

Snipaste_2021-11-30_16-24-45

强大的搜索功能

支持数十种搜索引擎、支持临时使用搜索引擎、搜索时还会根据你的收藏夹进行内容推荐

Snipaste_2021-11-28_11-08-48

条形卡片与 flomo 的结合

种草的视频和文章不再需要污染你的 To Do 清单。无需截止时间,摸🐟、划‍🌊随时打开。

看完的感想,可以快速记到 flomo!

toread

再见

下次见面或许又是好一段时间过后了。相信那时又会以一个全新的面貌面向大家。

长路漫漫,望我们再见的时候彼此都安好。

❌
❌