不需要反复整理和搜索您的主页,小舒同学提供了一种轻松的方法来展示和管理您的收藏夹。通过在新标签页中,将书签以清晰的图形方式呈现,帮助您聚焦真正重要的事情。无论是微软的 Edge、Google 的 Chrome,还是 Mozilla 的 Firefox,都可以实现一步直观整洁地展示管理您的网络财富。
小舒同学的同步空间可以让您轻松同步收藏夹,通过同步空间功能,不管您是在工作场合的电脑还是在家里的设备,都可以轻松连接,访问您全部的收藏内容。您的内容将被安全地存储与同步,确保您可以在任何时间访问。网络世界的一切都将由您连接统一,不仅能启动哔哩哔哩,更能直接访问您关注的具体内容。
小舒同学以流畅和直观的用户体验,帮您重新组织您的在线生活。我们专注于舒适的交互设计,将您的收藏夹以一种对您有意义的方式进行组织。
小舒同学提供各式各样的卡片形式和布局,让您可以完全按照自己的喜好进行自定义。您可以创建个性化的卡片组合,以满足您的独特需求。
小舒同学重视用户的隐私保护,拒绝记录和上传用户数据。在不使用同步空间的情况下,您的收藏夹数据也只在浏览器本地数据中,确保隐私数据的私密性。依托于 Manifest V3,小舒同学严格控制所需权限,保证只加载本地代码,保护用户的安全与私密。
小舒同学的自由度极高,可以按照用户的喜好进行多种个性化设置。您可以更换壁纸、主题、主题色,甚至可以用自定义 CSS 美化您的标签页。拥有如此高度自定义的新标签页,您的浏览器将成为真正属于您的个性空间。
小舒同学不仅仅是一个简单的收藏夹工具,它改变了我们与网络信息的互动方式,提供了一个更高效、更有组织性的网络生活体验。减少了无谓的折腾,让每一次收藏都变得值得,让每一次浏览都充满发现的喜悦。现在,尝试小舒同学,让您的收藏夹变成您的独特网络资产,发挥它们真正的潜力吧。
]]>我的项目最终镜像大小从 1.12GB 缩减到了 160.21MB。
Nuxt.js 是一个基于 Vue.js 的服务器端渲染应用框架,非常适合于构建现代化的 Web 应用。
我的项目直接采用 Nuxt 构建全栈项目。
首先,我们将使用 node:20-alpine
这个更轻量级的基础镜像来减小最终镜像的大小。Alpine Linux 因其安全、简单且体积小而广受欢迎。
多阶段构建是减少 Docker 镜像大小的有效策略之一。我们将使用三个阶段来构建我们的镜像。
这一阶段负责安装我们项目的依赖项。我们使用了 pnpm 来代替 npm,pnpm 在缓存和磁盘使用上更为高效。
大部分项目也用 pnpm 而不是 npm 作为包管理工具了。
在这一阶段,我们复制了项目代码并执行构建命令。这里的构建指的是 Nuxt.js 的构建过程,它会生成静态文件和服务器端渲染所需的资源。
最后,我们创建了适用于生产环境的镜像。这个镜像仅包含用于运行应用程序的必要文件,减少了不必要的层,使得镜像尽可能地保持精简。
我们还定义了一些环境变量,比如 NUXT_HOST
和 DATABASE_URL
,这些是 Nuxt.js 应用和 Prisma 所需要的。其中,DATABASE_URL
被设置为使用项目根目录下的 SQLite 文件作为数据库。
最终通过暴露端口 3000
并指定启动命令来运行 Nuxt.js 应用程序。
分别为:
然而,Tailscale 在中国大陆的网络环境中存在一个问题,就是经常出现高延迟或者连接不上的情况。好在官方允许用户自建 DERP 服务,以充当中继,解决这个问题。再也不用担心写代码写一半就突然断了,而且优秀的网络体验也能提高 VS Code 的 Port Forward 的体验,方便远程预览开发。
由于我本身就有一台低配置的云服务器,过去曾经使用 Caddy 作为反向代理服务器来运行我的 Alist 项目。所以这次也考虑在同一台服务器上使用 Caddy 作为反向代理来部署 DERP 项目。
采用 Caddy 主要是他相比较于 Nginx 使用很简单的配置就能满足大部分需求,还有体验良好的自动 SSL 管理。能省很多事。
废话不多说,直接开始配置了。
然后启动
重载 Caddy 的配置
别忘了解析你的域名到你的 Caddy 服务器上。
在 Access Controls 中配置
直达链接:https://login.tailscale.com/admin/acls/file
结束。
主要原因是 “node_modules” 文件夹中 ESM(ECMAScript Modules) 库不被 Jest 支持。
鉴于 Jest ESM 支持还在几乎不可用的试验阶段,而目前我主要是在公司项目上迁移到 Jest。所以本文主要采用 transformIgnorePatterns
和 moduleNameMapper
两种配置来解决这个问题。
以下配置主要以 lodash-es 作为参考。
官方文档的解释是:正则表达式模式字符串的数组,在转换之前与所有源文件路径匹配。如果文件路径与任何模式匹配,则不会对其进行转换。
即 transformIgnorePatterns
用于指定在进行代码转换时应该忽略的文件或文件夹。
而在 NX 默认的 Jest 配置中,配置为 node_modules/(?!.*\\.mjs$)
。
这个正则表达式的含义是,匹配以 node_modules/
开头的文件夹路径,但排除那些以 .mjs
为扩展名的文件夹路径。?!
是一个否定预查,表示不匹配这样的文件夹路径。
以上配置意思就是将会把以 .mjs
为扩展名的文件从 ESM 转换为 CommonJS,以支持 Jest。
顺便支持一下 PNPM
转换后 failed 数量从 15 减少到 11,但是这么做会有一个转换的过程会有额外的支出,需要 51s。不过第一次转换完后貌似就会缓存然后就不用转换了。
这种方法需要库本身有对应的 CommonJS,就不需要转换了。可以跑到 12s
等待补坑
在 Vue 3 中,当你解构 props 时,可能会丧失响应性。这意味着对 props 的更改不会触发组件的更新。
原因是 Vue 的响应性系统依赖 Proxy 来跟踪对象属性的更改。当组件接收到一个对象作为 props 时,Vue 会为该对象的每个属性设置响应性的 getter 和 setter。这使得 Vue 能够检测属性何时更改并相应地更新组件。
当你解构对象 props 时,实际上是创建了一个不再具有响应性的新对象。Vue 为原始对象创建的响应性 getter 和 setter 不会转移到新对象上。
这是因为 Vue 希望成为一个轻量且灵活的框架,允许开发者选择他们喜欢的工具和库。虽然 RxJS 是一个强大的响应式编程库,但 Vue 采用了不同的方法,提供了自己的响应式系统。
.then()
回调会立即执行。先检查占位符中是否包含括号,如果包含括号,则表示是一个带参数的函数调用。使用split
方法和正则表达式来解析函数名和参数,并将其存储在functionName
和args
变量中。然后,使用eval
函数将函数名转换为实际的函数对象,并使用扩展运算符 (...
) 将参数作为参数列表传递给函数。函数执行后,将返回值作为替换后的字符串返回。
如果占位符不包含括号,则表示是一个变量。直接使用eval
函数将变量名转换为实际的变量值,并返回其值作为替换后的字符串。
⚠️ 注意:使用eval
函数执行代码具有一定的安全风险,因为它可以执行任意的 JavaScript 代码。有相当多的建议建议不使用eval
。准备过段时间研究研究不用eval
的方法。
MVVM 代表 Model-View-ViewModel,在 MVVM 中,Model 表示应用程序的数据和业务逻辑,View 表示用户界面,ViewModel 充当 Model 和 View 之间的中介。
MVC 这个概念已经存在很久了,用了这么多年,今天了解一下概念做个总结。
MVC(Model-View-Controller)设计模式将应用程序中的对象分为三个角色:模型(Model)、视图(View)和控制器(Controller)。该模式不仅定义了对象在应用程序中的角色,还定义了对象之间的通信方式。每种类型的对象都通过抽象边界与其他类型的对象分离,并在这些边界上与其他类型的对象进行通信。应用程序中某种 MVC 类型的对象的集合有时被称为层,例如模型层。
Bun 使用 JavaScriptCore 引擎,这是 Safari 浏览器使用的引擎,而不是基于 Chromium 的浏览器和 Node.js 使用的 V8 引擎。JavaScriptCore 引擎经过了针对更快启动时间的优化,这有助于 Bun 的速度。
大量的性能优化。Bun 的初衷就是要快。[2]。
Bun 利用 Zig 语言进行低级内存控制和消除隐藏控制流。Zig 的设计原则注重性能,通过利用 Zig,Bun 可以实现更好的内存管理和控制,从而提高速度 [2]。
用 script 方法加入到网站后,始终没有效果,然后在控制台中发现了下面的报错。
The Sentry loader you are trying to use isn’t working anymore, check your configuration.
于是去 Github 上找了下,看着应该是国内网络的问题。
在 sentry/sentry.conf.py 内添加下面内容可以解决。
然后记得重启 Sentry 的 Docker 服务
安装后会自动启用该插件。
https://marketplace.visualstudio.com/items?itemName=nexmoe.monitor-pro
我深知监控信息的重要性,所以我的目标是打造一个最全面、最直观的监控工具,让你轻松掌握系统状态。开发 Monitor Pro 的初衷是为了满足大家对系统监控的各种需求。
同时在未来我也希望集成图表的设计,让这些数据更加直观易懂。你可以通过这些图表清楚地看到系统各项指标的变化趋势和相互关系。这样,你就能轻松地了解系统的性能表现。并能够基于这些指标做出明智的决策。
为了在使用 VS Code 的 Remote SSH 时提供一种全面的资源监控工具,以便更好地管理和监控服务器的状态。
详细参考:https://juejin.cn/post/7284885060338155539
我非常重视用户的反馈和意见,因为它们对于我改进和完善产品至关重要。有好的建议或者遇到了 BUG,请前来反馈:
https://github.com/nexmoe/vscode-monitor-pro/issues
来 Github 点个 star 或是来 VS Code 市场 给个五星好评吧!
]]>所以准备简单介绍一下 APNG。并提供了一个在线工具,可以将 APNG 批量转换为 GIF,但是该工具不能实现无限循环。所以分享了一个批量修改 GIF 循环次数的方法,使用了 Node.js 和批处理脚本两种不同的实现方式。方便 Node 开发者和使用 Windows 的普通用户直接批量处理。
APNG(Animated Portable Network Graphics)是 PNG 的位图动画扩展,可以实现 PNG 格式的动态图片效果。APNG 相比于 GIF 在图片质量和细节表现方面更有优势,而且随着越来越多的浏览器对 APNG 的支持,它有望成为下一代动态图的标准之一。主要有以下区别:
图片质量:GIF 最多支持 256 种颜色,并且不支持 Alpha 透明通道,这导致 GIF 在色彩丰富的图片和含有半透明效果的图片上质量较差。而 APNG 可以支持更高质量的图片,包括更多的颜色和 Alpha 透明通道,使得动画效果更加细腻。
构成原理:APNG 和 GIF 都是由多帧构成的动画,但是 APNG 的构成原理允许超自然向下兼容。APNG 的第一帧是标准的 PNG 图片,即使浏览器不认识 APNG 后面的动画数据,也可以无障碍显示第一帧。而如果浏览器支持 APNG,就可以播放后面的帧,实现动画效果。
浏览器支持:从 Chrome 59 开始,Chrome 浏览器开始支持 APNG,使得大部分浏览器都能显示 APNG 动画。唯独 IE 浏览器不支持 APNG。
更多内容请参考:https://xtaolink.cn/268.html
该工具可以批量将 APNG 转为 GIF,不过不能无限循环。
https://cdkm.com/cn/png-to-gif
下面是使用批处理脚本(.bat)来实现相同的功能:
请将C:\path\to\directory
替换为实际的目录路径。将上述代码保存为.bat
文件,双击运行即可。脚本将遍历指定目录下的所有.gif
文件,并对其进行修改。
请注意,批处理脚本的功能相对有限,无法直接读取二进制文件。上述脚本通过读取文件的第一行来模拟读取文件内容。在修改文件时,它直接将修改后的数据写入文件,而不进行二进制操作。这种方法可能不适用于所有情况,尤其是处理大型文件时可能会有性能问题。如果需要更复杂的二进制文件处理,请考虑使用其他编程语言或工具来实现。
请注意,上述代码使用了 Node.js 的文件系统模块(fs
)来读取和写入文件。此外,需要将./path/to/directory
替换为实际的目录路径。在执行该脚本之前,请确保已经安装了 Node.js。
该脚本将批量遍历指定目录下的所有文件,并对后缀名为.gif
的文件调用unlimitedGifRepetitions
函数进行修改。修改后的数据将写回原始文件。在控制台输出中,你可以看到每个已修改的文件的信息或任何出现的错误信息。
更多内容参考:https://www.b612.me/golang/232.html
这个批处理工具可以将多个 APNG 文件批量转换为 GIF 文件,并且可以对转换后的 GIF 文件批量设置为无限循环。
]]>然而,我开始思考是否可以将 Visual Studio Code 用作服务器管理器。在此之前,我一直使用 FinalShell 进行服务器管理,这款工具具备以下特点,也是我所喜欢的:
当 VS Code 发布 Remote SSH 功能时,我并没有太过关注。该功能的初衷是用于远程开发,而我并没有远程开发的需求。然而,当我开始进行远程开发时,我决定尝试使用 Remote SSH。结果令我惊喜地发现,Remote SSH 非常适合用于服务器管理工作。
那么,VS Code 有哪些特点,并且满足了我哪些需求呢?
通过在你需要访问的远程服务器中配置好 SSH Key,便可以轻松地设置 Remote SSH,并指定服务器的 IP 地址,从而直接通过 Remote SSH 访问服务器。
通过这样的配置,然后就可以方便地在 VS Code 中访问和管理多个服务器。只需单击服务器列表中的相应服务器,即可快速连接到目标服务器,并在远程环境中执行所需的操作。
和正常一个项目的使用一样,VS Code 可以打开服务器的一个文件夹。然后我们就可以进行各种各样的文件浏览器的常规操作。还可以使用搜索功能快速查找和定位特定的文件。
我通常就会直接把账号目录直接打开。
同时还可以直接集成 VS Code 本身拥有的强大的文件编辑能力。
从此告别 ls
、mkdir
、touch
、vi
等操作。
可以同时打开多个终端实例,并在它们之间切换。每个终端实例都可以独立运行命令,并保留其输出历史记录。
还可以在编辑器的多个标签页或分割视图中同时打开不同的终端实例,以便同时执行不同的命令。
除此之外,在 VS Code 中,可以通过右键单击文件或文件夹,选择"在终端中打开",快速打开终端并自动切换到对应的路径。再也不用痛苦的到处 cd
了。
由于我大部分服务都是放在 Docker 上,所以对于 Docker 的使用是非常高频的。
如果你在服务器上使用 Docker 进行容器化管理,VS Code 通常就会推荐你安装 Docker 扩展,然后就可以并以图形化界面的形式管理和操作 Docker 容器。可以方便地查看和管理容器、镜像、网络和卷等 Docker 资源,执行常见的 Docker 命令,以及监控容器的状态和日志。
这基本覆盖了大部分 Docker 常用的操作,也让我大部分时间不再需要使用 Portainer 或是命令行了。
VS Code 提供了强大的 Git GUI 集成功能,可以在代码仓库上进行版本控制和协作。可以直接通过 GUI 进行查看提交历史、比较文件差异、切换分支、合并代码,以及推送和拉取代码等操作。
如果本身就使用 VS Code,便可以直接继承自己的审美。同时 VS Code 比其他终端管理软件拥有更为丰富丰富的个性化主题选项,可以根据自己的喜好和习惯选择适合的主题。也具有丰富的插件社区。
除此之外,VS Code 本身就具有跨平台支持、多语言支持等特性,而且它完全免费。
你需要满足如下条件
其实你需要的并不多,核心是 VS Code 中的 Remote SSH 插件。
你需要在你的电脑上生成 SSH Key,并将公钥配置到服务器上以实现免密登录。你可以在网上查找相关教程了解如何生成和配置 SSH Key。
通过 这个链接 安装 Remote SSH 后。
你可以按照以下步骤来打开和配置 SSH 主机:
就可以在 VS Code 中进行配置,指定服务器的 IP 地址和用户名。示例配置如下:
完成配置后便可以在左下角直接连接服务器了。
资源监控,由我开发。
Monitor Pro 是一款资源监控工具,实时跟踪系统指标。监测 CPU、内存、网络、文件系统使用率,电池百分比和充电状态。可自定义顺序和刷新间隔,提供高占用警报。适用于开发人员、系统管理员和普通用户。
https://marketplace.visualstudio.com/items?itemName=nexmoe.monitor-pro
如果你在使用 Docker 容器来部署应用程序,这个插件可以帮助你在 VS Code 中管理和调试 Docker 容器。
统计你在服务器上的摸鱼时间。
使用 ohmyzsh 以及它的生态,为你的命令行集成自动补全和纠错功能。
]]>一个十几秒的短视频解释清楚。
更详细的解释是:布局偏移指的是在网页上发生突然变化时,页面中的内容位置发生意外移动的现象。这种情况常常让人感到困扰,因为它会导致阅读中断或误操作。布局偏移通常是由于资源异步加载或动态添加到页面上的 DOM 元素导致的。可能的原因包括具有未知尺寸的图像或视频、字体与其备用字体渲染大小不同,或者第三方广告或小部件动态调整大小。
难受的是,网站在开发过程中的功能通常与用户体验有很大不同。个性化或第三方内容在开发中的行为通常与生产环境中不同,测试图像通常已经存在于开发者的浏览器缓存中,本地运行的 API 调用通常非常快,延迟几乎不可察觉。
累积布局偏移 CLS(Cumulative Layout Shift)是一个指标。
是对页面整个生命周期中发生的每个意外布局变化的最大布局变化分数的度量。
CLS 通过测量实际用户遇到布局偏移的频率来帮助解决布局偏移问题。它可以帮助开发者了解布局偏移在真实用户中发生的情况,从而采取相应的措施进行修复。
布局偏移是一个非常影响用户体验的问题,通过上面那一个简短的视频也能理解。
布局偏移通常会导致意外点击、页面方向的迷失,最终导致用户受挫。用户往往不会逗留太久。有时也会使用户不按照预计的产品流程走。
通常优化好布局偏移能够很好的提高用户粘性、用户停留时间等指标。
Yahoo! JAPAN News 通过降低 CLS 0.2 分,得到如下成果。
在图像、视频等媒体资源元素中始终包含宽度和高度大小属性。或用 CSS 中的 min-height
、aspect-ratio
或类似的方式保留所需的空间。
aspect-ratio
可以用来直接指定当前元素的比例。
https://developer.mozilla.org/zh-CN/docs/Web/CSS/aspect-ratio
对浏览器的支持:
padding-bottom
如果考虑浏览器支持问题仍然可以考虑使用目前一个被广泛接受的基解决方案 “Padding-Top Hack”。这个解决方案需要一个父元素和一个绝对型的子元素。然后计算出长宽比的百分比来设置为 padding-top
。例如:
其中 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
的方式进行排序,将主要内容移到中间(即第二列),伪代码如下:
浏览器在首次绘制时并没有完整解析 DOM、只知道 <Main />
的存在、但不知道 <Left />
或者 <Right />
的存在,才因此将 <Main />
渲染进第一列而不是第二列;直到第二次绘制时,浏览器才将 <Main />
渲染进第二列、将 <Left />
渲染进第一列。
Chrome 并不是一次完整解析 HTML 的,在以下两种情况下,Chrome 会暂停解析、开始渲染和绘制:
<script>
标签后,会继续读取约 50 个「Token」之后暂停详细了解请看:优化博客的累计布局偏移(CLS)问题
默认情况下,所有浏览器都使用 bfcache,但由于各种原因,有些站点不适合使用 bfcache。有关如何测试和识别阻止 bfcache 使用的任何问题的更多详细信息,请阅读 bfcache 文章。
在你离开后,bfcache 将页面保存在浏览器内存中很短的一段时间,所以如果你返回它们,那么它们将完全恢复为你离开时的样子。这意味着完全加载的页面立即可用,而不会出现任何变化。
现在的 SPA 应用也能很轻易的保证路由跳转页面布局的一致性。记住始终保持你的目录和导航栏在页面的固定位置。
在下载和渲染网络字体之前,通常有两种处理方式:
着两种方式都可能导致布局变化。即使文本是不可见的,它仍然使用备用字体进行布局。这意味着使用该字体的文本块以及周围的内容在网络字体加载时会发生布局变化,与 FOUT 的可见字体完全相同。
以下方法可以帮助你最小化这种问题:
font-display: optional
可以避免重新布局,因为只有在初始布局时网络字体可用时才会使用它。font-family: "Google Sans", sans-serif;
将确保在加载"Google Sans"字体时使用浏览器的无衬线备用字体。如果只使用 font-family: "Google Sans"
而不指定备用字体,将使用默认字体,而在 Chrome 上默认字体是"Times",它是比默认无衬线字体的匹配度更差。size-adjust
、ascent-override
、descent-override
和 line-gap-override
API 来尽量减小备用字体和网络字体之间的大小差异,详细信息请参阅“Improved font fallbacks”文章。<link rel=preload>
尽早加载关键的网络字体。预加载的字体有更高的机会达到首次绘制,这样就不会发生布局变化。能够针对移动设备和桌面设备生成网页的实际性能报告,并能够提供关于如何改进相应网页的建议。
在本地开发期间从 DevTools 运行 Lighthouse 非常方便。
应该就是在线版的 Lighthouse。
性能选项卡在 Chrome 的 DevTools 配置文件的所有页面行为在一段时间内记录。时间轴上会出现一个标记为“Experience”的图层,突出显示布局的变化和发生变化的元素。
最好将 Web vital 扩展视为查找性能问题的抽查工具,而不是全面的调试工具——这是 Chrome 的 DevTools 中的性能选项卡的工作。
作为一个对自己项目有较高要求的人,平常几乎都会接触到布局偏移优化或者 Lighthouse,只不过之前自己瞎折腾的时候还没有 CLS 这个概念,现在算是对 CLS 有了较为清晰的概念了。
CLS 作为一个非常基础的优化指标,在用户体验上非常重要,任何项目都应该针对 CLS 做优化。
如有勘误,请及时指出,感谢!
作为一个独立参赛选手,我有幸获得了本比赛的第三名(当然全靠运气,不过也不乏一些方法论)。比赛的奖品嘛,我本来比较看重他的微软实习机会。不过猜测是互联网寒冬的原因,完全没有后续了,没人联系我实习的事情,后续去询问了对接比赛的工作人员、在群里咨询也没有任何情况。
三等奖,就是第三名,奖金 5000 税后 4000,还有一堆实物奖品。还有一个挺好看的玻璃制奖杯。然后就去请室友吃自助餐了。
送来的快递有这么大,路上一个人搬回寝室累死了。
不知道是 11.4 公斤还是 11.4 斤,11.4 斤应该不会搬的我累死吧?
参赛者择长开发,以“后疫情时代的变化与挑战”大主题,聚焦“科技改善生活”、“赋能生产力提高”、“多元与包容”三类主题,开发创意小插件,帮助你我看见更大的世界。
这个比赛的官网 https://edgecontest.microsoft.com/index.html 目前已经不能访问了。其实我们从中可以猜测到这个比赛是 Edge 中国区团队为了丰富 Edge 浏览器的扩展生态而举办的。
以下是比较简短且关键的信息,将有助于下面我对比赛的分析。
简单分析上面比赛信息内四个要求,作为一个技术混子,一眼就能看出什么?没有技术要求!比赛这种形式,在一定时间内需要完成一个项目,确实是非常难完成技术需求高的项目的。大家能发挥的技术都差不太多。我们就不需要把重心放在技术力上了。
实用性、易用性、美观性、创新性其实说的就是产品能力。那段时间前不久才开始培养产品能力,正好拿这个比赛试试手。而产品能力又恰好是在比赛里面实现弯道超车的能力。因为参加比赛的有很多都是技术型选手,我确实是比不过人家。
除了产品本身,比赛还要求做 PPT,视频等等,而且产品产出与上架都能为产品加分。则需要行动力和营销能力了。平常喜欢看一些产品人的文章,能大概猜测到作为产品的评审员爱看什么,可以向着那个方向写一下。除此之外,毕竟是一个需要从规划到上线的项目,作为个人参赛,完全就是需要综合能力。
这个比赛是在提交截止前几天我才知道的,群友在群里提了一嘴,我才知道(非常感谢群友,不然完全不知道)。
我一想,几天了怎么参加?混吧!但又不能完全摆烂啊,得稍微分析一下,所以有了上一节的那些内容。不过当时也没这么细致的分析,只是简单看了官网然后凭本能做决策。
接下来介绍一下我的参赛项目和当时的一些思考。
小舒同学 当时遇到了几个问题
总体来说,参赛项目主要基于小舒同学二次创作。针对不同市场,打造不同的产品形象,更有不同的风格气势。如今 Meteor 仍然还在维护,并朝着向小舒同学越来越远的方向发展。我希望这对孪生兄弟都各具特色。
我认为我是非常幸运的,因为鲜有这样的比赛,评委有很多产品经理。此前我也体验过互联网+之类的比赛,感觉评委没有产品人的那种气息。我在“互联网+” 里面也是显得有点不适应,拿了个校奖就寄了。老师后来安慰我说是 PPT 没念好,答辩的时候没跟评委客气啥的。
这个比赛考察的方向刚好比较适合我,难得有这样的比赛,所以我是非常幸运的,也因为幸运作为个人参赛我才能拿到这样的结果。如果让我去参加什么算法比赛,可能是拿不到什么好结果的。我当然希望以后能有更多这类更加开放,更加百花齐放的比赛。不过我想我已经没机会了,我就要毕业了。回首校园生活,没什么精彩,如此平淡。
]]>比起拖动,更精准。移动到偏远文件夹更快捷
同时,搜索框现在失去焦点后会自动收起啦 😊
现在可以在这里收藏你的 PDF 文件,也能用小舒同学直接打开了 🙂
万番呼吁,它来了
想要把一部分收藏的内容分享给朋友怎么办,简单,点几下就行 🚀
然后就会生成分享链接和二维码了
可控制搜索框是否在打开时获取焦点
不用再怕误触了
]]>在群里整了个机器人统计打卡,欢迎大家一起来打卡,体验赛博伴学
满足以下条件则提醒打卡
年初,要放寒假。于是回家,喜提 14+14。2022 少了 28 天。十月份底,喜提次密接,集中隔离 7 天,然后无限期封寝室直到 11 月 20 日左右回家。然后回家后喜提 7 天居家隔离,在仓库待了 7 天。
再过一会,就放开了。在放开的大浪潮下,我们这些小地方自然是啥也做不了。为了应对可能的医疗资源挤兑,我至今几乎一天门没出,说实话也没什么出门的意义。一算下来,2022 年只剩 9 个月不到的时间了。
总览整个 2022 年,属实没有多少记忆点。翻遍相册,也不过都是在家宅着吃点东西。今年是几乎毫不特别的一年。
全年最深刻的,就是在群友推荐下参加了 Microsoft Edge 浏览器开拓者大赛,然后获得了个第三名。
本来说是可以参加后续的实习,结果这小半年过去了,也没啥消息。
今年离开家附近或学校只有两次。
第一次在暑假,去武汉东湖,面基网友。在朋友家住了一晚上。在东湖骑车是个非常享受非常自由的事情,不过很累,所以第二天就回家了。还第一次去猫咖爽了爽。
第二次在国庆,学校在多方情况下允许我们请假出去。那肯定得抓紧这个机会。大三了,我仍然对郑州非常陌生。国庆几天,随便玩了玩,吃了吃,然后就没了。
以前始终觉得 KTV 没什么意思,但是今年去了好几次 KTV,因为开始觉得 KTV 能够释放自己、暂时的忘掉一切。还能和朋友一起相处一会,让疫情中的生活多一丝丝社会性。也是从这个时候开始,学着唱歌,虽然都是随便乱喊乱叫。不过最近阳了过后一直咳嗽,话都不想讲,更别说唱歌了。
对,是几乎什么都没干。今年是没有记忆的一年。再过一年,我也许只记得 2022 参加过一个比赛。然后其他的都是一片空白。
两次放假,都是突然性的通知。学校里有了一些传闻,然后我觉得要放假了。虽然非常令人难以相信,室友也觉得不会如此仓促的放假,但第二天就放假了。
说实话,2023 年 1 月 5 日我对完全不知道 2022 结束了。直到在空间刷到网友的年终。
现在你可以给书签做笔记备注了,同时可供你在搜索中快速找到。
现在小舒同学会自动定期帮你备份数据。同时记录你使用的浏览器和版本号,方便你恢复数据。
现在,你可以上传跟随你账号同步的壁纸了。
现在你可以通过拖动文件夹标题来进行文件夹排序了
新群号:1018234047
主要讨论:科技、动漫、影视作品、游戏、养生、学习
]]>如图片中一般简洁,仍然基于你的收藏夹生成,不需要手动添加新内容。了解更多:https://xiaoshuapp.com/meteor/
简洁模式在 设置 -> 收藏夹 -> 抽屉模式打开
设置 -> 收藏夹 -> 收藏夹布局
现在搜索建议可以搜索到文件夹,点击即可轻松找你想要的文件夹
数据备份(不备份收藏夹内容)到云端,随意切换版本
目前只提供了分享功能,更多功能将在稍后的更新中解锁
更加易用,更简单的制作与分享
]]>我们的产品名称为:Meteor New Tab,他的作用和他的口号一致——让你的收藏夹再次伟大。在后疫情时代,线上学习与线上办公的人越来越多。许多用户在网络检索学习,遇见各种各样的“干货”资源,喜欢将相关的网页收藏。但是日积月累,收藏的速度远远大于学习的速度,导致网页越来越难以打理,导致日后检索相关网页特别耗费精力,也让很多优秀的干货资源被压在箱底,再也没有被打开过。
我们开发这样一款产品,希望能够帮助用户将尘封已久的收藏夹拿出来。它可以基于你的收藏夹内容,帮你自动整理到标签页,让你的收藏夹在标签页上一目了然。
我们倾听用户的声音,产品的灵魂即来自创作者同样也来自用户。一位用户曾夸赞 Meteor New Tab 理念先进,他说:“与其在信息流中漂泊,不如反刍收藏过的高质量内容。” Meteor New Tab 是逆时代而行之的,我们不再让你筋疲力尽地在信息流中寻找一些新东西,而是让你反刍收藏过的高质量内容来产生新的思考、新的灵感。
还有一位用户曾说:“太棒了,我真的不想折腾拨号页花里胡哨的功能,我只想快速导入链接,然后生成一个简洁的图标。”有时候我们需要思考对我们来说真正重要的是什么。我们所关注的、所热爱的其实早就已经被我们放入在收藏夹中。Meteor New Tab 做的就是让我们重新关注自己。
还有许多用户的评论与反馈也一并帮助我们完善了产品,让 Meteor New Tab 越来越具有产品的灵魂,我们非常感谢他们的支持。
让多个文件夹并行显示,收藏夹也能变看板;进度条功能,自动记录你哔哩哔哩和 Youtube 的播放进度,收藏夹也是你追剧的仪表盘。排序功能,最先看到最近添加的书签。搜索功能,快速找到你想要的书签。还有更多功能,等你来发现。
守护隐私,守卫安全:数据无需经过我们的服务器进行存储交互,做到真正强大的隐私安全。
自动跟随系统调整亮色与暗色模式,夜间不会因为突然从黑到白的界面切换导致你的健康问题。
新时代产品,新时代改进。我们倾听用户的声音,你可以参与到我们一起将 Meteor New Tab 变得更好。
我们采用增量模型作为产品的开发模型。适合我们这种一个人的小团队。我们会尽心尽力的关注到每个用户的反馈与需求,同时会对用户的反馈进行严格的管理与讨论。最后采取决策。我们会尽量地让 Meteor New Tab 越来越贴近完美。
同时我们也会不断地学习进步,采用最新的技术。我们参考 DevOps 的理念,将开发、测试、运维、部署等环节进行自动化,让我们的产品更加稳定并减少开发人员的工作量。让产品开发效率最大化。我们使用 Github 的最新特性,对产品进行版本控制;使用 Issue,Project 进行需求管理;使用 Github Action 自动测速编译发布。尽量减少人员的参与,让产品开发更加高效。
文件夹并行,让收藏夹变看板。进度跟踪,掌握全局
高可定制化
自动记录你哔哩哔哩(已上线)和 Youtube(暂未上线) 的播放进度
快速定位到你的书签
提供无限的自由与可能
一个月以内。
目前参加了Edge浏览器开拓者大赛。这个比赛对我很重要,比赛前 20 名才有奖项。每天每个人可以投两次票。希望大家能够支持我的项目。谢谢大家。
https://edgecontest.microsoft.com/worksDetail.html?WorkDataId=a002d0f8-e68a-48c0-a3c4-c7885731bbcd