Tony 发布的文章

本文首发于 微信公众号 CroWall,这里同步一下。

PS: 本文目标读者是对编程感兴趣的用户或者是程序员,小白用户可以忽略。

昨天夜里尝试了一下 Ollama 本地部署大模型,效果不错,参见《Ollama 初体验,本地部署大模型利器,小白也能在 M2 芯片的 Mac 上分分钟跑起来》这篇文章。

今天上午一到公司,就迫不及待尝试了下阿里的 qwen2.5-coder:7b 模型的代码补全效果。

PS 视频参见公众号文章。

先说结论,代码补全在我的 M2 MacBook Air 上可以用,但资源占用太高,导致我的网易云音乐播放着的音乐都卡顿了,所以目前来看并不好用。

一方面不能一边写代码一边听音乐了,另一方面如果是坐在外面(比如咖啡馆)写代码没插电源,估计个把小时就能把电池用完了。

- 阅读剩余部分 -

本文发布于 微信公众号 CroWall,这里同步一下。

2024-12-13T18:35:48.png

Ollama 是一个开源的大型语言模型(LLM)服务工具,旨在简化在本地运行大语言模型的过程,降低使用大语言模型的门槛。

有了 Ollama,即使是小白用户,也能分分钟在自己电脑上跑一个大模型玩玩。

- 阅读剩余部分 -

本文发布于 微信公众号 CroWall,这里同步一下。

有网友在 Reddit 上分享了一张 GitHub 截图,内容显示一位ID为 OXY2DEV 的开发者用手机写了 24461 行代码:

2024-12-13T18:30:04.png

这个项目叫 markview.nvim,是一款使用 Lua 语言开发的 Neovim 插件,用于渲染 Markdown,目前有 337 Commits,1.9k Star。

- 阅读剩余部分 -

部署一个新项目,composer install 的时候报错:

PHP Fatal error:  Uncaught Error: Class "Normalizer" not found in /usr/share/php/Symfony/Component/String/AbstractUnicodeString.php:31

这个问题是因为 Normalizer 类没有被找到,这个类是 Symfony 组件的一部分,并且依赖于PHP的国际化扩展 php-intl。

需要手动安装一下。

我的服务器是 ubunut, php 版本是 8.3,直接使用 apt 安装:

sudo apt install php8.3-intl

也可以考虑使用 pecl 安装:

pecl install intl

检查扩展是否已生效:

php -m | grep intl

重新 composer install,问题解决。

有个需求是在小程序页面展示二维码。

于是使用 canvas 实现了一下,发现有个bug,真机上看的时候,滑动页面,canvas 会抖动,在安卓上更是乱跑,没法用。

使用服务端生成二维码会有点影响服务器性能,并且消耗带宽。

不如考虑将 canvas 转成 base64 图片后展示。

下面是实现步骤:

- 阅读剩余部分 -

刚用 AI 写了个处理 YAML 的小工具,因为是 php 写的,直接用了 yaml 扩展。

一运行发现我本地的 php8.3 还没安装 yaml 扩展,虽然可以改成使用第三方包,但觉得还是安装一下试试。

执行 pecl install yaml,提示找不到 libyaml 包。

checking for yaml headers... not found
configure: error: Please install libyaml
ERROR: `/private/tmp/pear/temp/yaml/configure --with-php-config=/opt/homebrew/opt/php/bin/php-config --with-yaml' failed

- 阅读剩余部分 -

今天突然发现向我的服务器提交代码非常慢,巨慢,然后测试版的应用请求响应也非常慢,一开始以为是网络问题,但登录服务器一看,发现 CPU 很忙。

2核2G 的 Ubuntu,load average: 1.93, 0.99, 0.55。

排名第一的进程是 kswapd0,问了一下 kimi,得到的回答是:

kswapd0 是 Linux 系统中的一个内核线程,主要负责虚拟内存管理中的换页操作。当系统的物理内存不足时,kswapd0 会执行换页操作,将一些不常用的内存页从物理内存移动到磁盘上的交换空间(swap space),以释放物理内存供其他进程使用。这个过程会消耗大量的 CPU 资源,因此如果 kswapd0 进程占用 CPU 过高,通常意味着系统正在进行大量的换页操作,可能是因为物理内存不足。

- 阅读剩余部分 -

独立磁盘冗余阵列(RAID)是一种存储技术,通过将两个或多个硬盘驱动器(HDD)或固态硬盘(SSD)合并成一个协调的存储单元或阵列,从而创建数据丢失的故障安全机制。

常见的 RAID 级别:

  • RAID 0:条带化(数据分块)但没有冗余,提供较高的读写性能。
  • RAID 1:镜像,数据完全复制到另一个驱动器,提供容错能力。
  • RAID 5:条带化加分布式奇偶校验,提供数据冗余和读取性能。
  • RAID 6:类似于RAID 5,但提供更高级别的容错能力。
  • RAID 10:RAID 1+0,将RAID 1镜像组合成RAID 0条带化,提供较高的容错能力和读写性能。
  • RAID 50:RAID 5组合成RAID 0,提供较高的性能和容错能力。
  • RAID 60:RAID 6组合成RAID 0,提供更高级别的性能和容错能力。

RAID 级别对比

2024-11-02T20:22:40.png

常见的 RAID 级别简介

- 阅读剩余部分 -