在对NextJS项目进行编译:pnpm run build ,发现生产的新项目的依旧是原来的界面布局,深究发现编译项目是使用的是缓存,怪不得编译特快。
后续通过: pnpm run build –force 跳过缓存。
量化自我和极简主义的窝藏点
在对NextJS项目进行编译:pnpm run build ,发现生产的新项目的依旧是原来的界面布局,深究发现编译项目是使用的是缓存,怪不得编译特快。
后续通过: pnpm run build –force 跳过缓存。
UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 53-56: ordinal not in range(128)
解决方法:xml库,添加如下
vi /usr/lib/python2.7/xml/etree/ElementTree.py
import sys
reload(sys)
sys.setdefaultencoding( “utf-8” )
dump json文件:
json.dumps(data, ensure_ascii=False, sort_keys=True, indent=4, separators=(‘,’, ‘: ‘)).replace(“\n”,”n”)
在使用discourse构建是发现都是下载最新的版本代码去构建,但有时只是需要特定的版本,故操作如下:
launcher脚本禁止自动更新
在目录/var/discourse
vi launcher
找到以下两行并操作
echo “Updating Launcher…”
注释git
echo “Launcher updated, restarting…”
注释exec
使用固定版本重建app
在app.yml配置文件找到
#version: tests-passed
注释掉并替换成特定的commit id,比如:
version: f7a335a64e7146166d5fdaedcfee816997f2822d
discourse的版本通过github网站查看或使用命令查看
git show
重新构建 ./laucher rebuild app
更新管理员密码:
docker exec -ti container_id /bin/bash
cd /var/www/discourse/
rake admin:create
需要在一个JS项目内通过运行js脚本导入数据到mongodb内。由于在脚本内需要引入项目内node_modules的库,使用命令行查看:node -> module ,已经可以使用node_modules的库文件。不过在js脚本要使用require来导入库,如下:
const bcryptjs = require('bcryptjs'); data = bcryptjs.hashSync('123456'); console.log(data); module.exports = {data};
最近使用Next.js框架开发gpt-4应用,发现调用gpt-4返回结果是超过30秒就出现timeout提示。在fetch函数添加各种timeout选项问题依然存在。后面找寻时发现:
“Edge Functions have a timeout of 30 seconds and even longer when streaming, which far exceeds the timeout limit for serverless functions on Vercel’s Hobby plan. Using these can allow you to get past timeout issues when using AI APIs that take longer to respond. As an added benefit, Edge Functions are also cheaper to run.”
也就是说使用streaming功能的函数(包含ReadableStream关键字)必须是edge,即在函数后面添加:
export const runtime = “edge”;
这样即使超过30秒也不会报错。
https://vercel.com/docs/concepts/functions/edge-functions/streaming
nextcloud安装apps一定要从https://apps.nextcloud.com/apps上安装,而不是github上的。如果只能从github下载的话,确定要编译代码,使app中包含js目录。
环境: Ubuntu 20.0.2
删除数据文件,配置文件和数据库。步骤如下:
cd nextcloud
rm -rf data
rm config/config.php
mysql -uroot
drop database nextcloud;
create database nextcloud;
Cross-Origin Resource Sharing (CORS) 是一个让开发人员有些头疼的事。当在服务器调用外部api时,经常报这个错。以下有两种方法避免:
app.use(cors({
origin: 'http://127.0.0.1:3000',
}))
const url;
if (process.env.NODE_ENV === "production") {
url = "https://www.example.com/whoami"
} else {
url = "http://127.0.0.1:4000/whoami"
}
fetch(url)
在package.json文件添加:
"proxy": "http://localhost:4000",
假如使用 Next.js 的话,在next.config.js文件下添加如下:
module.exports = {
async rewrites() {
return [
{
source: '/api/:path*',
destination: 'http://localhost:4000/:path*'
}
]
}
}
环境:Ubuntu 20.04
内存泄漏在 Ruby 中常常是由 C 拓展程序 bug 导致的。内存碎片会造成内存呈对数增长。 它看起来像一个长长的曲线,会到达某个不可见的限制点。所有 Ruby 进程都有一些内存碎片问题。Ruby 管理内存方式必然会导致这个问题。尤其是 Ruby 不会在内存中移动对象。这样可能会破坏持有 Ruby 对象指针的 C 扩展程序。 碎片有时会造成 Ruby 占用超过它实际需要两倍的内存,有时还可能会是 4 倍之多!
解决方法:1. 调整环境变量 export MALLOC_ARENA_MAX=2
2. 使用jemalloc内存分配库,检查是否支持
ruby -r rbconfig -e “puts RbConfig::CONFIG[‘MAINLIBS’]”
出错提示: Python 3.8.10 error: got an unexpected keyword argument ‘allowed_methods’
解决方法:pip install -U urllib3
出错提示: RequestsDependencyWarning: urllib3 (1.25.2) or chardet (3.0.4) doesn’t match a supported version! Fix
解决方法:pip3 install –upgrade requests