Nginx
使用 Nginx 反向代理钉钉接口
借助 Nginx 的反向代理能力,在不修改代码的前提下,使内网应用可以通过前置机访问钉钉接口。
Nginx
借助 Nginx 的反向代理能力,在不修改代码的前提下,使内网应用可以通过前置机访问钉钉接口。
AI
本文将列举几种对大语言模型进行个性化的方法,简单说明使用检索增强生成技术(RAG)外挂知识库的基本原理,最后介绍 AnythingLLM 这款高度集成且易于使用的软件。阅读本文后,如果你的应用场景恰好幸运的避开该软件现阶段存在的一些缺点,那么恭喜你将能得到一个私人定制的人工智能助手。
AI
总结一些在本地模型选择上的经验,在语言、领域、参数、评分、微调、量化等方面进行展开介绍。
AI
本文将介绍一种适合非技术人员的,在个人电脑上运行大语言模型的方法
Python
通过环境变量或Python代码为Python程序设置代理,解决 Socks5 代理在请求 https 资源时失效的问题
前端
使用 Quasar 时,如何完成浏览器兼容性的配置。 制定兼容范围 在进行实际配置前,首先必须确定要支持浏览器的版本,而确定浏览器版本则需要先明确业务对象的情况。 为什么不干脆把标准定的越高越好呢?比如支持100%的用户。这是因为支持率越高,可用的新语法越少,意味着更多的转译代码和 polyfill,这会带来额外的代码量,从而导致下载数据量增加,以及运行速度变慢的问题,为了0.01%影响99.99%用户的体验并增加他们的流量开销,是否合适呢?这就需要根据实际业务进行取舍和平衡。 比如我们的业务对象既有企业用户,也有公众用户,企业用户主要使用钉钉,并可对其PC浏览器进行要求,而公众用户主要使用微信。 确定常用浏览器版本 PC浏览器可以指定,那么对浏览器版本就不需要过多考虑,但是部分客户还有XP系统,那么也就确定了 Chrome 浏览内核的版本不可以超过 49; 微信用户可能在手机登录,也可能在PC登录,而PC中的微信内置是QQ浏览器9,其内核版本是 Chrome 53; 电脑端的钉钉内置浏览器已经是 Chrome 91; 手机端的话考虑到安卓手机使
JavaScript
以 jsonwebtoken 库为例说明在前端随意使用 Node.js 的库可能带来的问题。
Vue
通过合理设置缓存级别,将不同的缓存策略应用到正确的文件上提高系统性能。
PostGraphile
两年前(2018年),在使用 PostGrahphile 一段时间后,打算总结自己在实践中的经验,于是陆续用数周闲暇时间,写了 《PostGrahphile入门》 一文。止于2019年4月18日,完成了预计的7个章节中的前5部分,今年想要继续时,发现其中多处已跟不上最新的发展,而自己的认识也已更进一步。遂计划重来一版,先将原有部分翻新,再补上缺失的后两章。用每周更新的博客形式呈现,初步估计需要3个月左右。如果顺利,再花2-3周做成完整的电子书,最后定期迭代,使其紧跟技术更迭和个人认识的发展。 大框架暂与之前相同,不排除按需扩展。 1. 概述 2. 技术背景 3. 项目准备 4. 联机版——PostGrahphile的基本使用 5. 多用户——注册与登录 6. 多用户——访问控制、权限与隐藏 7.
Docker
一套环境通常不会只部署一遍,你会遇到各种需要重复部署环境的情况:也许是一个项目需要多台服务器来运行;也许是同时需要管理多个项目;也许是需要生产环境和开发、测试环境的一致性。总之,掌握高效的方法和工具是非常必要的。 这周我来讲讲自己在服务器环境部署上经历的四个阶段,以及选择背后的原因。 本文是 服务器部署的决策与实践 系列的一部分。 第一阶段 在最初的阶段,我还完全是个新手,对服务器管理的技巧和相关软件配置的方法都还在逐步深入了解的过程中,需要许多摸索和尝试,说是跌跌撞撞才部署完一台服务器也不为过。等到一段时间后,又要一台相同环境的服务器时,早忘了上次是怎么做的。先勉强凭着记忆把关键的步骤给走下来,却总是难免遗漏几处配置,有时甚至应用运行到一半报错了,才能发现少了必要的组件,通过一系列修补才终于把新服务器搞定。最痛苦的是明明记得要做某个步骤,却想不起细节,隐约记得是在一个什么网站上看到过,又无论如何翻找不到。 第二阶段 经过上个阶段的磨炼,对常用软件的安装和配置已有心得,无谓的尝试也逐渐减少。而且也学聪明了,安装的过程会写个简单的文档记录下来,下次照做错漏自然
CentOS 6
CentOS 8 生命周期的突然缩短,让我再次面对服务器操作系统的选择。 如果你使用一个公司的产品,但不向他付钱,那么你就只是用户,而非客户。网游行业的从业经验又告诉我,不付钱的用户是产品的一部分。 Red Hat 决定将 CentOS 8 的支持周期将从原来预计的 2029 年缩短到 2021 年年底,并劝大家都去用 CentOS Stream,或者买他们家的商业服务,就是一个很好的例证。原来的 CentOS 用户,现在要么选择成为 Red Hat 的编外测试人员,为他们的商业客户提供价值,要么选择成为“氪金玩家”。 商业行为毕竟不是慈善事业,我们没啥好说的,只是又到了做选择的时间。 本文是 服务器部署的决策与实践 系列的一部分。 首先,最容易的就是交钱,当然,在技术上也没啥好讨论。 你也可以选择 CentOS Stream ,但它是个滚动更新的发行版,官方也不推荐用于生产服务器。
阅读
久仰其大名,今年第二版面市,终于买来一本,五百页,断断续续三个月读完。 本书推崇的核心理念被简称“ETC” —— Easier to change ——即软件从设计到编码,首先要考虑“容易变更”,作者云全书其他方法皆是此原则的特例。在我看来其观点与《简约之美》异曲同工,后者写成一本书,只为教给读者一个“常识”,就是软件项目想持续成功,唯一重要的就是“降低维护成本”,至于如何实现,草草带过了,毕竟全书正文不足百页。现在看来,答案自然就是“容易变更”。 这一对比,更凸显《程序员修炼之道》的特点——“务实”。全书给出整整 100 个“提示”,供读者参考。若与读者日常工作方法直接对比,确实能揭示不足,指明提高的方向。其中部分是我日常已有感受,却无法言明的,一旦点破有豁然开朗之感;另有部分是针对一个问题,已经想过几条路可试,却没来得及逐一实践去验证各自优劣的,作者直接给你摊开了一一剖析,读后亦有收获。
CentOS 7
记录一下最近安装和配置 PostgreSQL 的过程, 使用了 CentOS 7 和 PostgreSQL 10,包括以下内容 * 安装 * 初始化 * 开放密码登录 * Oracle FDW 安装 下方链接可以找到最新的安装方法 Linux downloads (Red Hat family) 最近一次成功安装的步骤 CentOS 7 + PostgreSQL 10 1. 选择版本 yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm 1. Install the client packages: yum
Node.JS
方法一: 在晚上 12 点之后再试,祈求网络不那么糟糕 方法二: 使用代理 方法三: 1. 正常运行安装命令 nvm install v12 1. 网络异常导致下载失败 2. 再次运行安装命令 nvm install v12 输出: Downloading and installing node v12.15.0... Local cache found: ${NVM_DIR}/.cache/bin/node-v12.15.0-linux-x64/node-v12.15.0-linux-x64.tar.xz Computing checksum with sha256sum Checksums do not
年前搬了家,过完年就想把资料整一下。结果手痒把路由器玩坏了,只好重头刷了一遍。四五年没玩这些,好多东西都忘个精光,做完才想起以前就是这么搞定的,这次得记上一笔,免得下次尴尬。 刷机 进入恢复模式 1. 关电源 2. 戳复位孔,长按 3. 开电源 4. 等待电源黄灯长亮-黄灯闪烁-绿灯长亮-绿灯闪烁 5. 松开复位孔 刷入系统 1. Windows 系统的电脑通过网线连接路由器 LAN 口 2. 设置 ip 地址与 192.168.1.1 在同一网段 3. 打开CMD,输入 ping 192.168.1.1 /t 持续 ping 路由器 4.
FFmpeg
上周又做了一次在浏览器中播放视频流的项目,不过以前做的是手机,这次做的是桌面。停车场出入口的摄像头作为源头提供RTSP协议的视频流,而浏览器不能直接播放,只有通过插件或者转码来实现这个需求。 要实现这个目的,可以采用的方案非常得多,有商业的也有开源的,这里主要列举一些开源的方案。 方案 这里的方案都是我尝试过了的,有些成功,有些没成功。但是因为每个项目情况不同,这次没成的方法,换个项目也许就能成,所以方案全部列在这里,失败的我也会说明原因。读者若走投无路,不妨也试试我失败了的方案。 由于项目原因,这里的浏览器主要考虑 Windows 平台。 顺序 由于方案很多,我们先归归类、排排序,从简单的到复杂的来。 1.通过浏览器插件直接播放RTSP 首先我们介绍没有中介的方案,也就是不预先进行转码,而在浏览器中直接解码RTSP流。 1.1 VLC插件 优点: * 可以直接播放RTSP,无需任何中介服务器的帮助 缺点: * 需要手动安装插件; * 基于NPAPI,不被最新的 Chrome 和 Firefox 支持 方法: