欢迎金总视察
欢迎金总视察
请点击 请
nextjs version: 14.2.8
antd version: 5.20.5
开始 NextJS 的入手 demo, npx install antd --save
后,在 pages/index.tsc
中使用:
1 | import { Button } from 'antd'; |
npm run build
报错
如下:
1 | Collecting page data ./Users/ayal/us-dev/projects/next/cms/node_modules/rc-util/es/omit.js:1 |
翻了一下版本内容,大概原因是 构建工具无法识别 es 模块,需要将 antd (其他第三方库如果遇到该问题处理方法类似)加入next.config.mjs -> nextConfig.transpilePackages
中, 如下:
1 | /** @type {import('next').NextConfig} */ |
最近工作中遇到关于时间戳与时间字符串的互相转换,期望不使用第三方库实现功能,在此做一下解决方案记录;
Q1: 为什么不是直接使用
new Date()
?
A1: 对于北京时间来说,我们都知道偏移量是
UTC+8
,且没有冬令时夏令时问题,时间戳与字符串互转,new Date()
即可解决问题,但是对于存在冬令时夏令时的时区来说,比如America/Los_Angeles
,每年 3 月 10 号 02:00 时之后,偏移量为UTC-7
,每年 11 月 03 2 点恢复为UTC-8
,不同时区,冬令时和夏令时的节点不同。收集所有时区的不同时间段的数据,可以应对任意时区,任意时间戳对应的偏移量;
第三方库可以快速解决此问题,参考
moment.js
,此处分享的是不使用第三方库的思路与做法。
1 | npm install moment-timezone --save |
高纬度和中纬度的许多国家为了充分利用夏季的太阳光照,节约照明用电,而又不变动作息时间,实行夏令时。即在夏季到来前,把时针拨快一小时,到下半季秋季来临前,再把时针拨回一小时。实行夏令时的日期一般是:4-9月(北半球)10-3月(南半球)。
A:TCP 是一种面向字节流、具有可靠性、有序的、速度慢特性的协议。
TCP 粘包是一种传输过程中的现象,表现为发送方的后一包数据的头部接着前一包数据的尾部,称作TCP粘包;
为什么会出现这种现象?因为 TCP 是一种面向字节流的协议,发送方的数据可能被分割成多个份数据进行传输,IP数据包的负载大概为 1460 字节,当数据远远小于 1460 字节时,为了避免浪费网络 io,TCP
的 Nagle 算法开启时,当前一份数据小于 1460 字节时,此时会等待第二份数据包再进行发送,这就是TCP粘包。
当然,开启 Nagle 算法时,如果迟迟等不到第二份数据包,等待超时,一般为 200 ms,此时也会立刻发送这一份数据。
解决方案:
mongoexport 导出时可以规定需要导出的字段 mongodb
官方文档介绍如下:
1 | --fields=<field1[,field2]>, -f=<field1[,field2]> |
但我的业务是导出所有字段,除了_id,用 –fields 太过麻烦,一是我也不知道有什么字段;二是在字段很多的情况下就难处理;
查了一下,在https://stackoverflow.com/questions/12976145/mongoexport-without-id-field 找到了答案: